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

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

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


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
- - Lazy Ranma   ЦитатаВ событие OnClientLeave не работают некоторы...   Jun 25 2004, 08:35
- - _kaa_   Иногда полезно читать лексикон При работе функци...   Jun 26 2004, 09:44
- - Аваддон   Скорее не баг, а недодуманность скриптеров в Станд...   Jul 5 2004, 20:12
- - Lex   Это легко лечится. Ставить повторную проверку комп...   Jul 5 2004, 20:16
- - _kaa_   Очень веселая недокументировання багафича со встро...   Jul 27 2004, 11:21
- - _kaa_   Цитата(Valleo @ Jul 27 2004, 22:05) Очень инт...   Jul 28 2004, 08:21
- - _kaa_   Интересный прикол в событии onPhysicalDamage. Есть...   Aug 5 2004, 16:34
- - _kaa_   Не сохраняйте location в БД. Сохраняется она ...   Aug 9 2004, 15:10
- - Valleo   Вообще легче всего сохранять локу на какой нить пл...   Aug 9 2004, 15:24
- - _kaa_   Цитата(Valleo @ Aug 9 2004, 15:24) Вообще лег...   Aug 9 2004, 22:03
- - Valleo   StringToLocation Neverwinter Script Sourcelocation...   Aug 10 2004, 08:15
- - Аваддон   Интересная фишка тут мне вечерком подвернулась, хо...   Dec 5 2004, 23:42
- - DBColl   Аваддон Да ну нафиг!!! Это мега фича...   Dec 6 2004, 19:25
- - Lex   стоп..а если игроков много...те у всех одинаковый ...   Dec 6 2004, 21:47
- - Аваддон   Лекс не понял твоего вопроса... У каждого игрока н...   Dec 7 2004, 16:42
- - Lex   все, те одинаковый хб. Но для сингла это не важно....   Dec 7 2004, 22:19
- - Lexey aka Hawk   Зато интересно для шардостроителей.   Dec 8 2004, 14:12
- - Lex   я имел ввиду что не важно, что для всех одинаковый...   Dec 8 2004, 19:31
- - Тобур   QUOTE Если очень нужно хранить - ... задавайте уни...   Dec 9 2004, 20:45
- - Аваддон   В поздних версиях тулсета ввели функцию - поиск по...   Dec 12 2004, 23:37
- - _kaa_   QUOTE (Аваддон @ Dec 5 2004, 23:42) Интересная фиш...   Feb 1 2005, 20:11
- - rdx   QUOTE (Аваддон @ Dec 5 2004, 23:42)Интересная...   May 11 2005, 00:54
- - Lex   QUOTE (_kaa_ @ Jun 24 2004, 18:14)Локальные ...   Sep 8 2005, 20:06
- - virusman   Еще одна, на этот раз неприятная, фича: После вызо...   Sep 10 2005, 10:15
- - _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 April 2024 - 05:48