Construction Set Skriptthread zum Construction Set

das script is da, aber nciht zugewiesen ;-)

also mach ich jetzt so:

Ich setze den Käfig als Parent vom hebel, der käfig kriegt folgendes Script:

Code:
short triggered
short busy


begin onActivate

    if triggered == 0 && isActionRef <REFDESHEBELS == 1 && busy == 0
        playgroup forward 0
        set triggered to 2
        set busy to 1
    endif

    if triggered == 2 && isActionRef <REFDESHEBELS> == 1 && busy == 0
        playgroup backward 0
        set triggered to 1
        set busy to 1
    endif

end

begin gameMode

    if triggered >= 1
        
        if busy == 1 && isAnimPlaying == 0
            set busy to 0
        endif

        if triggered == 1 && busy == 0
            set triggered to 0
        endif

    endif

end

begin onReset

reset3DState ;puts animations and havok stuff back in place
set triggered to 0 ;whatever state variables should go back to 
set busy to 0

end

und der hebel bekommt sowas in der art:
Code:
short MyParent
begin onactivate && isactorref player
set MyParent to parent
MyParent.activate
end

würde das so stimmen???
 
Hallo,

zweite Frage: Wie kann ich zwei Message Boxen hintereinander machen ?
sodass wenn die erste erscheint beim wegdrücken die 2te erscheint?
(bitte ganzen script)
Bin beim Scripten erst beim Anfang ... modelieren ftw *hust*

du schreibst die einfach direkt hintereinander:

Code:
MessageBox "abc"
MessageBox "def"

Das Skript läuft erst weiter, wenn die erste Meldung beendet ist.
Ich bin mir nicht sicher wie es bei Antwortmöglichkeiten aussieht.;)
 
Sicher, dass du bei der Activator-ID "OBTortureCage01" geguckt hast. Der hat bei mir nämlich ein Skript zugewiesen.
Der Hebel hat doch auch ein Skript. Warum willst du da extra eins erstellen. Außerdem wäre es eh falsch, weil du nicht in der Zeile mit dem "Begin" eine "if"-Abfrage machen kannst. Und "<Ref>.activate" funktioniert nicht für einen Activator.
 
Wenn Das Skript auf dem NPC liegt, braucht man keine Ref, wenn der Befehl für den NPC ausgeführt werden soll.
Schon probiert, das "DoOnce" hinter das StartConversation zu machen?
 
  • Like
Reaktionen: Anti_Held
Ich bräuchte einen Triggerskript, der einen Sound auslöst, und nachdem der Sound zuende ist, der Spieler stirbt. Das könnte man vielleicht mit einem Timer machen. :)

LG,

peecee
 
Code:
SCN ...

Float Timer
Short Act

Begin OnTriggerActor Player

if(act == 0)
     playsound <sound>
     set timer to <AnzahlDerSekundenDesSounds>

     set act to 1
endif

end

Begin GameMode

if(act)
     if(act == 1)
           if(timer)
                set timer to timer - getsecondspassed
                set act to 2
          else
                     set act to 0
                   return
           endif
     elseif(act == 2)
                  if(timer <= 0)
                        player.kill
                        set timer to 0
                        set act to 0

                       return
                  endif
          else
                     return
              endif
     else
               return
         endif

End
Sollte so funktionieren, falls ich mich nicht gerade irre. :-D
 
  • Like
Reaktionen: peecee
Code:
scn Scriptname

float timer

Begin OnTriggerActor Player
if timer == 0
    set timer to [ZeitDesSounds]
    PlaySound [SoundID]
endif
End

Begin GameMode
if timer == 0
    return
elseif timer > 0
    set timer to timer - getsecondspassed
elseif timer < 0
    player.kill
endif
End

Bei "[ZeitDesSounds]" musst die die Länge des sounds in Sekunden angeben. bei SoundID die ID des Sounds im CS.

Edit.: Alter Drängler :p
 
  • Like
Reaktionen: peecee
Hiho, ich bräuchte Hilfe bei einem Skript:

Ich benötige ein Skript, welches wenn auf einen NPC gelegt dafür sorgt, dass dieser dann den player und andere NPCs heilt, welche sich in einer bestimmten faction befinden, wenn deren Leben unter einen bestimmten Prozentwert sinkt.

Den Teil, der dafür sorgt das der player geheilt wird, habe ich mir so vorgestellt:

Code:
Scriptname AAANpcHScript

float PlayerHP
float temp1
float temp2

Begin GameMode

   set PlayerHP to Player.GetActorValue Health
   set temp1 to Player.GetBaseActorValue Health
   set temp2 to (temp1 * 0.75)

   if PlayerHP <= temp2
      cast AAAHeilzauber1b Player
   endif
Wie muss ich das Skript nun erweitern/umändern, damit mein NPC die anderen NPCs heilt? :)

Liebe Grüße,
Eydis
 
Zuletzt bearbeitet: