Quelqu'un sait-il me dire pourquoi ce script provoque un chargement, alors qu'il ne devrait pas y en avoir, lorsque le démon (AARDemonicusRefDemon) apparaît dans la cité impériale au quartier du marché et qu'il est tué ??? Quand le temps de chargement est fini, le jeu bug.
Il n'y a pas de problème lorsque le démon ne meurt pas et qu'on est en extérieur (devant vilverin par exemple)...
Script de l'épée qui fait appparaître le démon :
ScriptName AARDemonicus04Script ; script sur objet float timer short catch short Equiped short DoOnce short level short OnPlay0 short nbrOld3 short warning short step short OnHorse ref Self Begin OnAdd player if (catch == 0) set Self to GetSelf set nbrOld3 to player.GetItemCount AARDemonicus03 if (nbrOld3 != 0) Message " " Message " " player.UnequipItem AARDemonicus03 1 Message " " Message " " player.RemoveItem AARDemonicus03 nbrOld3 endif Message " " Message " " player.EquipItem AARDemonicus04 1 set catch to 1 endif End Begin GameMode ; Apparition du démon if (catch == 1) set timer to 120 set catch to 2 elseif (catch == 2) ; Pas de contrôle TriggerHitShader 50 DisablePlayerControls 1 ; Fantôme player.SetGhost 1 player.AddSpell AARDemonicusSpellDemonInvisibility ; Démon AARDemonicusRefDemon.Enable AARDemonicusRefDemon.Resurrect AARDemonicusRefDemon.AddItem AARDemonicus04SelfDisable 1 AARDemonicusRefDemon.MoveTo player ; Sort AARDemonicusRefDemon.Cast AARDemonicusSpellDemonRise00 player set catch to 3 elseif (catch == 3) if (timer > 0) set timer to (timer - GetSecondsPassed) if (AARDemonicusRefDemon.GetDistance player > 512 && catch == 3) player.MoveTo AARDemonicusRefDemon endif else set catch to 4 endif elseif (catch == 4) ; Démon AARDemonicusRefDemon.RemoveItem AARDemonicus04SelfDisable 1 AARDemonicusRefDemon.Disable AARDemonicusRefDemon.MoveTo AARDemonicusRefMarkBase ; Contrôle EnablePlayerControls 1 ; Normal player.SetGhost 0 player.RemoveSpell AARDemonicusSpellDemonInvisibility ; Arrêter de suivre set catch to 5 SetStage AARDemonicusQuestDemonicus00 25 StartQuest AARDemonicusQuestNoDemon00 endif ; Savoir si le joueur est équipé de l'arme if (player.GetEquipped AARDemonicus04 == 1) set Equiped to 1 set AARDemonicusGlobalEquiped04 to 1 elseif (player.GetEquipped AARDemonicus04 == 0) set Equiped to 0 set AARDemonicusGlobalEquiped04 to 0 endif ; Si le joueur est équipé if (Equiped == 1) if (DoOnce == 0) Message " " Message " " player.AddSpell AARDemonicusSpell00Resurrect Message " " Message " " player.AddSpell AARDemonicusSpell01BreakArmor Message " " Message " " player.AddSpell AARDemonicusSpell02HealthUp Message " " Message " " player.AddSpell AARDemonicusSpell03Boost04 Message " " Message " " player.AddSpell AARDemonicusSpell05Hilt set DoOnce to 1 elseif (DoOnce == 1 && warning == 0) if (player.GetActorValue fatigue <= ((15/100) * (player.GetBaseActorValue fatigue))) Message " " Message " " player.AddSpell AARDemonicusSpell04Drain04 Message " " Message " " player.RemoveSpell AARDemonicusSpell03Boost04 set warning to 1 endif endif ; Si le joueur n'est pas équipé elseif (Equiped == 0) if (DoOnce == 1) Message " " Message " " player.RemoveSpell AARDemonicusSpell00Resurrect Message " " Message " " player.RemoveSpell AARDemonicusSpell01BreakArmor Message " " Message " " player.RemoveSpell AARDemonicusSpell02HealthUp Message " " Message " " player.RemoveSpell AARDemonicusSpell05Hilt if (warning == 0) Message " " Message " " player.RemoveSpell AARDemonicusSpell03Boost04 elseif (warning == 1) Message " " Message " " player.RemoveSpell AARDemonicusSpell04Drain04 set warning to 0 endif set DoOnce to 0 endif endif ; Update des dégâts if (AARDemonicusGlobalKill04 == 25) ModAttackDamage 1 Self elseif (AARDemonicusGlobalKill04 == 50) ModAttackDamage 2 Self elseif (AARDemonicusGlobalKill04 == 75) ModAttackDamage 3 Self endif ; Evolution vers le niveau suivant set OnPlay0 to player.GetItemCount AARDemonicus04 if (OnPlay0 != 0) if (AARDemonicusGlobalKill04 >= 100 && AARDemonicusGlobalCountSpell00Resurrect >= 3 && AARDemonicusGlobalCountSpell01BreakArmor >= 3 && AARDemonicusGlobalCountSpell02HealthUp >= 3 && catch == 5 && level == 0) set level to 1 endif endif if (level == 1) if (step == 0) set timer to 15 set step to 1 elseif (step == 1) if (timer > 0) set timer to timer - GetSecondsPassed else set step to 2 endif elseif (step == 2) if (OnPlay0 != 0) if (player.IsRidingHorse == 1) set OnHorse to 1 elseif (player.IsRidingHorse == 0) if (OnHorse == 0) Message " " Message " " player.AddItem AARDemonicus05 1 set level to 2 elseif (OnHorse == 1) set timer to 2 set OnHorse to 2 elseif (OnHorse == 2) if (timer > 0) set timer to timer - GetSecondsPassed else set OnHorse to 0 endif endif endif endif endif endif End
Script sur le démon :
scn AARDemonicusRefDemon00Script short MustMute short levelPlayer short strengthPlayer short intelligencePlayer short willpowerPlayer short agilityPlayer short speedPlayer short endurancePlayer short luckPlayer short personalityPlayer short armorerPlayer short athleticsPlayer short bladePlayer short blockPlayer short bluntPlayer short handtohandPlayer short heavyarmorPlayer short alchemyPlayer short alterationPlayer short conjurationPlayer short destructionPlayer short illusionPlayer short mysticismPlayer short restorationPlayer short acrobaticsPlayer short lightarmorPlayer short marksmanPlayer short mercantilePlayer short securityPlayer short sneakPlayer short speechcraftPlayer Begin OnDeath if (GetStage AARDemonicusQuestMain00 == 17) set AARDemonicusGlobalDemonAttack to 0 Resurrect MoveTo player 1 0 0 SetStage AARDemonicusQuestMain00 18 ; Course contre la montre perdue elseif (GetStage AARDemonicusQuestNoDemon00 == 50) set AARDemonicusGlobalDemonAttack to 0 Disable Player.MoveTo AARDemonicusRefMarkRoom SetStage AARDemonicusQuestNoDemon00 55 ; Nombre insuffisant de fantôme elseif (GetStage AARDemonicusQuestNoDemon00 == 70) set AARDemonicusGlobalDemonAttack to 0 Disable Player.MoveTo AARDemonicusRefMarkRoom if (AARDemonicusGlobalHolyWater00 > 1) if (player.GetItemCount AARDemonicus04 > 0) player.UnequipItem AARDemonicus04 1 player.RemoveItem AARDemonicus04 1 elseif (player.GetItemCount AARDemonicus05 > 0) player.UnequipItem AARDemonicus05 1 player.RemoveItem AARDemonicus05 1 elseif (player.GetItemCount AARDemonicus06 > 0) player.UnequipItem AARDemonicus06 1 player.RemoveItem AARDemonicus06 1 endif SetStage AARDemonicusQuestNoDemon00 75 else SetStage AARDemonicusQuestNoDemon00 80 endif ; Nombre suffisant de fantôme que pour avoir l'épée elseif (GetStage AARDemonicusQuestNoDemon00 == 90) set AARDemonicusGlobalDemonAttack to 0 Disable Player.MoveTo AARDemonicusRefMarkRoom if (AARDemonicusGlobalHolyWater00 > 1) if (player.GetItemCount AARDemonicus04 > 0) player.UnequipItem AARDemonicus04 1 player.RemoveItem AARDemonicus04 1 elseif (player.GetItemCount AARDemonicus05 > 0) player.UnequipItem AARDemonicus05 1 player.RemoveItem AARDemonicus05 1 elseif (player.GetItemCount AARDemonicus06 > 0) player.UnequipItem AARDemonicus06 1 player.RemoveItem AARDemonicus06 1 endif player.AddItem AARDemonicus07 1 SetStage AARDemonicusQuestNoDemon00 95 else SetStage AARDemonicusQuestNoDemon00 100 endif ; Pas pendant stage de quête else set AARDemonicusGlobalDemonAttack to 0 MoveTo AARDemonicusRefMarkBase Disable endif End Begin OnStartCombat player if (AARDemonicusGlobalDemonAttack == 0) AARDemonicusRefDemon.StopCombat player endif End Begin GameMode ; Evolution ou non ? if (AARDemonicusRefDemon.GetLevel < (player.GetLevel + 10)) set MustMute to 1 endif ; Evolution if (MustMute == 1) set MustMute to 0 ; Niveau du démon set levelPlayer to (player.GetLevel + 10) AARDemonicusRefDemon.SetLevel levelPlayer ; Stat du démon set strengthPlayer to (player.GetActorValue strength + 10) set intelligencePlayer to (player.GetActorValue intelligence + 10) set willpowerPlayer to (player.GetActorValue willpower + 10) set agilityPlayer to (player.GetActorValue agility + 10) set speedPlayer to (player.GetActorValue speed + 10) set endurancePlayer to (player.GetActorValue endurance + 10) set luckPlayer to (player.GetActorValue luck + 10) set personalityPlayer to (player.GetActorValue personality + 10) set armorerPlayer to (player.GetActorValue armorer + 10) set athleticsPlayer to (player.GetActorValue athletics + 10) set bladePlayer to (player.GetActorValue blade + 10) set blockPlayer to (player.GetActorValue block + 10) set bluntPlayer to (player.GetActorValue blunt + 10) set handtohandPlayer to (player.GetActorValue handtohand + 10) set heavyarmorPlayer to (player.GetActorValue heavyarmor + 10) set alchemyPlayer to (player.GetActorValue alchemy + 10) set alterationPlayer to (player.GetActorValue alteration + 10) set conjurationPlayer to (player.GetActorValue conjuration + 10) set destructionPlayer to (player.GetActorValue destruction + 10) set illusionPlayer to (player.GetActorValue illusion + 10) set mysticismPlayer to (player.GetActorValue mysticism + 10) set restorationPlayer to (player.GetActorValue restoration + 10) set acrobaticsPlayer to (player.GetActorValue acrobatics + 10) set lightarmorPlayer to (player.GetActorValue lightarmor + 10) set marksmanPlayer to (player.GetActorValue marksman + 10) set mercantilePlayer to (player.GetActorValue mercantile + 10) set securityPlayer to (player.GetActorValue security + 10) set sneakPlayer to (player.GetActorValue sneak + 10) set speechcraftPlayer to (player.GetActorValue speechcraft + 10) AARDemonicusRefDemon.SetActorValue strength strengthPlayer AARDemonicusRefDemon.SetActorValue intelligence intelligencePlayer AARDemonicusRefDemon.SetActorValue willpower willpowerPlayer AARDemonicusRefDemon.SetActorValue agility agilityPlayer AARDemonicusRefDemon.SetActorValue speed speedPlayer AARDemonicusRefDemon.SetActorValue endurance endurancePlayer AARDemonicusRefDemon.SetActorValue luck luckPlayer AARDemonicusRefDemon.SetActorValue personality personalityPlayer AARDemonicusRefDemon.SetActorValue armorer armorerPlayer AARDemonicusRefDemon.SetActorValue athletics athleticsPlayer AARDemonicusRefDemon.SetActorValue blade bladePlayer AARDemonicusRefDemon.SetActorValue block blockPlayer AARDemonicusRefDemon.SetActorValue blunt bluntPlayer AARDemonicusRefDemon.SetActorValue handtohand handtohandPlayer AARDemonicusRefDemon.SetActorValue heavyarmor heavyarmorPlayer AARDemonicusRefDemon.SetActorValue alchemy alchemyPlayer AARDemonicusRefDemon.SetActorValue alteration alterationPlayer AARDemonicusRefDemon.SetActorValue conjuration conjurationPlayer AARDemonicusRefDemon.SetActorValue destruction destructionPlayer AARDemonicusRefDemon.SetActorValue illusion illusionPlayer AARDemonicusRefDemon.SetActorValue mysticism mysticismPlayer AARDemonicusRefDemon.SetActorValue restoration restorationPlayer AARDemonicusRefDemon.SetActorValue acrobatics acrobaticsPlayer AARDemonicusRefDemon.SetActorValue lightarmor lightarmorPlayer AARDemonicusRefDemon.SetActorValue marksman marksmanPlayer AARDemonicusRefDemon.SetActorValue mercantile mercantilePlayer AARDemonicusRefDemon.SetActorValue security securityPlayer AARDemonicusRefDemon.SetActorValue sneak sneakPlayer AARDemonicusRefDemon.SetActorValue speechcraft speechcraftPlayer endif End
Modifié par beeratwork, 03 septembre 2009 - 19:27.