Construction Set Skriptthread zum Construction Set

Also das was da enable geschaltet wird ist nicht die triggerbox das ist was anderes was kommen soll beim Aktivieren des Sockels.

Und geht das nicht ohne trigger.
Bei dem wird das enable geschaltet wenn die 3 Aktiviert sind, kann man nicht machen dass man alles da einfügt wo das mit dem enable steht?

Lg yves
 
Ja, geht auch. Du kannst das Script bei einem der drei Sockel um die Passage erweitern.

Code:
ScriptName FNEarthShrineTributSockelScript01

[COLOR="red"]short once[/COLOR]

begin OnActivate
if (player.getitemcount FNEarthCrystel01 >= 1)
    player.removeitem FNEarthCrystel01 1
    FNEarthShrineTribut01.enable
    FNEarthShrineFXCrytsel01.enable
    set FNEarthShrineOpenGate to FNEarthShrineOpenGate+ 1)
else
    Message "Ihr habt den benötigten Gegenstand nicht"
endif
end

[COLOR="Red"]begin GameMode
    if (FNEarthShrineOpenGate >= 3) && (once == 0)
    [Hauptgegenstand-Ref].enable
    set once to 1
    endif
end[/COLOR]

Aber nur bei einem Sockel. Die anderen beiden lässt du ohne den Teil.
 
das meine ich nicht^^ Ich meine Anstat das HauptRef einfach das was ausgeführt werden soll da einfügen.
EDIT: speichern geht nicht auch anch neu Strart....

Lg yves
 
Code:
ScriptName FNEarthShrineTributSockelScript01

short once

begin OnActivate
if (player.getitemcount FNEarthCrystel01 >= 1)
    player.removeitem FNEarthCrystel01 1
    FNEarthShrineTribut01.enable
    FNEarthShrineFXCrytsel01.enable
    set FNEarthShrineOpenGate to FNEarthShrineOpenGate + 1
else
    Message "Ihr habt den benötigten Gegenstand nicht"
endif
end

begin GameMode
    if (FNEarthShrineOpenGate >= 3) && (once == 0)
    [Hauptgegenstand-Ref].enable
    set once to 1
    endif
end
Probiers mal so, vorallem weil du eine Klammer hattest die nicht vollständig gesetzt wurde.
 
  • Like
Reaktionen: Yves
Doch das Script an sich Funktioniert nicht....
Wenn man den Stein aht udn es aktiviert passiert nichts...

lg yves
 
Ich gehe davon aus, dass du dieses Script benutzt...

Code:
ScriptName FNEarthShrineTributSockelScript01

short once

begin OnActivate
if (player.getitemcount FNEarthCrystel01 >= 1)
    player.removeitem FNEarthCrystel01 1
    FNEarthShrineTribut01.enable
    FNEarthShrineFXCrytsel01.enable
    set FNEarthShrineOpenGate to FNEarthShrineOpenGate + 1
else
    Message "Ihr habt den benötigten Gegenstand nicht"
endif
end

begin GameMode
    if (FNEarthShrineOpenGate >= 3) && (once == 0)
    [Hauptgegenstand-Ref].enable
    set once to 1
    endif
end

Ich gehe davon aus, dass die Global "FNEarthShrineOpenGate" "short" ist und einen Default-Wert von 0 hat...
Wie setzt du diese Variable auf den benötigten Wert von (über) "3" in der Kondition des GameMode-Blocks?

Edit: Wieso benutzt du dort überhaupt einen GameMode-Block?
 
Zuletzt bearbeitet:
Ich habe den Fehler Behoben doch mir ist aufgefallen das man in ein Sockel zim beispei8l alle drei steine tuen kann.
Kann man nicht machen das wenn man einen rein gesteckt hat keinen mehr rein stecken kann.

Lg yves
 
Sicher, dazu baust du einfach eine weitere Variable ein.

Einfach eine neue short deklarieren und dann in die Zeile mit getitemcount noch abfragen, ob sie 0 ist. Wenn ja, wird der Block durchlaufen und vor dem else setzt du sie dann auf 1.
Dazu solltest du das Script noch etwas erweitern, sonst kommt die Meldung, dass man den Gegenstand nicht hat, auch nachdem man alle platziert hat.
Sollte so aussehen:
Code:
ScriptName FNEarthShrineTributSockelScript01

short once
short activated

begin OnActivate
if (player.getitemcount FNEarthCrystel01 >= 1) && (activated == 0)
    player.removeitem FNEarthCrystel01 1
    FNEarthShrineTribut01.enable
    FNEarthShrineFXCrytsel01.enable
    set FNEarthShrineOpenGate to FNEarthShrineOpenGate + 1
    set activated to 1
elseif (player.getitemcount FNEarthCrystel01 <= 0) && (activated == 0)
    Message "Ihr habt den benötigten Gegenstand nicht"
endif
end

begin GameMode
    if (FNEarthShrineOpenGate >= 3) && (once == 0)
    [Hauptgegenstand-Ref].enable
    set once to 1
    endif
end



Diarrhoe schrieb:
Ich gehe davon aus, dass die Global "FNEarthShrineOpenGate" "short" ist und einen Default-Wert von 0 hat...
Wie setzt du diese Variable auf den benötigten Wert von (über) "3" in der Kondition des GameMode-Blocks?

Edit: Wieso benutzt du dort überhaupt einen GameMode-Block?

Der Block hat schon seinen Grund.
Der ist bei einem der Sockel und er möchte, dass wenn in allen drei Sockeln ein Gegenstand platziert wurde, ein anderer enabled wird. Dafür wird in dem Script im OnActivate-Block die Global FNEarthShrineOpenGate um 1 erhöht, wenn man einen reinlegt.

Im GameMode-Block wird dann abgefragt, ob in allen dreien ein Gegenstand ist bzw ob drei platziert wurden. Deswegen wird die Global abgefragt. Wenn sie >=3 ist, läuft das Script weiter. Damit der Gegenstand nur einmal enalbed wird, ist once eingefügt.
 
Zuletzt bearbeitet:
Guten Morgen! und zwar versuche ich schon seit langem herrauszufinden wie man Gegenstände (zum Beispiel eine Plattform auf der sich der Spieler befindet) bewegen kann Ich habe das in diesem Ruderboot-Mod gesehen. Geht so etwas durch einfache Skriptbefehle?
 
Eine Art Fahrstuhl würde für den Anfang reichen. Ich glaube ein Fahrzeug (wie in der Ruderboote-mod) ist noch zu kompliziert für mich. Es reicht, wenn es in eine Richtung fährt an einem bestimmten Punkt anhällt und auch wieder zurückfahren kann.
 
Hallo, ich hätt da mal ne frage.

Ich wollte en script schreiben indem der Player wiederaufersteht wen er getötet wird. Jedoch soll ihm ein gohost schript hinzugefügt werden. Auserdem soll ein "doppelgänger" des Players erstellt werden und dort plaziert wo der player gestorben ist.
Am besten wäre es noch, das der player nicht die ausrüstungs gegenstände vom "doppelgänger" nehmen kann. Achso ja der Doppelgänger soll natürlich tot sein.^^
Hoffe ihr könnt mir weiterhelfen

LG Raist
 
Wollte ein Script verbessern lassen denn der Timer funktioniert nicht richtig:? :
Code:
scn FNLadorasGatetoFN


short triggered
float timer

Begin onTrigger player

	if triggered == 0
          disablePlayerControls
		set timer to 10
          FNLadorasDoor02.enable
          FNLasdoralazloBiroEntryDoorLOCK.disable
          FNLadorasOpenGateAnimation01.playgroup forward 0
          set triggered to 1

	endif

End

begin GameMode

	if triggered == 0
		return

	endif

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

	endif

     if timer <= 0
          FNLadorasGate01.enable 
          enableplayercontrols

	endif

end

Mfg yves