Construction Set Skriptthread zum Construction Set

Folgender Skript liegt auf einer Tür, er soll eine Message ausgeben wenn i =! 4 ist, und zu öffnen sein sobald i == 4 ist. Leider ist dieser Skript fehlerhaft, man kann die Tür nie öffnen, und außerdem würde ich gerne noch den GhostEffect deaktiviert haben, sobald i == 4 ist. Hier ist der Skript:

Code:
scn PCPInnerSanctumDoorScript

short init
short isOpen
short message
int i

begin OnActivate player


        if (message == 0) && (i != 4) && (isopen == 0)
            MessageBox "Dieses Portal ist mit einem magischen Siegel versehen." "Fortfahren."
            set message to 1
        
        if (i == 4)
        activate
        
        
        endif
        endif

end

begin GameMode

if (init == 0) && (i != 4)
    pms GhostEffect
    set init to 1
endif

if (init == 1) && (i == 4)
    playsound "SPLShockHit"
    sms GhostEffect
    set isOpen to 1
    set init to 2
endif

end

Danke im Vorraus. :)
 
Schreibs mal besser so:
Code:
scn name

short init
short isOpen
short mess
short i

Begin onActivate

if isActionRef player
  if i == 4
    activate

  else
    if mess == 0 && isOpen == 0
      messageBox "BlaBla!"
      set mess to 1
    endif
  endif

endif

end


Begin GameMode

if init == 0
  if i != 4
    pms GhostEffect
    set init to 1
  endif

elseif init == 1
  if i == 4
    playsound "SPLShockHit"
    sms GhostEffect
    set isOpen to 1
    set init to 2
  endif

endif

end
 
  • Like
Reaktionen: peecee
Natürlich, wie denn sonst?

Ein Resultskript ist ja auch eigentlich ein Skript und mir fällt spontan auch keine Funktion ein, die man nur im Resultskript verwenden kann.
 
Das ist kein Skriptbefehl, sondern für die Konsole ;) Der wird also auch nicht in einem Resultskript funktionieren. Da könntest du höchstens die OBSE-Variante benutzen.
 
  • Like
Reaktionen: Schmelz
Gibt es eine möglichkeit, das wenn der Spieler einen bestimmten Gegenstand im Inventar hat, das er per Tastendruck die Zeit zurück drehen kann? (Ähnlich wie in Prince of Persia)

mfg
Raven
 
In wie fern Zeit zurückdrehen?
Wenn es das Zurücksetzen von Quests beinhaltet kannst du es denke ich vergessen.
Es sei denn du willst ein Skript dauerhaft alles protokollieren lassen, was der Spieler macht. um es rückgänig zu machen...
 
In diesem Skript funktioniert die hervorgehobene Zeile nicht, d.h. die Kreatur wird nicht disabled und läuft weiter herum. Die Message davor wird aber angezeigt. Was habe ich falsch gemacht? :huh:

Code:
scn PCPLattaselEndcombatscript

short triggered
short disable

begin ontriggeractor player
    
    if (triggered == 0) && (PCPHP04DeadlyCreatureREF.isincombat)
    
        message "Die Kreatur konnte euch nicht folgen und ihr seit nun sicher."
        set triggered to 1
        set disable to 1
            
    endif
end

begin gamemode
    if (disable != 0)
            message "Jetzt sollte es eig. disablen!"
        [B]    [I]PCPHP04DeadlyCreatureREF.disable
[/I][/B]    endif
end
 
Warum so kompliziert?
a) Warum die Kampfabfrage?
b) warum das Disablen in einen Extra-GameMode?

Ich würds so machen.
PHP:
scn PCPLattaselEndcombatscript

short triggered

begin ontriggeractor player
    
    if (triggered == 0)     
        message "Die Kreatur konnte euch nicht folgen und ihr seit nun sicher."
        set triggered to 1
        PCPHP04DeadlyCreatureREF.disable            
    endif
end

btw, hab die Disable-Variable entfernt, weil sie ja keinen Zweck mehr erfüllt.
 
  • Like
Reaktionen: peecee
a) Weil der Skript nur greifen soll, sobald die Kreatur enabled und damit im Kampf ist. Wenn man den Trigger durchschreitet ohne dass das Monster schon da ist, soll nichts passieren. Deswegen.
b) Im Activate Mode hats ebenfalls nicht funktioniert, daher habe ich es mal im Gamemode versucht...

Hab's trotzdem mal mit deiner Variante probiert, doch es klappt nicht...
 
Ich weiß jetzt woran's lag. Ein anderer Skript, welcher für die Kreatur verantwortlich war, hat das disablen verhindert, weil eine Variable nicht rechtzeitig hochgesetzt wurde. :lol: Trotzdem danke.
 
Könnte mir jemand einen Questskript schreiben, bei dem zufällig aus 4 Liedern immer eines ausgewählt wird, was per StreamMusic die normale Musik ersetzt.
Das Besondere ist jedoch eins (und daran scheitere ich^^): Es sollte so gescriptet sein, dass NICHT 2 mal das gleiche Lied hintereinander kommen kann.
Denn das kommt bei mir leider vor. :(