Construction Set Skriptthread zum Construction Set

Und mit AddFlames werden die dann hinzugefügt?
Sieht dann ein Script für ein Lichtschalter so aus?
Code:
scn Lichtschalter

short donce

short licht

begin OnActivate
set licht to ref.HasFlames 
set donce to 0

End

begin GameMode
if (donce == 0)
    if (licht == 0)
       ref.AddFlames
       MessageBox "Licht an"
       set donce to 1
    else
       ref.RemoveFlames
       MessageBox "licht aus"
       set donce to
    endif
endif
 
Das kann man auch wesentlcih einfacher gestalten.
Code:
scn Lichtschalter

begin OnActivate
If ref.HasFlames == 0
       ref.AddFlames
       MessageBox "Licht an"
Elseif ref.HasFlames == 1
       ref.RemoveFlames
       MessageBox "licht aus"
End
 
Wie kann ich überprüfen ob der Player von einer bestimmten Kreatur geschlagen wird? Und funktioniert es das man den Player via PushActorAway wegschleudern kann?
 
ich habe auch eine scriptfrage. Ich wollte als Activator ein Schwert in eine Gruft legen
(als activator aus dem Grund, dass ein dort rumlaufender Goblin sich schon mehrfach das relativ mächtige Schwert genommen hat und auf mich losgegangen ist, was ja mit nem Activator nicht funktioniert, oder?) und ich wollte, dass man dann per messagebox die Verzauberung dieser Waffe in etwa wählen kann
(also z.B. entweder Feuerschaden oder Untote Vertreiben oder Entzug:Stärke oder so) und dass der Activator dann verschwindet und dem Spieler das verzauberte Schwert ins Inventar gepackt wird.
 
Code:
scn hh

Short Button
Short Exit

Begin OnActivate
	Set Button to GetButtonPressed
	Set Exit to 1
	MessageBox "Welche Verzauberung soll es sein?", Feuer", "Untote vertreiben", "Entzug Stärke", "Ohne verzauberung"
End

Begin GameMode
	If (Exit)
		If Button == -1
			Set Button to GetButtonPressed
		Elseif Button == 0
			Player.AddItem [SchwertmitFeuerID] 1
			Set Exit to 0
			; Schwert.Disable
		Elseif Button == 1
			Player.AddItem [SchwertmitUntotendingsID] 1
			Set Exit to 0
			; Schwert.Disable
		Elseif Button == 2
			Player.AddItem [SchwertmitEntzugID] 1
			Set Exit to 0
			; Schwert.Disable
		Elseif Button == 3
			Player.AddItem [SchwertID] 1
			Set Exit to 0
			; Schwert.Disable
		Endif
	Endif
End
 
  • Like
Reaktionen: Patta93
das müsste dann glaube ich so aussehen:
Code:
scn Script

short Wahl

short donce

begin On Activate
MessageBox "Welches Schwer hätten se den gern?" "Feuerschaden" "Untotenschaden" "usw."

set Wahl to GetButtonPressed

set donce to 0
End

Begin GameMode
if (donce == 0)
    if (Wahl == 1)
        player.additem "aafeuerschwert"
        activatorschwert.disable
        set donce to 1
     else (Wahl == 2)
         player.additem "aaUntotenschwert"
        activatorschwert.disable
        set donce to 1

...usw...
    endif
endif
End
Für activatorschwert musst du die Reference ID des activators angeben
Mist! Zu langsam!
 
  • Like
Reaktionen: Patta93
hätt ichg auch selbst drauf kommen können. aber geht das auch ohne das ich jeden schwerttyp einzeln erstellen muss?
edit: und wo sind im cs die verzauberungen?
 
Zuletzt bearbeitet:
Ich glaube nicht(vieleicht mit OBSE). Du müsstest für die Verzauberung ja n Variable angeben die sich dann ja mit der auswahl verändert
 
  • Like
Reaktionen: Patta93
Ich stelle heute mal wieder alle Fragen auf einmal^^:
Rest ist fast fertig....

Wieder ein Script-Problem:
Wo bekomme ich einen Schutz gegen Sonnenschaden her?
Gibts da einen zauber, oder (wahrscheinlicher) welches Script brauch ich^^

danke im Voraus...
 
Ich stelle heute mal wieder alle Fragen auf einmal^^:
Rest ist fast fertig....

Wieder ein Script-Problem:
Wo bekomme ich einen Schutz gegen Sonnenschaden her?
Gibts da einen zauber, oder (wahrscheinlicher) welches Script brauch ich^^

danke im Voraus...

Bin mir nicht sicher, aber ich glaube, der Sonnenschaden zieht immer einen Punkt von der Lebensenergie ab. Du musst eigentlich nur einen Heilzauber als Eigenschaft erstellen, welcher immer einen Punkt Lebensenergie hinzufügt. Bin mir, aber wie gesagt, nicht sicher.
 
Code:
scn zyannickschwertactivator

short Wahl

short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 0
End

Begin GameMode
if (donce == 0)
    if (Wahl == 1)
        player.additem yschwertfire 1
        ; 0100969B.disable
        set donce to 1
     else (Wahl == 2)
         player.additem yschwertundead 1
        ; 0100969B.disable
        set donce to 1
     else (Wahl == 3)
         player.additem yschwertsoultrap 1
        ; 0100969B.disable
        set donce to 1
     else (Wahl == 4)
         player.additem yschwertdahinraffen 1
        ; 0100969B.disable
        set donce to 1
    endif
endif
End
so sieht das script jetzt aus. Nur habe ich ein paar probleme. Im spiel bekomme ich, egal was ich nehme immer nur das Schwert gegen Untote (Untote Vertreiben) und der Activator verschwindet nicht. Ausserdem bekomme ich, wenn ich in das Gebiet gehe, wo der Activator rumliegt, immer schon das Schwert einmal ins Inventar, direkt beim Betreten des Gebiets. Woran könnte das liegen? Ich selber weiss grad nicht wieter.

edit: könnte es sein, dass das schwert wegen den Simikolons nicht verschwindet? Ohne Simikolons (;) speichert er den Skript nicht.
 
Ich wollts jetzt so machen, dass ein Script überprüft, welchen Vampirissmus zauber der Spieler grad hat 25;50;75;100 und den dann entfernt und einen anderen (gleiche Einstellungen/Zauber nur ohne Sonnenschaden hinzufügt....

Das einzige Problem ist, dass ich die Abfrage ob der Spieler den zauber hat nicht hinbekomme...


PS: Es gibt verschiedene Vampirissmusstärken und jede zieht unterschiedlich viel ab...
 
Code:
edit: könnte es sein, dass das schwert wegen den Simikolons nicht verschwindet? Ohne Simikolons (;) speichert er den Skript nicht.[/QUOTE]

Ich glaube die Semikolons sind wie bei C# für Kommentare.... etc.

Du hast die Nummer von den Referenzen genommen, halt was beim Schwert>Doppelklick ganz oben steht....

Harken bei Per....s ?
Und oben ein Namen angegeben (oberes Kästchen) 

also das ist jetzt meine Idee^^

Edit: Und Semikolons weg...
Und im Skript anstatt den Nummern halt den Namen...
 
Zuletzt bearbeitet: