Construction Set Skriptthread zum Construction Set

Ach so und ich möchte auch es so machen das man zwei Bedingungen hat für eine Aktion.
Esklappt aber leider nicht dann kommt die fehlermeldung:
Expression Error: SYNTAX

Aber trotzdem danke.
 
Zuletzt bearbeitet:
Ich bin Anfänger im Modden. Dies soll ein Skript werden um ein haus zu kaufen:

SCN zzMarkusScriptzz
short zzDialogzz
short gold
begin onactivate
if zzDialogzz ==0
Messagebox "Ah, ihr wollt meine Wohnung kaufen. Sie kostet nur 3000 Gold. Wenn ihr die Wohnung wirklich wollt sprecht mich einfach nochmal an."
Set zzDialogzz to 1
endif
Endif
end
begin onactivate
if zzDialogzz ==1
if gold ==1
MessageBox "Hier habt ihr den Schlüssel."
player.removeitem Gold001 3000
player.additem OstianWohnungSchluessel 1
zzNehrimSignOstianWohnhauszz.disable
Set zzDialogzz to 3
elseif gold ==2
MessageBox "Ihr habt nicht genug Gold."
endif
Endif
end
begin onactivate
if player.getitemcount gold001 =< 3000
Set gold to 1
endif
Endif
end
begin onactivate
if player.getitemcount gold001 => 2999
Set gold to 2
endif
Endif
end
 
So sollte es gehen:
Code:
scn name

short gold
short init

Begin onActivate

if init == 0
 set init to 1
 messagebox "Ah, ihr wollt meine Wohnung kaufen. Sie kostet nur 3000 Gold. Wenn ihr die Wohnung wirklich wollt, sprecht mich einfach nochmal an."
elseif init == 1
 if player.getItemCount Gold001 >= 3000
  player.removeItem Gold001 3000
  player.addItem OstianWohnungSchluessel 1
  zzNehrimSignOstianWohnhauszz.disable
  set init to 2
  messagebox "Hier habt ihr den Schlüssel."
 else
  messagebox "Ihr habt nicht genug Gold."
 endif
endif

end
 
  • Like
Reaktionen: Todeskeks
Ich habe auch mal wieder eine Frage:

Werden bei dem Befehl ResetInterior auch die Items in dem entsprechenden Interior, die der Spieler gestohlen hat, wieder hergestellt?
 
Der Scriptbefehl soll in ein bereits bestehendes Script eingefügt werden.

Nämlich in dieses:

scn ...

begin OnEquip player
if (player.getitemcount <ItemID> >= 5) && (player.getitemcount <ItemID> >= 1) && (player.getincell == <CellID>) && (getcurrenttime >= 21 && <= 5)
MessageBox "Bla bla bla"
<Referenz>.moveto player
player.removeitem <ItemID> 1
SetStage <Quest> <Stage>
endif

end

Jetzt wüsste ich gerne, ob der Script richtig ist. (Das Ding soll nur wenn zwei andere Dinger im Inventar sind, der Player in einer bestimmten Cell ist und ingame die Zeit zwischen 21 und 5 Uhr ist, zum Player befördert werden.)

Hier steht der "getcurrenttime" Befehl schon drin... ist das Script richtig?
 
Zuletzt bearbeitet:
wie gildur bereits sagte darfst du kein "&&" bei der uhrzeit machen sondern brauchst ein "||" das bedeutet nämlich "oder".mit dem "und" kann die bedingung nicht erfüllt werden!

kann aber auch sein,dass das nur für "gamehour" gilt und bei "getcurrenttime" funktioniert.nach dem "getincell" kommt außerem glaube ich noch ein "==1" hin und nach dem "removeitem" muss noch die anzahl stehn.
 
scn ...

begin OnEquip player
if (player.getitemcount <ItemID> >= 5) && (player.getitemcount <ItemID> >= 1) && (player.getincell <CellID> == 1) && (getcurrenttime >= 21 || <= 5)
MessageBox "Bla bla bla"
<Referenz>.moveto player
player.removeitem <ItemID> 1
SetStage <Quest> <Stage>
endif

end

Stimmt's so?

bzw.

scn ...

begin OnEquip player
if (player.getitemcount <ItemID> >= 5) && (player.getitemcount <ItemID> >= 1) && (player.getincell <CellID> == 1) && (getcurrenttime >= 21 && <= 5)
MessageBox "Bla bla bla"
<Referenz>.moveto player
player.removeitem <ItemID> 1
SetStage <Quest> <Stage>
endif

end