![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3526
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
как это исправить? досконально облазить каждое событие перед функцией WalkWayPoints() (IMG:style_emoticons/kolobok_light/smile.gif) , а еще лучше в ней )) |
![]()
Сообщение
#3527
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Хербит отрубается в локациях, где нет игроков. Почему-то, хотя не должен. Бывает так - зашел НПС в дверь и все - обратно не выходит, пока игрок туда не наведается.
Можно извратиться через модульный хербит - на каждого НПС запускать скрипт, а не через их хербит. Больше способов не знаю. |
![]()
Сообщение
#3528
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Он не «почему-то» отрубается, и это не только с НПС - а так же с объектами имеющими скрипты, визуальными эффектами и всем прочим. Это менеджмент ресурсами виртуальной машины сервера – она вообще может отключаться полностью пока в модуль не зайдет игрок. Обходить его не надо, потому что сделано было не просто так.
Виртуальному миру и не нужно собсно жить без игрока: единственный корректный способ это исправить – это либо составление алгоритмов позволяющих AI снимать в любой запрашиваемый момент времени полную симуляцию состояния объекта и воссоздавать по запросу; либо составление алгоритмов универсального реагирования криттера на внешние условия (ну либо и то и то). Для НПС первый вариант типа: «если время с момента запуска модуля = столько-то, то криттер появится там-то и сделает то-то, имея при себе столько-то чего нада». Второй вариант типа: «если сейчас день, а у криттера нет того-то, то идем туда-то и берем чего нада, если оно есть, то идем куда-то еще и делаем что-то, пока не потратим чего надо, а если сечас ночь, притворяемся мертвым и храпим, пока не потыкают чтобы проверить». (IMG:style_emoticons/kolobok_light/smile.gif) P.S.: ReZkiy, вообще я сейчас этим занимаюсь для онлайн модуля – может есть желание принять участие? |
![]()
Сообщение
#3529
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
мне, по большому счету, и не нужно, чтобы НПЦ действовали, пока игрока нет в локации (это лишняя трата ресурсов). мне нужно, чтобы они: 1) ночью сидели дома; 2) днем ходили по городу. и первое, и второе сейчас работает, однако только, если за НПЦ следит игрок. если, скажем, группа НПЦ с наступлением темноты вернулась в дом, то на утро они от туда уже не выйдут, пока к ним не заглянет игрок. вот в этом вся проблема.
|
![]()
Сообщение
#3530
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Я у себя создавал для этого «базы» для НПС – объекты которые управляют своим типом НПС на локации, на которой помещены. Банально гнезда и норы для животных, которые можно обнаружить и взаимодействовать на своем отдельном уровне.
Такой объект присутствует в модуле всегда и поэтому на него можно повесить скрипты позволяющие свободно удалять/респавнить криттеров без боязни срыва скриптов – в остальном сами криттеры автономны и используют скрипты «онхеартбита». Для «сна» криттеров я использовал команды «аппеар/дисаппеар» и на время ночи у меня птицы например попросту изчезают с локации («расселяясь» по гнездам), появляясь снова днем с учетом текущей популяции (новые птицы порциально спавнятся у гнезд по прохождению определенного периода времени с учетом установленного максимума популяции). Для команды «аппеар/дисаппеар» нет разницы в задержке (секунда или игровая ночь) так что в теории должно работать с НПС и их домами. P.S.: Чтоб не получалось при этом так, что реакция AI воспринималась «тормознутой» - можно поставить заглушку которая при входе игрока на локацию, при условии что на ней уже нету другого игрока, спавнила/перемещала бы невидимые «базы» криттеров в точке присутствия игрока тем самым гарантируя 100% оперативность работы скрипта на ней отвечающего за актуальное местоположение криттера. Сообщение отредактировал Flaristan - Jun 19 2012, 13:15 |
![]()
Сообщение
#3531
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Цитата мне, по большому счету, и не нужно, чтобы НПЦ действовали, пока игрока нет в локации (это лишняя трата ресурсов). мне нужно, чтобы они: 1) ночью сидели дома; 2) днем ходили по городу. и первое, и второе сейчас работает, однако только, если за НПЦ следит игрок. если, скажем, группа НПЦ с наступлением темноты вернулась в дом, то на утро они от туда уже не выйдут, пока к ним не заглянет игрок. вот в этом вся проблема. Нужно делать через хербит модуля или кастомный хербит каждые 6.0 сек на модуле. Там беруться все НПС одной фракции или одного тега и кидаются днем туда, а ночью обратно. Только кушает процесс "перекидования" не мало. |
![]()
Сообщение
#3532
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
склепал что-то такое:
Neverwinter Script void main() вроде работает. днем они спавняться, а ночью исчезают. вот только исчезают они по-очереди (в отличии от появления) и с некоторым интервалом. и в это время игра немного подтормаживает, а еще в чат идут сообщения, что-то вроде "TOO MANY COMMANDS".{ object oNPC = GetNearestObjectByTag("NW_COMMALE"); int nTime = GetTimeHour(); int nCount = GetLocalInt(OBJECT_SELF, "SPAWNED_NPC_COUNT"); object oSpawn = GetWaypointByTag("WP_NPC_SPAWN"); location lSpawn = GetLocation(oSpawn); if (nTime >= 8 && nTime <= 18) { while (GetLocalInt(OBJECT_SELF, "SPAWNED_NPC_COUNT") < 8) { CreateObject(OBJECT_TYPE_CREATURE, "commale001", lSpawn); nCount += 1; SetLocalInt(OBJECT_SELF, "SPAWNED_NPC_COUNT", nCount); } } else { while (GetIsObjectValid(oNPC)) { DestroyObject(oNPC); nCount -= 1; SetLocalInt(OBJECT_SELF, "SPAWNED_NPC_COUNT", nCount); } } } П.С. подозреваю, что дело в том, что скрипт пытаеться повторно анигилировать существо, пока оно еще не доконца исчезло, т.е. имеет Valid-статус. что с этим делать? можно было бы поставить задержку на несколько секунд, однако это не ускорит процес дестроинга. Сообщение отредактировал Virake - Jun 19 2012, 17:07 |
![]()
Сообщение
#3533
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
«Слишком много инструкций» и далее таг объекта перегружающего кэш. Стандартное сообщение об ошибке когда происходит аварийная остановка выполнения скрипта – это значит его надо дорабатывать. (IMG:style_emoticons/kolobok_light/smile.gif)
P.S.: Neverwinter Script while (GetIsObjectValid(oNPC)) { DestroyObject(oNPC); nCount -= 1; SetLocalInt(OBJECT_SELF, "SPAWNED_NPC_COUNT", nCount); } Neverwinter Script oTarget = GetFirstObjectInArea(oArea);
while(GetIsObjectValid(oTarget)) { //сюда можно поставить любое условие хоть по тому же тагу if (GetIsPC(oTarget)) { //сюда то что тебе нужно сделать с объектом } oTarget = GetNextObjectInArea(oArea); } Сообщение отредактировал Flaristan - Jun 19 2012, 17:22 |
![]()
Сообщение
#3534
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
действительо, теперь работает. спасибо за помощь.
П.С. однако полноценной системой это пока считаться не может. нужно внедрить: 1) чтобы спавнились случайные НПЦ 2) чтобы они спавнились по случайным вейпам 3) чтобы перед дестроингом возвращались к своим спавн-точкам Сообщение отредактировал Virake - Jun 19 2012, 18:04 |
![]()
Сообщение
#3535
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
1. Не сложно реализовать, заменив резреф криттера на стринговую переменную определяющуюся дополнительным блоком скрипта ранее, из списка заготовленных резрефов.
(хотя ИМХО лучше не случайные условия а причинно следственные) 2. То же самое. (и опять таки лучше снабдить кузницу наковальней которая будет респить кузнеца, улицу мусоркой которая будет респить дворника и т.п. – как минимум меньше будет нервотрепки с рендумной неопределенностью) 3. Именно поэтому удобна функция «аппеар/дисаппеар» - она не удаляет/респавнит объект, а переносит его в нужную позицию с какой угодно задержкой при необходимости. (а если просто нужна видимость сворачивания деятельности – то тут перед ним можно поставить парочку контрольных «велков» к нужному объекту, если в локации присутствует ПС; но как правило рано или поздно НПС все равно найдет способ застрять на глазах у ПС и испортить все впечатление от AI – хорошим решением для этого является тематическое преподнесение «дисаппиар» эффекта, например птицы у меня взлетают в воздух прежде чем пропасть) Сообщение отредактировал Flaristan - Jun 19 2012, 19:16 |
![]()
Сообщение
#3536
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Привет!
И снова я с вопросами о скриптах на респавн мобов! Вот есть рабочий скрипт под НВН1-НВН2(Меня интересует сейчас НВН2), вроде ставиться в OnDeath мобов(Скрипт сохраяеться без ошибок на F7, но ничего не происходит в игре-мобы не спавняться на точку, через заданные 6 секунд в скрипте), что задавать в WayPoint? Код #include "nw_i0_2q4luskan" void main() { object oSelf = OBJECT_SELF; string sResRef = GetResRef(oSelf); string sResPoint = GetLocalString(oSelf, "RESPAWN_POINT"); location lLoc = GetLocation(GetWaypointByTag(sResPoint)); AssignCommand(GetModule(), DelayCommand(6.0f, SetLocalString(CreateObject(OBJECT_TYPE_CREATURE, sResRef, lLoc), "RESPAWN_POINT", sResPoint))); } Подскажите пожалуйста, в чём загвоздка?! Просто я всё подзабыл, помню, что в НВН1-всё получалось-без проблем, но сейчас занялся НВН2, и там не выходит респавн моба на точку, после убийства... Уже второй день мучаюсь, подскажите, пожалуйста... Заранее спасибо! Добавлено позже: Уже сам разобрался... Сообщение отредактировал Sugo77 - Jan 7 2013, 10:29 |
![]()
Сообщение
#3537
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Добавил позже(Пару дней спустя):
Всё, сам во всём разобрался! Всем спасибо! Всех с праздниками! Пока больше нету вопросов... Хотя есть маленький, про замки, пока никак не могу сообразить, как сделать так, чтобы двери снова закрывать можно было на ключ, без воровских умений, ну чтобы любой класc мог проделывать это с помощью ключа, без прокаченных скиллов... Даже про фракции уже всё вспомнил, и про спавны, и про многое другое, а вот замки пока не научился, не вспомнил как обратно запирать на ключ, без прокаченных скиллов... Может есть какой-то скрипт для выполнения данной задачи? Заранее спасибо! Сообщение отредактировал Sugo77 - Jan 7 2013, 10:44 |
![]()
Сообщение
#3538
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Подскажите такой скрипт.
Чтобы после убйства моба, не оставался лут, или, чтобы выпавший лут, самостоятельно исчезал, через заданное время. И куда его вставлять? Заранее спасибо! Потому что без скрипта, в тулсете НВН 2-не нашёл другого способа, как такое сделать, изменение Body Bag на None-не помогает, лут всё равно остаётся с убитых мобов. Потчитал форумы на английском, там кто пишет, что, что-то нужно менять в On Death, кто в On Spawn, что-то связанное с Random Treasure, но не один, не написал, что... Добавлю, в On Death мобов у меня ужа забит скрипт на респавн мобов... Промежуточный результат: http://youtu.be/k7bxz0PxKow Сообщение отредактировал Sugo77 - Jan 8 2013, 08:16 |
![]()
Сообщение
#3539
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Neverwinter Script //::////////////////////////////////////////////////// //:: Чистка локации от предметов, слот ХБ //:: Created By: Gennady //:: Name: de_chistka_loc //::////////////////////////////////////////////////// #include \"ludi\" void ChistkaLoc(int iD, object oSelf = OBJECT_SELF) { object oItem = GetFirstObjectInArea(oSelf); int iFut = Day()+iD; int iDes = Day(); SetLocalInt(oSelf, 092;"day\", iFut); while(GetIsObjectValid(oItem)) { if(GetLocalInt(oItem,092;"day\")==0) SetLocalInt(oItem, 092;"day\", iFut); if(GetLocalInt(oItem,092;"day\")<= iDes) { if(GetTag(oItem)==092;"BodyBag\") { object oItemB = GetFirstItemInInventory(oItem); while(GetIsObjectValid(oItemB)) { if(GetPlotFlag(oItemB)==FALSE) DestroyObject(oItemB); oItemB = GetNextItemInInventory(oItem); } } else { if(GetObjectType(oItem)==OBJECT_TYPE_ITEM && GetPlotFlag(oItem)==FALSE) DestroyObject(oItem); } } oItem = GetNextObjectInArea(oSelf); } } //////////////////////////////////////////////////////////////////////////////// void main() { object oPC = GetFirstPC(); object oSelf = OBJECT_SELF; int iD = StringToInt(GetLockKeyTag(oSelf)); if(GetArea(oPC)==GetArea(oSelf)) // если ПС в локе ChistkaLoc(iD); else if(GetLocalInt(oSelf,092;"day\") <= Day() && GetLocalInt(oSelf,092;"day\")!=0) ChistkaLoc(iD); } // Тэг ключа, врямя в днях до удаления предметов Neverwinter Script ///////////////////////////////////////////////
// *** БИБЛИОТЕКА *** #include \"ludi\" /////////////////////////////////////////////// // _______________ Текущий день _______________________________________________ int Day() { int nDay = GetCalendarDay(); int nMes = 28*GetCalendarMonth(); int nYear = GetCalendarYear(); int iDay = 336*nYear+nMes+nDay; return iDay; } Сообщение отредактировал gennady - Jan 9 2013, 16:25 |
![]()
Сообщение
#3540
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Я так понял вышеприведенный скрипт после заданного промежутка времени чистит все контейнеры на локации, на которой запущен. Однако особенность дефолтных лутбэгов (в НВН1 по крайней мере) такова, что они не подпадают в определение всех имеющихся в распоряжении движка идентификаторов – данный скрипт их не очистит.
Недавно сам такое делал и проверял: носитель лутбэга монстра отвечает определению самого монстра (имеет тот же таг и статус «мертвого существа» - фактически его мертвое тело), но после смерти носителя его лутбэг никакому влиянию не поддается (для стандартных скриптов на существе типа «онхертбита» после его смерти оно перестает «херт-бит» буквально и «ондэф» - это последний эвент которым можно что-то сделать) и его невозможно ничем «подцепить» в скрипте так, чтоб навязать манипуляции с ним. Они не выполняются. Попросту говоря сей объект в игре далее доступен только для ПС – сам движок лутбэг никак не видит. Можно удалить мертвое тело по тагу, заставить его исчезнуть или даже перенести в «лимбо» (что приведет к утрате всяческого доступа к его лутбэгу), но на полу при подсветке по табу все еще можно будет наблюдать силуэт его никуда не девшегося лутбэга. Единственный способ избавиться от стандартного лутбэга – вынуть все содержимое ПС-персонажем вручную. Решается эта дилемма классически заменой дефолтного лутбэга искусственным, который спавнится в момент смерти существа (по триггеру «ондэф») и в который копируются все предметы из инвентаря умирающего существа; последние в свою очередь после копирования тут же удаляются, чтоб очистить инвентарь создающегося трупа и избежать создания дефолтного лутбэга. Далее вы можете скриптами управлять трупом существа и искусственным лутбэгом с его содержимым вполне нормально и как вам заблагорассудится. А так же настроить время автоматического исчезновения трупа через настройки НПС. |
![]()
Сообщение
#3541
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Попросту говоря сей объект в игре далее доступен только для ПС – сам движок лутбэг никак не видит. Можно удалить мертвое тело по тагу, заставить его исчезнуть или даже перенести в «лимбо» (что приведет к утрате всяческого доступа к его лутбэгу), но на полу при подсветке по табу все еще можно будет наблюдать силуэт его никуда не девшегося лутбэга. Единственный способ избавиться от стандартного лутбэга – вынуть все содержимое ПС-персонажем вручную. Неверно. Все стандартные лутбеги имеют тег "BodyBag", по нему можно получить доступ к объекту (видимому или нет), очистить от итемов и удалить, что и наблюдается в скрипте gennady. Единственное, лутбег ещё не создан на момент срабатывания OnDeath, поэтому его либо приходится искать с задержкой, либо запускать чистку с "внешних" событий. Сообщение отредактировал greye - Jan 10 2013, 09:56 |
![]()
Сообщение
#3542
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Ну, тогда все еще проще – можно поставить в локации блок на «онхеартбит» с заглушкой на выполнение скажем раз в игровые сутки, который попросту будет очищать все объекты с этим тагом на локации:..
Neverwinter Script void main()
{ object oArea = OBJECT_SELF; object oTarget = GetFirstObjectInArea(oArea); object oItem; if (GetTimeHour() == 0) { if (GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF))== 0) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 1); } else { return; } } else { if (GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF))== 1) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 0); } return; } while(GetIsObjectValid(oTarget)) { if (GetTag(oTarget) == "BodyBag") { oItem = GetFirstItemInInventory(oTarget); while(GetIsObjectValid(oItem)) { DestroyObject(oItem); oItem = GetNextItemInInventory(oTarget); } } oTarget = GetNextObjectInArea(oArea); } } Сообщение отредактировал Flaristan - Jan 10 2013, 10:50 |
![]()
Сообщение
#3543
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
При большой загрузке модуля локациями, больше 100+ и большим кол-вом мобов ии других штук зависает время. Что будет в этом случае?))) - ты используешь GetTimeHour() (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#3544
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Ну это вообще не проблема:
1) счетчик вообще можно поставить принципиально какой удобно; 2) зависающее время в модуле вроде чинят перематывая его искусственно, если оно заедает естественно. |
![]()
Сообщение
#3545
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
1.: gennady , при сохранении Вашего скрипта, указывает на какую-то неточность\ошибку в данной строчке:
int iFut = Day()+iD; И ещё, куда вставляется Ваш скрипт? 2.: А вот скрипт от Flaristan-прекрасно работает под НВН2, но!, уменьшить бы время задержки на исчезновения лута с локации, в его скрипте(Пока не могу дотумкать, как это сделать), а то сутки-это много, мне бы меньше минуты, то есть в секундах(Секунд: 30)... Предпологаю, что что-то связанное с DelayCommand 6.0f(Значение времени, выдернутое мною из скрипта на респавн мобов), но куда это вставить, что на что заменить?, и будет ли это правильно работать в скрипте от Flaristan? Заранее спасибо! Сообщение отредактировал Sugo77 - Jan 10 2013, 20:00 |
![]()
Сообщение
#3546
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Верхний блок скрипта:..
Neverwinter Script if (GetTimeHour() == 0) { if (GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF))== 0) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 1); } else { return; } } else { if (GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF))== 1) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 0); } return; } Если его заменить на такой блок:.. Neverwinter Script int iCount = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF)); …он каждые 6 секунд «онхеартбита» будет считать переменную присваиваемую его локации с ее же мименем – как только досчитает до 5 (5 «онхеартбитов» по 6 секунд = 30 секунд) сбросит счет в «0» и выполнит дальнейший скрипт.if (iCount==5) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 0); } else { iCount++; SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), iCount); return; } Можно через «DelayCommand» тоже, но мне показалось так проще и надежней. Сообщение отредактировал Flaristan - Jan 11 2013, 04:21 |
![]()
Сообщение
#3547
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Спасибо за помощь!
То что надо!, и всё работает! Ещё бы с замками разобраться(В НВН2), ранее уже спрашивал: Можно ли вообще, в принципе, сделать так, чтобы дверь снова закрыть на тот же ключ, которым открывал, любому классу, без соответствующих скиллов? Может, через какой-то скрипт? Так как облазил весь тулсет, не дотумкал, как это сделать обычным способом, получается только открывание замка, и дверь уже потом постоянно открыта-входи любой, а хотелось бы получить возможность, и снова закрыть эту же самую дверь, на этот же самый ключ... Сообщение отредактировал Sugo77 - Jan 11 2013, 08:23 |
![]()
Сообщение
#3548
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Чистка локации от предметов
Тут что-то глючат коды NNS. Кому нужно смотрим здесь: http://remmgen.narod.ru/tmodul.html |
![]()
Сообщение
#3549
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Могу лишь предложить сделать на ключи «уникальную силу предмета» которая по юзу на дверь будет проверять ее ли это ключ, и если да – то закрывать ее на замок.
Если нужно просто чтоб двери через какое-то время закрывались и запирались – можно сделать соответствующий скрипт с задержкой на «онопен» и раздать его нужным дверям. P.S.: И да - если уж отсылать то тогда еще мои две любимые ссылки на ресурсы которые помогли мне достигнуть того уровня скриптинга который сейчас имею: - скрипт-генератор Лилака; - Лексикон. Сообщение отредактировал Flaristan - Jan 11 2013, 10:08 |
![]()
Сообщение
#3550
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
gennady, а вот скрипт с Вашего сайта-сработал!
Но там он в днях, а у меня трейниг модуль для спелл кастеров, где мобы с 10-100 ХП, убиваются за секунды, и спавняться, через 6 секунд, поэтому скрипт от Flaristan, мне более подходит! А вообще, обоим участникам большое спасибо за помощь, и отзывчивость! Сообщение отредактировал Sugo77 - Jan 11 2013, 14:18 |
![]() ![]() |
Текстовая версия | Сейчас: 27th April 2025 - 23:05 |