![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3011
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Teranozavr_REX @ Mar 2 2007, 15:12) [snapback]105236[/snapback] исправллюсь не знал спасибо чет я не заметил исправлений. Так и пишешь без тэгов, а за это у нас вообще преды дают (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3012
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
еще раз извеняюсь волновался сильно...
все у меня прекрасно заработало...( проблема была в том что рефр сыока не сопадала с тегом НПС) возник следующий вопрос... как построить логику таким образом... что бы с заходом первого(и именно первогоа не каждого (IMG:style_emoticons/kolobok_light/sad.gif) ) плеера в локу (наступанию на тригер) НПС создавались а с выходом последнего игрока уничтожались... одним словом есть какая то функция котороя бы проверяла есть игроки на в локе или этот уже последний |
![]()
Сообщение
#3013
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
QUOTE(Teranozavr_REX @ Mar 6 2007, 16:47) [snapback]105468[/snapback] одним словом есть какая то функция котороя бы проверяла есть игроки на в локе или этот уже последний Скрипт под мультиплеер? Вообще вам на системы спавна смотреть. |
![]()
Сообщение
#3014
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
мне не совсем систему спама мне надо привязаться к определенной локации
где на нее спотреть)) на эту систему... |
![]()
Сообщение
#3015
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Teranozavr_REX @ Mar 6 2007, 16:47) [snapback]105468[/snapback] одним словом есть какая то функция котороя бы проверяла есть игроки на в локе или этот уже последний функции нет. Это можно организовать скриптами, методов много. Пусть лучше шардовики расскажут, тут еще момент оптимальности и ресурсоемкости присутствует. |
![]()
Сообщение
#3016
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
почитал много тоже понял что фунции нет такой...(((
и нужногоответа не нашел... Раскажите пожалусто всетаки ктото как это организовать... без записей в базу чего либо... и с учетом того что чар в локацию может зайти через двери а может просто засейвиться втой локации надо что бы при входе первого стража респилась и при выходе последнего из локации уничтожалась |
![]()
Сообщение
#3017
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Писать систему. Шардовики тут и правда лучше подскажут, но с потолка:
1)Циклом проверять наличие игроков в локе, как только он игроков не найдет - отключается сам и отключает спавн моба, убивает его, или что там нада. При входе игрока в локацию все это активируется снова. 2) Мож как-нить считать и запоминать игроков в локе? Типа, зашел в локу - плюс 1, вышел - минус 1, как тока станет ноль отключать спавн моба. |
![]()
Сообщение
#3018
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(-fenix- @ Mar 6 2007, 19:15) [snapback]105480[/snapback] 2) Мож как-нить считать и запоминать игроков в локе? Типа, зашел в локу - плюс 1, вышел - минус 1, как тока станет ноль отключать спавн моба. самый лучший вариант, если только нет косяков с дисконектом. Возможно при этом не срабатывает onExit локации. |
![]()
Сообщение
#3019
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
мне второй вариант больше нравиться ибо первый на харбит вешатьприйдеться насколько я понимаю...
реально остаеться актуальным вопрос onExit и onEnter среагируют если чар в локацию попадает путем входа выхода... по реализации вопрос... из моих смутных пониманий мне надо на какойто плейс в этой локе записатьпеременную??? как это в деталях сделать мона ??? |
![]()
Сообщение
#3020
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
При обычном входе/выходе из локи это все работает, а вот как на счет входа/выходы их игры - хз. Точнее, onEnter срабатывает при заходе, а вот срабатывает ли onExit при выходе - ХЗ. Если не получица, то есть шанс с OnClientLeave, тока опять хз, срабатывает он в мультиплеере (как я понял у тебя мультиплеерный мод), а если срабатывает, то возможна ли на нем определить локацию игрока. Тут пробывать нада.
Да, тут локалка нужна для подведения подсчета в ней, вешай ее на текущую область: NSS // плюс один
SetLocalInt(GetArea(OBJECT_SELF), "LOCALKA", GetLocalInt(GetArea(OBJECT_SELF), "LOCALKA") + 1); // минус один SetLocalInt(GetArea(OBJECT_SELF), "LOCALKA", GetLocalInt(GetArea(OBJECT_SELF), "LOCALKA") - 1); Сообщение отредактировал -fenix- - Mar 7 2007, 12:23 |
![]()
Сообщение
#3021
|
|
Level 5 ![]() ![]() Класс: Разведчик Арфистов Характер: Chaotic Good Раса: Эльф ![]() |
У меня вопрос. Самый простейший скрипт и не получается! (IMG:style_emoticons/kolobok_light/sad.gif)
Когда ПС появляется в области триггера, над ним появляется выплывающий текст. Я делаю триггер, в слоте Оn_Еnter делаю такой скрипт NSS void main() { if (GetLocalInt(OBJECT_SELF,"ENTERED")!=1)return; object oPC=GetEnteringObject(); if (!GetIsPC((oPC))) return; else { AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC,ActionSpeakString("собсно мой текст")); SetLocalInt(OBJECT_SELF,"ENTERED",1); } } Вроде все правильно тем не менее ничего не выходит, в чем моя ошибка? Сообщение отредактировал Arilyn Moonblade - Mar 7 2007, 12:52 |
![]()
Сообщение
#3022
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
угу вродебы понял пасибо... буду пробовать...
|
![]()
Сообщение
#3023
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Arilyn Moonblade, хех, 3 строчка: if (GetLocalInt(OBJECT_SELF,"ENTERED")!=1)return; Из-за нее скрипт ни когда не выполнется, так как в начале переменная действительна не равна 1 (да же если такой переменной еще и нету). Ну и соответственно строчка SetLocalInt(OBJECT_SELF,"ENTERED",1); не выполница, и скрипт так и не сдвинется с мертвой точки.
|
![]()
Сообщение
#3024
|
|
Level 5 ![]() ![]() Класс: Разведчик Арфистов Характер: Chaotic Good Раса: Эльф ![]() |
Усе понял! (IMG:style_emoticons/kolobok_light/slow.gif)
|
![]()
Сообщение
#3025
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
(IMG:style_emoticons/kolobok_light/sad.gif) так пока про спам никто презнаваться нихочет... немного отложим то чтоестьрасмотрим другую структуру.
есть два тригера на onEnter первогостоит NSS void main() { object oTrig1=GetObjectByTag("Perd_Deru"); object oTrig2=GetObjectByTag("Za_Deru"); object oSt=GetObjectByTag("Strag"); object oSh=GetObjectByTag("Shaman"); if (GetLocalInt(oTrig2, "TriggerState")) { DestroyObject(oSt,0.0); DestroyObject(oSh,0.0); DestroyObject(oSt,0.0); SetLocalInt(oTrig2, "TriggerState",0); } else { SetLocalInt(oTrig1, "TriggerState",1); } } на onEnter второго NSS void main() { object oTrig1=GetObjectByTag("Perd"); object oTrig2=GetObjectByTag("Za"); location lStart_1=GetLocation(GetObjectByTag("WP_1")); location lStart_2=GetLocation(GetObjectByTag("WP_2")); location lStart_3=GetLocation(GetObjectByTag("WP_3")); if (GetLocalInt(oTrig1, "TriggerState")) { CreateObject(OBJECT_TYPE_CREATURE,"VoinH",lStart_1,FALSE,"Strag"); CreateObject(OBJECT_TYPE_CREATURE,"ShamanH",lStart_2,FALSE,"Shaman"); CreateObject(OBJECT_TYPE_CREATURE,"VoinH",lStart_3,FALSE,"Strag"); SetLocalInt(oTrig1, "TriggerState",0); } else { SetLocalInt(oTrig2, "TriggerState",1); } } не работает... что должно делать: два тригера один перед дверями второй за при входе в комнату происходит респ при выходе убираються путем ряда тестов пришел к выводу что скорее всего ошибка в NSS if (!GetLocalInt(oTrig1, "TriggerState")) может я чтото не допонимаю в переменных или в условных операторах еще раз просветите Сообщение отредактировал Teranozavr_REX - Mar 7 2007, 16:42 |
![]()
Сообщение
#3026
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
корявая организация: лишние переменные, в которых ты путаешься + сама структура перекручена, самому неудобно ее отслеживать.
+ у тебя в скриптах триггеры берутся по разным тэгам: Perd и Perd_Deru например. |
![]()
Сообщение
#3027
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
*стёрто* пришла нянька ты кнула носом, ошибка в имени тега все заработало))
всем пасибо извените... после прадников продолжем Сообщение отредактировал Teranozavr_REX - Mar 7 2007, 17:48 |
![]()
Сообщение
#3028
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ну что могу сказать. Отдебаж.
Введи в разных местах NSS SendMessageToPC(GetFirstPC(),"TriggerState="+IntToString(GetLocalInt(oTrig1, "TriggerState"))); узнаешь, где косяк. Или не присваивается, или условие глючит. |
![]()
Сообщение
#3029
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
Это на заметку возьму пасибо
не все еще заработало )) и дебаг веселые вещи показывает пока помучаюсь если не получиться я вернусь)) Сообщение отредактировал Teranozavr_REX - Mar 7 2007, 18:08 |
![]()
Сообщение
#3030
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
все косяки исправил ( вчасносте в определении тригера была рефр сылка а не тег и не работало (IMG:style_emoticons/kolobok_light/sad.gif) )
возникла новая проблема... мне надо проверить есть ли у того кто наступил на тригер некий итем. как сделатьпроверку я знаю вродебы воврос в том как определить\обьявить обект что то типа "тот кто наступил на тригер" |
![]()
Сообщение
#3031
|
|
Level 5 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [Sn] ![]() |
QUOTE(Teranozavr_REX @ Mar 15 2007, 17:38) [snapback]105767[/snapback] воврос в том как определить\обьявить обект что то типа "тот кто наступил на тригер" NSS // The value returned by this function depends on the object type of the caller: // 1) If the caller is a door it returns the object that last // triggered it. // 2) If the caller is a trigger, area of effect, module, area or encounter it // returns the object that last entered it. // * Return value on error: OBJECT_INVALID // When used for doors, this should only be called from the OnAreaTransitionClick // event. Otherwise, it should only be called in OnEnter scripts. object GetEnteringObject() ps: используется на onEnter триггера) |
![]()
Сообщение
#3032
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
пааасибо помогло все прикрасно работает ...
теперь последний так сказать штрих НПС что респиться по событию тригера... должен ити по некоему моршруту... я его проложил точками маршрута... так вот... 1) если просто проложить маршрут точками, то дойдя до конца маршрута НПС, возвращайеться назад, а надо что бы останавливался, это как то можно??? 2) как скриптом заставить НПС ити к поинту ??? 3) возможно ли сделатьчтото типа так: НПС идет к поинту когда доходит уничтожаеться...( как уничтожатьуже нашел... там помойму задержка естьесли я не ошибаюсь до уничтожения если мона пользоваться ею то насколько она будет подтормаживать сервер...) Сообщение отредактировал Teranozavr_REX - Mar 15 2007, 18:35 |
![]()
Сообщение
#3033
|
|
Level 7 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Начало Войны ![]() |
QUOTE(Teranozavr_REX @ Mar 15 2007, 18:32) [snapback]105785[/snapback] 2) как скриптом заставить НПС ити к поинту ??? NSS AssignCommand(oNPC,ActionMoveToObject(GetWayPointByTag("tag")));
|
![]()
Сообщение
#3034
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
пасибо помогло только там GetWaypointByTag если вдруг кто то еще решит воспользоваться))
как повернуть НПС так что бы он смотрел в заданом направлении?? |
![]()
Сообщение
#3035
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
SetFacing(...)
SetFacingPoint(...) лексикон бы скачал и не парился |
![]() ![]() |
Текстовая версия | Сейчас: 27th July 2025 - 23:44 |