Construction Set Script für Begleiter

Luchs

Neuankömmling
Bin gerade ein Tutorial am machen, in dem es um das Erstellen eines Begleiters geht. Dort steht auch dieser Script:

scn 00NpcScript
ref 00Npc1
short Folgen
short state
short done



Begin onActivate
if ( IsActionRef player == 1 )
set 00Npc1 to getself
MessageBox "Was soll ich tun?", "Mir Folgen", "Hier Warten", " Abbrechen"
set done to 1
Endif
End OnActivate
Begin GameMode
00Npc1.GetFriendHit player
00Npc1.GetIgnoreFriendlyHits
If done == 1
set state to GetButtonPressed
if state == 0
if Folgen == 0
00Npc1.AddScriptPackage 00AI1
StopWaiting 00AI1
set Folgen to 1
set done to 0
Return
elseif Folgen == 1
set Folgen to 1
set done to 0
Return
Endif
elseif state == 1
if Folgen == 1
00Npc1.RemoveScriptPackage 00AI1
Wait 00AI1
set Folgen to 0
set done to 0
Return
elseif Folgen == 1
set Folgen to 0
set done to 0
Return
Endif
elseif state == 2
return
set done to 0
Endif
Endif
Endif
End GameMode

Allerdings bekomme ich beim Speichern die Fehlermeldung:
Script '00NpcScript', line 17:
Script command "00Npc1.GetFriendHit" not found.

Weiterspielen?

etc...

Kenne mich leider mit Scripten nicht aus, hoffe also, dass ihr eine andere Lösung oder so habt.
 
Ahh, das leidige Problem mit Ref-Variablen, die mit Ziffern beginnen.


Ersetzte jedes 00NPC1. durch ein "00NPC1"., dann sollte zumindest das kompilieren so klappen (auch wenn ich etwas an der Wirksamkeit von dem Script selber zweifle).
 
  • Like
Reaktionen: Luchs
Du musst jede RefID, die mit einer Ziffer, hier den Ziffern "00" beginnt, abändern. Da du sie wahrscheinlich schnell finden willst, wäre "aa" als ID-Anfang geeignet.
Danach änderst du das Script und ersetzt jede RefID durch die neue. Dann sollte alles klappen, nicht nur das Kompilieren :)

Mfg
 
Tip für Dein Tutorial: Grundregeln vorwegstellen. Z. B.: Immer sprechende Namen verwenden, also sowas wie CompEgonFollow (wenn der Begleiter Egon heißen soll) statt 00AI1. Je allgemeiner der Name, desto anstrengender wird's später noch durchzusteigen.

Das sind so die Basics, mit denen Profis arbeiten, und das aus gutem Grund. Wirste mit der Zeit aber auch selber merken.