-
Hilfe für ein Skript
Da ich mich beim Scripten nich so auskenn, wollt ich mal fragen ob mir jemand ein Skript schreiben könnte. Des hab ich mir so vorgestellt: Es sollte ein script für einen Zauber sein, den man auf einen NPC wirkt und der sich dann, ähnlich wie bei Hasskill, auflöst, aber dann In einer art Zwischenspeicher befindet und sich dan mit einem anderen Zauber-Script wieder vor einem (so etwa 2 Meter entfertnt, direkt vor einem) materialisiert. Dann sollte der aber bis auf weiteres Demoraliesiert sein und ängstlich versuchen vor dem Spieler zu fliehen (des fals es nich zu viela arbeit macht sollte auch wieder, durch noch einen Zauber, abstellbar sein) und er sollte seine waffen wegwerfen. Könnte des mir einer schreiben? Vielen dank im voraus! (Verbesserte Idee, siehe ganz unten)
edit: Nebenbei könnte mir einer des Script für die Normale Gasfalle so umschreiben, dass diese nur noch 2 mal nach dem sie aktiviert wurde gas verströmt und dann wieder abgestellt wird? Hier is des normale script dafür:
Code:
scn ARTrapGasEmitter01SCRIPT
; spurt gas on activation
short init
float timer
short next
ref mySelf
ref myParent
float fTrapDamage
float fLevelledDamage
float fTrapPushBack
float fTrapMinVelocity
short bTrapContinuous
begin onActivate
if init == 0
set mySelf to getSelf
set myParent to getParentRef
set init to 1
endif
if isActionRef player == 0 && isActionRef mySelf == 0
set init to 2
; set up the damage values
set fTrapDamage to 10
set fTrapPushBack to 0
set fLevelledDamage to 0.125
set fTrapMinVelocity to 20
set bTrapContinuous to 1
set timer to 8
set next to 1
playgroup forward 1
endif
end
begin gameMode
;daisy-chain
if next == 1 && timer <= 7
set next to 0
myParent.activate mySelf 1
endif
if timer <= 0 && init == 2
playgroup forward 1
set timer to 10
endif
if timer > 0
set timer to timer - getSecondsPassed
endif
end
Edit2: mir is noch als ich mir des script vom Hasskill-Zauber angesehn hab, dass des gar nich so kompliziert gemacht werden muss mit dem NPC-Entführungszauber, da ich sie sowiso an einer bestimmten stelle absetzen wollte, dass man des so umändern könnte das der NPC, den der Zauber trifft einfach an bestimmte Koordinaten in einer bestimmten zelle teleportiert wird. (natürlich nur wenn mir einer helfen will, fals nich könnte man des weninstens hier reinschreiben, so dass ich mich nich völlig ignoriet fühle)
-
wirklich keiner da der mir bei den problemen helfen kann?
-
Als erstes brauchst du dafür mal eine Quest, keine Sorge die sieht man später nicht die nähmen wir nur um Infos zwischen den zaubern auszutauschen. Die Quest muss im Questscript die beiden Variablen haben das sieht dann so aus.
PHP-Code:
scn DeinQuestScript
short On
ref target
wichtig ist, dass du rechts oben QuestScript ausgewählt hast.
Dann die beiden Zauber. 1 auf Ziel, 2 auf selbst.
PHP-Code:
scn DeinZauber1
begin ScriptEffectStart
if DeineQuest.On == 0
Moveto DeinMarkerInIrgendeinerLeerenZelle
Set DeineQuest.Target to GetSelf
set DeineQuest.On to 1
endif
end
PHP-Code:
scn DeinZauber2
ref target
begin OnScriptEffectStart
if DeineQuest.On == 1
set target to DeineQuest.Target
target.SetCombatStyle DefaultDeer ;Du kannst auch einen anderen Styl wählen oder erstellen aber derhier war der einzige der mir auswendig eingefallen ist und bei dem das Opfer einfach wegläuft.
Set DeineQuest.On to 0
target.Moveto player, 512, 0, 0
endif
end
Hab das jetzt nicht getestet könnte also eventuell nicht funktionieren.