![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1746
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
1:
Размести в модуле вайпоинт с уже подготовленной пометкой. (Только не забуть убрать галочку на св-ве: Map Note Enabled) Далее, простой скрип на ActionTakes: NSS void main() { object oWP = GetWaypointByTag(""); // Здесь укажи Таг вайпоинта SetMapPinEnabled(oWP, TRUE); } 2: В официальных модулях, это уже было реализовано. Посмотри там. (IMG:style_emoticons/kolobok_light/wink3.gif) Сообщение отредактировал Dik Morris - Sep 5 2006, 12:57 |
![]()
Сообщение
#1747
|
|
Level 2 ![]() Класс: Тайный Лучник Характер: True Neutral Раса: Эльф ![]() |
По поводу второго ответа - можно поподробней.
|
![]()
Сообщение
#1748
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Misty Archer @ Sep 5 2006, 20:11) [snapback]91104[/snapback] По поводу второго ответа - можно поподробней Не думаю что поймешь.. но все же. NSS //::////////////////////////////////////////////// //:: OnEnter am_ten_skl_searh //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* ПРИ УСПЕШНОЙ ПРОВЕРКЕ СКИЛА ПОИСК, СОЗДАЕМ Item. ResRef создаваемого объекта равен локальному стрингу на триггере, для всех классов CLASS_TYPE_ALL, для всех остальных классов персонально для каждого: CLASS_TYPE_BARBARIAN, CLASS_TYPE_FIGHTER и т.д. Поле триггера KeyTag - сложность проверки скилла: DC_EASY = 0; DC_MEDIUM = 1; DC_HARD = 2; Флоат "DISTANCE" расстояние на котором создается объект вокруг РС. Локалка "ACTION_MODE_DETECT" устанавливает свойство триггера, он сработает только когда РС в режиме обнаружения. int CLASS_TYPE_BARBARIAN = 0; int CLASS_TYPE_CLERIC = 2; int CLASS_TYPE_DRUID = 3; int CLASS_TYPE_FIGHTER = 4; int CLASS_TYPE_PALADIN = 6; int CLASS_TYPE_RANGER = 7; int CLASS_TYPE_INVALID = 255; nwscript */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 31.12.2005 23:24 С новым Годом! //::///////////////////////////////////////////// #include "nw_i0_tool" #include "am_inc_common" void main() { object oPC = GetEnteringObject(); //object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC); object oSelf = OBJECT_SELF; string sMessage = GetName(oSelf); // Сообщение при обнаружении предмета PC string sHench1 = GetLocalString(oSelf, "HENCHMAN_string_1"); string sHench2 = GetLocalString(oSelf, "HENCHMAN_string_2"); string sHench3 = GetLocalString(oSelf, "HENCHMAN_string_3"); string sHench4 = GetLocalString(oSelf, "HENCHMAN_string_4"); string sHench5 = GetLocalString(oSelf, "HENCHMAN_string_5"); float f = GetLocalFloat(oSelf, "DISTANCE"); // Расстояние от РС для находки if(f==0.0) f = 2.0; // Если нет, то по умолчанию 2 метра радиус location lLoc = CreateRandomLocation(oPC, f); int iDC = StringToInt(GetLockKeyTag(oSelf)); // Сложность проверки скилла if(!GetIsPC(oPC)||GetIsInCombat(oPC)||GetLocalInt(oSelf, "DEACTIVATED")) return; //----------------------------------- // Ищем в списке помощников Алишан //----------------------------------- object oHench = GetObjectByTag("AM_HEN_ALISHAN"); if(!GetIsAssociate(oPC, oHench)) { oHench = OBJECT_INVALID; } //----------------------------------- if(!GetActionMode(oPC, ACTION_MODE_DETECT) && GetLocalInt(oSelf, "ACTION_MODE_DETECT")) { if (GetIsObjectValid(oHench)) // Хеньчман нас предупреждает, что тут что-то есть { if(!GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { SetLocalInt(oSelf, "HENCHMAN_SPEAK", TRUE); DelayCommand(0.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_SEARCH))); DelayCommand(0.21, AssignCommand(oHench, SpeakString(sHench1))); } } if(GetGameDifficulty() == GAME_DIFFICULTY_EASY || !GetLocalInt(GetModule(), "DEBAG_PC")) SendMessageToPC(oPC, "<cу >ВКЛЮЧИТЕ РЕЖИМ ОБНАРУЖЕНИЯ.</c>"); return; } SetLocalInt(oSelf, "DEACTIVATED", TRUE); string sResRef = GetLocalString(oSelf, "CLASS_TYPE_ALL"); // Предмет для всех string sB = GetLocalString(oSelf, "CLASS_TYPE_BARBARIAN"); // Каждому персонально string sC = GetLocalString(oSelf, "CLASS_TYPE_CLERIC"); string sF = GetLocalString(oSelf, "CLASS_TYPE_FIGHTER"); string sP = GetLocalString(oSelf, "CLASS_TYPE_PALADIN"); string sR = GetLocalString(oSelf, "CLASS_TYPE_RANGER"); string sD = GetLocalString(oSelf, "CLASS_TYPE_DRUID"); int iBestClass = GetCreatureBestClass(oPC); // Ищем лучший класс мультиклассов // Дебаг класса string sClass; if(iBestClass==0) sClass="BARBARIAN"; if(iBestClass==2) sClass="CLERIC"; if(iBestClass==3) sClass="DRUID"; if(iBestClass==4) sClass="FIGHTER"; if(iBestClass==6) sClass="PALADIN"; if(iBestClass==7) sClass="RANGER"; Debug("Лучший класс игрока - "+sClass); if(sResRef=="") // Если создаем предметы для классов { // Приравняем ResRef-ы к единому значению взяв от каждого класса if(iBestClass==0) sResRef=sB; if(iBestClass==6) sResRef=sP; if(iBestClass==2) sResRef=sC; if(iBestClass==7) sResRef=sR; if(iBestClass==4) sResRef=sF; if(iBestClass==3) sResRef=sD; } if(AutoDC(iDC, SKILL_SEARCH, oPC)) { if(sResRef != "") { object oItem = CreateObject(OBJECT_TYPE_ITEM, sResRef, lLoc); AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LOOKHERE)); string sRunScript = GetLocalString(oSelf, "RUN_SCRIPT"); if(sRunScript!="") DelayCommand(2.0, ExecuteScript(sRunScript, oItem)); if(sMessage == "Предмет + [Текст над РС]" || sMessage =="Item + [Текст над РС]") sMessage = ""; AssignCommand(oPC, SpeakString(sMessage)); SendMessageToPC(oPC, "<c у >Вы обнаружили предмет.</c>"); AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, ActionDoCommand(SetFacingPoint(GetPositionFromLocation(lLoc)))); DelayCommand(0.3, SetCommandable(FALSE, oPC)); DelayCommand(2.0, SetCommandable(TRUE, oPC)); if (GetIsObjectValid(oHench)) { AssignCommand(oHench, ClearAllActions()); AssignCommand(oHench, SetFacingPoint(GetPositionFromLocation(lLoc))); if(GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_YES))); DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench2))); } else { DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_GOODIDEA))); DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench3))); } } } else { // Если мы забыли написать ResRef предметов, то ошибка Debug("<cу >ОШИБКА!</c> Не могу создать объект. Нет ResRef-а для класса - "+sClass); } } else { if(GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_CANTDO)); AssignCommand(oPC, SpeakString("Я ничего не вижу.")); DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_NO))); DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench4))); DelayCommand(6.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_MOVEOVER))); DelayCommand(6.21, AssignCommand(oHench, SpeakString(sHench5))); } } } Рандомную локацию глянь код в теме базы скриптов. Вешается на он ентр триггера. NSS location CreateRandomLocation(object oTarget, float fRadius, int bOnLine = TRUE)
{ if(!bOnLine) fRadius=IntToFloat(Random(FloatToInt(fRadius))); float iXO=VectorMagnitude(GetPosition(oTarget))*cos(VectorToAngle(GetPosition(oTarget))); float iYO=VectorMagnitude(GetPosition(oTarget))*sin(VectorToAngle(GetPosition(oTarget))); float fRndomAngle=IntToFloat(Random(360)); location lNEW=Location(GetArea(oTarget),Vector(iXO+fRadius*cos(fRndomAngle),iYO+fRadius*sin(fRndomAngle)),360.0); return lNEW; } int GetCreatureBestClass(object oCr) { int class1 = GetClassByPosition(1, oCr); int class2 = GetClassByPosition(2, oCr); int class3 = GetClassByPosition(3, oCr); int classlev1, classlev2, classlev3; classlev1 = GetLevelByClass(class1, oCr); if (class2 != CLASS_TYPE_INVALID) classlev2 = GetLevelByClass(class2, oCr); if (class3 != CLASS_TYPE_INVALID) classlev3 = GetLevelByClass(class3, oCr); int BestClass = class1; if (classlev1 < classlev2) BestClass = class2; if (classlev2 < classlev3) BestClass = class3; return BestClass; } |
![]()
Сообщение
#1749
|
|
Level 2 ![]() Класс: Тайный Лучник Характер: True Neutral Раса: Эльф ![]() |
Спасиб, будем разбираться (IMG:style_emoticons/kolobok_light/biggrin.gif) .
Опять новый вопрос: 1 хочу вставить в книгу рисунок карты, возможно ли это? 2 можно ли сделать что-то типа проверки на ловкость при вскрытии замков ( так же хочу сделать в модуле отмычки которые будут влиять на результат этой проверки если их держать в руках, как это зделать) |
![]()
Сообщение
#1750
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
1. Нет.
2. Слот OnUnlocked. Проверка идет и так. Отмычки делай как в палитре + к скилу открыть замок. Вот тебе скрипт на экспу. Мож поправить чо надо. NSS //:://////////////////////////////////////////////
//:: OnUnlocked am_dul_unlocked //:: Copyright © 2004 WRG! //::////////////////////////////////////////////// /* УНИВЕРСАЛЬНЫЙ СКРИПТ РАЗДЕЛЕНИЕ ХР ЗА ОТКРЫТИЕ-ОБЕЗВРЕЖИВАНИЕ */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 09.05.2004 //::////////////////////////////////////////////// #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 } } |
![]()
Сообщение
#1751
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Lawful Neutral Раса: Человек ![]() |
Столкнулся с проблемой, меняю внешность у существа при помощи функции SetCreatureAppearanceType. Параметр AppearanceType задаю число из 2da файла(appearance). У меня создана своя модель и забита в хаке. Так вот, когда внешность должна меняться НПС просто пропадает. Подскажите в чём проблема. Может быть ошибка в хаке?
Сообщение отредактировал Milfes - Sep 7 2006, 22:58 |
![]()
Сообщение
#1752
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Good Раса: Человек ![]() |
У меня проблема с патчем 1.68, в частности с плащами:
-Можно ли их перекрашивать? -Двигаются ли они вообще? |
![]()
Сообщение
#1753
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
1. Можно.
2. Двигаются. |
![]()
Сообщение
#1754
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Good Раса: Человек ![]() |
(IMG:style_emoticons/kolobok_light/biggrin.gif) Сенк.
Сообщение отредактировал Batkom - Sep 10 2006, 19:52 |
![]()
Сообщение
#1755
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Milfes @ Sep 7 2006, 21:40) [snapback]91261[/snapback] Столкнулся с проблемой, меняю внешность у существа при помощи функции SetCreatureAppearanceType. Параметр AppearanceType задаю число из 2da файла(appearance). У меня создана своя модель и забита в хаке. Так вот, когда внешность должна меняться НПС просто пропадает. Подскажите в чём проблема. Может быть ошибка в хаке? а в тулсете если ты пытаешься НПС сделать свою модель, она нормально отражается? мб у тебя с моделью глюк и она просто в игре не видна. |
![]()
Сообщение
#1756
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Lawful Neutral Раса: Человек ![]() |
Нет, сама модель отображается нормально.
|
![]()
Сообщение
#1757
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Milfes, нужно учитывать еще расу существа. Скажем, если раса гном - то внешность человека ему никак не установить. (Имею в виду APPEARANCE_TYPE_HUMAN)
А если и попытатся - то NPC, как раз и исчезает. (IMG:style_emoticons/kolobok_light/wink3.gif) Сообщение отредактировал Dik Morris - Sep 11 2006, 16:52 |
![]()
Сообщение
#1758
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Dik Morris @ Sep 11 2006, 17:37) [snapback]91493[/snapback] Milfes, нужно учитывать еще расу существа. Скажем, если раса гном - то внешность человека ему никак не установить. (Имею в виду APPEARANCE_TYPE_HUMAN) с чего ты взял?? вполне можно. |
![]()
Сообщение
#1759
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Действительно.
Lex, но я точно помню что в 1.66 у меня так не получалось сделать. (IMG:style_emoticons/kolobok_light/pleasantry.gif) Сообщение отредактировал Dik Morris - Sep 11 2006, 17:29 |
![]()
Сообщение
#1760
|
|
Level 2 ![]() Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
У меня вопрос по технической части Туллсета. В скриптах вместо русских букв какая то абракадабра. Патч с сайта WRG, который позволяет использовать букву "я" у меня установлен. Без русских букв как то хреново...
Сообщение отредактировал Diamond - Sep 15 2006, 17:02 |
![]()
Сообщение
#1761
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Поставь шрифт Courer
|
![]() ![]()
Сообщение
#1762
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Кто сможет выложить скрипт на появления строки в диалоге один рас.
К примеру, непись мне что-то говорит, а у меня три варианта ответа и после использования какой небудь строки, при повторной попытки поговорить с неписем тот вариант исчезает, остается только два. |
![]()
Сообщение
#1763
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Артём, тебе бы следовало изучить работу локальных переменных. Статей на эту тему, есть ВЕЛИКОЕ множество, ссылки давать не буду - сам найдешь, если внимательно почитаешь форум, сайт.
|
![]()
Сообщение
#1764
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Будь человеком дай пару ссылок. (IMG:style_emoticons/kolobok_light/sad.gif)
|
![]()
Сообщение
#1765
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
|
![]() ![]()
Сообщение
#1766
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Способа щяс буду учить.
То что я искал там нет. Ладно буду дожидаться НВН 2 вот там и буду учить скрипты. |
![]()
Сообщение
#1767
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
А это не то??
QUOTE ВОПРОС Здраствуйте, я вот тут захотел сделать простейший стационарный квест, но в этом я полный 0. 1) Как сделать чтобы при первом разгооре игрока с НПС показывался первый диалог; 2) После первого разговора включался второй диалог; 3) Как сделать проверку на наличие предмета у игрока? Например ели у игрока есть например ключ ему включался определеный диалог (тоесть вот смотри пункт 2, идет второй диалог. и там спрашивають.ты добыл ключ? говориш да, и делаеться проверка на наличие) 4) После того как квест выполнен включался следующий диалог ОТВЕТЫ Делается очень легко - с пмощью Локальных переменных... Как ты мог догадатсья, полистав словарик или просто почитав надписи в тулсете при создании конверсейшна: TextAppearsWhen - значит "Текст появляется когда..." и там нужно выбрать скрипт. Это значит что в скрипте задаются условия появления. (кстати там есть визард) ActionTaken - значит "Предпринимаемое действие" (или типа того), то есть - что-то происходит после того как игрко выбрал этот ответ в диалоге, или НПЦ вышел на ветку с этим скриптом... Тут опять же есть визард. Визард (Wizard) - помощник создания простых скриптов, отображается как шапочка... Итак, теперь рассказываю подробнее... Мы создаем все три ветки (для данного примера): - Привет, игрок -- Привет, нпц! - Есть ключ? -- Есть (проверка) -- Нету - Молодец, ты справился с квестом! Терь вали отсюдова! На первом диалоге (Привет, игрок) вешаем скрипт проверки локальной переменной, например назовем её - quest_prog (quest progress). Для этого можно использовать визард (пока в плане скриптинга обьяснять не буду - запустите визард, посмотрите на код и надеюсь все поймете) - визард в TextAppearsWhen (ТекстПоявляетсяКогда) - и там выбираем Local Variable, выбираем: int (числовая переменная, целая (не дробная)), пишем название переменной (q_prog), is less than (меньше чем), constant int (заданное число), 1. Далее на продолжении первого диалога ("привет, нпц!") вешаем скрипт (можно опять же визардом) на создании переменной q_prog и задачи ей числа 1. Set Local Variable (Задать локальную переменную), int, q_prog, constant int, 1. Теперь переходим к второй ветке диалога (есть ключ?) - надпись будет высвечиваться если q_prog равно 1. (Думай разберешься как сделать проверку ), ну а на ответе: (Есть) - делать првоерку на ключ... Опять же визардом: Item in Inventory и там вписываем тэг вещицы (лучше писать не попамяти - акопировать и вставлять...). Ну и Action Taken - присваиваем q_prog значение 2. И последнюю ветку вешаем првоерку, если q_prog равен 2. Раз стат квест - значит надо выдать награду. Выдавать награду можно опять же через ActionTaken (Give Rewards)... Примечание: если хочешь наградить вещью - то там надо вписывать ResRef вещит, а не тэг. Кстати попутно с квестом можно вести запись в дневнике (закладочка - Others... там думаю разберешься) ПРИМЕЧАНИЕ №1: Локальные переменные - остаюстя на игроке, так что в следущем квесте не используй переменную q_prog... ПРИМЕЧАНИЕ №2: Если хорошо подумаете - то сможете это все еще оптимизирвоать и улучшить... (хоят бы для повышения переменной - не обязательно использоват ьнесколько разных скриптов ) Еще есть тут: http://www.city-of-masters.ru/forums/index...ost&p=48763 Сообщение отредактировал -fenix- - Sep 17 2006, 17:43 |
![]()
Сообщение
#1768
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Я хотел, чтобы скрипт не менял строку, а убирал одну из них.
|
![]()
Сообщение
#1769
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Артём, убрать ты НИКАК не сможешь. (Т.е стереть.)
Нужно ставить условие при котором появляется строка, (проверка локальной переменной, значение 0 & FALSE) потом собственно устанавливать эту локальную переменную. (ActionsTakes, при выборе данной строки) Читай мануал, там это подробно расписано. PS: ссылки принципиально приводить не буду, все это уже было много раз, но видимо не особо кому-то нужно. Да и свой трафик, у меня нет никакого желания расходовать. Сообщение отредактировал Dik Morris - Sep 17 2006, 18:41 |
![]()
Сообщение
#1770
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
QUOTE(Артём @ Sep 17 2006, 20:36) [snapback]91887[/snapback] Вот скрипт на появления текста один рас в день. [/nss] int StartingConditional() { object oPC = GetPCSpeaker(); int nDay = GetCalendarDay(); if (GetLocalInt(oPC, "once_a_day_phrase") != nDay) { SetLocalInt(oPC, "once_a_day_phrase", nDay); return TRUE; } return FALSE; } [nss] Мне нужно почти тоже самое только чтобы он появлялся ни каждый день а всего 1 рас. Или такога скрипта нет? (IMG:style_emoticons/kolobok_light/biggrin.gif) Сообщение отредактировал Артём - Sep 17 2006, 19:37 |
![]() ![]() |
Текстовая версия | Сейчас: 17th July 2025 - 03:15 |