Гиларион тебе нужны БАЗОВЫЕ знания. Ты знаешь чем отличается TAG oт ResRef-a или от Name объекта? Читай статьи пока и спрашивай.
Добавлено в [mergetime]1108842910[/mergetime]
Статьи смотри ТУТ
QUOTE |
Гиларион тебе нужны БАЗОВЫЕ знания. Ты знаешь чем отличается TAG oт ResRef-a или от Name объекта? Читай статьи пока и спрашивай. |
QUOTE |
Вот, вот Aiwan и я ему про тоже.... |
Neverwinter Script Source |
//-----------------------------------------------------------------------| void main() { //{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}////////////////////////| object oPC = GetEnteringObject(); object oBalrog = GetObjectByTag("BALROG"); object oGendolf = GetObjectByTag("GENDOLF"); object oRc1 = GetObjectByTag("ORC_1"); object oRc2 = GetObjectByTag("ORC_2"); object oRc3 = GetObjectByTag("ORC_3"); object oSk4 = GetObjectByTag("ORC_4"); object oSk5 = GetObjectByTag("ORC_5"); object oSk6 = GetObjectByTag("ORC_6"); object oRc7 = GetObjectByTag("ORC_7"); object oRc8 = GetObjectByTag("ORC_8"); object oRc9 = GetObjectByTag("ORC_9"); object oRc10 = GetObjectByTag("ORC_10"); //Tochki Morshruta============================================================== object oWpPc = GetWaypointByTag("PC_1"); object oWpPc1 = GetWaypointByTag("PC_2"); object oWpFare = GetWaypointByTag("Faire"); object oWpFare1 = GetWaypointByTag("Faire1"); object oWp3 = GetWaypointByTag("Go3"); object oWp4 = GetWaypointByTag("Go4"); object oWp5 = GetWaypointByTag("Go5"); object oWp6 = GetWaypointByTag("Go6"); object oWp7 = GetWaypointByTag("Go7"); object oWp8 = GetWaypointByTag("Go8"); object oWp9 = GetWaypointByTag("Go9"); object oWp10 = GetWaypointByTag("Go10"); //----------------------O Camera Tochki----------------------------------------- object oCamera = GetWaypointByTag("Camera1"); object oCamera2 = GetWaypointByTag("Camera2"); object oCamera3 = GetWaypointByTag("Camera3"); //============================================================================== //==========================+Nicita the Lord of tne Ring+======================= //##############################=VISUAL EFFECT=################################# effect eVis1 = EffectVisualEffect(VFX_FNF_LOS_EVIL_30); effect eVis2 = EffectVisualEffect(349); effect eVis3 = EffectVisualEffect(VFX_IMP_HARM); effect eVis4 = EffectVisualEffect(VFX_DUR_PIXIEDUST); effect eVis5 = EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT); effect eDed = EffectDeath(); effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); //============================================================================= location Loc1 = GetLocation(oWpFare); location Loc2 = GetLocation(oWpFare1); //----------------------------------------------------------------------------- if (!GetIsPC(oPC)||GetLocalInt(oPC,"Minas_Morgul")==TRUE) return; { AssignCommand(oPC,ClearAllActions()); AssignCommand(oGendolf,ClearAllActions()); //------------------------------------------------------------------------------ SetLocalInt(oPC,"Nicita rolic",TRUE); SetLocalLocation(oPC,"MinasMorgul",GetLocation(oPC)); SetCutsceneMode(oPC); DelayCommand(3.7,FadeFromBlack(oPC,FADE_SPEED_SLOW)); AssignCommand(oPC,JumpToObject(oWpPc1)); ApplyEffectToObject(DURATION_TYPE_PERMANENT,eCutInv,oPC); DelayCommand(4.5, AssignCommand(oPC,SetCameraFacing(0.0,6.0,45.0,CAMERA_TRANSITION_TYPE_MEDIUM))); DelayCommand(17.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,Loc1,23.5)); DelayCommand(17.1, ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,Loc2,24.6)); DelayCommand(19.5, AssignCommand(oPC,SetCameraFacing(3.0,5.0,50.0,CAMERA_TRANSITION_TYPE_MEDIUM))); DelayCommand(23.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oRc1)); DelayCommand(24.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oRc2)); DelayCommand(25.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oRc3)); DelayCommand(27.1, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis3,oWp4,24.6)); DelayCommand(29.1, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis3,oWp5,24.6)); DelayCommand(31.1, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis3,oWp6,24.6)); //OXRANA SDOXLA POAVILIS SCELETA//////////////////////////////////////////////// DelayCommand(32.0,AssignCommand(oSk4,ActionJumpToObject(oWp4))); DelayCommand(33.0,AssignCommand(oSk5,ActionJumpToObject(oWp5))); DelayCommand(34.0,AssignCommand(oSk6,ActionJumpToObject(oWp6))); DelayCommand(36.5, AssignCommand(oPC,SetCameraFacing(0.0,0.0,30.0,CAMERA_TRANSITION_TYPE_MEDIUM))); //==============PEREMENI I ZAMENIM MUSICU======================================= MusicBackgroundChangeNight(GetArea(OBJECT_SELF), 43); //------------------------------------------------------------------------------ DelayCommand(40.0,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,Loc1,23.5)); DelayCommand(41.1,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,Loc2,24.6)); DelayCommand(43.0,AssignCommand(oGendolf,ActionSpeakString("d"))); DelayCommand(48.8, AssignCommand(oSk4, ActionDoCommand(DestroyObject(oSk4)))); DelayCommand(49.8, AssignCommand(oSk5, ActionDoCommand(DestroyObject(oSk5)))); DelayCommand(52.8, AssignCommand(oSk6, ActionDoCommand(DestroyObject(oSk6)))); AssignCommand(oPC,JumpToObject(oWpPc)); DelayCommand(55.5, AssignCommand(oPC,SetCameraFacing(180.0,10.0,49.0,CAMERA_TRANSITION_TYPE_MEDIUM))); ActionWait(3.4); DelayCommand(60.5, AssignCommand(oPC,SetCameraFacing(111.0,5.0,10.0,CAMERA_TRANSITION_TYPE_MEDIUM))); ActionWait(4.4); DelayCommand(61.5, AssignCommand(oPC,SetCameraFacing(0.0,5.0,50.0,CAMERA_TRANSITION_TYPE_MEDIUM))); ////////////////////////// effect ePr = EffectCutsceneParalyze(); ////////////////////////// DelayCommand(62.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis4,oWp10)); DelayCommand(64.0,AssignCommand(oBalrog,ActionJumpToObject(oWp10))); DelayCommand(66.0, AssignCommand(oBalrog, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 0.9, 5.0))); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePr, oBalrog, 40.5); DelayCommand(68.0,AssignCommand(oBalrog,ActionSpeakString("d "))); //::::HODUMAEM HMMMM GENDOLF O NUKA POHOL POHOL::::::::::::::::::::::::::::::::: DelayCommand(68.0,AssignCommand(oGendolf,ActionSpeakString("d"))); DelayCommand(70.0,AssignCommand(oGendolf,ActionMoveToObject(oWp5,TRUE))); DelayCommand(76.0, AssignCommand(oBalrog, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 0.9, 5.0))); DelayCommand(78.0,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,Loc1,23.5)); DelayCommand(79.1,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,Loc2,24.6)); DelayCommand(82.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oGendolf)); DelayCommand(85.5, AssignCommand(oPC,SetCameraFacing(4.0,6.0,45.0,CAMERA_TRANSITION_TYPE_MEDIUM))); } } |
Neverwinter Script Source |
MusicBackgroundChangeNight(GetArea(OBJECT_SELF), 43); MusicBackgroundChangeDay(GetArea(OBJECT_SELF), 43); |
Neverwinter Script Source |
void main() { object oPC=GetExitingObject(); object oZed=GetObjectByTag("Zed"); object oV1=GetObjectByTag("valun_1"); object oV2=GetObjectByTag("valun_2"); object oV3=GetObjectByTag("valun_3"); object oV4=GetObjectByTag("valun_4"); object oWp1=GetWaypointByTag("E_D_ZED"); object oWp2=GetWaypointByTag("pp_point_zed_1"); object oWp3=GetWaypointByTag("pp_point_pc_1"); object oWp4=GetWaypointByTag("pp_point_pc_2"); object oArea2=GetObjectByTag("area006"); object oTr=GetTransitionTarget(GetObjectByTag("D_RichExit1")); effect eCutInv=EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); effect oEf1=EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL); if(GetLocalInt(oPC,"ZedInt")==TRUE&&GetLocalInt(oPC,"ZedRolic")==1) { AssignCommand(oPC,ClearAllActions()); SetLocalInt(oPC,"ZedRolic",2); DelayCommand(0.1,SetCutsceneMode(oPC)); DelayCommand(0.2,AssignCommand(oPC,JumpToObject(oWp3))); DelayCommand(0.2,AssignCommand(oZed,JumpToObject(oWp2))); DelayCommand(0.2,ApplyEffectToObject(DURATION_TYPE_PERMANENT,eCutInv,oPC)); DelayCommand(0.5,AssignCommand(oPC,SetFacingPoint(GetPosition(oZed)))); DelayCommand(2.5,AssignCommand(oPC,SetCameraFacing(0.0,3.5,89.0,CAMERA_TRANSITION_TYPE_SLOW))); DelayCommand(4.5,AssignCommand(oZed,ActionSpeakString("Так, так, так..."))); DelayCommand(6.5,AssignCommand(oPC,ActionMoveToObject(oZed,FALSE,1.0))); DelayCommand(8.5,AssignCommand(oPC,SetCameraFacing(10.0,4.0,55.0,CAMERA_TRANSITION_TYPE_MEDIUM))); DelayCommand(12.5,AssignCommand(oPC,JumpToObject(oWp4))); DelayCommand(12.5,MusicBackgroundChangeDay(oArea2,TRACK_BATTLE_ENDBOSS)); DelayCommand(12.5,AssignCommand(oPC,SetFacingPoint(GetPosition(oZed)))); DelayCommand(17.0,AssignCommand(oZed,ActionCastSpellAtObject(SPELL_EPIC_RUIN,oV2,METAMAGIC_NONE,TRUE,0,PROJECTILE_PATH_TYPE_HIGH_BALLISTIC,FALSE))); DelayCommand(19.5,DestroyObject(oV1)); DelayCommand(19.5,DestroyObject(oV2)); DelayCommand(19.5,DestroyObject(oV3)); DelayCommand(19.5,DestroyObject(oV4)); DelayCommand(20.5,AssignCommand(oZed,ActionSpeakString("Порйадок! "))); DelayCommand(21.5,ApplyEffectAtLocation(DURATION_TYPE_PERMANENT,oEf1,GetLocation(oWp2),2.5)); DelayCommand(24.5,AssignCommand(oZed,JumpToObject(oWp1))); DelayCommand(29.0,AssignCommand(oPC,JumpToLocation(GetLocation(oTr)))); DelayCommand(29.1,SetCutsceneMode(oPC,FALSE)); DelayCommand(29.1,RemoveEffect(oPC,eCutInv)); } } |
Neverwinter Script Source |
DelayCommand(24.5,AssignCommand(oZed,ActionJumpToObject(oWp1))); |
QUOTE (Nokoll @ Feb 20 2005, 02:47) |
И ещё думаю это невозможно но всё же спрошу можно ли сделать так чтобы мост сломался после смерти Гендольфа эффекто разрушился, балрога нет и гендольфа нет! |
QUOTE (Oksivarus @ Feb 21 2005, 12:35) |
В разделе скриптов есть скрипт на умирание в котором (насколько я понял) есть строчька которая должна создавать пятно крови возле игрока - как ее создать, а вернее в каком разделе предметов. Я нашел в стандартной политре это пятно поставил в тут строчьку ее тег но пятно не появляется. Подскажите что нетак. |
QUOTE (Nokoll @ Feb 22 2005, 11:11) |
А зачем ващще EffectRespawn(), здесь незнаю |
QUOTE |
Следовательно надо сделать еще один цикл, в котором на первом шаге снимаются эффекты, а на втором собственно маг и дохнет. Видимо как-то так. В меру моего понимания данной реализации конечно и не имея под руками Лексикона... |
QUOTE (Nokoll @ Feb 22 2005, 10:11) |
Возможно я опозорюсь но я думал что INVALID это фракцыя как и OBJECT_SELF. |
QUOTE (Grazzt @ Dark Prince, Feb 22 2005, 09:06) |
А еще один мааленький вопросик: GetEffectCreater(); - насколько я пронимаю выдает объекта-криэйтора эффекта. То бишь условно говоря мага2. А если к примеру маг2 уже подох, и соответственно функция вернет INVALID'а (ну насколько я понимаю - или нет?). Надо ли onDeath мага2 к примеру вешать функцию криэйта его копии в закрытой локации или вешать какой нибудь EffectRespawn() и т.д, и только после этого удалять эффекты? |
QUOTE (DBColl @ Feb 22 2005, 13:28) |
Копия объекта-креатора не будет являться креатором эффекта. Это не выход. |
QUOTE (DBColl) |
Копия объекта-креатора не будет являться креатором эффекта. Это не выход. |
QUOTE (Grazzt @ Dark Prince, Feb 22 2005, 15:42) |
Например: DestroyObject(bla-bla-bla); DelayCommand(0.1,CreateObject(bla-bla-bla)); То почему с точки зрения функционирования системы он не будет являтся креатором эффекта? Ведь фактически он в конкретный момент вемени уникален -т.е. никаких других обьектов с такими тэгом и ресцефом на локации (да и во всем модуле) не присутствует. |
CODE |
[Wed Feb 23 01:08:03] Loading Module: TEST_Lair_02 .*** Effect creator is :OID: 0x4, Name: Altar, Tag: TL_ALTAR, ResRef: plc_altrneutral *** ..*** -= xx_altar_ouexe run =- *** .*** -= removeEffectByStoredCreator(7fffffff, effector) called =- *** *** Effect creator was: OID: 0x4, Name: n/a, Tag: n/a, ResRef: n/a *** *** GetIsObjectValid(oCreator) return: 0 *** *** 1 effects was removed. *** *** ------------- *** ..................................[Wed Feb 23 01:14:33] Server Shutting Down |
Neverwinter Script Source |
void removeEffectByStoredCreator(object oTarget, string sVarName) { object oCreator = GetLocalObject(oTarget, sVarName); effect eRemove = GetFirstEffect(oTarget); while (GetIsEffectValid(eRemove)) { if (GetEffectCreator(eRemove) == oCreator) { RemoveEffect(oTarget, eRemove); } eRemove = GetNextEffect(oTarget); } } |
QUOTE (Nokoll @ Feb 25 2005, 13:09) |
Дайте плизз ктонибудь скрипт, чтобы любой Непись сделался статуей |
QUOTE |
В теории надо еще спелл Stone to Flesh слегка отредактировать, чтобы такую статую нельзя было раскаменить |
Neverwinter Script Source |
//reapply stone effect void Stone() { SetPlotFlag(OBJECT_SELF, FALSE); effect eStone = EffectPetrify(); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eStone, OBJECT_SELF); SetPlotFlag(OBJECT_SELF, TRUE); } void main() { int nSpell = GetLastSpell(); if(nSpell == SPELL_DISPEL_MAGIC || nSpell == SPELL_GREATER_DISPELLING || nSpell ==SPELL_MORDENKAINENS_DISJUNCTION) { DelayCommand(2.1, Stone()); } } |
Neverwinter Script Source |
if (GetCreatureFlag(GetSpellTargetObject(), "STATUE") == TRUE) return; |
Neverwinter Script Source |
object oContainer = GetObjectByTag("x2_chapter1pcequip"); //NEW CONTAINER - // This container is in the final area of Chapter 1! // * pick up any equipment lying on the ground // * Thanks Mr. Cheater! object oArea = OBJECT_INVALID; object oItem = GetFirstObjectInArea(oArea); while (GetIsObjectValid(oItem) == TRUE) { if (GetObjectType(oItem) == OBJECT_TYPE_ITEM) { CopyItem(oItem, oContainer); SetPlotFlag(oItem, FALSE); DestroyObject(oItem, 0.1); } oItem = GetNextObjectInArea(oArea); } //if this is the main PC - who has had the dream if (GetLocalInt(oPC, "nPCNumber") == 1) { //if this is the case, strip PC of all equipment, place //it on the weapons rack ("q2a_pc_equip" and //spawn in the assassin ("q2adrowassassin") // Removing PC's equipment. object oGear = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC); object oGear2; //object oContainer = GetObjectByTag("q2a_pc_equip");//OLD CONTAINER - IN PC START ROOM int nGold = 0; if(GetIsObjectValid(oGear)) { nGold = nGold + GetGoldPieceValue(oGear); oGear2 = CopyItem(oGear, oContainer); SetPlotFlag(oGear, FALSE); DestroyObject(oGear); } oGear = GetItemInSlot(INVENTORY_SLOT_BELT, oPC); if(GetIsObjectValid(oGear)) { nGold = nGold + GetGoldPieceValue(oGear); oGear2 = CopyItem(oGear, oContainer); SetPlotFlag(oGear, FALSE); DestroyObject(oGear); } oGear = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC); if(GetIsObjectValid(oGear)) { nGold = nGold + GetGoldPieceValue(oGear); oGear2 = CopyItem(oGear, oContainer); SetPlotFlag(oGear, FALSE); DestroyObject(oGear); } |
Neverwinter Script Source |
//:://///////////////////////////////////////////// //:: Name: PIVI_ATTAC //:: Copyright © 2001 WRG Corp. //::////////////////////////////////////////////// /* Piviga Attacuet? CutScena Nachalo Bitva/ */ //::////////////////////////////////////////////// //:: Created By: Nokoll //:: Created On: Feb 25, 2005 //::////////////////////////////////////////////// #include "x2_inc_cutscene" //Include dobovlaet plavnost camere i novie deistvia! void main() { object oPC = GetEnteringObject(); object oPIVI = GetObjectByTag("PIVI_GIVI");//BIG BOSS.... object oNpc1 = GetObjectByTag("NPC1"); object oNpc2 = GetObjectByTag("NPC2"); object oNpc3 = GetObjectByTag("NPC3"); object oNpc4 = GetObjectByTag("NPC4"); object oNpc5 = GetObjectByTag("NPC5"); object oNpc6 = GetObjectByTag("NPC6"); object oNpc7 = GetObjectByTag("NPC7"); object oNpc8 = GetObjectByTag("NPC8"); object oNpc9 = GetObjectByTag("NPC9"); object oNpc10 = GetObjectByTag("NPC10"); //------------------------------------------------------------------| effect eCutIn = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);//|:CutSchene: //------------------------------------------------------------------| effect on = EffectDazed(); effect eVis = EffectAreaOfEffect(VFX_DUR_DARKNESS); object oNpc11 = GetObjectByTag("NPC11"); object oNpc12 = GetObjectByTag("NPC12"); object oNpc13 = GetObjectByTag("NPC13"); object oNpc14 = GetObjectByTag("NPC14"); object oNpc15 = GetObjectByTag("NPC15"); object oNpc16 = GetObjectByTag("NPC16"); object oNpc17 = GetObjectByTag("NPC17"); object oNpc18 = GetObjectByTag("NPC18"); object oNpc19 = GetObjectByTag("NPC19"); object oNpc20 = GetObjectByTag("NPC20"); //====================================================================== //Get Waypoint by teg!-------------------------------------------------- object oPIVIWP = GetWaypointByTag("PIVIWP");//BIG BOSS WP! object oWP1 = GetWaypointByTag("WP1"); object oWP2 = GetWaypointByTag("WP2"); object oWP3 = GetWaypointByTag("WP3"); object oWP4 = GetWaypointByTag("WP4"); object oWP5 = GetWaypointByTag("WP5"); object oWP6 = GetWaypointByTag("WP6"); object oWP7 = GetWaypointByTag("WP7"); object oWP8 = GetWaypointByTag("WP8"); object oWP9 = GetWaypointByTag("WP9"); object oWP10 = GetWaypointByTag("WP10"); object oWP11 = GetWaypointByTag("WP11"); object oWP12 = GetWaypointByTag("WP12"); object oWP13 = GetWaypointByTag("WP13"); object oWP14 = GetWaypointByTag("WP14"); object oWP15 = GetWaypointByTag("WP15"); object oWP16 = GetWaypointByTag("WP16"); object oWP17 = GetWaypointByTag("WP17"); object oWP18 = GetWaypointByTag("WP18"); object oWP19 = GetWaypointByTag("WP19"); object oWP20 = GetWaypointByTag("WP20"); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> object oDrc1 = GetWaypointByTag("DARC1"); object oDrc2 = GetWaypointByTag("DARC2"); object oDrc3 = GetWaypointByTag("DARC3"); object oDrc4 = GetWaypointByTag("DARC4"); //....................................................................... object oCm1 = GetWaypointByTag("Camera1"); object oCm2 = GetWaypointByTag("Camera2"); object oCm3 = GetWaypointByTag("Camera3"); AssignCommand(oNpc1, ClearAllActions()); AssignCommand(oNpc2, ClearAllActions()); AssignCommand(oNpc3, ClearAllActions()); AssignCommand(oNpc4, ClearAllActions()); AssignCommand(oNpc5, ClearAllActions()); AssignCommand(oNpc6, ClearAllActions()); AssignCommand(oNpc7, ClearAllActions()); AssignCommand(oNpc8, ClearAllActions()); AssignCommand(oNpc9, ClearAllActions()); AssignCommand(oNpc10, ClearAllActions()); AssignCommand(oNpc11, ClearAllActions()); AssignCommand(oNpc12, ClearAllActions()); AssignCommand(oNpc13, ClearAllActions()); AssignCommand(oNpc14, ClearAllActions()); AssignCommand(oNpc15, ClearAllActions()); AssignCommand(oNpc16, ClearAllActions()); AssignCommand(oNpc17, ClearAllActions()); AssignCommand(oNpc18, ClearAllActions()); AssignCommand(oNpc19, ClearAllActions()); AssignCommand(oNpc20, ClearAllActions()); //=============================***SCRIPT***============================== DelayCommand(0.5, FadeToBlack(oPC, FADE_SPEED_FASTEST)); SetCutsceneMode(oPC); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutIn, oPC, 20.0); DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM)); DelayCommand(3.0, AssignCommand(oPC, SetCameraFacing(90.0, 5.0, 79.0, CAMERA_TRANSITION_TYPE_SNAP))); //....................................................................... DelayCommand(6.7, AssignCommand(oPC, SetCameraFacing(90.0, 5.0, 79.0, CAMERA_TRANSITION_TYPE_SNAP))); DelayCommand(8.5, AssignCommand(oPIVI, ActionMoveToObject(oPIVIWP))); DelayCommand(14.0, AssignCommand(oPIVI, PlayVoiceChat(VOICE_CHAT_GOODBYE))); DelayCommand(15.0, AssignCommand(oPIVI, ActionCastSpellAtObject(SPELL_HEALING_STING,oPC, METAMAGIC_ANY, 1))); DelayCommand(16.5, AssignCommand(oPC, ActionJumpToObject(oCm1))); DelayCommand(17.7, AssignCommand(oPC, SetCameraFacing(90.0, 5.0, 79.0, CAMERA_TRANSITION_TYPE_SNAP))); //=======================Go Go Go======================================== DelayCommand(20.5, AssignCommand(oNpc1, ActionMoveToObject(oWP1))); DelayCommand(21.5, AssignCommand(oNpc2, ActionMoveToObject(oWP2))); DelayCommand(23.5, AssignCommand(oNpc3, ActionMoveToObject(oWP3))); DelayCommand(24.5, AssignCommand(oNpc4, ActionMoveToObject(oWP4))); DelayCommand(25.5, AssignCommand(oNpc5, ActionMoveToObject(oWP5))); DelayCommand(27.5, AssignCommand(oNpc6, ActionMoveToObject(oWP6))); DelayCommand(28.5, AssignCommand(oNpc7, ActionMoveToObject(oWP7))); DelayCommand(29.5, AssignCommand(oNpc8, ActionMoveToObject(oWP8))); DelayCommand(31.5, AssignCommand(oNpc9, ActionMoveToObject(oWP9))); DelayCommand(33.5, AssignCommand(oNpc10,ActionMoveToObject(oWP10))); //________________________________________________________________________ DelayCommand(36.5, AssignCommand(oNpc11, ActionMoveToObject(oWP11))); DelayCommand(37.5, AssignCommand(oNpc12, ActionMoveToObject(oWP12))); DelayCommand(38.5, AssignCommand(oNpc13, ActionMoveToObject(oWP13))); DelayCommand(39.5, AssignCommand(oNpc14, ActionMoveToObject(oWP14))); DelayCommand(40.5, AssignCommand(oNpc15, ActionMoveToObject(oWP15))); DelayCommand(41.5, AssignCommand(oNpc16, ActionMoveToObject(oWP16))); DelayCommand(43.5, AssignCommand(oNpc17, ActionMoveToObject(oWP17))); DelayCommand(45.5, AssignCommand(oNpc18, ActionMoveToObject(oWP18))); DelayCommand(47.5, AssignCommand(oNpc19, ActionMoveToObject(oWP19))); DelayCommand(49.5, AssignCommand(oNpc20, ActionMoveToObject(oWP20))); //,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, DelayCommand(50.0, AssignCommand(oNpc10, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 13.2, 2.0))); DelayCommand(52.0, AssignCommand(oNpc20, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 15.4, 2.0))); DelayCommand(56.0, AssignCommand(oPIVI, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 12.1, 3.0))); DelayCommand(57.0, AssignCommand(oPIVI, PlayVoiceChat(VOICE_CHAT_LAUGH))); DelayCommand(59.5, AssignCommand(oPC, ActionJumpToObject(oCm2))); DelayCommand(62.6, AssignCommand(oPC, SetCameraFacing(180.0, 5.0, 180.0, CAMERA_TRANSITION_TYPE_SNAP))); DelayCommand(63.0, SetCutsceneMode(oPC, FALSE)); DelayCommand(64.5, AssignCommand(oPC, ActionJumpToObject(oCm3))); DelayCommand(65.5,RemoveEffect(oPC,eCutIn)); } |
QUOTE (Лито @ Feb 28 2005, 20:24) |
Прошу помочь скриптом. Чтобы при воскрешении и райз дэде снимался опыт -50 за уровень(как при респауне). Я понимаю что я задавал этот вопрос, но тогда мне сказали как просто снять с игрока определенное кол-во опыта. |
QUOTE |
Иначе, нужно переписывать скрипты спелов райз дед |
QUOTE |
Кстати вот ты говоришь про то что лучше снять экспу при смерти игрока, но дело упирается в том что у меня нет этого куска скрипта! не просто -300 хр а 300 за 10 левелов = 3к. |
Neverwinter Script Source |
//... int nPenalty = GetHitDice(oPC)*300; SetXP(GetXP(oPC)-nPenalty); //... |
QUOTE |
Ноколл, если скрипт на триггере, то он будет срабатывать многократно, как только на него наступит какой-нибудь НПС. Добавь object oPC = GetEnteringObject(); if (!GetIsPC(oPC)) return; И вешай локалку (или стирай триггер), чтобы скрипт запускался только один раз. Глубже копать твои скрипты вряд ли кто-нибудь отважится. |
Neverwinter Script Source |
object oPC = GetLastSpellCaster(); object oHoly = GetObjectByTag("cleric_symbol"); if (!GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)) { return; } |
QUOTE (Лито @ Mar 2 2005, 11:54) | ||
Требуется сделать проверку, есть ли предмет oHoly в левой руке игрока. Если предмета в руке нет, то скрипт не выполняется.
Я конечно понимаю, что вот то, что вверху, все неправильно, но хотелось представить все хоть какие то результаты моей деятельности... Помогите довести проверку до ума |
Neverwinter Script Source |
void main() { object oPC = GetLastSpellCaster(); object oHoly = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); if (GetTag(oHoly) != "cleric_symbol") return; } |