Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Город Мастеров _ Neverwinter Nights Aurora Toolset _ Есть у кого Alternative Core?

Автор: Ilrilan Aug 14 2006, 16:59

Субж. Почему-то качается какой-то "index" весом 52 кб...
Качал отсюда: http://www.wrg.ru/index.php?method=files.open&id=19&sub=do

Автор: Lex Aug 14 2006, 21:34

- скачай файл
- сделай его разширением *.rar
- распаковывай, там все будет

пока так, сейчас этот баг со скачиванием исправляется.

Автор: Neo Aug 15 2006, 03:31

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

вес правильный, имя файла неверное wink3.gif поправил, качай нормально

Автор: Zirrex Aug 28 2006, 12:01

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

Автор: -fenix- Aug 28 2006, 12:56

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

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

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

А что за строчка?

Автор: Zirrex Aug 28 2006, 13:50

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

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

Строчка исчезла, стоило закомментировать обработку заклинаний и умений. Но раз полезли такого рода ошибки, значит надо думать, как облегчить скрипт.

Автор: -fenix- Aug 28 2006, 13:56

Zirrex, ну я как дома буду, пасмотрю че там может быть.

А что за "систему проверки на ошибки и лаги в скриптах"?? Есть еще система дебага от бюро, ты про нее???

Автор: Zirrex Aug 28 2006, 14:11

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

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

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

Автор: virusman Aug 28 2006, 14:17

QUOTE(Zirrex @ Aug 28 2006, 15:11) [snapback]90613[/snapback]

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

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

Дебаггер или обработчик невыполненных скриптов очень бы мог помочь с оптимизацией и распределением кода скрипта на иные места в модуле, чтобы они действительно работали, а не пролагивали.
Странно, я с такими проблемами не сталкивался. Объект игрока создаётся при его заходе на сервер, и во время загрузки локи он уже есть (разве только GetLocation ничего не даст).
Может, ты вешал много скриптов, и происходил TMI?

Автор: -fenix- Aug 28 2006, 14:28

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

Автор: Zirrex Aug 28 2006, 14:57

virusman, все верно. Только тут есть одна тонкость. Объект входит на локацию, и пока у игрока происходит загрузка локации, эвент локации не выполняется. Скрипт, который проверяет статус "живой мертвый", убивает персонажа, если он был, конечно же, мертвый. Запускается модульный эвент смерти, где выполняется другой скрипт, и делает с персонажем то, что там написано. Как только у игрока загружается первая локация, тут же начинает загружаться другая локация, куда переносит его персонажа после смерти. Это в идеале. Но бывают моменты, когда персонажа переносит в фугу, и тут же кидает на ту локацию, на которую он загружался в момент входа. Как такое объяснить? Пытался делать небольшие задержки перед срабатыванием скриптов, получается где-то 50%, что скрипт сработает верно. Поэтому я решил убрать такую проверку на эвент локации. Т.е. скрипт выполнится только тогда, когда игрок реально увидит локацию, а не будет срабатывать в фоновом режиме, пока игрок еще видит экран загрузки. Кстати, пока загружается локация, она для персонажа всегда остается неопределенной, что накладывает некоторые ограничения на условия в скрипте. Т.е. в скрипте входа в модуль нельзя ставить проверку на локацию, ибо скрипт ее проигнорирует, и соответственно, не выполнит условие.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)