Construction Set Skriptfragen

Yves

Bürger
Hallo

Und ersteinmal vorab:
Ich habe dies nicht in's Skriptthread gepostet weil dies bis jetz zu keinen erfolg führt mit diesem Problem.

Hier das erste Problem:

Code:
scn FNCastelBarierre

short triggered

Begin Ontrigger Player

     if Triggered == 0

          FNSpiderSpigganBaby01.moveto FNCastelSpiderSpigganBaby01XMaker
          FNSpiderSpigganBaby02.moveto FNCastelSpiderSpigganBaby02XMaker
          FNSpiderSpigganBaby03.moveto FNCastelSpiderSpigganBaby03XMaker
          FNSpiderSpigganBaby04.moveto FNCastelSpiderSpigganBaby04XMaker
          FNSpiderSpigganBaby05.moveto FNCastelSpiderSpigganBaby05XMaker
          FNSpiderSpigganBaby06.moveto FNCastelSpiderSpigganBaby06XMaker
          FNSpiderSpigganBaby07.moveto FNCastelSpiderSpigganBaby07XMaker
[COLOR="Red"]          FNCastelBarierre01.enable
          FNCastelBarierre02.enable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable[/COLOR]

          set triggered to 1

     endif

End

Begin GameMode
if triggered == 1
     if ( FNSpiderSpigganBaby01.GetDead == 1) && (FNSpiderSpigganBaby02.GetDead == 1) && (FNSpiderSpigganBaby03.GetDead == 1) && (FNSpiderSpigganBaby04.GetDead == 1) && (FNSpiderSpigganBaby05.GetDead == 1) && (FNSpiderSpigganBaby06.GetDead == 1) && (FNSpiderSpigganBaby07.GetDead == 1) 
 
 
          FNCastelBarierre01.disable
          FNCastelBarierre02.disable
          FNCastelBarierre03.disable
          FNCastelBarierre04.disable

     endif
set triggered to 2
endif
End

Hier werden die Barrieren (Rot makiert) enable geschaltet doch der rest wird nicht ausfgeführt.

2.Problem

Code:
scn FNBookTributDerErde

short once
short button
short level


begin OnActivate
if (once == 0) && (player.GetStage FNHQ02 < 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
    set level to 1
    set once to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 5)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
    set level to 2
    set once to 1
endif
end

begin GameMode
set button to GetButtonPressed
if (once == 1) && (level == 1) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 1) && (level == 2) && (button == 1)
     activate 
     set once to 0
     set level to 0
endif
end

In diesem Skript funktioniert leider rein garnichts.

Ich bitte dringend um Hilfe!
Lg yves
 
Zuletzt bearbeitet:
1. Also ich sehe auch nur diese vier Sachen, die enabled werden... Wie willst du etwas enablen, wenn im Script kein "enable" steht... :huh:

2. Was funktioniert denn nicht?
 
Danke ersteinmal!:)
Ich habe mich falsch ausgedrückt und verbessert.
Code:
Hier werden die Barrieren (Rot makiert) enable geschaltet doch der rest wird nicht ausfgeführt.

Und beim 2. passiert gar nichts das Buch wodrauf das Skript liegen sol wird einfach geöffnet.

Mfg yves
 
Dann benutze für das Buch mal den "onEquip"-Befehl, statt des "onActivate"s.

Bezüglich der Kreaturen, hatte ich das Problem auch mal... Du solltest eine neue Zelle erstellen, die Kreaturen dort hinstellen und dann zum Marker bewegen lassen... (weiß jetzt nicht, wie du das bisher geregelt hast)
 
Das mit dem "OnEquip" Werde ich testen doch mit den kreaturen war es normalerweise so das sie enable geschlatet werden sollten die zeigte keinen erfolg dann hab ich getestet sie in eine Interior zu stellen und dann duch das passieren der triggerbox dorthin teleportiern zu lassen, doch dies funktioniert auch nicht.

Mfg yves
 
was für packages ham die Kreaturen denn? wenn die zum Beispiel ein Wanderpackage haben, und um einen Xmarker rumlaufen in der Dummycell, dann werden die komischerweise immer wieder dorthin teleportiert.
 
die XMaker befinden sich doch an den Orten wo die hin kommen sollen.
Ich habe nur Xmaker erstellt die Reference erstellt im Script angegeben
(
Code:
          FNSpiderSpigganBaby01.moveto FNCastelSpiderSpigganBaby01XMaker
)
Und das wars.
 
Was du jedenfalls änder solltest, ist der GameMode-Block.
Schreib da mal
Code:
if (triggered == 1) && (FNSpiderSpigganBaby01.GetDead == 1) && (FNSpiderSpigganBaby02.GetDead == 1) && (FNSpiderSpigganBaby03.GetDead == 1) && (FNSpiderSpigganBaby04.GetDead == 1) && (FNSpiderSpigganBaby05.GetDead == 1) && (FNSpiderSpigganBaby06.GetDead == 1) && (FNSpiderSpigganBaby07.GetDead == 1)
Sofern das von der Zeichenlänge (max 512 pro Zeile) klappt.

Zu den Kreaturen:
Was genau hast du jetzt gemacht?

-Um die TriggerBox 7 XMarker positioniert und ihnen eine Ref-ID zugewiesen?
-Eine Interiorcell erstellt, in der die Kreaturen sind, am besten auf einem Static-Mesh?
-Den Kreaturen eine Ref-ID zugewiesen, mit denen du sie dann im Script teleportierst? (Das geht nicht mit der Object-ID.)

Fürs Buch probiers mal so:
Code:
scn FNBookTributDerErde

short once
short button
short level


begin OnEquip player
if (once == 0) && (player.GetStage FNHQ02 < 50)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
    set level to 1
    set once to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 5)
Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
    set level to 2
    set once to 2
endif
end

begin GameMode
set button to GetButtonPressed
if (once == 1) && (level == 1) && (button == 0)
    return
    set once to 0
    set level to 0 
endif

if (once == 2) && (level == 2) && (button == 0)
    return
    set once to 0
    set level to 0 
elseif (once == 2) && (level == 2) && (button == 1)
     activate 
     set once to 0
     set level to 0
endif
end
 
Zuletzt bearbeitet:
Ja also alle 7 Verschiedene Kreaturen in einer Cell (Static Mesh) sind alle einem eigenen XMaker zugewiesen. Dann bei jeder Kreatur einen Preference eingetragen und die dem entsprechene XMaker Referece im Script angegeben.

EDIT:
Das buch funktioniert immer noch nicht...

Mfg yves
 
Zuletzt bearbeitet:
Nochmal ein Versuch fürs Buch:

Code:
scn FNBookTributDerErde

short once
short button
short level

begin OnEquip player
if (once == 0) && (player.GetStage FNHQ02 < 50)
   set level to 1
elseif (once == 0) && (player.GetStage FNHQ03 >= 5)
   set level to 2
endif
end   


begin GameMode

set button to GetButtonPressed

if (level == 1)
   Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
   set once to 1
elseif (level == 2)
   Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
   set once to 2
endif   

if (once == 1) && (button == 0)
   return
   set once to 0
endif
   
if (once == 2) && (button == 0)
   return
   set once to 0
elseif (once == 2) && (button == 1)   
   activate
   set once to 0
endif   

end
 
Wieso das mit dem Buch nicht hinhaut, kapier ich nicht wirklich.

Was passiert bei dem Script jetzt? Wird das Buch immer noch geöffnet?
Wenn ja, dann ersetz mal "activate" durch "Message "Klappt nicht." "
Wenn dann "Message "Klappt nicht." " angezeigt wird und sich das Buch nicht öffnet, dann haut das mit den Conditions, also der if-Abfrage am Anfang nach den Queststages, nicht.

Zu den Kreaturen:
Es könnte sein, dass es nicht klappt, weil das Teleportieren der Kreaturen mehr als einen Frame einnimmt und begin OnTrigger nur einen Frame aktiv ist.

In dem Fall müsstest du das in den GameMode-Block verlegen.
Vielleicht so:
Code:
scn FNCastelBarierre

short triggered

Begin Ontrigger Player

     if Triggered == 0

          set triggered to 1

     endif

End

Begin GameMode

if triggered == 1
          FNSpiderSpigganBaby01.moveto FNCastelSpiderSpigganBaby01XMaker
          FNSpiderSpigganBaby02.moveto FNCastelSpiderSpigganBaby02XMaker
          FNSpiderSpigganBaby03.moveto FNCastelSpiderSpigganBaby03XMaker
          FNSpiderSpigganBaby04.moveto FNCastelSpiderSpigganBaby04XMaker
          FNSpiderSpigganBaby05.moveto FNCastelSpiderSpigganBaby05XMaker
          FNSpiderSpigganBaby06.moveto FNCastelSpiderSpigganBaby06XMaker
          FNSpiderSpigganBaby07.moveto FNCastelSpiderSpigganBaby07XMaker
          FNCastelBarierre01.enable
          FNCastelBarierre02.enable
          FNCastelBarierre03.enable
          FNCastelBarierre04.enable
          set triggered to 2
endif

if (triggered == 2) && ( FNSpiderSpigganBaby01.GetDead == 1) && (FNSpiderSpigganBaby02.GetDead == 1) && (FNSpiderSpigganBaby03.GetDead == 1) && (FNSpiderSpigganBaby04.GetDead == 1) && (FNSpiderSpigganBaby05.GetDead == 1) && (FNSpiderSpigganBaby06.GetDead == 1) && (FNSpiderSpigganBaby07.GetDead == 1) 
 
          FNCastelBarierre01.disable
          FNCastelBarierre02.disable
          FNCastelBarierre03.disable
          FNCastelBarierre04.disable
          set triggered to 3
endif
End
 
Bei dem Script passiert gar nicht das Buch wird einfach geöffnet...
Aber da steht ja wenn man Stages 50 hat soll die nur die Antowert: "Nichts eigeben und weglegen" da sein. Doch man kann das auch vereinfachen da man das Buch erst bekommt bei der Stages 50 kann man machen das beim öffnen automatisch die antwort: "Nichts eigeben und weglegen" kommt und dann erst bei der Stages FNHQ03 die zweite möglichkeit also kann man sich das erste Stages sparen...
Mfg yves
 
Wenn man eh erst bei der Stage 50 bekommt, dann braucht reicht es, wenn man nur mit der anderen Stage 5 arbeitet.

Code:
scn FNBookTributDerErde

short button
short level

begin OnEquip player
if (player.GetStage FNHQ03 < 5) && (level == 0)
   Messagebox "Verschlüsselung", "Nichts eingeben und weglegen"
   set level to 1
if (player.GetStage FNHQ03 >= 5) && (level == 0)
   Messagebox "Verschlüsselung", "Nichts eingeben und weglegen", "Necromanti"
   set level to 2
endif
end   


begin GameMode

set button to GetButtonPressed

if (level == 1) && (button == 0)
   return
   set level to 0
endif
   
if (level == 2) && (button == 0)
   return
   set level to 0
elseif (level == 2) && (button == 1)   
   activate
   set level to 0
endif   
end
 
Da hat ein endif gefehlt doch jetz kommt die messages Box aber das Buch geht trozdem auf.

Und mir ist aufgefallen kann es sein das die Kreaturen versuchen dahin zu gehen...
Also nicht teleportiert werden sondern gehen.
 
Zuletzt bearbeitet:
Nein, die Kreaturen gehen nicht. Moveto teleportiert.
Aber schau mal hier:
http://cs.elderscrolls.com/constwiki/index.php/MoveTo

3. Punkt bei Notes.

Zum Buch:
Öffnet der Spieler das aus dem Inventar oder liegt das irgendwo?
Wenn das Buch aufgeht, obwohl der Befehl "activate" nicht mehr im Script liegt und trotzdem die Messagebox kommt, dann könnte es sein, dass es doch nur mit OnActivate geht.
 
Zuletzt bearbeitet:
Nö... Eigentlich nicht, zumindest bei mir nicht, weil die sonst irgendwie aus einer Zelle ohne Ausgang herauskommen müssten...
Guck mal, ob du die Kreaturen in der gleichen Zelle wie den Marker platziert hast. Wenn ja, solltest du eine Extra-Zelle erstellen, sonst versuchen sie nämlich zu ihrem Ursprungsort zurückzukehren (wenn sie ein Wander-Package haben???) und das geht über die Zellgrenzen ja nicht, sodass sie es gleich aufgeben...
 
ja ich habe für die Kreaturen eine eigene Celle erichtet und keine Package...
Und das buch ist im inventar.


Udn wegem dem Buch:
Das gleiche bei onActivate
Mfg yves
 
Zuletzt bearbeitet: