![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
сабж.
кто-нибудь извращался с редактированием имён скриптов, вешаемых на игроков? default пашет только как херт бит.. и имхо легче самоповторяющееся действие повесить в общем задача - повесить on_spell_cast on_attack on_death (ну это не обязательно) и т.п.. Сообщение отредактировал 2_advanced - Jun 27 2005, 01:34 |
![]() |
![]()
Сообщение
#2
|
|||||||||||||||||
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Ты сам начни, будут вопросы - ответим. Никто делать за тебя не станет, но поможем с тем, с чем с ходу не справишся. В двух словах где тебе рыть:
Тебе нужно отслеживать событие "смерть игрока" - это OnPlayerDying, OnPlayerDeath (в свойствах модуля). Первое срабатывает, когда у игрока меньше 0 хитпоинтов, второе - когда -10 и меньше. Если кто-то умирает - генерируется эти события, в них можно получить кто умер
и кто его убил
.
Это гораздо проще. У тебя уже есть убитый и убийца, осталось узнать уровень обоих и сравнить.
Теперь надо записать все на вещь:
Как только будет сохранение персонажа (при его выходе или при вызове ExportAllCharacters(),ExportSingleCharacter(oPC)) его фраги запишутся в .bic файл игрока, т.е. туда же куда пишется информация об игроке, его уровне, вещях и т.п.
Если "хонор" в твоем понимании количество фрагов: Тебе нужна вещь со свойством Cast Spell:Unique power (unlimit). При ее активации вызывается событие модуля onActivateItem(), в нем тебе нужно проверить, что активированна именно твоя вещь. Скажем вещь твоя имеет тег "honor_viewer"
Вариант без проверок. Проверки приделывай сам, надо убедиться что oTarget - игрока (GetIsPC()), что GetItemPossessedBy(oTarget,"<тег вещи но дроп>") вернет тебе объект, а не OBJECT_INVALID и т.п. |
||||||||||||||||
![]() ![]() |
Текстовая версия | Сейчас: 13th May 2025 - 16:02 |