Construction Set Wiederbelebungs-Skript

Wavebreaker02

Reisender
Hallo alle zusammen! :)

Ich hab mal wieder ein Problem mit einem Skript. ...
Ich möchte gerne, dass ich einen NPC, wenn er tot ist, durch einen Zauber wiederbeleben kann, dass er mir anschließend folgt und ich ihn mit speziellen Sachen ausgerüstet habe.

Mein erster Versuch klappt nur bedingt.

scn 0TotenDienerScript

ref Target

Begin GameMode
set Target to Getself
end


Begin ScriptEffectStart

If ( Target.GetDead )
Target.Resurrect 1
endif

Target.RemoveScriptPackage
Target.AddScriptPackage DienerFollow
Target.SetIgnoreFriendlyHits 1

end


Begin ScriptEffectUpdate

If ( Target.GetDead ) && ( Target.IsGuard 0 )
Target.RemoveAllItems
Target.AddItem NecromancerHood 1
Target.AddItem NecromancerRobe 1
Target.AddItem 0TotenSchwert 1
Target.AddItem 0TotenStreitkolben 1
Target.AddItem 0TotenBogen 1
Target.AddItem 0TotenPfeil 10
Target.EquipItem NecromancerRobe
Target.EquipItem NecromancerHood
Target.AddItem 0TotenControlRing 1
Target.EquipItem 0TotenControlRing
endif

end

In früheren Phasen des Skriptes wurden die NPC´s noch eingekleidet.
Jetzt folgen sie mir, ignorieren meine Attacken (IgnoreFriendlyHits) und werden wiederbelebt.
Das Problem:
Man kann auch lebende NPC´s einkleiden, die wiederbelbten NPC´s kämpfen nicht für einen und rennen weg.
Dagegen habe ich mir mit diesem Skript zu helfen versucht, funktioniert aber auch nicht.

scn 0TotenControlRingScript

ref Target

Begin GameMode

if ( Player.IsInCombat Target )
StartCombat Target
endif

end

Ich brauche eure Hilfe.
Ich denke, dass es an dem resurrect leigt, bin mir aber nicht sicher.

MfG Wave
 
Also dass du lebende NPC's auch ankleiden kannst, liegt an dem EffectUpdate. Der läuft nämlich immer ab. Und dass er nicht für dich kämpft, liegt (meiner Meinung nach) daran, dass er dich nicht genug mag. Deshalb probier es mal damit:
Code:
scn 0TotenDienerScript

ref Target
short doonce

Begin GameMode
set Target to Getself
end


Begin ScriptEffectStart

If ( Target.GetDead == 1 )
Target.Resurrect 1
set doonce to 1
endif

Target.RemoveScriptPackage
Target.AddScriptPackage DienerFollow
Target.SetIgnoreFriendlyHits 1

end


Begin ScriptEffectUpdate

If ( Target.IsGuard 0 ) && ( doonce == 1 )
Target.RemoveAllItems
Target.AddItem NecromancerHood 1
Target.AddItem NecromancerRobe 1
Target.AddItem 0TotenSchwert 1
Target.AddItem 0TotenStreitkolben 1
Target.AddItem 0TotenBogen 1
Target.AddItem 0TotenPfeil 10
Target.EquipItem NecromancerRobe
Target.EquipItem NecromancerHood
Target.AddItem 0TotenControlRing 1
Target.EquipItem 0TotenControlRing 
set doonce to 0
target.moddisposition player 100

endif

end
 
  • Like
Reaktionen: Wavebreaker02
Ich habe dein Skript als Grundlage benutzt, noch ein paar Fehler ausgemertzt und siehe da: Es klappt :D

Vielen Dank für den DoOnce Tipp.

MfG Wave