Construction Set Skriptthread zum Construction Set

Für solch eine Statue könntest du dich an dem Skript für die Elfenstatuen aus Vanilla orientieren. ;)

Das Skript selbst heißt "ElvenStatueScript" und der erste Block darauß sieht so aus.

Code:
begin OnLoad
	equipitem TG11ElvenLongsword
	setalert 1
	setghost 1
	pickidle
	setunconscious 1
	setdestroyed 1		; so you can't activate
	pms effectTG11stone
end


Dann sollte der Block für die Statue ohne Animation etwa so aussehen.


Code:
begin OnLoad
	setalert 1
	setghost 1
	setunconscious 1
	setdestroyed 1
	pms <Entsprechende EditorID des Shader>
end

Hoffe das hilft dir schon einmal weiter. :)

MfG Master of Worlds
 
  • Like
Reaktionen: Friedolin2
Code:
begin OnLoad
	setalert 1
	setghost 1
	setunconscious 1
	setdestroyed 1
	pms pms effectStone
end

Das hat mich schon ein Stückchen näher gebracht. Aber wie bringe ich da eine Animation mit ein, also z.b. beten?
Kann man auch irgendetwas machen, dass die Staute sich überhaupt nicht mehr bewegt?
 
Zuletzt bearbeitet:
also mit dem ElvenStatueScript bewegen die sich nicht...
man kann ihr leben nicht entdecken sie haben die augen zu sehn aus wie stein haben die waffen erhoben und können weder aktiviert noch getötet werden.sollte eig alles erfüllen^^das mit dem beten muss man irwi mit dem "usitemat" odersowas unter AI machen.gibt nen animations-thread hier im forum der könnte helfen^^
 
  • Like
Reaktionen: Friedolin2
Danke, die Zahlen am Anfang waren mein Fehler.

Hätte da gleich noch was:

Ich habe jetzt schon ewig herumprobiert, aber es wird nichts. Ich möchte ein Script basteln, das auf einen Gegner liegt und bewirkt, dass ich bei einem Schlag von ihm an einen anderen Ort teleportiert werde. X-Marker sind gesetzt.

Alternativ kann das Script auch so sein, dass ich den Gegner schlage und daraufhin wegteleportiert werde.

Das habe ich so probiert, aber da wird man dann pausenlos auf den X-Marker teleportiert und kann sich nicht wegbewegen.

SCN Bla

Begin OnHit
player.moveto Xmarkerbla
end

Lieber wäre es mir sowieso, wenn man durch den gegnerischen Schlag wegteleportiert werden würde, aber ich bin mir nicht sicher ob das geht.
 
Das, wenn der Gegner den Spieler getroffen hat, ist komplizierter und benötigt auch OBSE, soweit ich das noch weis. Also nehmen wir mal die andere Methode.
Lege das Script auf den Gegner:

Code:
SCN GegnerHit

Short DoOnce

Begin OnHit Player

 if(DoOnce == 0)
      set DoOnce to 1
      player.moveto <MarkerRef>
   endif

end
 
  • Like
Reaktionen: FeurigesInferno
Dann müsstest du das so schreiben:

Code:
SCN GegnerHit

Short DoOnce

Begin OnHit Player

 if(DoOnce == 0)
      set DoOnce to 1
      player.moveto <MarkerRef>
  elseif(DoOnce == 1)
          set DoOnce to 0
          player.moveto <MarkerRef>
   endif

end
 
Hi,


ich habe ein Problem mit einem Script.

Bei dem script soll folgendes passieren:

Sobald man eine Triggerbox erreicht wird einem die Kontrolle über den Char entzogen, dann kämpfen 2 Kaiserliche gegen 2 Khajiit, die Kaiserlichen gewinnen und wenn die Khajiit tot sind sollen sie weglaufen und für immer aus dem Spiel verschwinden, wenn sie über die Tür verschwunden sind soll man wieder den Char kontrollieren können.

Bis jetzt sieht das Script so aus:

Was muss daran noch geändert werden?
Code:
scn feykellerkampf

short doonce
Begin onTrigger Player
if doonce == 0 
set doonce to 1
a1.startcombat b3
a2.startcombat b4
Disableplayercontrols
endif
end
Begin GameMode
if b3.getdead == 1 && b4.getdead == 1 && doonce == 1
enableplayercontrols
set doonce to 2
endif
end
 
Du musst den beiden ein Package geben und als Condition eine erstellte Globale einstellen, also das Package soll erst ausgeführt werden, wenn die Globale auf 1 ist.
Bei dem Package musst du einstellen, dass die Beiden zu einem Marker hinter der Tür, also in eine andere Zelle gehen. Dazu muss der Marker natürlich in der Zelle stehen. ;)

Dann legst du das auf die TriggerBox:

Code:
SCN TriggerKampf

Short Triggered

Begin OnTriggerActor Player

 if(triggered == 0)
      a1.startcombat b3
      b3.startcombat a1
      a2.startcombat b4
      b4 startcombat a2

      disableplayercontrols
      set triggered to 1
  endif

end

Begin GameMode

  if(triggered <= 0)
      return
   elseif(triggered == 1)
           if (b3.getdead == 1) && (b4.getDead == 1)
                set <Globale> to 1
                set triggered to 2
           endif
    endif
end
Und das legst du auf die beiden Gewinner:

Code:
SCN KämpferDisableScript

Begin GameMode

  if(getincell <Zelle-in-der-der-Marker-steht>)
      enableplayercontrols
      disable
  endif

end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Nerrok
Hi,

erstmal danke für die beiden Scripts,

bei dem oberen gibt es aber irgendein Problem

Wenn ich es abspeichern will sagt das CS:


....... Line16: Nested begin/end blocks are not allowed.

Und wegen dem verschwinden beim 2 Script:

Soll cih dann einfach eine leere Zelle erstellen in die ich einen xmarker setze und die dann dort hinteleporter werden sobald die, die Tür betreten? So richtig verstehe ich das nicht.^^
 
Zu 1.: Habe oben noch ein "end" vergessen. :oops: Füge ich hinzu.

Zu 2.: Sie sollen doch durch eine Tür gehen, oder? Und diese "mündet" in eine Zelle, oder?
Dann musst du einfach einen Marker in die Zelle stellen und bei den Packages alles richtig einstellen. Und den Script legst du einfach auf die beiden Kaiserlichen.
 
  • Like
Reaktionen: Nerrok
Zum 1 Script: Da ist immer noch etwas falsch.:-D

Kenne mich so garnicht wie Scripts aus.

20100705-174029-947.jpg



Und zum 2 : Ich verstehs immer noch nicht.:-D Ums mal genauer zu erklären:

Also, die Khajiit werden getötet und die Kaiserlichen gehen von der Zelle "ChorrolCastaScriboniasBasement" in die Zelle "ChorrolCastaScriboniasHouse", also beides Zellen aus VanillaOblivion, aber die solln ja nciht einfach in die andere Zelle gehen und da rumstehen, sie sollen sozusagen aus dem ganzen Spiel verschwinden.
 
Bin schon wieder am basteln und brauch diesmal ein wh sehr kompliziertes Script
Also ich will auf einen Zauber den Effekt legen, das dieser auserhalb einer Stadt einige Gegenstände beschwört
z.b. nen Stuhl und einen Eimer
 
Im ersten Script fehlt oben noch ein "endif". :roll: Wird hinzugefügt. ;)

Das 2. Script bewirkt, dass, sobald der Actor, auf dem der Script liegt, in die bestimmte Zelle geht, die Steuerung vom Spieler wieder aktiviert wird und der Actor, auf dem der Script liegt, disabled wird/aus dem Spiel verschwindet. ;) Das Package und der Marker sind dazu da, damit die Kaiserlichen in die Zelle gehen.

EDIT: @ Rey:

Du musst deine Dinge in eine Dummy-Cell stecken und ihnen eine Referenz zuweisen.

Code:
SCN MagicTeleport

Begin ScriptEffectStart

 if(player.getinworldspace tamriel)
      <Referenz>.moveto player ; hier kannste noch einstellen, wo sie neben dem Spieler erscheinen sollen. Syntax: <Referenz>.MoveTo Player X-Ache, Y-Achse, Z-Achse.
      ; und so weiter
   endif

end
Wenn es nur einmal ausgeührt werden darf, musst du halt noch eine Variable einfügen.
 
Zuletzt bearbeitet:
Dann müsstest du das so schreiben:

Code:
SCN GegnerHit

Short DoOnce

Begin OnHit Player

 if(DoOnce == 0)
      set DoOnce to 1
      player.moveto <MarkerRef>
  elseif(DoOnce == 1)
          set DoOnce to 0
          player.moveto <MarkerRef>
   endif

end

Mh, funktioniert leider nicht. Man wird zwar teleportiert, aber das ist dann ein Dauerzustand und man kommt nciht mehr von der Stelle.
 
@ Feuriges Inferno:

Eigentlich agiert "Player.MoveTo" zusätzlich als "return" (das heist, der Script wird an dieser Stelle abgebrochen), daher müsste es eigentlich funktionieren... :?

Danns schreib es mal so:

Code:
SCN GegnerHit

Short DoOnce

Begin OnHit Player

 if(DoOnce == 0)
      set DoOnce to 1
      player.moveto <MarkerRef>
   endif

end

Begin GameMode
  if(DoOnce == 1)
          set DoOnce to 0
   endif

end
EDIT: @ Rey: Wenn du sie nicht wieder zum Spieler zurückteleportieren willst, ja.
 
  • Like
Reaktionen: FeurigesInferno
wie lege ich den die Scripte auf Zauber ich hab das noch nie gemacht
 
Du musst im Skript-Fenster dein Skript geöffnet haben und oben links Magic-Effect einstellen. Dann abspeichern.
Danach gehst du unter Magic/Spell und erstellst einen neuen Zauber mit einer neuen ID. Bei diesem klickst du rechts in die Tabelle und dann gehst du auf "new".

Dann stellst du in dem erschienenem Fenster alles ein und unter Effect stellst du "Skript-Effect" ein. Dann kannst du im unteren Bereich die Skript-Sachen eintragen.
 
  • Like
Reaktionen: 1 Person