Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

> Это не бага, это фича, тонкости, баги и прочее
_kaa_
сообщение Jun 24 2004, 17:14
Сообщение #26


Level 9
Иконки Групп

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



В этой теме предлагаю постить "странности" скриптов, различные тонкости эвентов, функций и т.п.

Локальные переменные на итемах из инвентаря игрока сохраняются в файле
Для меня это было откровением и нашел я это случайно. Если выставить локальную переменную на итем - она сохраняется в .bic файле игрока, что иногда очень удобно (особенно вместе с настоящими nodrop-итемами, многие вещи так делать гораздо проще, чем юзать БД)

Событие модуля OnAcquireItem вызывается при _входе_ игрока на шард для _каждой_ вещи из его инвентаря
Тоже самое и с событием OnPlayerEquipItem - оно вызывается при входе игрока на шард для каждой одетой на персонажа вещи

В событие OnClientLeave не работают некоторые функции для работы с объектом игрока
GetPlayername, GetPCIPAddress и некоторые другие. Но локальные переменные читать можно, так что если вам нужны эти данные - занесите их в переменные при входе игрока на шард

Событие OnUnAcquireItem вызывается при _попытке_ продажи итема в магазин, даже если эта вещь не покупается
Если нет денег у НПС-покупателся, возможно и на plot\stolen то же самое будет. Вероятно что и OnAcquireItem будет вызываться.

Бага функции TakeGoldFromCreature()
Надо дополнительно проверять текущее действие, if (GetCurrentAction(oPC) == ACTION_DROPITEM) {чит}
Т.е. можно задать действие "выложить деньги на землю", некоторое время сервер будет считать, что все деньги по прежнему у вас. если сервер в это время отнимает деньги у игрока функцией TakeGoldFromCreature() - при небольшом навыке на землю упадет _вся_ сумма, не учитывая те, что забрали функцией. Баг особо опасен для банков (IMG:style_emoticons/kolobok_light/smile.gif) (так делались первые миллионы на Эксизе, когда только появился первый банк)

Сообщение отредактировал _kaa_ - Jun 24 2004, 17:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- _kaa_   Это не бага, это фича   Jun 24 2004, 17:14
- - _kaa_   QUOTE (virusman @ Sep 10 2005, 10:15) Еще одна, на...   Sep 12 2005, 08:52
- - mamuc   угу...таким образом единственная инфа, которую мож...   Sep 12 2005, 09:01
- - _kaa_   QUOTE (_kaa_ @ Jun 26 2004, 10:44) При работе функ...   Sep 26 2005, 13:12
- - Vanes   у меня лут падает всегда и везде, но с подобной пр...   Sep 26 2005, 17:15
- - virusman   _kaa_ Да, точно, это у меня глюк был.   Sep 26 2005, 17:44
- - 2_advanced   типа того: Neverwinter Script Sourcecopy = CopyIte...   Sep 27 2005, 13:27
- - dumbo   наковырял вот неприятность, но она уже из прошлого...   Oct 13 2005, 19:38
- - virusman   To: dumbo Я ж говорил. В чейнджлисте 1.66 как раз...   Oct 17 2005, 12:08
- - virusman   В функциях Action(Force)MoveToLocation и ActionMov...   Mar 14 2008, 01:05
- - denis0k   Веселые грабельки в StartNewModule(). Функция сра...   May 1 2008, 00:22
- - Ilerien   У меня в тестовом модуле StartNewModule() работать...   May 1 2008, 11:05
- - denis0k   ЦитатаА если рестартить на OnClientEnter модуля пр...   May 1 2008, 12:34
- - Ilerien   Грабли понятные и логичные, он, тем не менее, я на...   Jul 2 2008, 02:20
- - Ilerien   Забавная и не очень приятная штука, с которой я ст...   Jan 4 2009, 15:10
- - Ilerien   Неприятная фича - добавленная в версии 1.69 функци...   Apr 20 2009, 16:07
- - Laajin   ЦитатаФункция срабатывает только при наличии игрок...   Aug 11 2011, 14:35


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18th May 2024 - 09:24