Construction Set Skriptthread zum Construction Set

Tut mir leid ich meinete das mit enable hab mich nur Falsch ausgedrückt:roll:
Aber was ist den jetz mit der Variablen falsch?
 
short Trigger
float Timer

damit hast du eben diese beiden variablen definiert. die letzte fehlt aber (von wegen unterschied zwischen float und short kann ich dir auch nichts sagen)
also müsstest du noch short triggered hinzufügen.
 
Ne, triggered ist keine Globale.

@Yves: Du hats am Anfang (nach dem Scriptnamen) ja die Variablen aufgelistet - deklariert -, einmal "Trigger" (short) und noch den Timer. Dieses Script wird das CS sicherlich nicht speichern, weil du im folgenden Script statt mit "Trigger" mit "triggered" weiterarbeitest und da du "triggered" nicht deklariert hast, weiß das CS nicht, das es sie gibt und wird dir da nen Fehler anzeigen. Abhilfe schaffen kannst du, indem du entweder "triggered" deklarierst oder bei jedem "triggered" im Script das "-ed" wegnimmst...
 
Ja danke habs versatenden! :)
Doch noch eine Frage da ich das ja nicht testen kann:
Code:
scn FNHQTriggerboxQuestStages1025

short trigger
short triggered

Begin onTrigger player

     if trigger == 0
          if GetStage FNStartRast < 20
          set triggered to 1
     endif

End
 
entweder brauchst du 2 endifs
Code:
scn FNHQTriggerboxQuestStages1025

short trigger
short triggered

Begin onTrigger player

     if trigger == 0
          if GetStage FNStartRast < 20
          set triggered to 1
     endif
     endif
oder du fasst es zusammen (beide ifs)
Code:
scn FNHQTriggerboxQuestStages1025

short trigger
short triggered

Begin onTrigger player

     if trigger == 0 && GetStage FNStartRast < 20
          set triggered to 1
     endif

End
 
Als ich es versucht habe mit nur Trigger kam immer Unknow Variable "Triggered".
Und noch eine Frage.
Bei diesem Script wird der Quest gestartet wenn man das rast menu öffnet aber kann man nicht machen das wenn man fertig gerastet hat.
Mfg yves
 
Was könnt ihr eigentlich xD
Code:
scn FNHQTriggerboxQuestStages1025

short trigger

Begin onTrigger player

     if trigger == 0
          if GetStage FNStartRast < 20
          set trigger to 1
     endif

End
In Variablen kannst du Werte speichern, z.B. 1. Dabei spielt der Typ (Also Short, Long, Float) eine rolle. Bei Short ist es eine Zahl ohne Kommastellen, bei Long glaub ich waren es 2 Stellen nach dem Komma und bei Float 8.

Edit:
Bei diesem Script wird der Quest gestartet wenn man das rast menu öffnet aber kann man nicht machen das wenn man fertig gerastet hat.
Abfragen ob man gerastet hat glaub cih gibt es nicht, da musst du wohl den Befehl Begin MenuMode 1012 nutzen. Ich glaube sowieso das es erst nach dem Rasten erscheint nicht während. Kannst aber auch gerne GetGameHour abfragen ob es in kurzer Zeit angestiegen ist. Ist aber nicht zu empfehlen.
 
Zuletzt bearbeitet:
aber so bringt das script doch eig auch nix, oder? es setzt ja bloss ne variable hoch, die nicht in anderen scripts funzt. wenn er also in nem anderen script schreibt:

if trigger == 1
wird das nicht fun ktionieren.
 
Als ich es versucht habe mit nur Trigger kam immer Unknow Variable "Triggered".

Könnte daran liegen...

Code:
scn FNHQTriggerboxQuestStages1025

short [COLOR="Red"]trigger[/COLOR]
short [COLOR="SeaGreen"]triggered[/COLOR]

Begin onTrigger player

     if [COLOR="Red"]trigger[/COLOR] == 0
          if GetStage FNStartRast < 20
          set [COLOR="SeaGreen"]triggered[/COLOR] to 1
     endif

End

Und noch eine Frage.
Bei diesem Script wird der Quest gestartet wenn man das rast menu öffnet aber kann man nicht machen das wenn man fertig gerastet hat.
Mfg yves

Eventuell so:

Code:
scn name

short gerastet

Begin MenuMode 1012

 if gerastet == 0
  set gerastet to 1
 endif
end

Begin GameMode

 if gerastet == 0
  return
 elseif gerastet == 1
  setstage <Quest-ID> <erste Quest-Stage>
  set gerastet to 2
 endif
end

Ps: Zumindest in diesem Thread bräuchte man dringend mal eine Tabfunktion...

MfG
 
Ich bin gerade wieder zu meinem PC gekommen und hab ein Script getestet das aber nicht funktioniert.

Code:
ScriptName FNContdoorAnimation

short Trigger
float Timer
short Triggered

begin onTrigger player

     if Trigger == 0
          DisablePlayerControls
          FNDontdoorGate01.playgroup forward 1
          FNContdoorCreaturAnimation01.playgroup forward 1
		set triggered to 1
		set timer to 10

     endif

End

begin GameMode

	if triggered == 0
		return

	endif

	if timer >= 0 && triggered == 1
		set timer to timer - getSecondsPassed

	endif

	if timer <= 0
		FNContdoorGnarlAnimation01.enable
          EnablePlayerControls

	endif

end
 
Zuletzt bearbeitet:
Hi leute,
also ich bräuchte einen trigger skript der folgendes bewürkt.Wenn der Player in den Trigger läuft, soll das skript abfragen ob der player im besitz eines bestimmten schlüssels ist ! Wenn der player den Schlüssel hat ,soll nix passieren ,hat er ihn aber nicht dann soll eine massagebox auf gehen die er nur mit "ok" bestätigen kann, wenn er dies tut soll er zu einem marker teleportiert werden!:D Das sollte natürlich immer und immer wieder passieren solange bis er im besitz des richtigen schlüssels ist!;)

danke schonmal mfg skoomadieb
 
Hi leute,
also ich bräuchte einen trigger skript der folgendes bewürkt.Wenn der Player in den Trigger läuft, soll das skript abfragen ob der player im besitz eines bestimmten schlüssels ist ! Wenn der player den Schlüssel hat ,soll nix passieren ,hat er ihn aber nicht dann soll eine massagebox auf gehen die er nur mit "ok" bestätigen kann, wenn er dies tut soll er zu einem marker teleportiert werden!:D Das sollte natürlich immer und immer wieder passieren solange bis er im besitz des richtigen schlüssels ist!;)

danke schonmal mfg skoomadieb

Könnte so klappen:
Code:
scn name

short triggered

Begin onTrigger player

	if triggered == 0

		if player.getItemCount <Objekt-ID> >= 1
			return

		elseif player.getItemCount <Objekt-ID> == 0
			messagebox "Ihr habt keinen Schlüssel!"
			set triggered to 1

		endif

	endif

end

Begin GameMode

	if triggered == 0
		return

	elseif triggered == 1
		player.MoveToMarker <Marker-Ref>
		set triggered to 0

	endif

end
 
  • Like
Reaktionen: Skoomadieb
Ich bin gerade wieder zu meinem PC gekommen und hab ein Script getestet das aber nicht funktioniert.

Code:
ScriptName FNContdoorAnimation

short Trigger
float Timer
short Triggered

begin onTrigger player

     if Trigger == 0
          DisablePlayerControls
          FNDontdoorGate01.playgroup forward 1
          FNContdoorCreaturAnimation01.playgroup forward 1
		set triggered to 1
		set timer to 10

     endif

End

begin GameMode

	if triggered == 0
		return

	endif

	if timer >= 0 && triggered == 1
		set timer to timer - getSecondsPassed

	endif

	if timer <= 0
		FNContdoorGnarlAnimation01.enable
          EnablePlayerControls

	endif

end

Du solltest dich der Übersicht halber ersteinmal entscheiden, welche Variable du benutzen möchtest und welche nicht - entweder "trigger" oder "triggered".

Was sind das denn für Referenzen, die du Animationen abspielen lassen willst bzw. "enablen" willst?
 
@Skoomadieb's Skript.Das geht wesentlich kürzer
Code:
scn Scriptname

Begin onTrigger player

	if player.getitemcount [SchlüsselID] == 0
		messagebox "Ihr habt keinen Schlüssel!" "Ok"
		player.movetomarker [MarkerREF]
	endif

end
 
Also bruach ich nur eins.
-Trigger oder
-Triggered
Und die Referenzen sind von den Dingen die die animation abspielen solln.
- FNDontdoorGate01.playgroup (Das ist ein Tor)
-FNContdoorCreaturAnimation01 (Das ist ein Effekt)

Mfg yves