![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3661
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата P.S. Попробовал я с invisible object'ом - странное дело - проваливается все равно (хотя я этот инвизибл уже даже выше кресла поднял), так еще и физией строго на восток садится! Как ни крути=((() Обжект ещё повернуть надо (IMG:style_emoticons/kolobok_light/smile.gif) Там просто моделька кресла кривая такая, ничего не сделать.Цитата Как сделать так, чтобы если опыта уже больше 190000, не урезалось бы до этих самых 190000? Neverwinter Script const int nRequiredXP = 190000; void main() { object oPC = GetPCSpeaker(); if (GetXP(oPC) < nRequiredXP) SetXP(oPC, nRequiredXP); } Цитата А для "положения" перса на кровать или коврик тоже надо делать невидимый объект? С кроватью сложнее, вроде как в стандартных тайлах интерьера зашито, что по кровати нельзя ходить, а, значит, телепорт на неё приведёт к глюкам. Так что скорее всего на кровать максимум получится сесть с помощью того же невидимого обжекта. С ковриком проще, если он лежит на walkable тайле, просто сделать невидимый обжект, в юз которого сунуть лежание на коврике (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Вообще-то мы задумали, чтобы хенч сидел пока его не наймут. Так вот как сделать, чтобы он не бежал садиться, если его наняли. Нельзя просто поставить на heartbeat условие, чтобы он сидел при условии, что Master = OBJECT_INVALID? C nw_c2_default* я наврал, у хенчей по идее другие скрипты, но не суть (IMG:style_emoticons/kolobok_light/smile.gif) Можно и в хербит такую проверку, если производительности не жалко (IMG:style_emoticons/kolobok_light/wink3.gif)
Сообщение отредактировал Ilerien - Jun 16 2008, 01:02 |
![]()
Сообщение
#3662
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата так еще и физией строго на восток садится! Как ни крути Невидимая табуретка - далеко не панацея. Если плейс расположен выше уровня пола, то как ни крути, чар садится мордой на восход. Кстати, высота плейса над полом не влияет на высоту расположения чара, хоть под потолок его ставь, сядет чар как обычно, это в анимации наглухо зашито.
|
![]()
Сообщение
#3663
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Вообще-то мы задумали, чтобы хенч сидел пока его не наймут. Так вот как сделать, чтобы он не бежал садиться, если его наняли. у хенчей по идее другие скрипты Вопрос давно меня мучает - насколько я знаю, у хенча там просто целый комплект скриптов выставляется, если не ошибаюсь, называется set_xp1_henchman.ini Так вот собственно, вопрос - можно ли как-то, допустим, скриптом из диалога заменить у НПС набор скриптов в свойствах? То есть сначала он действует как НПС, можно прописать ему анимацию и т.д., а как только игрок поговорил с ним и нанял, набор скриптов меняется на тот, что у должен быть у хенча? |
![]()
Сообщение
#3664
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
в нвн1 так просто нельзя. но можно наверное создать свой набор скриптов в каждый слот типа:
Neverwinter Script void main()
{ object oHenchman = OBJECT_SELF; if (ХенчманЛи(oHenchman)) // GetIsPC(GetMaster(oHenchman)) Ы? { ExecuteScript("соответсвующий_скрипт_для_хенчмана", oHenchman); } else { ExecuteScript("соответствующий_скрипт_для_неписи_обыкновенно й", oHenchman); // nw_c2_default* Ы? } } Сообщение отредактировал azathoth - Jun 16 2008, 11:54 |
![]()
Сообщение
#3665
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
С кроватью сложнее, вроде как в стандартных тайлах интерьера зашито, что по кровати нельзя ходить, а, значит, телепорт на неё приведёт к глюкам. Так что скорее всего на кровать максимум получится сесть с помощью того же невидимого обжекта. Я попробовал хотя бы посадить. Оно село в центр кровати! Прям так, насквозь=) Ниче видок был. Рисковать тогда с "положить" не буду (IMG:style_emoticons/kolobok_light/rolleyes.gif) Невидимая табуретка - далеко не панацея. Если плейс расположен выше уровня пола, то как ни крути, чар садится мордой на восход. Кстати, высота плейса над полом не влияет на высоту расположения чара, хоть под потолок его ставь, сядет чар как обычно, это в анимации наглухо зашито. А почему на диванчики садится мордой куда надо? (т.е. прямо) Как вообще вычислить, на какой предмет мебели садить можно, а на какой - лучше не стоит смешить людей? Сообщение отредактировал Lirulin - Jun 16 2008, 14:52 |
![]()
Сообщение
#3666
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
C nw_c2_default* я наврал, у хенчей по идее другие скрипты, но не суть (IMG:style_emoticons/kolobok_light/smile.gif) Можно и в хербит такую проверку, если производительности не жалко (IMG:style_emoticons/kolobok_light/wink3.gif) А производительность сильно пострадает? Мы не он-лайн делаем, потому тормозить сильно не должно. А еще можно ли поставить ограничение на полное имя ПС? Не допустить в модуль ПС с конкретным именем. Чтобы герой сам с собой не встретился в темном углу. (IMG:style_emoticons/kolobok_light/crazy.gif) Мы так поняли, что надо соединить две стринги, а потом ставить условие. Вот нашли в Лексиконе два куска скрипта, но не понимаем, как на базе этого сделать то, что нам нужно. Neverwinter Script string sFullName = "John" + " " + "Doe"; Neverwinter Script struct strName { string First; string Last; }; void main() { struct strName test; // dot operator assignment test.First = "Bob"; test.Last = "Dobbs"; // dot operator access string sFname = test.First; string sLname = test.Last; } Я попробовал хотя бы посадить. Оно село в центр кровати! Прям так, насквозь=) Ниче видок был. Рисковать тогда с "положить" не буду (IMG:style_emoticons/kolobok_light/rolleyes.gif) Кажется в Леворе мы видели, чтобы ПС лежал на кровати, но как это сделать, не знаем(IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#3667
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата А почему на диванчики садится мордой куда надо? (т.е. прямо) Как вообще вычислить, на какой предмет мебели садить можно, а на какой - лучше не стоит смешить людей? Чтобы чар смотрел в нужную сторону, плейс должен быть точно на уровне пола. Все стандартные плейсы для сидения банально имеют одну высоту, на них чар выглядит нормально. Помнится есть в стандартной комплектации каменные скамейки (большие такие) - вот в них чар немного тонет.Вычислить легко - методом научного тыка. |
![]()
Сообщение
#3668
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата Вот нашли в Лексиконе два куска скрипта, но не понимаем, как на базе этого сделать то, что нам нужно. слепить вместе? смешать, но не взбалтывать? Neverwinter Script if (GetName(GetFirstPC()) == "Лорд Нэшер Собственной Персоной") { // OMG АХТУНГ-АХТУНГ!!! LOGIC SCRAMBLED!!! НАРУШЕНИЕ КВАНТОВОЙ НЕОПРЕДЕЛЁННОСТИ!!! } Цитата Кажется в Леворе мы видели, чтобы ПС лежал на кровати, но как это сделать, не знаем существует .hak как раз этому посвящённый, только вот как называется - не помню. |
![]()
Сообщение
#3669
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
слепить вместе? смешать, но не взбалтывать? Neverwinter Script if (GetName(GetFirstPC()) == "Лорд Нэшер Собственной Персоной") { // OMG АХТУНГ-АХТУНГ!!! LOGIC SCRAMBLED!!! НАРУШЕНИЕ КВАНТОВОЙ НЕОПРЕДЕЛЁННОСТИ!!! } А в игре это как выразится? Типа ПС сразу погиб что ли? (как в Леворе) Или ему посто вылезет предупреждение "поменяй имя"? И куда этот скрипт вставлять? На Enter Module? |
![]()
Сообщение
#3670
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата А в игре это как выразится? Типа ПС сразу погиб что ли? (как в Леворе) Или ему посто вылезет предупреждение "поменяй имя"? И куда этот скрипт вставлять? На Enter Module? На заход в модуль. Что с игроком произойдёт - это нужно вписать в блок.Neverwinter Script object oPC = GetEnteringObject(); if(GetName(oPC) == "имя") { ApplyEffectToObject(DURATION_TYPE_INSTANT, oPC, SupernaturalEffect(EffectDeath())); // например, эта строчка убьёт игрока с неугодным именем BootPC(oPC); //а эта выкинет его из модуля } Цитата Кажется в Леворе мы видели, чтобы ПС лежал на кровати, но как это сделать, не знаем Нужны walkable тайловые кровати (IMG:style_emoticons/kolobok_light/smile.gif)
Сообщение отредактировал Ilerien - Jun 16 2008, 23:55 |
![]()
Сообщение
#3671
|
|
Level 3 ![]() Класс: Псионик Характер: Neutral Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Всем превеД.
Сразу к вопросу перейду к вопросу, чтобы не напрягать никому моСки. (IMG:style_emoticons/kolobok_light/smile.gif) Почитал вот тут http://www.city-of-masters.ru/forums/index...ost&p=19372 и вот тут http://www.city-of-masters.ru/forums/index...ost&p=19385 как делать спеллы и с чем их едят. Пытался сделать то, что написано - вышло вот как. Захожу в игру, открываю книгу заклятий, а там 4 спелла (вместо 1 с развитвлениями) : 1. Превращения в дракона 2. Синий 3. Красный 4. Черный Спеллы запоминаются и после реста становятся активными, но при активации, курсор так и остается серым (ни на себя, ни на локу не кастануть). В чем проблема, так и не разобрался. Если не трудно, можно было бы показать все 4 строчки в 2да спеллов? ============ Решил сделать свой спел с нуля (телепортация в точку падения выпущенного спелла). Все вышло, все работает. Очень рад. Но проблема с развлетвлениями, не получившаяся в первом примере, не дает покоя. П.С. Автору Ф.А.К.-а большей Респект, сам бы годы потратил, чтобы подобное узнать. |
![]()
Сообщение
#3672
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
но при активации, курсор так и остается серым (ни на себя, ни на локу не кастануть). В чем проблема, так и не разобрался. неправильные данные в столбце, который отвечает за цель заклинания (на карту, на объект, на себя). Посмотри описание спелл.2да более внимательно и посмотри что в этом столбце стоит у того заклинания, которое наиболее близко тебе по смыслу (те в случае с превращением это будет полиморф какой-нить). про разветвления там тоже подробно написано. Надо в "материнском" заклинании в одном из столбов поставить отметку что есть подзаклинания. А у подзаклинаний должен быть линк на материнское. |
![]()
Сообщение
#3673
|
|
Level 3 ![]() Класс: Псионик Характер: Neutral Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Так я так и сделал. Главному спеллу указал на 3 под-спелла, а подспеллам, указал на "мастера".
С "неработающими" спеллами уже разобрался. (IMG:style_emoticons/kolobok_light/smile.gif) //проблема была в том, что я невольно глянул не на страницу со спеллкоделкой, а на "Его величество ФИТЫ!.2да" (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3674
|
|
Level 1 Класс: Обыватель Характер: Neutral Evil Раса: Эльф ![]() |
Люди у меня в общем вопросов много, и кто может помочь пишите пожайлуста в аську...Просто в асе удобнее будет обьснять и тд и тп.
Аська моя - 495853536 |
![]()
Сообщение
#3675
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Цитата Люди у меня в общем вопросов много, и кто может помочь пишите пожайлуста в аську... ТУТ_ЕСТЬ_ВСЁ |
![]()
Сообщение
#3676
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
Нужны walkable тайловые кровати (IMG:style_emoticons/kolobok_light/smile.gif) А сами тайлы при этом стандартные или тоже из хака? |
![]()
Сообщение
#3677
|
|
Level 3 ![]() Класс: Псионик Характер: Neutral Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Там может и есть все (много чего через поиск нашел), но вот ответа на вопрос, как сделать развитвления, я так и не получил.
Сделал, все, как в описании, "мастеру" - номера строк "под-спеллов", а "под-спеллам" номер строки с мастером. В итоге получил 4 спелла, вместо одного. |
![]()
Сообщение
#3678
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата А сами тайлы при этом стандартные или тоже из хака? Из хака.
|
![]()
Сообщение
#3679
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Скрипт для триггера: Neverwinter Script void main() { object oPC = GetEnteringObject(); object oHench = GetHenchman(oPC); if(GetIsObjectValid(oHench) && GetIsPC(oPC)) { AssignCommand(oHench, SpeakString("<слова хенча>")); DelayCommand(0.5f, AssignCommand(oPC, SpeakString("<слова игрока>"))); } } Интересно, что когда с одним хенчем идешь, скрипт срабатывает и все ок, а вот если возьмешь двоих, молчат как рыбы. Где и как там приписать про то, чтобы говорил первый из хенчей? На заход в модуль. Что с игроком произойдёт - это нужно вписать в блок. Вот спасиб огромный!!!! Не хотелось как-то зверствовать и убивать героя прямо сразу. Тока вот как быть, если на EnterModule уже стоит какое-то условие? Как безболезненно соединять скрипты? |
![]()
Сообщение
#3680
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Тока вот как быть, если на EnterModule уже стоит какое-то условие? Как безболезненно соединять скрипты? Этот блок кинуть перед закрывающей скобкой функции main. Например.Цитата Интересно, что когда с одним хенчем идешь, скрипт срабатывает и все ок, а вот если возьмешь двоих, молчат как рыбы. Где и как там приписать про то, чтобы говорил первый из хенчей? По идее там первый болтать и должен в любом случае. Припиши после описания переменныхNeverwinter Script SendMessageToPC(oPC, GetName(oHench)); , это выведет в лог игроку имя первого хенча.
|
![]()
Сообщение
#3681
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Там с хенчами какая-то хитрож... хитрость (IMG:style_emoticons/kolobok_light/smile.gif) Мел делала возможность присоединения нескольких хенчей, но забила. Если я не ошибаюсь, там постоянно их ид (номера) сбиваются и кажется даже идут не по порядку после нескольких присоединений/разделений. Т.е. имеем 2 хенча, делаем цикл ид от 1 до 2 и получаем OBJECT_INVALID два раза.
В общем, в граблях не уверен, но то, что мы их встретили - 100%. P.S. А еще был такой замечательный модуль по сеттингу DragonLance, там хенчей штуки 3-4 было. Ух как они глючили... |
![]()
Сообщение
#3682
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
P.S. А еще был такой замечательный модуль по сеттингу DragonLance, там хенчей штуки 3-4 было. Ух как они глючили... А КАК они глючили? Ну, чтобы быть готовым к тому, что они могут выкинуть=) (а если помимо хенчей еще их и свои фамильяры и др. зверюшки? Это ж вовсе жуть=)) |
![]()
Сообщение
#3683
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата А КАК они глючили? Ну, чтобы быть готовым к тому, что они могут выкинуть=) Дело было давно и неправда, года 4 назад (IMG:style_emoticons/kolobok_light/smile.gif) Так что помню смутно.Например, иногда они не слушались команд, теряли статус хенча (правый клик не показывал меню хенча, хотя они были в пати), ко всему этому они как любая компьютерная болванка ужасно тупили. Когда хенч один, он тупит как один, когда их 5 - этот зоопарк тупит в 5 раз сильнее (IMG:style_emoticons/kolobok_light/smile.gif) Я себя всегда представлял мамой-мартышкой из одного старого отечественного мультика. А когда кто-то из них умирал... Это словами не передать (IMG:style_emoticons/kolobok_light/smile.gif) Частые сейв-лоад как раз по-моему меняли их местами в пати и иногда ломали меню. Все имхо из-за того, что множественные хенчи были добавлены в хоту через какой-то костыль. Изначально нвн под это не приспособлен. |
![]()
Сообщение
#3684
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Попробуйте
Neverwinter Script object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC, 1 или 2);
|
![]()
Сообщение
#3685
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Этот блок кинуть перед закрывающей скобкой функции main. Например.По идее там первый болтать и должен в любом случае. Припиши после описания переменных Neverwinter Script SendMessageToPC(oPC, GetName(oHench)); , это выведет в лог игроку имя первого хенча.Так вот не говорят они, ни один, ни другой. Как будто триггер не срабатывает вообще(IMG:style_emoticons/kolobok_light/sad.gif) Попробуйте Neverwinter Script object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC, 1 или 2); А эту строку куда вставить? До функции в самое начало? |
![]() ![]() |
Текстовая версия | Сейчас: 2nd August 2025 - 21:00 |