Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 7 8 9 10 11 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
balrog
сообщение Oct 27 2004, 18:26
Сообщение #186


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



Шоб закрывались (через 10 секунд)
Neverwinter Script Source
//onOpen
void main()
{
DelayCommand(10.0, AssignCommand(OBJECT_SELF,ActionCloseDoor(OBJECT_SELF)));

}


А тут шоб захлопывались (тоже через 10 секунд)
Neverwinter Script Source
//onOpen
void main()
{
DelayCommand(10.0, AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF)));
DelayCommand(10.0, AssignCommand(OBJECT_SELF, ActionLockObject(OBJECT_SELF)));
}


УЖЕ ДАЛИ ПОКА РЫЛСЯ +)))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Oct 27 2004, 19:13
Сообщение #187


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



balrog
AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF)) - бесполезная команда. Типа "масло масленное". Самому себе приказывать что-то сделать... Достаточно:
ActionCloseDoor(OBJECT_SELF);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Oct 27 2004, 20:29
Сообщение #188


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



QUOTE
AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF)) - бесполезная команда. Типа "масло масленное". Самому себе приказывать что-то сделать... Достаточно:
ActionCloseDoor(OBJECT_SELF);

Ну конешо работает, но если говолишь шо ето лишнее =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 27 2004, 21:09
Сообщение #189


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



DBColl кстати, насчет такой команды
Neverwinter Script Source
AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF))

Раз пошел такой разговор. Я замахался с дверьми в модуле. И они закрываются в скриптах только почму-то при такой команде если пытаться на очередь другого абъекта ставить ActionCloseDoor то НИЧЕГО не происходит. Можешь списать на мою профнепригодность, скрипты не моя стихия. Но факт. Только так можно в очередь поставить. Может глюк? Я кучу сцен делал и с Вильтоном и другие, если юзать открыть дверь то тика так выходит. Ставишь в стек предмету кучу акций и открытие двери ставишь только AssignCommand для самой двери открыть себя. Если скажешь что я не прав. :D Проверь в модуле.
Добавлено в [mergetime]1098900714[/mergetime]
QUOTE (balrog @ Oct 27 2004, 23:29)
Ну конешо работает, но если говолишь шо ето лишнее =)

AssignCommand нужна для раздачи комманд не OBJECT_SELF-ам. ... Вот я загнул. :lol:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Oct 27 2004, 22:08
Сообщение #190


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



QUOTE
AssignCommand нужна для раздачи комманд не OBJECT_SELF-ам. ... Вот я загнул. 

Тык я так понял, шо к мэня правэльно? Или я неправильно понял =) ... вот и я загнул =) :lol:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 27 2004, 23:05
Сообщение #191


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (balrog @ Oct 28 2004, 01:08)
Тык я так понял, шо к мэня правэльно? Или я неправильно понял =) ... вот и я загнул =)

Если скрипт стоит на ОБЪЕКТЕ которому педназначена команда (а попросту OBJECT_SELF)то нет. Если на чем то другом но не на нем то да. А так как ты юзаешь OBJECT_SELF что означает как сам себя :) То не правильно. :ROFL: Вот теперь сиди и думай... :lol: :lol: :pilot:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
fali
сообщение Oct 28 2004, 01:46
Сообщение #192


Level 3
*

Класс: Бард
Характер: Chaotic Good
Раса: Полуэльф



Пасиб всем большой за помощь. :)
Утащила самый первый скрипт, остальное просто взяла на заметку. :)

2Aiwan:
>Кстати, ты чем занята? :D
Всем по немножку. =)
>Могу тебе порекомендовать подключиться к РПГ клубу. Им бы не помешал работающий человек а тебе видеть свои труды в действии.
Для начала хотелось бы узнать, что это за клуб такой. :)
А вообще, я всегда рада помочь хорошим людям... :) Особенно, если это не очень трудно. =)
>Поверь дядюшке Айвану
Верю. :) *старательно вспоминает, кто же еще говорил о том же самом и практически такими же словами... =)*

2Всем:
А вообще, мне понравилось тут вопросы задавать, поэтому я еще спрошу. :)

Вопрос:
Опять же, видела на каком-то шарде комнаты в здании, в которых можно отдыхать (в самом здании, вне комнат, нельзя). Насколько трудно это сделать? Если не очень трудно, объясните, пожалуйста, как это делается. :) Если же достаточно трудно, то ладно -- можно и просто оставить разрешение отдыха во всём здании. =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Baal
сообщение Oct 28 2004, 02:57
Сообщение #193


