Construction Set Skriptthread zum Construction Set

Ich bräuchte einen Skript, den man auf einen bestimmten Gegner legt. Dieser Skript soll bewirken, dass die Kampfmusik nicht angeht, wenn der Gegner angreift. Damit der Spieler nicht weiß, dass er angegriffen wird uns sich erschreckt, wenn's an der Rüstung plötzlich knallt. ;)

Ich freue mich auf hilfreiche Antworten. :)

Grüße,

peecee
 
@Heledir
1.Du musst erstmal einen Tombstone im Spiel platzieren den gibst du dann per doppelclick eine RefId
(die leere unausgefüllte Textbox beim

2.Du musst das so schreiben:
RefID.SetAngle 90 , 0 ,0
in diesem Falle wird das Objekt dann um 90 Grad um die X-Achse gedreht
 
Zuletzt bearbeitet:
@peecee: Das ist, soweit ich weiß, nicht möglich; die Kampfmusik kann nicht unterdrückt, bzw. ausgeschaltet werden. Aber du könntest das ganze eventuell umgehen, indem du den angreifenden Actor auf einen anderen unsichtbaren Actor schießen lässt, der zufällig direkt hinter dem Spieler steht.
Das sähe dann in etwa so aus:
Auf den Actor, der unsichtbar hinter dem Spieler steht, legst du ein Skript, das in etwa so aussieht:
Code:
scn name

short doonce

float pposx
float pposy
float pposz

float aposx
float aposy
float aposz

float posx
float posy
float posz

ref Angreifer

Begin GameMode

 set pposx to player.getPos x
 set pposy to player.getPos y
 set pposz to player.getPos z
 set aposx to Angreifer.getPos x
 set aposy to Angreifer.getPos y
 set aposz to Angreifer.getPos z
 set posx to (pposx + ((pposx - aposx) * 0.1))
 set posy to (pposy + ((pposy - aposy) * 0.1))
 set posz to (pposz + 30)
 setPos x to posx
 setPos y to posy
 setPos z to posz

end


Begin onLoad

if doonce == 0
 set Angreifer to <Referenz-des-angreifenden-NPCs>
 setScale 0.5
 saa 0
 toggleActorsAI
 setDestroyed 1
 set doonce to 1
endif

end
Natürlich musst du dem Angreifer zu gegebener Zeit mit
Code:
<Ref-ID-des Angreifers>.startCombat <Ref-ID-des-unsichtbaren-Actors>
den Schießbefehl erteilen.
So schießt der Actor nicht auf den Spieler, aber da der Spieler direkt vor dem Ziel steht wird er getroffen. Allerdings weiß ich jetzt nicht, ob der Angreifer merkt, dass er nicht den NPC sondern den Spieler im Visier hat und deswegen eventuell an den Spieler herangeht.

Edit:
Was mir gerade noch einfällt:
Du kannst das eigentlich auch über ein Package steuern. Du erstellst ein "Use-Item-At"-Package bei dem der Angreifer einen Bogen benutzt und auf den Spieler schießt; nachdem selben Prinzip, wie man das beim Schusstraining der NPCs sieht, nur nicht auf Heuballen. Nähere Informationen findest du in dem Tutorial von Eddy: Link.


@Heledir:
Die Ref-ID musst du in dem oberen Kasten selbst eingeben. Als Grad-Zahl schreibst du einfach irgendeinen Wert. Ein Beispiel könnte dann so aussehen:
Code:
<Ref-ID>.setAngle x 90
Damit wird das Objekt auf 90° zur X-Achse gedreht.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: peecee
Meld mich auch mal wieder.
An die Profis:
Ist es möglich zwischen 2 Statics einen Blitz in Form eines dauerhaftn Blitzzaubers erscheinen zu lassen oder einfach alle 2 Sec einen Blitzzauber von einem Static zum nächsten fliegen zu lassen und per activator dies alles dann zu disablen?
 
Ich denke man könnte einen Einfach Scriptzauber nehmen der von dem einem Static gecastet wird.
Code:
scn ZauberScript


float timer[URL="http://www.ei-der-zeit.com/wiki/index.php/Oblivion:Scn"][COLOR=#B77B03][FONT=monospace][/FONT][/COLOR][/URL] 

Begin GameMode

set timer to timer - getsecondspassed
if timer < 0
static1.cast blitzZauberID;vmtl StandardShockDamageTarget2Apprentice static2
set timer to 0.2; Zeit bis zum nächsten Blitz
endif
end
Diesen Zauber siolltest du auf eine Triggerbox in der Nähe oder als Questscript verwenden.
Hoffe ich konnte helfen
 
  • Like
Reaktionen: brandy
Ich hab es iwie falsch erklärt bzw. eingesehen das es so nicht gut ist.
Ich bräuchte ein Skript bei dem aus einem Static (eine Kugel) Kreuz und quer Blitze herausschießen.

Dies dauerhaft bis man einen Activator aktiviert welcher die Blitze dann ausschaltet.

Wäre das möglich?
 
Zuletzt bearbeitet:
Er hat doch noch geschrieben, dass man es auch als Questskript schreiben kannst. ;) Allerdings würde ich noch ein "fQuestDelayTime" dranhängen, damit der Skript immer ausgeführt wird.

Code:
scn ZauberScript


float timer
float fQuestDelayTime

Begin GameMode

set fQuestDelayTime to 0.001
  set timer to timer - getsecondspassed
    if timer < 0
   static1.cast blitzZauberID;vmtl StandardShockDamageTarget2Apprentice static2
  set timer to 0.2; Zeit bis zum nächsten Blitz
 endif
end

mfg
Kahmul
 
  • Like
Reaktionen: brandy
Kann man es auch so machen dass mehrere Blitze durch ein Skript durch die Gegend fliegen?
Oder erfordert das dann mehrere Skripte?

Bzw. kann ich das Skript wie du es geschrieben hast auch auf das Static drauf klatschen?
 
Zuletzt bearbeitet:
Bin zwar ein Skriptnoob, aber ich würde sagen, dass man dafür an im Script hier was ändern müsste.

scn ZauberScript


float timer
float fQuestDelayTime

Begin GameMode

set fQuestDelayTime to 0.001
set timer to timer - getsecondspassed
if timer < 0
static1.cast blitzZauberID;vmtl StandardShockDamageTarget2Apprentice static2
set timer to 0.2; Zeit bis zum nächsten Blitz
endif
end

Einfach ein paar Targets mehr eingeben und es sollte doch gehen, oder?
 
Bräuchte auch Hilfe, da ich von Scripten keine Ahnung habe ...

Wenn ich mehrere Gegenstände angelegt habe (z.B. ein Rüstungsset), dann soll ein Zauber dem Zaubermenü hinzugefügt werden. Und sobald das Set nicht mehr komplett ist, soll der wieder deaktiviert werden.

Wie geht das?

:bye:
 
Du legst einfach auf ein Item der Rüstung folgenden Script:
Code:
scn ScriütName
Begin GameMode
if player.getequipped ITEMID == 1 && if player.getequipped ITEMID == 1 && if player.getequipped ITEMID == 1 && if player.getequipped ITEMID == 1
   player.addspell SPELLID
else ;WEnn ein Gegenstand nicht mehr ausgerüstet ist.
   player.removespell SPELLID
endif
end
Der Script sollte sich egtl von Slebst erklären, die wörter die ich groß geschrieben habe musst du mit deinen ID's ersetzen
 
Geld erscheinen

Hi ich habe nen script erstellt der bei treffer auf den Gegner Münzen erscheinen lässt aber diese sin dann im Boden drin bzw sogar noch weiter darunter.
Ich habe es schon mit Positionverschiebung versucht aber der nimmt das nicht an...
Hier ist der Script
Code:
[B][SIZE=2]
scn 001moneysword
 
ref Geld
ref target
 
begin scripteffectstart 
          set Geld to placeatme Gold001, 100, 256, 0
          set Geld to target.getPos X + 100
          set Geld to target.getPos Y + 100
          set Geld to target.getPos Z + 100
end
[/B][/SIZE]
HOffe ihr könnte helfen
 
Ich verstehe zwar nicht wirklich was du willst aber vlt kann ich trozdem helfen.
Anstatt set geld to placeatme würde ich es mit "geld001.moveto player, 100,256,0"
 
scn ScriütName
Begin GameMode
if player.getequipped ITEMID == 1 && if player.getequipped ITEMID == 1 && if player.getequipped ITEMID == 1 && if player.getequipped ITEMID == 1
player.addspell SPELLID
else ;WEnn ein Gegenstand nicht mehr ausgerüstet ist.
player.removespell SPELLID
endif
end

Danke, death-lord. Nur noch zwei Fragen.


  1. Ist die Item-ID, jetzt die Editor-ID?
  2. Gilt das Script nur für aktive Zauber oder auch für passive Zauber?
:bye:
DarkRuler2500

EDIT:
Hat sich erledigt, aber eine weitere Frage ist aufgekommen ..

Mein Script sieht momentan so aus ...

Code:
scn SetVulkanZauber

Begin GameMode

if player.getequipped DRVulkanBeinschienen == 1 && if player.getequipped DRVulkanStiefel == 1 && if player.getequipped DRVulkanHarnisch == 1 && if player.getequipped DRVulkanHandschuhe == 1  && if player.getequipped  DRVulkanHelm == 1 &&  if player.getequipped  DRVulkanSchwert == 1 

   player.addspell AASetVulkanZauber

else                 ;Wenn ein Gegenstand nicht mehr ausgerüstet ist.

   player.removespell AASetVulkanZauber
endif

end
EDIT 2: Hat sich gerade im Moment des Postens erledigt :D
Ich hatte zu viele Ifs ;)

Sieht jetzt so aus und lässt sich auch abspeichern
scn AASetVulkanZauber

Begin GameMode

if player.getequipped DRVulkanBeinschienen == 1 && player.getequipped DRVulkanStiefel == 1 && player.getequipped DRVulkanHarnisch == 1 && player.getequipped DRVulkanHandschuhe == 1 && player.getequipped DRVulkanHelm == 1 && player.getequipped DRVulkanSchwert == 1

player.addspell AASetVulkanZauber

else ;Wenn ein Gegenstand nicht mehr ausgerüstet ist.

player.removespell AASetVulkanZauber

endif

end
 
Zuletzt bearbeitet:
@V0g3I: So sollte es gehen:
Code:
scn name

ref target
ref Gold

Begin ScriptEffectStart

set target to getSelf
set Gold to target.placeAtMe Gold001, 1
Gold.moveTo target 0,0,200

end

In diesem Fall würde die Münze ca. einen Meter über dem Gegner erscheinen.
 
  • Like
Reaktionen: V0g3I