Construction Set Skriptthread zum Construction Set

Hat nicht funktioniert. Avatar bleibt beim MapMarker hängen.

Wenn ich den MapMarker in eine andere Zelle stelle, bleibt der Avatar zwar nicht hängen, aber der Move über die TriggerBox lässt sich nicht wiederholen.
 
Ah... ich glaube, ich habe es. Ändere mal diese Zeile:
Code:
if hour <= (GameHour - 0.1)
in
Code:
if hour >= (GameHour - 0.1)

Das Größer und Kleiner macht keinen Unterschied in der Reaktion. Schon davor passiert nun folgendes:
Ich werde in ein anderes Interior gemoved, zum Marker, alles bestens. Wenn ich aber in das erste Interior zurückkehre werde ich sofort wieder gemoved und Obli bricht ab.

Was kann ich nur machen?

Gruss
Meclaton
 
Ich brauche einen Script der bei Begin OnActivate seinen Parent aktiviert.

Code:
scn ...

Ref Parent
Begin OnActivate

set parent to getparentref
parent.activate

end
Müsste so gehen.
Obwohl ich diese Kombination Referenz.activate noch nirgends gesehen habe, wenn ich ehrlich bin. :?

(EDIT 1)

Laut dem müsste es aber so hinhaun
http://cs.elderscrolls.com/constwiki/index.php/Activate

(EDIT 2)

Muss auch noch grad was hinterherschieben.
Was muss ich tun, um per Script folgende Menüs aufzurufen.

- Schmiedemenü
- Alchemiemenü
- Zaubererstellungsmenü
- Verzauberungsmenü
 
Zuletzt bearbeitet:
With no parameter, this block type will run whenever the game is NOT in gamemode -- whenever ANY menu is being displayed.
If you include a parameter, you can specify the menu type, or the specific menu, when you want the script block to run:
Das klingt für mich aber so, als würden diese Begin MenuModes starten, sobald man in den entsprechenden Menüs drin ist.

Ich möchte die aber starten.
 
Ich glaube der Befehl ist entweder "MenuCode XXXXX" oder "ShowMenu XXXX". Jedes Menü hat einen eigenen Code,durch den es aufgerufen wird...Manche auch durch IDs, wie zB "ShowSpellMaking".

Alternativ könntest du dem Spieler einfach einen Gegenstand (wie einen Reperaturhammer) hinzufügen und ihn ausrüsten lassen. Dann geht das Menü ja auch auf ;)

Edit: Hier findest du die Menü-Codes
 
Das klingt für mich aber so, als würden diese Begin MenuModes starten, sobald man in den entsprechenden Menüs drin ist.

Ich möchte die aber starten.
Stimmt, du hast recht.

Das Schmiede- bzw. Reparaturmenü und das Alchemiemenü kannst du aber (wie Waldmeister schon sagte) aufrufen, indem du einen Hammer bzw. Mörser aktivierst, und das Zaubererstellungsmenü und Verzauberungsmenü kannst du über ShowSpellMaking und ShowEnchantment aufrufen.
 
Hey Leute,

Ich bracuche ein Skript für die Küche.
Ich will einen Kochtopf mit dem Skriptversehen, dass er wenn man ihn anklicht eine Nachricht erhält, ind der Steht:

Code:
Was wollt ihr kochen?
   Einen Auflauf

Für den Auflauf soll er dann dem Inventar ein Stück Käse und ein Wildbret entnehem,
dafür soll er den Auflauferhalten.
 
scn ...

short DoOnce
short Button

Begin onActivate player

MessageBox "Was willste?" "Auflauf" "Nix"
set Button to getButtonPressed
set DoOnce to 0
End



Begin GameMode

If (DoOnce == 0)

If (Button == 0) ;Auflauf

If (player.getitemcount Id-des-Käses >= 1) && (player.getitemcount ID-des-brets >= 1)

player.additem ID-des-Auflaufs 1
player.removeitem ID-des-Wildbrets 1
player.removeitem ID-des-Käses 1
Set DoOnce to 1

Elseif

Message "Nicht genug Zeug"
set DoOnce to 1

Endif

Elseif (Button == 1) ;Nix

Return
Set DoOnce to 1

Endif

Endif

End
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Smsm143
@DarkRuler: Variablen haben Standardmäßig den Wert 0. Du musst also "DoOnce" überall um 1 erhöhen ;)

Code:
ScriptName NAME
short DoOnce
short Button

Begin onActivate player
MessageBox "Was wollt Ihr kochen?" "Auflauf" "Nichts"
set DoOnce to 1
End

Begin GameMode
If (DoOnce == 1)
set Button to getButtonPressed
   If (Button == 0) 
   ;Auflauf
     If (player.getitemcount Id-des-Käses >= 1) && (player.getitemcount ID-des-brets >= 1)
     player.removeitem ID-des-Wildbrets 1
     player.removeitem ID-des-Käses 1
     player.additem ID-des-Auflaufs 1
     Set DoOnce to 2
     Elseif
     Message "Ihr besitzt nicht die nötigen Zutaten..."
     set DoOnce to 2
     Endif
   Elseif (Button == 1) 
   ;Nichts
   Set DoOnce to 2
   Return
   Endif
Endif
End
 
Zuletzt bearbeitet:
Das Größer und Kleiner macht keinen Unterschied in der Reaktion. Schon davor passiert nun folgendes:
Ich werde in ein anderes Interior gemoved, zum Marker, alles bestens. Wenn ich aber in das erste Interior zurückkehre werde ich sofort wieder gemoved und Obli bricht ab.

Was kann ich nur machen?

Gruss
Meclaton

Hi - hat jemand einen Tipp oder ein Script für mich?

Danke und Gruss
Meclaton
 
@DarkRuler: Variablen haben Standardmäßig den Wert 0. Du musst also "DoOnce" überall um 1 erhöhen ;)

Code:
ScriptName NAME
short DoOnce
short Button
 
Begin onActivate player
MessageBox "Was wollt Ihr kochen?" "Auflauf" "Nichts"
set DoOnce to 1
End
 
Begin GameMode
If (DoOnce == 1)
set Button to getButtonPressed
   If (Button == 0) 
   ;Auflauf
     If (player.getitemcount Id-des-Käses >= 1) && (player.getitemcount ID-des-brets >= 1)
     player.removeitem ID-des-Wildbrets 1
     player.removeitem ID-des-Käses 1
     player.additem ID-des-Auflaufs 1
     Set DoOnce to 2
     Elseif
     Message "Ihr besitzt nicht die nötigen Zutaten..."
     set DoOnce to 2
     Endif
   Elseif (Button == 1) 
   ;Nichts
   Set DoOnce to 2
   Return
   Endif
Endif
End


Es wird mir angezeigt, das bei Line 6 die Message time angegeben werden muss, wie mache ich das?
 
Wie wird dir das angezeigt oO? Message time gibt es nur für den "Message" Befehl und nicht bei "MesageBox". Und die Message time funktioniert nichtmal,wenn man sie eingibt xD
Edit: Also wenn das eine Fehlermeldung ist, dann schreib sie mal wörtlich ab

Edit2: @Meclaton:
Probier mal folgendes aus. Ich denke nämlich, dass man sowohl die Once-Variable als auch die TrigRef auf 0 setzen muss, damit es mehrmals funktioniert!

Code:
scn name
ref trigref
short once

begin ontriggeractor
if once==0
set trigref to getactionref
set once to 1
trigref.moveto <ziel-ref>
endif
end

begin onload
set trigref to 0
set once to 0
end
 
Zuletzt bearbeitet: