Construction Set Skriptthread zum Construction Set

Im CS dein Objekt was der Spieler aktivieren soll mit einem Parentobjekt versehen. Also Doppelklick und da müsste ein Reiter namens Parent sein und da wählst du dann das Objekt was den PushActorAway Spell castet. Im Script musst du dann eine Ref machen und sie zuweisen (mit GetParentRef) und dann Ref.Activate. Und auf dem anderen Objekt halt das Script mit dem Zauber (also Cast...)

Danke für deine Hilfe, leider hat es immer noch nicht geklappt.
Das ist aber nicht schlimm, denn ich habe nach einigen Überlegungen eine ganz andere Sache an den Objekt verwirklicht, die eigentlich auch besser passt. :)

Mfg Master of Worlds
 
Code:
scn Kaminscript
 
short Kaminmonat
 
Begin Gamemode
     if GameMonth >= 0 && <= 3 || >= 8
          enable
      else
          disable
     endif
end
 
float Kaminstunde
 
Begin Gamemode
     if Gamehour >= 18 || <= 10
           enable
     else
           disable
     endif
end

Das hat das Cs so gespeichert???????

Wenn das nicht zwei scripts sind, liegt darin das Problem.

1. Variabeln immer am Anfang definieren

2. Keine Zwei Begin HierDasselbe Blöcke!


hat sich erledigt, hab mir nen anderen vergleichbaren script nochmal angesehen und gesehen, dass ich zweimal einen fehler gemacht hate, einmal GameMonth, einmal Gamehour vergessen, jetzt läufts
 
Hallo,
Kann es sein wen dieser Script von Gildur auf einem Objekt liegt die Kollisionbox vom Objekt abgeschaltet werden? Hier das Script es soll einen Farstuhl nach oben fahren lassen:roll:

Code:
scn 00Aufzugscript

short activated
float locx
float locy
float locz
float stopx
float stopy
float stopz
float stopxb
float stopyb
float stopzb
float speedx
float speedy
float speedz
short wayx
short wayy
short wayz
ref myself

Begin OnActivate
if activated == 0
    set myself to getself
    set stopx to myself.getpos x             ;bestimmt, wie weit sich das Objekt auf der x-Koordinate bewegen soll (- und + bestimmen die Richtung auf der x-Koordinate)
    set stopy to myself.getpos y             ;bestimmt, wie weit sich das Objekt auf der y-Koordinate bewegen soll (- und + bestimmen die Richtung auf der y-Koordinate)
    set stopz to myself.getpos z + 1244        ;bestimmt, wie weit sich das Objekt auf der z-Koordinate bewegen soll (- und + bestimmen die Richtung auf der z-Koordinate)
    set stopxb to myself.getpos x
    set stopyb to myself.getpos y
    set stopzb to myself.getpos z
    set speedx to 0                    ;bestimmt die Geschwindigkeit auf der x-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
    set speedy to 0                ;bestimmt die Geschwindigkeit auf der y-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
    set speedz to 2                ;bestimmt die Geschwindigkeit auf der z-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
    If stopx > myself.getpos x
        set wayx to 1
    Elseif stopx < myself.getpos x
        set wayx to -1
    Endif
    If stopy > myself.getpos y
        set wayy to 1
    Elseif stopy < myself.getpos y
        set wayy to -1
    Endif
    If stopz > myself.getpos z
        set wayz to 1
    Elseif stopz < myself.getpos z
        set wayz to -1
    Endif
    set activated to 1
Elseif (activated == 1)
    set activated to 20
Elseif (activated == 2)
    set activated to 10
Elseif (activated == 10)
    set activated to 1
Elseif (activated == 20)
    set activated to 2
Endif
End

Begin GameMode
if (activated != 1) && (activated != 2)
return
Elseif activated == 1
    set locx to myself.getpos x + speedx
    set locy to myself.getpos y + speedy
    set locz to myself.getpos z + speedz
    If (wayx == 1) && (locx < stopx)
        myself.setpos x locx
    Elseif (wayx == -1) && (locx > stopx)
        myself.setpos x locx
    Endif
    If (wayy == 1) && (locy < stopy)
        myself.setpos y locy
    Elseif (wayy == -1) && (locy > stopy)
        myself.setpos y locy
    Endif
    If (wayz == 1) && (locz < stopz)
        myself.setpos z locz
    Elseif (wayz == -1) && (locz > stopz)
        myself.setpos z locz
    Endif
Elseif activated == 2
    set locx to myself.getpos x - speedx
    set locy to myself.getpos y - speedy
    set locz to myself.getpos z - speedz
    If (wayx == 1) && (locx > stopxb)
        myself.setpos x locx
    Elseif (wayx == -1) && (locx < stopxb)
        myself.setpos x locx
    Endif
    If (wayy == 1) && (locy > stopyb)
        myself.setpos y locy
    Elseif (wayy == -1) && (locy < stopyb)
        myself.setpos y locy
    Endif
    If (wayz == 1) && (locz > stopzb)
        myself.setpos z locz
    Elseif (wayz == -1) && (locz < stopzb)
        myself.setpos z locz
    Endif
Endif

grüße
janis
 
Eine Möglichkeit wäre, das Bauteil in jedem Frame zu disablen und dann wieder zu enablen. Dadurch wird die Kollision jedes Mal wieder aktualisiert; sieht aber nicht sehr gut aus, weil es flimmert...
Dann gibt es noch ne Alternative mit OBSE; weiß aber nicht mehr genau, wie die funzt; stand mal in irgendeinem Thread hier (auch zum Thema Aufzug).
 
Hallo

Ich wollte mal fragen ob jemand weiß, ob es ein script gibt, mit dem sich türen von alleine öffnen.

So in etwa, wenn man auf eine tür zu geht und nur noch einen halben meter entfernt von ihr ist, dass sie dann von alleine aufgeht.

und wenn man dann im angrenzden raum wieder einen halben meter von der tür entfernt ist, soll sie sich wieder schließen.
 
Zum Beispiel so:
Code:
scn name

short open

Begin onActivate
 return
end

Begin GameMode
 if open == 0
  if isAnimPlaying == 0
   if getDistance player <= x
    set open to 1
    activate
   endif
  endif
 else
  if isAnimPlaying == 0
   if getDistance player > x
    set open to 0
    activate
   endif
  endif
 endif
end
 
  • Like
Reaktionen: Meister von Cyrodiil
Hallo ich habe mit diesem
scn Waffenscript


short Button

Begin GameMode
if ( GetPcIsRace Waffenmeister == 1 )
messageBox"Wählt eure Waffe","W1","W2","W3","W4","W5","W6","W7","W8","W9"
endif

Set Button to ( GetbuttonPressed + 1 )
If ( Button == 1 )
player.additem W1 1
player.EquipItem W1 1
player.addspell Wspell
elseif ( Button == 2 )
player.additem W2 1
player.EquipItem W2 1
player.addspell Wspellfrost
elseif ( Button == 3 )
player.additem W3 1
player.EquipItem W3 1
player.addspell Wspell


ect...


endif

StopQuest Wquest

eigentlich sollte nach der auswahl die waffe ausgerüstet werden und ein passender zauber erlernt werden. allerdings passiert nichts wenn ich auf die buttons klicke.
das script hatte ich aus einem andern plug in kopiert(verstanden hab ichs allerdings nicht)
was habe ich falsch gemacht?:huh:
 
Zuletzt bearbeitet:
Achso, mein Fehler, habs übersehen...
Dann soltest du darauf achten, dass zwischen dem Hinzufügen und dem Ausrüsten ein Frame vergeht, sonst funktioniert der EquipItem-Befehl nicht...
 
ich fürchte das ab der auswahl gar nichts mehr funktioniert. denn die zauber die hinzugefügt werden sollen tauchen auch nicht auf. um genau zu sein taucht gar nichts auf.
 
Master of Worlds hat mir bei diesem Script geholfen, jedoch funktioniert er nicht.
Code:
scn ScriptNameDeinerWahl

short doonce

begin onTrigger player
if doonce == 0
WachenReference.disable
set doonce to 1
endif
end

Sobald der Spieler durch einen Trigger läuft soll ein NPC disablen, dies tut er jedoch nicht. Der Script liegt auf dem Trigger.

grüße bertie

Edit: Problem gelöst!
 
Zuletzt bearbeitet:
scn Waffenscript


short Button

Begin GameMode
if ( GetPcIsRace Waffenmeister == 1 )
messageBox"Wählt eure Waffe","W1","W2","W3","W4","W5","W6","W7","W8","W9"
endif

Set Button to GetbuttonPressed
If ( Button == 0 )
player.additem W1 1
player.EquipItem W1 1
player.addspell Wspell
elseif ( Button == 1 )
player.additem W2 1
player.EquipItem W2 1
player.addspell Wspellfrost
elseif ( Button == 2 )
player.additem W3 1
player.EquipItem W3 1
player.addspell Wspell


ect...


endif

StopQuest Wquest

Ich hab ein bisschen was geändert. ("Set Button to GetButtonPressed" und die Abfrage von "button" fängt mit "0" an.)
Des weiteren:
Die Messagebox taucht auf, aber die weitere Auswahl funktioniert nicht oder?

Außerdem muss natürlich noch ein "end" ans Ende, sofern der Block da zuende ist.
 
richtig. die messagebox taucht auf, ich wähle eine der optionen, die box verschwindet aber es passiert nichts.

ein end ist drin. hab wohl vergessen es mit zu kopieren.
leider helfen die änderungen auch nicht.:cry: