![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3446
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Все еще не вижу смысла в использовании ХБ. Если нужно заставить NPC вечно ходить открывать-закрывать сундуки, то первое, что пришло в голову: OnSpawn непися дописывается/ставится скрипт, заставляющий идти к первому сундуку и открыть его. На OnOpen сундука идет проверка, кто открыл, и если это нужный нам непись, то заставляем открывшего закрыть и пойти к другому сундуку, на котором повторяется то же, но учитывая, что сундук другой. Если оставить только вызов на onSpawn, то после любого чиха (диалог, бой) непись перестанет ходить по сундукам. Ко всему вышесказанному можно просмотреть x0_i0_walkway как пример. |
![]()
Сообщение
#3447
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
x0_i0_walkway - это просто ад и яркий пример того, как делать нельзя (IMG:style_emoticons/kolobok_light/smile.gif) Там функция запускается из спавна, хертбита и хз чего ещё, а потом ещё рекурсивно вызывает сама себя каждую секунду.
http://www.city-of-masters.ru/forums/index...?showtopic=5123 По теме: хертбит как раз самый простой и изящный вариант, именно для этого он и предназначен, иначе задолбаешься отслеживать все моменты прерывания непися. Чтобы не было тормозов, предусмотрены 2 вещи. Во-первых, при отсутствии игроков рядом аи выключается. Т.е. скрипты запускаются и сразу выходят на первой строке. Но всякие события всё равно триггерят (те же бесконечные проверки игроков рядом), т.е. выключение аи как бы помогает, но меньше, чем хотелось бы. Во-вторых, если заморочиться, вместо выключения можно написать деспавн. Я так делал для стражи на шарде. Все остальные неписи были без скриптов, стража - полностью боевая и с точками ходьбы. При выходе игроков из локации стража удалялась, заменяясь простыми вейпоинтами, а при входе - ставилась заново. Если это сингл, но проще запихнуть в хб и не трахать мозги (IMG:style_emoticons/kolobok_light/smile.gif) Один голый скрипт игру не повесит. |
![]()
Сообщение
#3448
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Lawful Evil Раса: Человек ![]() |
(IMG:style_emoticons/kolobok_light/offtopic.gif)
Цитата На данной странице писали как минимум пять человек, по сравнению с которыми я, имхо, нуб и позорюсь Шесть (IMG:style_emoticons/kolobok_light/biggrin.gif) (IMG:style_emoticons/kolobok_light/offtopic.gif) |
![]()
Сообщение
#3449
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
x0_i0_walkway - это просто ад и яркий пример того, как делать нельзя Там функция запускается из спавна, хертбита и хз чего ещё, а потом ещё рекурсивно вызывает сама себя каждую секунду. +1 Я тоже выкинул неверский WalkWayPoints что сильно улучшило быстродействие. Про скрипты НВ для сингла даже написал статейку http://remmgen.narod.ru/tscript3.html#SC_HB |
![]()
Сообщение
#3450
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Во-вторых, если заморочиться, вместо выключения можно написать деспавн. Я так делал для стражи на шарде. Все остальные неписи были без скриптов, стража - полностью боевая и с точками ходьбы. При выходе игроков из локации стража удалялась, заменяясь простыми вейпоинтами, а при входе - ставилась заново. Интересный вариант. Надо попробовать их в лимбо кидать (NWNX Funcs умеет), возможно, вместе с проверкой на лимбо будет дешевле, чем пересоздание.
|
![]()
Сообщение
#3451
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
x0_i0_walkway - это просто ад и яркий пример того, как делать нельзя (IMG:style_emoticons/kolobok_light/smile.gif) Там функция запускается из спавна, хертбита и хз чего ещё, а потом ещё рекурсивно вызывает сама себя каждую секунду. http://www.city-of-masters.ru/forums/index...?showtopic=5123 По теме: хертбит как раз самый простой и изящный вариант, именно для этого он и предназначен, иначе задолбаешься отслеживать все моменты прерывания непися. Чтобы не было тормозов, предусмотрены 2 вещи. Во-первых, при отсутствии игроков рядом аи выключается. Т.е. скрипты запускаются и сразу выходят на первой строке. Но всякие события всё равно триггерят (те же бесконечные проверки игроков рядом), т.е. выключение аи как бы помогает, но меньше, чем хотелось бы. Во-вторых, если заморочиться, вместо выключения можно написать деспавн. Я так делал для стражи на шарде. Все остальные неписи были без скриптов, стража - полностью боевая и с точками ходьбы. При выходе игроков из локации стража удалялась, заменяясь простыми вейпоинтами, а при входе - ставилась заново. Если это сингл, но проще запихнуть в хб и не трахать мозги (IMG:style_emoticons/kolobok_light/smile.gif) Один голый скрипт игру не повесит. Стоп,стоп! Так че нужно x2_i0_walkways гнать в шею?? И еще - Кто нибудь подскажет мне скрипт хождений - открываний?!?! Сообщение отредактировал ReZkiy - Sep 11 2011, 14:23 |
![]()
Сообщение
#3452
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Стоп,стоп! Так че нужно x2_i0_walkways гнать в шею?? Повторюсь, можно посмотреть, как оно сделано. denis0k напомнил, почему это на самом деле плохо. И еще - Кто нибудь подскажет мне скрипт хождений - открываний?!?! Тебе подсказали, с помощью чего это всё можно сделать - смотри посты WirTus, denis0k и gennady, а если что-то не будет получаться, то обращайся. |
![]()
Сообщение
#3453
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
....... Neverwinter Script vPos = GetPosition(oNPC); AssignCommand(oNPC, ActionJumpToLocation(Location(GetArea(oNPC), vPos, 360-GetFacing(oCont1)))); //Поворачиваем NPC к сундуку это что за адский ад? Neverwinter Script AssignCommand(oNPC, ActionDoCommand(TurnToFaceObject(oNPC),oCont1)); и никакой далее написанной и надуманной проблемы нет. и далее ActionUnlockObject() явно не в тему. Это отпирать объект. А открывать - немного другая функция. (ActionOpenObject) Цитата Если нужно заставить NPC вечно ходить открывать-закрывать сундуки, то первое, что пришло в голову: OnSpawn непися дописывается/ставится скрипт, заставляющий идти к первому сундуку и открыть его. На OnOpen сундука идет проверка, кто открыл, и если это нужный нам непись, то заставляем открывшего закрыть и пойти к другому сундуку, на котором повторяется то же, но учитывая, что сундук другой. Я сразу вспомнил "Утро Эдвина" (мб помнит кто из старых). Написан он был на примерно схожем принципе, но это все очень криво на самом деле и громоздко. Вариант с ХБ/ЮД, если не писать там фигню - нормальный и стоит думать именно в этом направлении. ReZkiy, в древней статье я рассматривал вариант оживления НПС, там многие моменты учтены, до которых ты пока не дошел, но скорее всего дойдешь, если продолжишь в этом направлении копать http://nwnmod.narod.ru/stat_anim_npc2.htm |
![]()
Сообщение
#3454
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
это что за адский ад? Neverwinter Script AssignCommand(oNPC, ActionDoCommand(TurnToFaceObject(oNPC),oCont1)); и никакой далее написанной и надуманной проблемы нет. и далее ActionUnlockObject() явно не в тему. Это отпирать объект. А открывать - немного другая функция. (ActionOpenObject) Я сразу вспомнил "Утро Эдвина" (мб помнит кто из старых). Написан он был на примерно схожем принципе, но это все очень криво на самом деле и громоздко. Вариант с ХБ/ЮД, если не писать там фигню - нормальный и стоит думать именно в этом направлении. ReZkiy, в древней статье я рассматривал вариант оживления НПС, там многие моменты учтены, до которых ты пока не дошел, но скорее всего дойдешь, если продолжишь в этом направлении копать http://nwnmod.narod.ru/stat_anim_npc2.htm Спасибо.Посмотри пожалуйста мой вопрос о хаках |
![]()
Сообщение
#3455
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Lawful Evil Раса: Человек ![]() |
Пишу же, я нуб и позорюсь (IMG:style_emoticons/kolobok_light/unknw.gif) Спасибо за корректировки, пригодится, хех.
О хаках ответ есть, надеюсь, он не настолько крив, как тут (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал wirTUS - Sep 12 2011, 15:53 |
![]()
Сообщение
#3456
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
Дайте пожалуйста скрипт на спавн, а то я в этом не смог разобраться (IMG:style_emoticons/kolobok_light/snoozer_17.gif)
Сообщение отредактировал Ollone5 - Sep 13 2011, 11:44 |
![]()
Сообщение
#3457
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Если просто спаунер, то http://www.lrjonline.net/swg/ness.html
|
![]()
Сообщение
#3458
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
wirTUS, возвращаясь к твоему коду сообщения #3436, а конкретно, по конструкции вида:
Neverwinter Script while(i<1) //1 - количество проходов NPC по маршруту //[позиция NPC] - первый сундук - второй сундук, { ++i; //закомментировать строчку выше - плохая идея, ибо при попытке использования бесконечного цикла //nwn благополучно зависает /* Код */ } Как мне кажется, это довольно опасное решение. Nwn зависает не при попытке использования бесконечного цикла (на самом деле он их позволяет), а на обработке действий, которые в таком случае игре приходится выполнить. В коде идут действия, помещающиеся в стек персонажей. Стек ограничен, а таким образом ты пытаешься бесконечно, с невероятной скоростью забивать в него все, что у тебя в коде. Твое решение фиксирует количество проходов, но они по-прежнему выдаются единомоментно. Лимит стека - семьдесят пять, насколько я помню, действий. Цикл примера выдает по пять действия за раз, т.е. если i переходит за 15-16 - тут уже все туманно, сам понимаешь. Реализуя скрипт на OnEnter триггера, как ты, я бы наверное, забил код в функцию и выполнял ее по делею, или даже попытался бы отследить выполнение текущей итерации (допустим, произвел ли NPC действие над сундуком, который условно принимается за конечную точку, находится ли он в условно конечной позиции и так далее). Теоретически нагрузка на игру тогда действительно будет меньше, чем с помощью HB, но вряд ли даст ощутимый результат. Сообщение отредактировал Talarasha - Sep 13 2011, 12:46 |
![]()
Сообщение
#3459
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
|
![]()
Сообщение
#3460
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
Люди! Дайте скрипт вот для OnClientInter:
Дает предмет по классу или расе: Полурослику - штаны с кинжалом; Эльфу - лук и стрелы с каким нибудь эльфийским доспехом и т.п; Или так: воину меч, друиду посох и т.п Кто нибудь знает такое? |
![]()
Сообщение
#3461
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Lawful Evil Раса: Человек ![]() |
|
![]()
Сообщение
#3462
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
Здесь такого нет. Или есть но не то. |
![]()
Сообщение
#3463
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Lawful Evil Раса: Человек ![]() |
Цитата Здесь такого нет. Или есть но не то. Цитата Люди! Дайте скрипт вот для OnClientInter: Дает предмет по классу или расе Цитата Начем. Самое главное, это начало модуля. Тут все написано, как раздеть игрока, одеть, дать ему денег и отправить дальше. Ставится он на слот модуля OnClientEnter.
|
![]()
Сообщение
#3464
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
wirTUS, так как в 2да урук-хаев,лошадей и разные дополнения к одежде добавить?
|
![]()
Сообщение
#3465
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
Цитата дополнения к одежде добавить? так как в 2да урук-хаев,лошадей и разные Проще скачать хак. |
![]()
Сообщение
#3466
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
Цитата Проще скачать хак. Ага. Знаешь как все виснет? И где мне его найти? Один есть - не работает. |
![]()
Сообщение
#3467
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Lawful Evil Раса: Человек ![]() |
Цитата wirTUS, так как в 2да урук-хаев,лошадей и разные дополнения к одежде добавить? Легко. Заполняешь appearance.2da строчками, состоящими из "****" на каждый столбец вплоть до 750 строки. Далее: Урук-хаев: дописываешь туда же "751 Uruk-Hai", далее звездочками Лошадей: так же, но вместо Uruk-Hai пишешь Horse и вместо 751, предположим, 752 Дополнения к одежде: берешь parts_[название нужной части].2da, смотришь на этот 2да Safe2DALines.txt, прописываешь все звездочками до строки, значащейся в оном текстовике, далее аналогично урук-хаям и лошадям: дописываешь [id] part100500, далее звездочками. А еще через 2da можно корованы грабить: создаешь 2да под названием rob_cowtrain.2da, прописываешь в него такие столбцы: Id - так же, как и везде Name1 - ресреф возницы корована Name2 - ресреф первого охранника Name3 - ресреф второго охранника RoberT - тип грабителя - E - ельф, Z - злодей RName1 - ресреф главного грабителя RName2 - ресреф первого неглавного грабителя RName3 - ресреф второго неглавного грабителя CApp1 - Id из appearence.2da, отвечающий за внешний вид первого существа, тянущего корован CApp2 - Id из appearence.2da, отвечающий за внешний вид второго существа, тянущего корован CApp3 - Id из appearence.2da, отвечающий за внешний вид третьего существа, тянущего корован CApp4 - Id из appearence.2da, отвечающий за внешний вид четвертого существа, тянущего корован Затем запихиваешь этот 2да в хак. В палитре появится триггер COWTRAINROB, ставишь его куда тебе надо и наслаждаешься ограблением корована, написанного тобой в 2да. Цитата И где мне его найти? ваулт. А лошадей можно поставить биоваревских, поставив патч 1.69
Сообщение отредактировал wirTUS - Sep 19 2011, 15:35 |
![]()
Сообщение
#3468
|
|
Level 5 ![]() ![]() Класс: Вор Характер: Neutral Good Раса: Человек ![]() |
Цитата вместо 751, предположим, 751 (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Это как понять? |
![]()
Сообщение
#3469
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Lawful Evil Раса: Человек ![]() |
*исправил*
|
![]() ![]()
Сообщение
#3470
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
ReZkiy, а другие вещи и расы мира LOTR тебя интересуют?
(оружие, броня, ортханк) (IMG:http://vnmedia.ign.com/nwvault.ign.com/fms/images/hakpaks/2824/1114980850_thumb.jpg) (IMG:http://vnmedia.ign.com/nwvault.ign.com/fms/images/hakpaks/6322/1130015972_thumb.jpg) (IMG:http://vnmedia.ign.com/nwvault.ign.com/fms/images/hakpaks/2231/1114980529_thumb.jpg) (IMG:http://vnmedia.ign.com/nwvault.ign.com/fms/images/hakpaks/4020/1114981398_thumb.jpg) (IMG:http://vnmedia.ign.com/nwvault.ign.com/fms/images/hakpaks/3584/1114981188_thumb.jpg) Сообщение отредактировал Ollone5 - Sep 19 2011, 21:33 |
![]() ![]() |
Текстовая версия | Сейчас: 3rd August 2025 - 06:52 |