Construction Set Skriptthread zum Construction Set

So ich muss ma kurz was ganz ganz doofes fragen; Wenn ich ein Script direkt zu anfang starten möchte, fange ich ja an mit

begin GameMode.

Aber bei mir klappt das nie, ich muss das Script immer erst von Hand anstossen... Kann mir da jemand sagen was da falsch ist? Zum Beispiel habe ich dieses Script hier angefangen (Das ist ein Testscript für die grobe Funktionalität, der Rest kommt noch, nicht wundern):

scn 0001zufallscript

short chance

Begin GameMode

Message "Zufallszauber initialisiert"

if player.IsCasting == 1
message "Das haette schief gehen koennen!"
endif


end
 
mhh also wenn ich mich nicht irre musst du das script an ne quest anhängen.
bei der quest dann noch das häkchen für "startgame enabled" setzen priority so ~50 und bei den bedingungen get.isplayablerace == 1 (oder so ähnlich) einstellen.
dann sollte das ganze eigtl auch von alleine starten.
 
  • Like
Reaktionen: Neurosis404
Nein, GameMode Scripts laufen immer nur in der Zelle, in der sich der Activator bzw. Das Objekt befindet, auf dem der Script liegt. Ich vermute mal, du hast den Script nicht auf den Spieler gelegt oder?

@ Eddy, falsch, die Reihenfolge ist:

Opfer.GetCrime Täter Verbrechensart.

Ich würde dir als Alternative vielleichtt GetCrimeGold empfehlen, was aber nur anschlägt, wenn dich die Wachen beobachten.
 
Zuletzt bearbeitet:
@AjAeXx

RechtHabenMagstDu ;)

Von den Wachen habe ich nichts. Der Companion soll sich ja melden. Sag mal wo werden eigentlich die Sprüche der anderen NPCs hinterlegt?

Sowas wie "Dieb" oder "Hilfe ein Mord ist geschehen." Da könnte man ja nachsehen, wie die ausgelößt werden.

Ich konnte aber nichts dergleichen bei den NPCs in Dialogen finden. Hat da wer einen Tipp?
 
hi
ich bin ein richtig blutiger anfänger in sachen scripten (deswegen wenn ihr mir was erklärt bitte schön langsam und ausführlich ;))
Ich brauche für meinen neuesten Hausmod folgendes:
Ich will das man sich auf einen Stuhl setzt (näheres möchte ich nicht erläutern) und wenn man sich auf den Stuhl gesetzt hat wird eine kurze Videosequenz gestartet, danach soll eine Messagebox erscheinen die mir sagt:
"Von hier oben hast du eine wunderbare Aussicht, du kannst ganz Tamriel erkennen"
darunter dann ein ok zum bestätigen danach möchte ich das alle map marker sichtbar sind...
ist das machbar wenn ja wie?
danke schonmal im voraus!
 
mhh wie das mit dem stuhl geht und wie man videos startet kann ich dir jetzt leider gerade nicht sagen.
könnte da mal schauen aber ich glaube das geht schneller wenn dir da jemand hilft der weiß wie das geht als wenn ich jetzt anfange da rumzuprobieren^^
was die messagebox betrifft ist das eigtl recht simpel.
dazu gibst du
Code:
messagebox "Dein Text"
ein. eventuell vorher noch ne if-abfrage ob das video gespielt wurde aber da muss ich passen^^.
Was die MapMarker betrifft....da gibt es zwei Möglichkeiten:
1. (Die einfache)Es gibt eine OBSE-Befehl (con_togglemapmarkers). Mit diesem Befehl werden aber wirklich alle MapMarker gezeigt (auch aus Questmods etc)...würde ich nicht empfehlen (zumal es einige Spieler gibt die OBSE gegenüber abgeneigt sind)
2. (Die komplizierte)Alternativ muss man jeden MapMarker einzeln aktivieren (showmap). Problem hierbei ist, dass du jede Marker ID raussuchen müsstest. Vorteil: Es werden dann auch nur die MapMarker vom Vanilla-Oblivion aufgedeckt (wenn du alles richtig machst^^), alles andere bleibt unberührt. Da ich gerade an einem Projekt arbeite welches ein ähnliches Ziel verfolgt könnte ich dir unter Umständen mein Script zur Verfügung stellen...Dazu würde ich aber gerne wissen woran du arbeitest...Das kann man dann ja per PN klären falls du das willst.

mfg takbir

Edit:

ok hab ma im cs-wiki nach geschaut.
Videos abspielen geht mit playbink.

und ich schätze mal wenn man auf den stuhl ein script mit nem "onactivate"-block legt müsste das gehen

also ein grobes script könnte dann wie folgt aussehen (kann sein dass ich mich irre^^)
Code:
scriptname meinaussichtsstuhl

short doonce

begin onactivate

if doonce < 1

playbink "aussichtsvideo"
messagebox "tolle aussicht"
con_togglemapmarkers
set doonce to 1

endif

end
ich weiß jetzt aber nicht ob der spieler sich dann auch auf den stuhl setzt^^
 
Zuletzt bearbeitet:
Code:
scn blubb

short once 
float timer

Begin OnActivate Player
If once == 0
PlayBink "MyVideo.bik"
Set timer to länge des Videos
Set once to 1
Activate
endif
end

Begin GameMode
If timer > 0 && once == 1
Set timer to timer - GetSecondsPassed

elseif timer <= 0 && once == 1
MessageBox "Aussicht"
HierderBefehlfürdieMapMarker             ;jenachdem ob du OBSE nimmst oder nicht
Set once to 10
endif
end
 
Zuletzt bearbeitet:
naja das script sagt dir, dass wenn der spieler sich auf den stuhl setzt (begin onactivate player), wir das video gestartet und ein timer gesetzt der so lang ist wie das video und once wird auf 1 gesetzt um sozusagen diesen teil des scripts abzuschließen.
wenn der timer > 0 ist und der erste teil abgeschlossen wird der timer runter gezählt, ist der timer <= 0 erscheint deine messagebox und die mapmarker werden gesetzt. dann wird once auf 10 gesetzt um auch diesen teil des scripts abzuschließen.

wo ich jetzt nich ganz sicher bin... laut der wiki werden mit dem befehl playbink alle scripts gestoppt in der zeit, in der das video läuft....floglich müsste doch der timer auch nicht weiterlaufen? oder irre ich mich jetzt da?
 
also zwei fragen:
1.Muss ich bei Time einfach 0:17, also die Länge meines Videos eingeben?
2.Das converten dauert bei mir 1 Stunde...ist das normal?
 
so sieht der script nun bei mir aus:
(habe das mit den map markern weggelassen)

scn aussicht

short once
float timer

Begin OnActivate Player
If once == 0
PlayBink "aussicht.bik"
Set timer to 0:18
Set once to 1
Activate
endif
end

Begin GameMode
If timer > 0 && once == 1
Set timer to timer - GetSecondsPassed

elseif timer <= 0 && once == 1
MessageBox "Von hier oben kannst du ganz Tamriel sehen!"
endif
end

Das Video kommt (in grausamer Quali) aber die Message-Box kommt nicht oO