Construction Set script-Fragen

bauer

Hausbruder
sääääs,
also, ich hätte einige Fragen bezüglich scripts:

-Wäre es möglich, mit einem script ein Schiff bewegen zu können, also echt fahren lassen?

-Geht es, durch einen script: Das wenn der Gegner den Spieler noch nicht entdeckt hat, man im mit einem Schlag töten kann?

Dankeeee

bauer
 
1.) in Morrowind hat das irgendwer mal hingekriegt, für Oblivion ist mir nichts dergleichen bekannt. Wird auf jeden Fall nicht einfach.

2.) Abfrage GetDetected passt da wohl wie die Faust auf's Auge.

Nur für einen best. NPC (dem man ein Skript verpassen kann), oder für alle (würde dann afaik nur mit einer best. Waffe funktionieren)?

a) best. NPC (Skript muss auf alle NPCs für die das zutreffen soll):
Code:
scn DeadNPCScript

ref Self

Begin OnHit Player
 set Self to GetSelf
 if ( Self.GetDetected Player )
  Self.kill
 endif
End


b) best. Waffe (Skript muss als verzauberung auf die Waffe):
Code:
scn EnDeadNPCScript

ref Self

Begin ScriptEffectStart
 set Self to GetSelf
 if ( Self.GetDetected Player )
  Self.kill
 endif
End
zusätzlich muss noch auf die Waffe folgendes Skript:
Code:
scn WeapDeadNPCScript

ref Posessor

Begin OnEquip
 set Posessor to GetContainer
 if ( Posessor != Player )
  Posessor.UnequipItem [ID der Waffe]          ;falls du OBSE verwendest kannst du auch anstelle [ID der Waffe] GetBaseOBject verwenden. Dann brauchst du nur ein Skript für alle Waffen
 endif
End
 
eigentlich wollte ich das für alle NPCs, nicht nur die Waffe

Dann muss das Skript für einen best. NPC auf jeden NPC drauf:
Code:
scn DeadNPCScript

ref Self

Begin OnHit Player
 set Self to GetSelf
 if ( Self.GetDetected Player )
  Self.kill
 endif
End

Du kannst ja den OnHit Player-Block in das Skript der anderen NPCs kopieren, die ein eigenes Skript haben.
Ein anderer Weg ist mir nicht bekannt. :?


Edit:
Oder du erhöhst den Schleichmultiplikator so weit, dass jeder sofort stirbt (z.B. auf 5000).
Ich such mal schnell raus, wie der heißt.
 
  • Like
Reaktionen: bauer
muss ich den script auf jeden NPC legen? oder geht das per script:-D

Selbst auf jeden NPC legen.
Es existiert zwar die OBSE-funktion SetScript, es wird aber davon abgeraten diese zu verwenden (weil: noch nicht ausreichend getestet).



Ich hab jetzt die Schleichmultiplikatoren gefunden: Guck'st du hier

Die hochzusetzten (auf 5000 oder so) müsste auch deinen Zweck erfüllen.
Das gilt dann halt auch für NPC-Angriffe, aber ich denke damit kann man leben.
 
@dGdA:Jason1s Schiff benutzt kein OBSE.Dafür ist es aber umständlich zu steuern

-Wäre es möglich, mit einem script ein Schiff bewegen zu können, also echt fahren lassen?

Ja bauer das geht,aber wie LowPost schon gesagt hat ist das nicht einfach.

Wenn du es nicht alllzu kompliziert haben möchtest benutzt du OBSE, und zwar die Trigonometrischen Funktionen, sprich sinus cosinus(tangenz brauchst du nicht) um die entsprechenden x und y Koordinaten auszurechnen.

Ich habe so ein script gemacht, für ein Boot das man mit w,a,s und d steuern kann.Auch Kollision funktioniert, zumindest horizontal.Das Problem ist aber die vertikale Kollision,d.h. mit dem Seeboden.

Ich kann dir helfen wenn du das was ich geschrieben habe verstanden hast.Aber erwarte nicht das ich dir mein Script gebe.Hab viel Arbeit und Tüfftelei rein gesteckt und will es erstmal selber benutzen bevor ich es hergebe :)

Gruß sinHHHans
 
Ich habe so ein script gemacht, für ein Boot das man mit w,a,s und d steuern kann.Auch Kollision funktioniert, zumindest horizontal.Das Problem ist aber die vertikale Kollision,d.h. mit dem Seeboden.

bescheidene frage, falls es dir genehm ist: wie hast du das mit der kollisionserkennung gemacht? keine sorge, ich brauch das nicht für ein schiff(hab ich mir auch schon n havok-schiff selbst zusammengescriptet^^). wenn du mir auch evtl nicht das genaue script geben willst, so doch wenigstens n denkanstoß. ich renn schon ne ewigkeit danach rum...
 
Ok als Tipp mal : GetLOS ;-)

Es werden direkt vor dem Boot drei PapierKnüllen (winzig klein) herbewegt.Wenn ich mit dem Boot jetzt gegen eine Mauer fahre kann ich davon ausgehen das je nach Auftreffwinkel ein oder mehrere Papierknüllen nicht mehr zu sehen sind (GetLOS == 0)
=> Kollision :)
 
wow! das ist ja mal echt ne geile idee. ich war schon an meine kreativen grenzen gestoßen, aber das ist ja mal wirklich stilvoll (meine letzte möglichkeit wäre noch permanentes abfeuern von zaubern durch triggerboxen gewesen und schauen, wann deren position nicht mehr abgefragt werden kann, aber der scriptaufwand wäre dafür wäre exorbitant gewesen, und wegen permanenter faulheit wohl kaum realisiert worden:-D )
 
hm, die cs-wiki lässt aber anderes verlauten. da steht, dass das nur actors anwenden können, und wenn, dann muss das gesehene objekt auch ein actor sein.
also so einfach wirds doch nicht...