Construction Set Skriptthread zum Construction Set

Hmm, ich glaub, ich stell' mich echt blöd an :oops:

Mein Code sieht jetzt aus wie folgt :
scn AAWaechterZeit

float timer

Begin GameMode

if getDead == 1
return
endif

if timer >= 0
set timer to (timer - getSecondsPassed)
else
set timer to 10
if KristallwacheLicht.getDead == 1 ; Waechter des Lichtes
KristallwacheLicht.resurrect 1
endif
KristallwacheLicht.resetHealth

if KristallwacheDunkelheit.getDead == 1 ; Waechter der Dunkelheit
KristallwacheDunkelheit.resurrect 1
endif
KristallwacheDunkelheit.resetHealth

if KristallwacheDaemmerung.getDead == 1 ; Waechter der Daemmerung
KristallwacheDaemmerung.resurrect 1
endif
KristallwacheDaemmerung.resetHealth

endif

end


Begin onDeath player

KristallwacheLicht.kill
KristallwacheDunkelheit.kill
KristallwacheDaemmerung.kill

end

Aber ich bekomme eine Fehlermeldung, sobald ich den Script abspeichern will.
"Non persistent reference cannot be used in a script" oder so.

Aber ich habe doch jetzt die Referenzen wie folgt erstellt.

Die Kristallwachen angeklickt und dann in dem Fenster unter Reference-Editor-ID die Namen reingeschrieben.

Was mache ich falsch?

:bye:
 
MAl ne Frage was muss ich einstellen damit mir ein Tier beim erreichen einer Quest Stage hinterherläuft ?

Hat keiner eine Anwort ?
 
Dafür musst du der Kreatur ein Follow-Package mit dem Spieler als "target" zuordnen und dieses Package muss als Condition "getStage == x" haben.
 
So der Script ließ sich jetzt abspeichern. Jetzt guck' ich mal, obs ingame denn funktioniert :D

Also, eine gute und eine schlechte Nachricht.

Gut :

Der Wiederbeleben-Script hat tadellos funktioniert, aber ich muss das auf mehr als 10 Sekunden stellen. Bin fast in der Gegnerflut ertrunken :lol:

Schlecht :

Der Kill-Script hat nicht funktioniert.

:bye:
 
Wie ging nochmal das Script, das eine Queststage auslöst, wenn eine Gruppe von NPC's getötet wird?
Ich erklär's mal genauer: ich will drei Banditen töten, wenn alle drei tot sind soll nie nächste Queststage ausgelöst werden.
Ich weiß, das das hier schon mal besprochen wurde, aber jetzt noch 436 Seiten durchlesen.....???
Danke schon mal für die Antworten!

LG
Arielle 1000
 
Das wurde bestimmt schon mehr als ein Mal gefragt...
Am besten machst du das mit einem Quest-Skript:
Code:
scn name

Begin GameMode

if <NPC1-Ref>.getDead == 1
 if <NPC2-Ref>.getDead == 1
  if <NPC3-Ref>.getDead == 1
   setStage <Quest-ID> <Stage>
  endif
 endif
endif

end
 
  • Like
Reaktionen: Arielle 1000
"GetStage" ist nur nötig, wenn die NPCs auch schon vorher im Spiel vorhanden und "tötbar" sind. Dann kannst du das so schreiben:
Code:
scn name

Begin GameMode

if getStage <Quest-ID> == x
 if <NPC1-Ref>.getDead == 1
  if <NPC2-Ref>.getDead == 1
   if <NPC3-Ref>.getDead == 1
    setStage <Quest-ID> <Stage>
   endif
  endif
 endif
endif

end
 
  • Like
Reaktionen: Arielle 1000
Ja, danke, das sieht schon mal sehr schlüssig aus. Aber jetzt mal eine dumme Frage: auf wen oder was setze ich dieses Script? Bisher habe ich das immer auf den NPC gesetzt, der getötet wird. Aber in diesem Falle ist es eine ganze Gruppe.
 
Sorry, wenn ich nochmal nachfrage, aber ich mache das jetzt zum ersten Mal als Questscript. Wo genau setze ich dieses Script ein? Etwa im Fenster Result Script? Bitte sehr detailliert erklären, sonst verstehe ich es nicht.
 
Das habe ich jetzt genauso gemacht und die Stage wird nicht ausgelöst. Kann es sein, dass in deinem Script noch ein "short Doonce" fehlt?
 
Nein, eine Variable brauchst du dabei nicht. Das wird ja schon über das "getStage" und "setStage" geregelt. Wie sieht das Skript denn jetzt aus?