Construction Set Skriptthread zum Construction Set

Hi Leute, ich such mal wieder einen Script, aber diesmal wirs (glaubich) kompliezierter.

Der erste Script soll bewirken, dass der Spieler z.b. eine Stunde lang auf eine Kampfpuppe einschlagen bzw auf eine Zielscheibe schießen muss. Geht das mit der Dauer oder muss ich das mit einer Anzahl machen.

Der zweite soll bewirken, dass ein Quest fortgesetzt wird, wenn der Spieler sich z.b zwölf stunden in einem Bereich aufgehalten hat. Wenn der Spieler den Bereich verlässt soll der Quest abgebrochen werden.

Hoffe ihr wisst auch diesmal was zu tun ist
LG Dacri
 
sorry, wenn ich jetzt so zwischenreinplapper aber ich brauch ein Script, das abfragt, ob der Spieler einen Gegenstand besitzt, wenn nicht kommt eine Message box ala du musst dir erst ...besorgen ...ok wenn ja kommt eine Messagebox mit text und der Möglichkeit A (player wird zu einem x Marker teleportiert) und B Messagebox wird geschlossen, kann aber erneut abgerufen werden wenn man bereit für die Reise ist.

Das Problem ist, ich hab keine Ahnung wie ich das mache!

g Käse:)
 
Ich geh jetzt mal davon aus, dass dein script beginnen soll, wenn man irgendwas (vielleicht eine teleportteil oder so;)) aktiviert.
Also ich würd das mit meinen bescheidenen scriptkentnissen jetzt so machen:
Code:
scn "dein scriptname"
begin onActivate
If GetItemCount "ID des abzufragenden Objekts"==0
send message "ihr müsst erst etwas besorgen"
Elseif GetItemCount "ID des abzufragenden Objekts">=1
send message "ihr habt was ihr besorgen müsst"
player.setposition "der xMarker"
endif
end
Bei dem "setposition" bin ich mir nicht ganz sicher, sowas habe ich noch nie gemacht. das andere könnte vielleicht gehen.

Hoffe es funzt
LG Dacri
 
  • Like
Reaktionen: Käsekuchen
Es geht um Reisepapiere für ein Schiff, kommt da dann player.moveto xmarker ref???
und es sollten Messageboxen sein, die man mit ok bestätigen kann bzw, die zweite mit nein oder ja ja für reisen nein für noch nicht, man soll aber später wieder die Box abfragen können

trotzdem schonmal danke!
 
Ok, weiter kann ich dir leider nicht helfen. Das mit den antwortmöglichkeiten habe ich noch nicht so ganz verstanden. aber da kann dir sicher ein erfahrener scripter weiterhelfen. Vielleicht hilft dir auch das hier weiter: Scripting Tutorial
Lies dir mal durch...Da werden auch antwortmöglichkeiten abgefragt, evtl kannst ja daraus deinen nutzen ziehen.

LG
Dacri
 
  • Like
Reaktionen: Käsekuchen
Probier es mal hiermit:
Code:
scn Scriptname

short button

Begin OnActivate
If player.getitemcount [ITEM-ID] == 0
message "Ihr benötigt Gegenstand xy"
else
messagebox "Wollt ihr zur Position segeln?" "Ja" "Nein"
endif
End

Begin GameMode
set button to getbuttonpressed
if button != 0
return
else
player.movetomarker [X-MARKER-REF]
endif
End
 
  • Like
Reaktionen: Käsekuchen
scn aaKiReise

short button

Begin OnActivate
If player.getitemcount aaKiReiseerlaubnis == 0
message "Ihr benötigt eine Reisebescheinigung!" "Ok"
else messagebox "Wollt ihr segeln?"Los gets!" "Nein ich muss mich noch vorbereiten"

endif
End

Begin GameMode
set button to getbuttonpressed
if button != 0
return

else

player.movetomarker aaKiLandemarker

endif
End

Da kommt: line 6: Message time must be an intiger

Das hab ich noch nie gehört:? was soll ich jetzt machen?

EDIT: Hat sich erledigt, mein Fehler:)

g Käse
 
Zuletzt bearbeitet:
Kann man wie bei Käse überhaupt folgendes schreiben?

Code:
message "Ihr benötigt eine Reisebescheinigung!" "Ok"

Eine Message ist doch oben links das?
Wie soll man da "Ok" drücken? :huh:
 
Habe zwar schon ausversehen einen eigenen Thread gemacht gehabt, aber der wird wohl scheinbar ignoriert :eek:

Code:
scn test1

short triggered

Begin onTriggerActor player

if triggered
 return
endif
set triggered to 1
playBink "Mein Film.bik" 0
end

Funktion von dem Script soll sein, dass die Videosequenz mit dem Namen Mein Film.bik aus dem Oblivion\Data\Video - Ordner abgespielt wird, wenn man das erste Mal eine Stelle überquert.
Aber es funktioniert nicht.
Muss ich auser dem Script sonst noch was machen?
Wie mache ich denn einen neuen Trigger?
Und muss ich dann noch beim Setzen was beachten?
Und, meine Sequenz läuft zu schnell, der Ton kommt nicht hinterher.
Habe RADvideos zum komprimieren benutzt, passiert da immer.
Gibts vielleicht eine bessere Alternative?

MfG
FreshTheFallen
 
Probier mal so.
Code:
scn test1

short triggered

Begin onTriggerActor player

if triggered == 0
set triggered to 1
playBink "Mein Film.bik" 0
else
 return
endif
end
 
Ich brauch auch nochmal Hilfe, Bei einem Trigger kommt eine Messagebox, wenn ich auf ok drück, kommt sie aber wieder und wieder und wieder^^ da kann man schlecht laufen!

scn aaKiTrigSc1

short DoOnce
Begin onTrigger player If (DoOnce == 0)
MessageBox "Ich bin eine Messagebok und soll nur ein mal kommen! Im sinne von erscheinen xD" , "Ok"
Set DoOnce to 1
Else ;DoOnce != 0

Return

Endif
End
 
An sich ist der Script korrekt.
Probier mal die Variable DoOnce vor der messageBox hochzusetzen.

ALso so
Code:
[B][SIZE=2]scn aaKiTrigSc1[/SIZE][/B]
 
[B][SIZE=2]short DoOnce[/SIZE][/B]
[B][SIZE=2]Begin onTrigger player 
If (DoOnce == 0) [/SIZE][/B]
[B][SIZE=2]Set DoOnce to 1 [/SIZE][/B]
[B][SIZE=2]MessageBox "Ich bin eine Messagebok und soll nur ein mal kommen! Im sinne von erscheinen xD" , "Ok" [/SIZE][/B]
[B][SIZE=2]Else ;DoOnce != 0 [/SIZE][/B]
 
[B][SIZE=2]Return [/SIZE][/B]
 
[B][SIZE=2]Endif [/SIZE][/B]
[B][SIZE=2]End[/SIZE][/B]
 
  • Like
Reaktionen: Käsekuchen