Construction Set Skriptthread zum Construction Set

Er soll einschlafen? Richtig mit Schlaffenster bzw Rastfenster?
Oder einfach nur teleportieren?


Um die Items wieder in das Inventar des Spielers einzufügen, müsste es gehen, wenn du den Befehl einfach umdrehst.
Also "[Kisten-Reference).RemoveAllItems player".
 
Sry, MoW, ich kann dir leider nicht behilflich sein.
Ich benötige selber ein Script:

Der Spieler aktiviert eine Tür, eine Messagebox öffnet sich, mit 5
Antwortmöglichkeiten.
1,2,3 und 5 sind falsch und der Spieler soll sterben.
Bei Antwort 4 soll der Spieler ganz normal durch die Tür gehen können.

Danke im Voraus.
 
@Master of Worlds:
Der Script von dir stimmt erst mal so:
Code:
scn WQGA

begin onDeath
player.removeallitems [Kisten Reference]
player.saa 0.4
player.pms GhostEffect
player.additem [RobenID] 1
player.additem [SchuhID] 1
endif
end

Dann auch noch ein zweites Skript, damit der Spieler seine Gegenstände wiederzurück bekommt.
Kommt drauf an wann und welche Bedingungen erfüllt sein müssen.

Der Befehl lautet dann einfach:
[KistenREF].removeallitems player

@Hoch-Ordinator:

foglender Script auf die Tür:
Code:
scn Scriptname

short button

Begin OnActivate
Messagebox "Wählt eine Antwort." "1" "2" "3" "4" "5"
End

Begin GameMode
set button to getbuttonpressed
If button == 0 || 1 || 2 || 4
player.kill
Elseif button == 3
activate
Endif
Gildur

Edit.: schaut doch vorher hier vorbei: http://www.scharesoft.de/joomla/forum/showthread.php?t=25565
 
Zuletzt bearbeitet:
Okay, Danke. Gut zu wissen. Habe es noch nie ausprobiert ^^

Aber so, wie du es geschrieben hast, würde es auch nicht funktionieren. Der spieler würde getötet werden, sobald der Gamemode-block der Tür ausgeführt wird - und das ist bei jedem Frame.

Also:
Code:
if button >= 0 && button <= 2 || button == 4
 
  • Like
Reaktionen: T-Rip
Danke. So das ist erst mal Kochenkeules Script:

Code:
Scriptname [Scriptname/ID]

short once          [COLOR="SeaGreen"];Variable, mit der dafür gesorgt wird, dass das Script nur einmal ausgeführt wird  [/COLOR]
short button        [COLOR="seagreen"];Variable, mit der abgefragt wird, welche Antwort gewählt wurde[/COLOR]

begin OnActivate
if (once == 0)            
messagebox "Text", "Antwort1", "Antwort2"      [COLOR="SeaGreen"];Messagebox mit Text und zwei Antwortmöglichkeiten. Die Zahl kann bis [B]10[/B] erhöht werden[/COLOR]
set once to 1        
endif
end

begin GameMode
set button to GetButtonPressed           [COLOR="SeaGreen"];Dieser Befehl stellt fest, ob eine Antwort gewählt wurde[/COLOR]
if (button == 0)                             [COLOR="seagreen"];Wenn die erste Anwort gewählt wurde[/COLOR]
player.kill
elseif (button == 1)                         [COLOR="seagreen"];Wenn die zweite Antwort gewählt wurde[/COLOR]
player.moveto [Ref-ID des X-Markers]
endif
end


Wie muss das Script heißen, wenn der Spieler bei der ersten Antwort nun nicht getötet wird, sondern die Messagebox geschlossen wird, also Abbrechen?
 
Code:
scn Scriptname

short button

Begin OnActivate
Messagebox "Wählt eine Antwort." "Ant1" "Ant2" "Ant3" "Ant4" "Ant5"
End

Begin GameMode
set button to getbuttonpressed
If button == 1 || button == 2 || button == 4
player.kill
Elseif button == 3
activate
Endif
 
  • Like
Reaktionen: Hoch-Ordinator
Das Script hat keine Fehlermeldung, das Lied wird aber trotzdem nicht abgespielt.

Code:
scn scriptname

short doonce

begin gameMode

       if getDistance player < 700 && doonce == 0
            StreamMusic "data\music\..."
            set doonce to 1
       endif

end
 
Bist du dir auch sicher das das Skript auch wirklich startet ?

Könntest du es nicht Testweise auf einen Schalter legen und so umschreiben damit es beim Aktivieren startet.
Dann könntest du schnell noch eine Sache dazu machen die etwas in der Nähe vom Schalter verändert um festzustellen ob das Skript überhaupt startet.

Edit: Stimmt, eine Message reicht ja auch schon.

Mfg Master of Worlds
 
Zuletzt bearbeitet:
Du hast das so im CS eingegeben?
Dann ist es ja auch kein Wunder, dass es nicht läuft.
Der Titel muss angegeben sein.

Als Beispiel:
Code:
streammusic "data\music\MeinTitel.mp3"
 
Kopiers mal komplett hier rein. Also mit Titelangabe und richtigem Namen.

Ansonsten kannst du auch mal testen, ob es überhaupt läuft, wie oben schon vorgeschlagen.

Dazu einfach noch vor die Zeile mit streammusic [Message "Funktioniert"] reinschreiben (ohne die []).
Wenn die nicht kommt, wenn die if-Zeile erfüllt ist, dann klappt da was nicht.
Dann kannst du die Message auch nochmal zwischen begin und die if-Zeile schreiben und dann schauen.
 
Code:
scn XYZMinotaur01TestScriptMusic

short doonce

Begin Gamemode
if getDistance player < 700 && doonce == 0
StreamMusic "data\music\Cantarac\Escaflowne - Battle Theme.mp3"
set doonce to 1
Message "Funktioniert"
endif
end

Begin OnDeath
StreamMusic dungeon
endif
end

Die Message kommt, aber das Lied wird nicht abgespielt.
 
Das glaube ich auch, dann musst du auch noch das Lied so umbennen.

Und dann beim Skript mit _, so war es zumindest auch in Nirnaeth Eru.
Die Lieder waren dort alle mit _ anstatt Leerzeichen bennant. (Ich meine im Soundordner des Mods)


Edit: Ich habe gerade noch ein Problem bei meinem Skript festgestellt.
Code:
begin onDeath
player.removeallitems [Kisten Reference]
player.saa 0.4
player.pms GhostEffect
player.additem [RobenID] 1
player.additem [SchuhID] 1
endif
end

Es wiederholt sich alle 15 Sekunden. Deswegen hat sich mein spiel ca. 15x aufgehangen.

Wie kann ich das verhindern ?

Mfg Master of Worlds
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Hoch-Ordinator