Вечно исчезающий
Иконки Групп

Класс: Маг
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (fali @ Oct 27 2004, 22:46)
Опять же, видела на каком-то шарде комнаты в здании, в которых можно отдыхать (в самом здании, вне комнат, нельзя). Насколько трудно это сделать? Если не очень трудно, объясните, пожалуйста, как это делается. :) Если же достаточно трудно, то ладно -- можно и просто оставить разрешение отдыха во всём здании. =)

Я конечно не знаю, как это было реализованно на шарде, но могу предложить такую схему:

1. рисуем тригер и растягиваем его во всю комнату, где можно будет отдыхать.
на OnEnter тригера вешаем скрипт:
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
SetLocalInt(oPC, "REST_ALLOWED", 1);
}

на OnExit:
Neverwinter Script Source
void main()
{
object oPC = GetExitingObject();
if (!GetIsPC(oPC)) return;
SetLocalInt(oPC, "REST_ALLOWED", 0);
}

идем в скрипт на OnPlayerRest и в самом начале скрипта добавляем проверку:
Neverwinter Script Source
object oPC = GetLastPCRested();
if(GetLocalInt(oPC, "REST_ALLOWED") !=1) AssignCommand(oPC, ClearAllActions());

теперь игрок сможет отдыхать только если он находиться внутри специального тригера ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Twin
сообщение Oct 28 2004, 03:27
Сообщение #194


Level 5
**

Класс: Некромант
Характер: Neutral Evil
Раса: Нежить
NWN: Скриптинг [PW]



О, Баал гораздо проще написал, чем додумался я... Но я всё же напишу свой вариант. :) И по-моему это тебя не для топика "Вопросы от самых маленьких", а для "Скриптов". :)
Сделал через векторы. В данном случае ставятся 4 вейпоинта, которые представляют собой углы прямоугольника в котором _можно_ отдыхать... За приделами этого прямоугольника, персонажу отдохнуть не удастся.

Neverwinter Script Source
int VectorInRect(vector vPC, vector vRectNW, vector vRectNE, vector vRectSE, vector vRectSW);

void main()
{
    if ( GetLastRestEventType() != REST_EVENTTYPE_REST_STARTED ) return;

    vector vPC = GetPosition(OBJECT_SELF);

    object oPointNW = GetObjectByTag("WP_REST_001NW");
    object oPointNE = GetObjectByTag("WP_REST_001NE");
    object oPointSE = GetObjectByTag("WP_REST_001SE");
    object oPointSW = GetObjectByTag("WP_REST_001SW");

    vector vRestNW = GetPositionFromLocation(GetLocation(oPointNW));
    vector vRestNE = GetPositionFromLocation(GetLocation(oPointNE));
    vector vRestSE = GetPositionFromLocation(GetLocation(oPointSE));
    vector vRestSW = GetPositionFromLocation(GetLocation(oPointSW));

    if ( VectorInRect(vPC, vRestNW, vRestNE, vRestSE, vRestSW) == 1 ) {
        SendMessageToPC(OBJECT_SELF, "Вы присели отдохнуть.");
    }
    else {
        SendMessageToPC(OBJECT_SELF, "Вам следует поискать получше место длЯ отдыха!");
        ClearAllActions();
    }
}

int VectorInRect(vector vPC, vector vRectNW, vector vRectNE, vector vRectSE, vector vRectSW)
{
    //SendMessageToPC(OBJECT_SELF, "vPC ("+ FloatToString(vPC.x, 6, 2) +":"+ FloatToString(vPC.y, 6, 2) +":"+ FloatToString(vPC.z, 6, 2) +")");

    //SendMessageToPC(OBJECT_SELF, "vRectNW ("+ FloatToString(vRectNW.x, 6, 2) +":"+ FloatToString(vRectNW.y, 6, 2) +":"+ FloatToString(vRectNW.z, 6, 2) +")");
    //SendMessageToPC(OBJECT_SELF, "vRectNE ("+ FloatToString(vRectNE.x, 6, 2) +":"+ FloatToString(vRectNE.y, 6, 2) +":"+ FloatToString(vRectNE.z, 6, 2) +")");
    //SendMessageToPC(OBJECT_SELF, "vRectSE ("+ FloatToString(vRectSE.x, 6, 2) +":"+ FloatToString(vRectSE.y, 6, 2) +":"+ FloatToString(vRectSE.z, 6, 2) +")");
    //SendMessageToPC(OBJECT_SELF, "vRectSW ("+ FloatToString(vRectSW.x, 6, 2) +":"+ FloatToString(vRectSW.y, 6, 2) +":"+ FloatToString(vRectSW.z, 6, 2) +")");

    if ( vPC.x < vRectNW.x || vPC.y > vRectNW.y ) return 0;
    if ( vPC.x > vRectNE.x || vPC.y > vRectNE.y ) return 0;
    if ( vPC.x > vRectSE.x || vPC.y < vRectSE.y ) return 0;
    if ( vPC.x < vRectSW.x || vPC.y < vRectSW.y ) return 0;

    return 1;
}


