![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Попробовал потыкался и понял что это мне ковырять на несколько дней. Суть такая. Идет НПС, за ним караван из трех верблюдов. Типа торговец шляющийся по модулю. Но заставить этих гадов идти строго не джампая при большой дистанции не могу. А времени уже нет заниматься таким. Мож кто делал себе? Дайте пжалуста скриптики (IMG:style_emoticons/kolobok_light/pardon.gif) Или скажите где капать (IMG:style_emoticons/kolobok_light/yes3.gif)
|
![]() |
![]()
Сообщение
#2
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Спасибо, попробую. (IMG:style_emoticons/kolobok_light/yes3.gif)
NSS //::////////////////////////////////////////////// //:: OnUserDefaine am_csp_common //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* Стандартный UserDefaine скрипт */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 09.07.2005 //::///////////////////////////////////////////// void MoveTo() { object oNPC = GetObjectByTag("NPC_MERCHANT_001"); object oAnimal1 = GetObjectByTag("NPC_ANIMAL_001"); object oAnimal2 = GetObjectByTag("NPC_ANIMAL_002"); object oAnimal3 = GetObjectByTag("NPC_ANIMAL_003"); location lLoc = GetLocation(oNPC); if (GetDistanceBetween(oNPC, oAnimal1) >= 5.0f) { AssignCommand(oAnimal1, ClearAllActions()); AssignCommand(oAnimal1, ActionMoveToObject(oNPC, FALSE, 2.0)); } if (GetDistanceBetween(oAnimal1, oAnimal2) >= 5.0f) { AssignCommand(oAnimal2, ClearAllActions()); AssignCommand(oAnimal2, ActionMoveToObject(oAnimal1, FALSE, 2.0)); } if (GetDistanceBetween(oAnimal2, oAnimal3) >= 5.0f) { AssignCommand(oAnimal3, ClearAllActions()); AssignCommand(oAnimal3, ActionMoveToObject(oAnimal2, FALSE, 2.0)); } } void main() { int nEvent = GetUserDefinedEventNumber(); if (GetIsDead(OBJECT_SELF)==TRUE) return; // Если он помер, то пусть молчит if (GetArea(OBJECT_SELF)!=GetArea(GetFirstPC())) return; //=========================== HEARTBEAT EVENT ================================== if (nEvent == EVENT_HEARTBEAT) // Сигнал поступает User Defined Event 1001 { MoveTo(); } } Спасибо, действительно идут "гуськом" (IMG:style_emoticons/kolobok_light/yes3.gif) Я правдап немного скрипт поправил, что бы акции не копились в стеке. Как сделаю полностью скрипт выложу. |
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 03:16 |