Вот немного переделанный скрипт, кому то понравится больше чем первый. LEX:Айв, тут у тебя пара косяков есть в коде. Я исправил и дополнил. Не сердись. СПАСИБО ДБу за идею! (IMG: style_emoticons/kolobok_light/good.gif) Neverwinter Script Source | #include "nw_i0_tool" void main() { int iL = GetLockUnlockDC(OBJECT_SELF); int iT = GetTrapDisarmDC(OBJECT_SELF); object oDisarmed = GetLastDisarmed(); object oUnlocked = GetLastUnlocked();
//================ ОТКРЫВАЕМ ЗАМОК ================ if ((!GetLocalInt(OBJECT_SELF, "UNLOCKED"))&&(GetIsObjectValid(oUnlocked))) { SetLocalInt(OBJECT_SELF, "UNLOCKED", TRUE); if (HasItem(oUnlocked,GetLockKeyTag(OBJECT_SELF))) return; if (GetIsPC(oUnlocked)) // Если замок вскрыл РС { GiveXPToCreature(oUnlocked, (iL * GetHitDice(oUnlocked)/3)); // XP = DC двери умноженное на 1/3 уровень РС return; } else // Если замок вскрыл Henchman RewardPartyXP((iL*2), GetMaster(oUnlocked)); // XP = DC двери умноженное на 2 return; } //=============== ОБЕЗВРЕЖИВАЕМ ЛОВУШКУ ============ if ((!GetLocalInt(OBJECT_SELF, "DISARMED"))&&(GetIsObjectValid(oDisarmed))) { SetLocalInt(OBJECT_SELF, "DISARMED", TRUE); if (HasItem(oDisarmed,GetTrapKeyTag(OBJECT_SELF))) return; if (GetIsPC(oDisarmed)) // Если ловушку обезвредил РС { GiveXPToCreature(oDisarmed, (iT * GetHitDice(oDisarmed)/3)); // XP = DC ловушки умноженное на 1/3 уровень РС return; } else // Если ловушку обезвредил Henchman RewardPartyXP((iT*2), GetMaster(oDisarmed)); // XP = DC ловушки умноженное на 2 } } |
Сообщение отредактировал Twin - Jan 9 2005, 17:50
|