WP_REST_001NW - Самый северо-западный вейпоинт на карте.
WP_REST_001NE - Самый северо-восточный вейпоинт на карте.
WP_REST_001SE - Самый юго-западный вейпоинт на карте.
WP_REST_001SW - Самый юго-восточный вейпоинт на карте.

Запускается скрипт из OnPlayerRest через ExecuteScript("название", oPC);

P.S. Вариант Баала намного проще в реализации.
P.P.S. Векторами я никогда до этого не пользовался и ничего о них не знаю.

Пользуясь случаем, хочу передать fali (она же Птаха) большой привет! ;) :rolleyes: :yahoo:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
fali
сообщение Oct 28 2004, 04:12
Сообщение #195


Level 3
*

Класс: Бард
Характер: Chaotic Good
Раса: Полуэльф



Пасиб. =)
И за помощь и за привет. =)

Между прочим, на том шарде это было как-то завязано на дверь, по-моему. :) Если закрыта -- отдыхать можно, если открыта -- нельзя. Вот только не знаю, будет ли это проще, чем в варианте Baal'а или сложнее. :)

2Baal:
Я чучуть позже проверю. :) Поэтому, может быть, потом еще что-нибудь спрошу... =)
А пока... Меня вот это насторожило: теперь игрок сможет отдыхать только если он находиться внутри специального тригера. Имеется в виду, что игроки вообще нигде в модуле больше не смогут отдыхать? :) Или только в локации этого здания? :) И если просто изменить последний скрип, он ведь везде измениться, да? Может тогда лучше сделать его изменённую копию и назвать по другому... Тем более, что я не очень поняла, что именно это изменение делает. :)

2Twin:
>И по-моему это тебя не для топика "Вопросы от самых маленьких", а для "Скриптов".
Может быть. =) Только там такие серъёзные скрипты обсуждают... Мои вопросы как-то уж очень маленькими после них кажутся. :) К тому же, я не была уверена, что для моих вопросов нужны именно скрипты. :) А вдруг там какой-нибудь галочкой можно было обойтись? Или готовым, игровым, скриптом. :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Baal
сообщение Oct 28 2004, 09:24
Сообщение #196


Вечно исчезающий
Иконки Групп

Класс: Маг
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (fali @ Oct 28 2004, 01:12)
Между прочим, на том шарде это было как-то завязано на дверь, по-моему. :) Если закрыта -- отдыхать можно, если открыта -- нельзя. 

Может и на дверь было завязано, если конечно скриптеры хотели сильно усложнить себе задачу. :crazy:
Конечно можно определить с какой стороны двери игрок находиться, но нужно еще определять с какой стороны находиться комната. :D

QUOTE (fali @ Oct 28 2004, 01:12)
Имеется в виду, что игроки вообще нигде в модуле больше не смогут отдыхать? :) Или только в локации этого здания? :)

Да игрок вобще теперь не сможет нигде отдыхать, если он не зашел на тригер мотдыха.
QUOTE (fali @ Oct 28 2004, 01:12)
И если просто изменить последний скрип, он ведь везде измениться, да? Может тогда лучше сделать его изменённую копию и назвать по другому...

Даже если его ставить с тем же именем, ничего страшного не произойдет, но лучше его всетаки обозвать подругому ;)

Вобщем если тебе надо, чтобы отдых работал в других местах как обычно, то можешь в локации, где оттдых разрешен поставить вэйпоинт с тэгом WP_REST например
и вместо
Neverwinter Script Source
object oPC = GetLastPCRested();
if(GetLocalInt(oPC, "REST_ALLOWED") !=1) AssignCommand(oPC, ClearAllActions());

поставить новую проверку:
Neverwinter Script Source
object oPC = GetLastPCRested();
object oWPRest = GetNearestObjectByTag("WP_REST", oPC);
if(GetLocalInt(oPC, "REST_ALLOWED") !=1 || !GetIsObjectValid(oWPRest)) AssignCommand(oPC, ClearAllActions());


Теперь, если на карте поставить WP_REST, то оттых будет разрешен
Если вэйпоинта нет, то отдых будет разрешен только внутри тригера.

Или тебе подругому надо было? :crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ketcalkoatl
сообщение Oct 28 2004, 09:33
Сообщение #197


Level 6
**

Класс: Монах
Характер: Neutral Evil
Раса: Человек
NWN: Тексты



off top - sorry

Fali, are you girl or boy? Of corse on real life.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 28 2004, 09:34
Сообщение #198


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (fali @ Oct 28 2004, 04:46)
Для начала хотелось бы узнать, что это за клуб такой. :)
А вообще, я всегда рада помочь хорошим людям... :) Особенно, если это не очень трудно. =)

КЛУБ РОЛЕВОЙ ИГРЫ

Если коротко, то в нем игроки и ДМы делают не шард-мир для того что бы в нем играть и жить много времени. А небольшой модуль для узкого количества людей под конкретный квест. Это дает 100% отыгрыш и очень часто позволяет менять модули и делать их несложными и небольшими. Для такого подмастерье как ты это просто клад :yes:

QUOTE (fali @ Oct 28 2004, 04:46)
Если не очень трудно, объясните, пожалуйста, как это делается. :) Если же достаточно трудно, то ладно -- можно и просто оставить разрешение отдыха во всём здании. =)

Два предыдущих ответа были исчерпывающие и очень подробны. :D И боюсь поставили тебя в тупик. Самое главное, ты наверное знаешь что в своествах локации где ТЕГ есть галочка: No Rest. Активируешь ее и отдыхать будет низя :vava:
QUOTE (Baal @ Oct 28 2004, 05:57)
теперь игрок сможет отдыхать только если он находиться внутри специального тригера

...если отдых в локации разрешен ;)

QUOTE (fali @ Oct 28 2004, 07:12)
Между прочим, на том шарде это было как-то завязано на дверь, по-моему. :) Если закрыта -- отдыхать можно, если открыта -- нельзя. Вот только не знаю, будет ли это проще, чем в варианте Baal'а или сложнее. :)

Вариант Баал интересней и лучше. ИМХО. :buba: Дверь всеравно надо ловить и проверять с какой стороны игрок, может он снаружи сстоит, а это однозначно триггер. Можно и векторами, но это мегагеммор %)

И кстати. Если ты кликнешь на мой ник над аватором, то он скопируется вниз. Если выделишь текст и нажмешь Q-Quote то он скопируется прямо вниз для цитаты. А весь пост цитировать кнопка рядом слева от нее. Надеюсь так удобнее будет тебе отвечать :yes:

Кстати, ты скачала мой туториал по Авроре? Для таких как ты писал ;)

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
fali
сообщение Oct 28 2004, 09:44
Сообщение #199


Level 3
*

Класс: Бард
Характер: Chaotic Good
Раса: Полуэльф



2Baal:
>Или тебе подругому надо было?
По другому. %)

Проще всего объяснить на примере. :)
Есть шард. Есть здание, которое может присоединится к шарду. В здании есть комнаты отдыха. =) Логичнее всего было бы, если бы в здании можно было отдыхать только в положенных для этого местах. :) Впрочем, так как я почти ничего не поняла в описанных выше скриптах, могу заключить, что на данный момент это для меня достаточно трудно. :) А потому лучше просто разрешить отдых на всей локации здания. :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 28 2004, 09:49
Сообщение #200


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (fali @ Oct 28 2004, 12:44)
что на данный момент это для меня достаточно трудно. :) А потому лучше просто разрешить отдых на всей локации здания. :)

Это ОЧЕНЬ просто. :yes:
Добавлено в [mergetime]1098946222[/mergetime]
Спрашивай что не ясно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
fali
сообщение Oct 28 2004, 10:24
Сообщение #201


Level 3
*

Класс: Бард
Характер: Chaotic Good
Раса: Полуэльф



Кхм.. Отвечала без предпросмотра и упустила добавленные позже сообщения. =)

2Ketcalkoatl:
>Fali, are you girl or boy? Of corse on real life.
I'm girl. =)
Вот только по английски не говорю. :) А потому второе предложение не поняла... :)
Авто-переводчик же выдал -- "Из трупа на действительности." :) Что это может значить в оригинале, я так и не догадалась. =)

Айван: переводится как "Конечно в реальной жизни" или около того :lol:

2Aiwan:
>КЛУБ РОЛЕВОЙ ИГРЫ
Я уже успела найти клуб в форуме, так что примерно представляю уже, что к чему. :)
Мне понравилось, хотя я ещё не пробовала на шардах учавствовать в квестах. :) Хотя, пожалуй, очень хотела бы попробовать. =) Правда, значащееся там время мне совсем не подходит, а потому, пока что вряд ли получится. :) Но помочь буду рада, если действительно что-то не сложное.

>Для такого подмастерье как ты это просто клад
*засмущалась, но очень довольна =)*

>И боюсь поставили тебя в тупик.
:)) Это точно. =) Впрочем, я хотела лишь узнать, сложно это или нет. :) Если нет, хорошо -- значит можно сделать... Если сложно, то в общем-то не очень и нужно. =) Хотя узнать как такое делается всё равно будет очень полезно. :) Может потом понятнее будет. :)

> ... Надеюсь так удобнее будет тебе отвечать.
Я знаю об этих возможностях. :)
Просто пишу сейчас так, как показалось мне удобнее и привычнее. :)

>Кстати, ты скачала мой туториал по Авроре? Для таких как ты писал
:)) Скачала. =) Причем, это было первое, что я сделала попав на этот форум. =)
Правда, винюсь, не весь прочитала. :) Читать, не пробуя паралельно, показалось не очень удобным. А пробовать скрипты или фракции, к примеру, у меня просто не возникло тогда желания. :) Сейчас вот думаю, что надо бы перечитать, заодно с другим туториалом. :)

>Спрашивай что не ясно.
Мне ничего не ясно! =)
Впрочем, шучу. :) Что нужно сделать, примерно понятно... Не понятно, какая часть скрипта за что отвечает. :) К тому же, пока что это не то, что мне нужно, а потому ставить не буду. =) И, опять же винюсь, ставить скрипт просто, чтобы попробовать, мне сейчас лень. :) Хотя к себе опять-таки утащила. =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Oct 28 2004, 12:12
Сообщение #202


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (Aiwan @ Oct 27 2004, 21:09)
Раз пошел такой разговор. Я замахался с дверьми в модуле. И они закрываются в скриптах только почму-то при такой команде если пытаться на очередь другого абъекта ставить ActionCloseDoor то НИЧЕГО не происходит.

Конечно не произойдет!!! Потому что очередь будет прервана при атаке двери. Потому если делать через:
DelayCommand(14.9, ClearAllActions());
DelayCommand(15.0, ActionCloseDoor(OBJECT_SELF));
то все будет в ажуре ;). DelayCommand не является акцией, потому и не будет сбоить и прерываться. ;)

Насчет, систем отдыха, то система Баала проще и круче ;). :buba:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Goblin
сообщение Oct 28 2004, 12:34
Сообщение #203


Level 3
*

Класс: Вор
Характер: Chaotic Neutral
Раса: Гоблин



Возможен ли рест сидя в кресле, а не на полу ? Т.е. на onUse кресла поставить скрипт реста ? -- надеюсь я не сморозил глупости, только только в скрипах разбираюсь - для локи на одном шарде нада =)))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raven
сообщение Oct 28 2004, 12:44
Сообщение #204


Level 8
***

Класс: Фея
Характер: Chaotic Evil
Раса: Фея



Видел скрипт реста в палатке, но он и в палатке сидел так как на земле, думаю, для этого нада анимацию переделывать
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Oct 28 2004, 13:58
Сообщение #205


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



QUOTE
Видел скрипт реста в палатке, но он и в палатке сидел так как на земле, думаю, для этого нада анимацию переделывать

Уху, действие Рэст уже анимировано. Я помнится тоже хотел, шоб на кроватях лёжа отдыхал =) ...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raven
сообщение Oct 28 2004, 14:33
Сообщение #206


Level 8
***

Класс: Фея
Характер: Chaotic Evil
Раса: Фея



А моя розовая мечта - чтобы в таверне, сидя на стуле, можно было выпить вина, а не вставать для этого :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Twin
сообщение Oct 28 2004, 14:41
Сообщение #207


Level 5
**

Класс: Некромант
Характер: Neutral Evil
Раса: Нежить
NWN: Скриптинг [PW]



Позволю себе предложить ещё один вариант ограничения отдыха вне определенной области (специальных комнат гостиницы, например). Делается всё практически так же как предложил Баал - через тригеры. Вариант доработан и готов к использованию.

Вам нужно нарисовать на земле тригер типа Generic охватив им всю область, где вы хотите разрешить отдых и дать эму тэг TRG_SPECIALREST. Для каждой комнаты, если их будет несколько, рисуйте свой тригер с тем же названием.
Далее в свойствах арии, где находится этот триггер нужно добавить int SPECIAL_REST со значением 1, иначе скрипт не будет работать в этой арии.
Теперь нужно создать новый скрипт и вписать туда следующее:
Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Created By: Twin
//:: Communication:
//::  E-mail: twin_quad@hotmail.com
//::  IRC: Twin@irc.rinet.ru:6669
//::
//:: Created On: 2004.10.28
//:://////////////////////////////////////////////

void main()
{
    if ( GetLastRestEventType() != REST_EVENTTYPE_REST_STARTED ) return;

    int nSpecialRest = 0;
    int nCanRest = !GetLocalInt(GetArea(OBJECT_SELF), "SPECIAL_REST");

    object oTriggers = GetFirstObjectInArea(GetArea(OBJECT_SELF));

    while ( GetIsObjectValid(oTriggers) ) {
        if (
            GetObjectType(oTriggers) == OBJECT_TYPE_TRIGGER &&
            GetTag(oTriggers) == "TRG_SPECIALREST"
        ) {
            nSpecialRest = 1;

            if ( GetIsInSubArea(OBJECT_SELF, oTriggers) ) {
                nCanRest = 1;
                break;
            }
        }

        oTriggers = GetNextObjectInArea(GetArea(OBJECT_SELF));
    }

    if ( nSpecialRest && !nCanRest ) {
        SendMessageToPC(OBJECT_SELF, "Найдите место получше длЯ отдыха!");
        ClearAllActions();
    }
    else {
        SendMessageToPC(OBJECT_SELF, "Вы присели отдохнуть.");
    }
}

Сохранить это, например, под названием "tw_specialrest" и в свойствах модуля в скрипте OnPlayerRest (стандартном варианте этого скрипта) добавить ExecuteScript("tw_specialrest", oPC);

Вот и всё. Главное отличие от варианта Баала - отсутствие каких-либо переменных на персонажах. И реализация очень эстетичная, имхо. :D

Здесь можно скачать архив с демонстрационным модулем: ссылка. Написан под 1.64 XP12.

P.S. Ох и долго я искал GetIsInSubArea и в лексиконе и в Авроре... ;)
P.P.S. Птаха, если нужно с дверьми, то это в аськи скажи, сделаю и на мыло тебе кину. :yes: И второе предложение переводилось как "Конечно в реальной жизни."
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 28 2004, 14:45
Сообщение #208


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Raven @ Oct 28 2004, 17:33)
А моя розовая мечта - чтобы в таверне, сидя на стуле, можно было выпить вина, а не вставать для этого 

Хорошо не голубая :lol: А помоему так можно? Актион сделать на сидение подолше и что-то в этом духе. НПС так могут точно.
Добавлено в [mergetime]1098964072[/mergetime]
Fali, ты глянь как мужчинки засуетились :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raven
сообщение Oct 28 2004, 14:53
Сообщение #209


Level 8
***

Класс: Фея
Характер: Chaotic Evil
Раса: Фея



QUOTE
Хорошо не голубая


:lol: нееее.... :)

Ну сидение вроде активное действие и питье бутылки тож - вряд ли... а NPC просто Emotes такие.. а мне надо шоб не просто анимация, а реальное выпивание бутля, а енто вряд ли...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 28 2004, 15:52
Сообщение #210


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Raven @ Oct 28 2004, 17:53)
а реальное выпивание бутля,

А чем это отличается от анимации? Добавь условий и сам еффект.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 7 8 9 10 11 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 7th July 2025 - 21:43