![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#2076
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
У МЕНЯ ВОПРОС.Напишыте пожалуйста скрипт эффекта невидемости каторый накладывается на игрока и действует постоянно
|
![]()
Сообщение
#2077
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
NSS void main() { object oTarget = GetFirstPC();//игрок effect eInvisibility = EffectInvisibility(INVISIBILITY_TYPE_NORMAL);//эффект невидимости ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvisibility, oTarget);//непосредственно наложение эффекта // DURATION_TYPE_PERMANENT - эффект будет действовать постоянно } Этот эффект невидимости снимется если начнется бой. Чтобы такого не было нужно INVISIBILITY_TYPE_NORMAL заменить на INVISIBILITY_TYPE_IMPROVED, а чтобы еще и иконка не отображалась, что на чаре невидимость(или я не так понял?), поставь INVISIBILITY_TYPE_DARKNESS. |
![]()
Сообщение
#2078
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Понятно.
|
![]()
Сообщение
#2079
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
пара фиксоф(может пригодится кому...)(хотя не тестировал..лень)
NSS // 1 из десятка способоф убийства в ноу пвп.. просто сбить экшен атаки void dn_NoPvPE(object oPC) { if(GetCurrentAction(oPC) == ACTION_ATTACKOBJECT) DelayCommand(1.0,AssignCommand(oPC,ClearAllActions(TRUE))); } NSS // ну эт думаю ясно... object oPC = GetEnteringObject(); if(GetXP(oPC) == 0) { SetXP(oPC,1); BootPC(oPC); } NSS // сбить Байл тайд при заходе void dn_BTFix(object oPC) { if(GetHasSpellEffect(SPELL_BATTLETIDE,oPC)) RemoveSpellEffects(SPELL_BATTLETIDE,oPC,oPC); } NSS // должно пахать..проверять лень void dn_dmhookFix(object oPC) { object oItem=GetFirstItemInInventory(oPC); int i; int nGold = GetGold(oPC); if(GetXP(oPC) == 0) { while(GetIsObjectValid(oItem)) { DestroyObject(oItem); oItem=GetNextItemInInventory(oPC); } if(nGold) TakeGoldFromCreature(nGold,oPC,TRUE); for(i=0; i<18; i++) { object oEquipItem = GetItemInSlot(i,oPC); if(GetIsObjectValid(oEquipItem)) DestroyObject(oEquipItem); } SendMessageToPC(oPC,"сцуко-читор! пишем в лог и бутаем"); WriteTimestampedLogEntry("ахтуцнк! сцукочитор: "+GetPCPlayerName(oPC)+"; IP: "+GetPCIPAddress(oPC)+"; Public Key:"+GetPCPublicCDKey(oPC)); DelayCommand(1.0,BootPC(oPC)); } } ну дальше тестово можно.. стойку ДД переписывать надо стандартный крафт лучше убрать(если СЕР вдвойне советую убрать) при одевании шмота вешать дикрис атаки и спел фелчар(скрипт стер случайно..заного писать лень) монкам поставить имун к спид дикризу и т.д.(слишком много способов активировать багу)(лучше фит вырубить еще) смеху наташи(ничего личного) поставить чек на алаймент помойму надо спелл хуком проверять контрл спелл и ставить ПЦ паралайз или другой изврат пересмотреть полиморф с рассой дварфа убрать шмотье с экстра турнингом(или пофиксить, когда пал одевает) если есть афтофолоу на шарде либо убрать, либо запретить юз на земле двери стараться заменять переходами между ними открыть скрипт x0_s0_light, закоментить\etc вешанье постоянного еффекта на палку.. скрипт x2_s2_ruin, поставить чек на локу скрипт x2_s2_hellball, поставить чек на локу ну поправить половина нвновских спеллов это думаю ясно чекать апиренс входящего, если надо изменять\бутить чекать акк входящего, особенно несколько первых символов вызов балора запретить читать в ноу пвп грабли ПМа тоже запретить в ноу пвп\или убрать вроде еще когда кастуется шш и дез вард, дез вард при диспеле не слетает(хтя хз) клир сам себя убить еще может без спасов дыркой(имплозией) щас уже не помню, была еще зрень выкидывания одеваемого нон дроп айтема.. еще осталось, но либо лень называть, либо нету желания оглашать общественность, либо они скриптами не фиксятцо скрипты эти писал очень давно(когда бы нубом(хотя помойму им и остался (IMG:style_emoticons/kolobok_light/smile.gif) )), так что могут быть ошибки и т.д... переправлять лень © я credits: 2_advanced (грех не написать), axistown(начало багаюза), cormyrean(продолжение и собственно конец) еще чет хотел...забыл..пойду спать ) Сообщение отредактировал [MoF]Darth_Nick - Mar 27 2006, 11:37 |
![]()
Сообщение
#2080
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Четвертый скрипт, это не фикс, а стандартный скрипт раздевания только что созданного персонажа. Вот только зачем бутить персонажа, если у него и так все отбирается?
Второй скрипт работает ровно до второго захода. Из того, что написано ниже скриптов, понял несколько строк, остальные из-за дурацкого жаргона очень трудно разобрать. Зачем что-то сюда писать, если это может быть не всем понятно? Хотя если язык пострадал, это навсегда, проверено временем. По первому скрипту, самый распространенный способ убийства. Причем работает до сих пор. Странно что это не исправили. Хотя чего проще, во время перехода очищать очередь действий. QUOTE грабли ПМа тоже запретить в ноу пвп\или убрать вроде еще когда кастуется шш и дез вард, дез вард при диспеле не слетает(хтя хз) при одевании шмота вешать дикрис атаки и спел фелчар(скрипт стер случайно..заного писать лень) Вообще не понял о чем речь идет. З.Ы. Новичком и остался, сюдя по языку. Ничего личного. |
![]()
Сообщение
#2081
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
QUOTE Вообще не понял о чем речь идет. ндя...английский знаеш? не ужто трудно расшифровать? "дикрис атаки и спел фелчар".. ваши проблемы.. QUOTE Четвертый скрипт, это не фикс, а стандартный скрипт раздевания только что созданного персонажа. Вот только зачем бутить персонажа, если у него и так все отбирается? ну-ну, ты лучше название скрипта прочти..хотя тебе это мало что скажет.. QUOTE Зачем что-то сюда писать, если это может быть не всем понятно? кому надо - поймет, я старался по меньше ошибок делать...всё таки в 7 утра не каждый асилит столько писать QUOTE самый распространенный способ убийства их там 10, и все они распространенные QUOTE З.Ы. Новичком и остался, сюдя по языку. Ничего личного. ты просто попробуй понять вообще о чем речь идет...а потом суди готов поспорить у тебя и четверть этого не фикшена и вообще..не нравится не читай =Р Сообщение отредактировал [MoF]Darth_Nick - Mar 22 2006, 15:31 |
![]()
Сообщение
#2082
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE пара фиксоф(может пригодится кому...)(хотя не тестировал..лень) 1. может пригодится. 2. не тестировал - плохо. Если что выкладываешь, всетаки проверяй (IMG:style_emoticons/kolobok_light/smile.gif) 3. Zirrex, [MoF]Darth_Nick, взаимные претензии в приват. (IMG:style_emoticons/kolobok_light/smile.gif) Тут ни-ни. |
![]()
Сообщение
#2083
|
|
Level 8 ![]() ![]() ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Человек ![]() |
[MoF]Darth_Nick, спасибо за список багов. Можешь подробнее описать косяк со стойкой ДД?
P.S. Касательно 4-го скрипта. Если с помощью хука на шард заводится чар с ненулевой экспой, тогда что? |
![]()
Сообщение
#2084
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
2Lex дык, кому надо и кто понял суть, сам напишет фикс если понадобится
2Sharklike в ней бегать и атаковать можно скрипта стойки нету, только забавный комментарий 4) попробуй завести такого (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал [MoF]Darth_Nick - Mar 22 2006, 20:51 |
![]()
Сообщение
#2085
|
|
Level 8 ![]() ![]() ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Человек ![]() |
QUOTE Darth_Nick' date='Mar 22 2006, 20:48' post='73689'] 4) попробуй завести такого (IMG:style_emoticons/kolobok_light/smile.gif) Да заводил. Вообще я спросил, потому что мне интересно стало - может тот хук, который видел ты и который видел я работают по-разному? QUOTE Darth_Nick' date='Mar 22 2006, 20:48' post='73689'] не поможет не ключ, не айпи Ты имеешь ввиду, что все таки можно войти любым чаром с акка, название которого ассоциируется с ключом, сохраненным на сервере и не известным злоумышленнику? Или ты про то, что можно просто войти чужой на акк и посмотреть чаров? |
![]()
Сообщение
#2086
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
NSS void main() (IMG:style_emoticons/kolobok_light/prankster2.gif) { object oPC = GetEnteringObject(); if(GetIsDM(oPC)) // дм { //...проверка по ключам/IP/спец итему и т.п.. - для извращенцев } else if(GetPlotFlag(oPC)) // может злобный ДМ в квесте повесит плот на игрока, а тот вылетит/перезайдет { SetPlotFlag(oPC, 0); BootPC(oPC); } else if(!GetXP(oPC)) // новый чар или тупящий нуб с софтом { SetXP(oPC, 1); BootPC(oPC); } else // плеер.. { } } QUOTE поставить чек на локу не на локу!
|
![]()
Сообщение
#2087
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
да там по разному можно, главное суть
Ссылка, по которой вы попали на эту страницу является «мертвой» или удаленной. Сообщение отредактировал [MoF]Darth_Nick - Mar 24 2006, 04:01 |
![]()
Сообщение
#2088
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
NSS // в не_пвп все ПЦ дружелюбны (IMG:style_emoticons/kolobok_light/blum3.gif)
object oPC = OBJECT_SELF; object oTarget = GetSpellTargetObject(); if(GetIsReactionTypeFriendly(oPC, oTarget)) return; |
![]()
Сообщение
#2089
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Привет,
Обясните плс. (долбался долго...честно), как сделать невидимую дверь, я уже спрашивал и по способу, какой мне посоветовали у меня (IMG:style_emoticons/kolobok_light/sad.gif) . Нужно так, вы заходите в локу, разговариваете с НПС, а после вы уже видите дверь..... |
![]()
Сообщение
#2090
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
создавать на вейпоинте объект двери после определенных действий (или варианта в диалоге) игрока
а если дверь еще необходимо найти, то можно создать триггер, он_ентер которого будет запускать (перезапуск если GetIsInSubArea(...) ) каждые 6 сек. проверки на серч, при удачной - появляется дверь на триггере примеры: nw_o2_detectdoor - древний вариант x2_**_secretdoor - ХоА вариант с хертбитами.. лучше написать что-то своё если для шарда делается |
![]()
Сообщение
#2091
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
QUOTE(2_advanced @ Mar 24 2006, 18:01) [snapback]73968[/snapback] Привет, Обясните плс. (долбался долго...честно), как сделать невидимую дверь, я уже спрашивал и по способу, какой мне посоветовали у меня . Нужно так, вы заходите в локу, разговариваете с НПС, а после вы уже видите дверь..... В диалоге вызови потайную дверь из стандартной палитры скриптом…, тогда точка перемещения будет иметь тег ”DST_DOOR_SEC_1”. NSS void main() { object oWP = GetWaypointByTag("WP_XXX");// точка вызова двери location Loc = GetLocation(oWP); object oDoor = CreateObject(OBJECT_TYPE_PLACEABLE, "x0_sec_door1", Loc, TRUE, "DOOR_SEC_1"); // Объект дверь } Можно сделать и свою синьку двери, но нужно повесить на слот OnUsed скрипт перемещения (x0_o2_use_wdoor), или можно взять скрипт Айва из базы скриптов для новичков, или можешь воспользоваться моей версией. Если хочешь использовать секретный триггер, то вот краткая справка: Секретный объект Триггер содержит в названии ResRef объкта, который появится. Точка, где появится объект LOC_+Тег триггера. Тег точки перемещения DST_+Тег триггера. NSS //:://////////////////////////////////////////////
/* УНИВЕРСАЛЬНЫЙ СКРИПТ ПЕРЕМЕЩЕНИЙ ГЕРОЯ */ //::////////////////////////////////////////////// void JumpFirstPC(object oWP) { object oPC = GetFirstPC(); object oSP = GetHenchman(oPC); object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION,oPC); object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR,oPC); object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED,oPC); object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC); AssignCommand(oPC, ClearAllActions()); AssignCommand(oSP, ClearAllActions()); AssignCommand(oAnimal, ClearAllActions()); AssignCommand(oFamiliar, ClearAllActions()); AssignCommand(oDominated, ClearAllActions()); AssignCommand(oSummoned, ClearAllActions()); AssignCommand(oPC, JumpToObject(oWP)); AssignCommand(oSP, JumpToObject(oWP)); AssignCommand(oAnimal, JumpToObject(oWP)); AssignCommand(oFamiliar, JumpToObject(oWP)); AssignCommand(oDominated, JumpToObject(oWP)); AssignCommand(oSummoned, JumpToObject(oWP)); } void main() { object oPC = GetFirstPC(); object oSP = GetHenchman(oPC); object oPoint = GetWaypointByTag("TP_" + GetTag(OBJECT_SELF)); if (!(GetLocked(OBJECT_SELF) == TRUE)) // если замок открыт { DelayCommand(0.1, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN)); DelayCommand(2.6, JumpFirstPC(oPoint)); // перемещаем всю компанию DelayCommand(6.6, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE)); } else { AssignCommand(OBJECT_SELF, SpeakString("Замок закрыт")); int nSkill = 20 + GetSkillRank(SKILL_OPEN_LOCK, oSP); if (nSkill >= GetLockUnlockDC(OBJECT_SELF)) // если спутник может открыть замок AssignCommand(oSP, SpeakString("Попробуй открыть, не получитсЯ Я сам открою!")); else AssignCommand(oSP, SpeakString("Мне не осилить этот замок…")); } } // помещать в слот OnUsed OnEnter OnClick OnAreaTransitionClick //Перемещение героя и спутников для размещаемых объектов Сообщение отредактировал gennady - Mar 27 2006, 09:01 |
![]()
Сообщение
#2092
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Вот код скрипта. Вешаешь на триггер на OnEnter, на триггере вешаешь локальные стринги PLC_ResRef == ресрефу твоей создаваемой двери. Можешь серетный шкаф даже, любой предмет PLC_ и когда РС наступит на триггер, то произойдет проверка его ДС в случае успеха, выдаст ему дверь или еще что. Можешь наложить на твою дверь все что надо скриптом, напиши скрипт и присвой на триггер стрингом RUN_SCRIPT. Имя триггера - стринг над РС. Типа, О! Я нашел дверь! Так же хеньчманы боолтают и указывают что надо тут быть внимательным.
NSS //:://////////////////////////////////////////////
//:: OnEnter am_ten_searh_plc //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* ПРИ УСПЕШНОЙ ПРОВЕРКЕ СКИЛА ПОИСК, СОЗДАЕМ PLC. ResRef создаваемого объекта равен локальному стрингу "PLC_ResRef". Создаем рандомно на случайной локации или специально на месте объекта "SECRET_PLC_"+[Таг Триггера] Поле триггера KeyTag - сложность проверки скилла: DC_EASY = 0; DC_MEDIUM = 1; DC_HARD = 2; Локалка "ACTION_MODE_DETECT" устанавливает свойство триггера, он сработает только когда РС в режиме обнаружения. */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 02.01.2006 С новым Годом! //::///////////////////////////////////////////// #include "nw_i0_tool" /* Функция рандомной локации, написана Баалом. */ 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; } void main() { object oPC = GetEnteringObject(); object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC); object oSelf = OBJECT_SELF; string sMessage = GetName(oSelf); // Сообщение при обнаружении предмета 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"); int iDC = StringToInt(GetLockKeyTag(oSelf)); // Сложность проверки скилла if(!GetIsPC(oPC)||GetIsInCombat(oPC)||GetLocalInt(oSelf, "DEACTIVATED")) return; 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, "PLC_ResRef"); // Объект создаваемый float f = GetLocalFloat(oSelf, "DISTANCE"); // Расстояние от РС для находки if(f==0.0) f = 5.0; // Если нет, то по умолчанию 5 метров радиус location lLoc = CreateRandomLocation(oPC, f); object oPlc = GetNearestObjectByTag("SECRET_PLC_"+GetTag(oSelf)); // Если конкретное место string sNewTag; if(oPlc != OBJECT_INVALID) { lLoc = GetLocation(oPlc); sNewTag = GetTag(oPlc); } if(AutoDC(iDC, SKILL_SEARCH, oPC)) { if(sResRef != "") { effect eEffect = EffectVisualEffect(VFX_FNF_DISPEL); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eEffect, lLoc, 4.0); object oNewPlc = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lLoc,0,sNewTag); string sRunScript = GetLocalString(oSelf, "RUN_SCRIPT"); if(sRunScript!="") DelayCommand(2.0, ExecuteScript(sRunScript, oNewPlc)); AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LOOKHERE)); if(sMessage == "Объект + [Текст над РС]") 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_THANKS))); DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench2))); } else { DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_YES))); DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench3))); } } } else { // Если мы забыли написать ResRef предметов, то ошибка SendMessageToPC(oPC, "<cу >ОШИБКА!</c> Не могу создать объект. Нет ResRef-а!"); } } else { if(GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_CANTDO)); AssignCommand(oPC, SpeakString("Ты ошибаешься. Я ничего не нахожу.")); DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_YES))); DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench4))); DelayCommand(6.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_BADIDEA))); DelayCommand(6.21, AssignCommand(oHench, SpeakString(sHench5))); } } } |
![]()
Сообщение
#2093
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
NSS const string _DOOR_RES = "x0_sec_tdoor1";
void chk() { location lWP = GetLocalLocation(OBJECT_SELF, "_DOOR"); if(GetDistanceBetweenLocations(lWP, GetLocation(OBJECT_SELF)) < 1.0f) { object oDoor = CreateObject(OBJECT_TYPE_PLACEABLE, _DOOR_RES, lWP); ActionResumeConversation(); // возобновляет диалог с того места, где остановился } else { if(GetCurrentAction() != ACTION_MOVETOPOINT) ActionMoveToLocation(lWP); DelayCommand(3.0f, chk()); } } void main() { object oWP = GetWaypointByTag(GetTag(OBJECT_SELF)); // тег вейпоинта = тегу НПС if(GetIsObjectValid(oWP)) { ActionPauseConversation(); // прервать диалог до момента создания двери SetLocalLocation(OBJECT_SELF, "_DOOR", GetLocation(oWP)); // можно возвращать НПС на место после диалога.. SetLocalLocation(OBJECT_SELF, "_ORIG", GetLocation(OBJECT_SELF)); AssignCommand(OBJECT_SELF, chk()); } else { // ... } } |
![]()
Сообщение
#2094
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Привет,
Впринципе, почти понял. Пока только один вопрос: - после содания этой двери, мне нужно на onAreaTransitionClick скрипт поставить. Я подумал так, мне нужно создать свою дверь мастером с этим самым скриптом, а потом именно ее вызывать? Извините за идиотизм :-\ |
![]()
Сообщение
#2095
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Nashman @ Mar 28 2006, 01:52) [snapback]74726[/snapback] после содания этой двери, мне нужно на onAreaTransitionClick скрипт поставить. нет, у этой двери нет такой штуки (areatransition это та голубенькая фигулина, на которую кликаешь при переходе меж дверьми). Так что у этой двери на onUse Дверь сделать, чтобы в палитре была. скриптом ее в нужном месте создавать. |
![]()
Сообщение
#2096
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Привет,
Лекс, ты уж меня извени, но у меня есть такая штука, сначала идет она. За ответ спасибо, эжжто то, что мне не хватало, тоесть проэкту (IMG:style_emoticons/kolobok_light/smile.gif) .. |
![]()
Сообщение
#2097
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Скрипт на такую дверь есть в разделе скриптов новичков.
|
![]() ![]()
Сообщение
#2098
|
|
Level 1 Класс: Варвар Характер: True Neutral Раса: Полуорк ![]() |
Превед Кросавчеги. Я вернулся , ну вы чо не рады что ли . Ну и ладно ! У меня вопрос , а не подскажет мне кто-нибудь как сделать так чтобы монстрятник при появлении в локе летел к месту где находится твой перс .
|
![]()
Сообщение
#2099
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ставь точку спавна в том месте где перс может появиться. Или рядом.
|
![]()
Сообщение
#2100
|
|
Level 1 Класс: Волшебник Характер: Chaotic Neutral Раса: Полуэльф ![]() |
Всем Превед!
У меня вопрос: как присвоить нпс'у новый диалог с помощью скрипта. Фишка в том, что старый диалог весьма велик и изобилует скриптами. Новый по размерам не меньше, и тоже с кучей скриптов(20-30 штук). Ставить лок. пременную на все ветки диалога - можно замучиться. Искал что-то вроде "setdialog" - ничего не нашел. Помогите! |
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 18:08 |