Помощь - Поиск - Пользователи - Календарь
Полная версия: Есть у кого Alternative Core?
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Ilrilan
Субж. Почему-то качается какой-то "index" весом 52 кб...
Качал отсюда: http://www.wrg.ru/index.php?method=files.o...d=19&sub=do
Lex
- скачай файл
- сделай его разширением *.rar
- распаковывай, там все будет

пока так, сейчас этот баг со скачиванием исправляется.
Neo
QUOTE(Ilrilan @ Aug 14 2006, 17:59) [snapback]89590[/snapback]
Субж. Почему-то качается какой-то "index" весом 52 кб...

вес правильный, имя файла неверное wink3.gif поправил, качай нормально
Zirrex
Хотелось бы увидеть более подробное описание всех возможностей этой системы. То, что описано в файле помощи, далеко не все понятно. Зачем отслеживать глобальные события? Что это дает? В логах создается непонятная строчка. Для чего она?
-fenix-
Zirrex, там в принцепе написано, прям в первых предложениях. Типо, система создавалась для отслеживания всех глобальных событий в одном месте, отслеживания новых глобальных событий, а так же реализвации таймеров. Как-то так, точно уже не помню.

Стандартные глобальные события отслеживаются для простоты работы с ними, чтобы скрипты для всех глобальных событий можно было указать в одном месте, так же новые события добавляются.

ИМХО, вроде понятно, для чего это может пригодится, если же не пригождается, значит не пригождается. pardon.gif

А что за строчка?
Zirrex
-fenix-, да у меня с этой системой стала ошибка "Слишком много инструкций" из скрипта "default" вылезать. У меня там обрабатывалась запись заклинаний и умений на предмет. Без системы ошибки не было. То ли она так "свирепо" гоняет скрипт, что он начинает лагать, то ли, и правда, из-за слишком длинного цикла происходит сложная обработка.

Как я понял, эта система больше для создания различных таймеров, и для объединения всех глобальных эвентов в одном месте. Мне это особо не нужно, а вот систему проверки на ошибки и лаги в скриптах очень бы даже пригодилась.

Строчка исчезла, стоило закомментировать обработку заклинаний и умений. Но раз полезли такого рода ошибки, значит надо думать, как облегчить скрипт.
-fenix-
Zirrex, ну я как дома буду, пасмотрю че там может быть.

А что за "систему проверки на ошибки и лаги в скриптах"?? Есть еще система дебага от бюро, ты про нее???
Zirrex
-fenix-, бывают случаи, когда скрипты не успевают обработать те или иные события. Причиной тому может служить отсутствие объекта обработки. В нашем случае, персонажа игрока. Не секрет, что клиент с не очень хорошей системой впускает персонажа на сервер не за 5-6 сек., а за все 20-30 сек. И что в итоге? В скрипте входа на сервер есть проверка на какие-то параметры или события. Игрок входит, скрипт запускается, и некоторые события срабатывают впустую, не затрагивая при этом персонажа.

Для примера. На входе стоит скрипт проверки, живой персонаж или мертвый. Если мертвый, то убить и переправить в фугу (старый скрипт). Не всегда срабатывает такая тактика. Вообще, я уже давно понял, что чем меньше скриптов на входе, тем выше вероятность, что они все сработают. Если есть скрипты, которые нужны только для первого входа после рестарта, то лучше их кидать на эвент входа стартовой локации, а если есть скрипты, которые нужны всегда, то оставить их на эвенте входа. И вот тут возникает тупиковая ситуация, то ли подобные скрипты кидать только на эвенты входа в локацию, то ли оставлять лишь на входе в модуль. Но получается иногда то, что я описал. Если кидать скрипты на эвенты входа, то придется для каждой локации заполнять поле скрипта.

Дебаггер или обработчик невыполненных скриптов очень бы мог помочь с оптимизацией и распределением кода скрипта на иные места в модуле, чтобы они действительно работали, а не пролагивали.
virusman
QUOTE(Zirrex @ Aug 28 2006, 15:11) [snapback]90613[/snapback]

-fenix-, бывают случаи, когда скрипты не успевают обработать те или иные события. Причиной тому может служить отсутствие объекта обработки. В нашем случае, персонажа игрока. Не секрет, что клиент с не очень хорошей системой впускает персонажа на сервер не за 5-6 сек., а за все 20-30 сек. И что в итоге? В скрипте входа на сервер есть проверка на какие-то параметры или события. Игрок входит, скрипт запускается, и некоторые события срабатывают впустую, не затрагивая при этом персонажа.

Для примера. На входе стоит скрипт проверки, живой персонаж или мертвый. Если мертвый, то убить и переправить в фугу (старый скрипт). Не всегда срабатывает такая тактика. Вообще, я уже давно понял, что чем меньше скриптов на входе, тем выше вероятность, что они все сработают. Если есть скрипты, которые нужны только для первого входа после рестарта, то лучше их кидать на эвент входа стартовой локации, а если есть скрипты, которые нужны всегда, то оставить их на эвенте входа. И вот тут возникает тупиковая ситуация, то ли подобные скрипты кидать только на эвенты входа в локацию, то ли оставлять лишь на входе в модуль. Но получается иногда то, что я описал. Если кидать скрипты на эвенты входа, то придется для каждой локации заполнять поле скрипта.

Дебаггер или обработчик невыполненных скриптов очень бы мог помочь с оптимизацией и распределением кода скрипта на иные места в модуле, чтобы они действительно работали, а не пролагивали.
Странно, я с такими проблемами не сталкивался. Объект игрока создаётся при его заходе на сервер, и во время загрузки локи он уже есть (разве только GetLocation ничего не даст).
Может, ты вешал много скриптов, и происходил TMI?
-fenix-
Ну само собой, такие моменты бывают, да ж в сингле, не говоря уже о шарде.
Сама система всеж писалась для синглов и проверялась в них, вполне возможно, что добавление еще и ее циклов и обработчиков в условиях шарда в корне все загружает и этот скрипт не срабатывает
Zirrex
virusman, все верно. Только тут есть одна тонкость. Объект входит на локацию, и пока у игрока происходит загрузка локации, эвент локации не выполняется. Скрипт, который проверяет статус "живой мертвый", убивает персонажа, если он был, конечно же, мертвый. Запускается модульный эвент смерти, где выполняется другой скрипт, и делает с персонажем то, что там написано. Как только у игрока загружается первая локация, тут же начинает загружаться другая локация, куда переносит его персонажа после смерти. Это в идеале. Но бывают моменты, когда персонажа переносит в фугу, и тут же кидает на ту локацию, на которую он загружался в момент входа. Как такое объяснить? Пытался делать небольшие задержки перед срабатыванием скриптов, получается где-то 50%, что скрипт сработает верно. Поэтому я решил убрать такую проверку на эвент локации. Т.е. скрипт выполнится только тогда, когда игрок реально увидит локацию, а не будет срабатывать в фоновом режиме, пока игрок еще видит экран загрузки. Кстати, пока загружается локация, она для персонажа всегда остается неопределенной, что накладывает некоторые ограничения на условия в скрипте. Т.е. в скрипте входа в модуль нельзя ставить проверку на локацию, ибо скрипт ее проигнорирует, и соответственно, не выполнит условие.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.