Folgendes Szenario: Der Spieler klickt eine Tür an, der Spieler bekommt eine Nachricht: "Die Tür ist verschlossen und hat ein Schloss, das du noch nie zuvor gesehen hast. Möchtest du versuchen, das Schloss aufzubrechen?", "Ja", "Nein".
Wenn der Spieler auf "Ja" geht, soll erstmal ein "DisablePlayerControls" den Spieler an irgendwelchen Aktionen hindern.
Da der Spieler jetzt mit "F" (Standard) seine Waffe nicht ziehen kann, soll das der Script für ihn übernehmen. Falls der Spieler die Waffe schon gezogen hat, bleibt das so - vielleicht gibt es ja wie "IsSneaking" auch ein "HasWeaponEquipped" oder so ähnlich.
Jetzt soll der Spieler drei Mal hintereinander zuschlagen - unabhängig, was für eine Waffe er da hält, ob er überhaupt eine Waffe in der Hand hat oder einen Bogen benutzt. Danach ist mit "EnablePlayerControls" wieder alles beim alten.
Der Script würde also in etwa so aussehen:
Anmerkung: Die Befehle "PressButton Button-Name" und "HasWeaponEquipped" gibt es wahrscheinlich nicht - aber wie heißen die richtigen Befehle dafür? Oder ist das nicht möglich? Oder gibt es einen "Workaround" für die Tür-Aufschlag-Geschichte?
Wenn der Spieler auf "Ja" geht, soll erstmal ein "DisablePlayerControls" den Spieler an irgendwelchen Aktionen hindern.
Da der Spieler jetzt mit "F" (Standard) seine Waffe nicht ziehen kann, soll das der Script für ihn übernehmen. Falls der Spieler die Waffe schon gezogen hat, bleibt das so - vielleicht gibt es ja wie "IsSneaking" auch ein "HasWeaponEquipped" oder so ähnlich.
Jetzt soll der Spieler drei Mal hintereinander zuschlagen - unabhängig, was für eine Waffe er da hält, ob er überhaupt eine Waffe in der Hand hat oder einen Bogen benutzt. Danach ist mit "EnablePlayerControls" wieder alles beim alten.
Der Script würde also in etwa so aussehen:
Code:
scn TürSchlagScript
short done1
short done2
short done3
short done4
short init
float timer
begin onActivate Player
if init == 0
MessageBox "Die Tür ist verschlossen und hat ein Schloss, das du noch nie zuvor gesehen hast. Möchtest du versuchen, das Schloss aufzubrechen?", "Ja", "Nein"
set init to 1
endif
end
begin GameMode
if init == 1
set timer to 5
set init to 2
elseif init == 2
if timer > 0
set timer to timer - GetSecondsPassed
if timer < 4 && done1 == 0
;if Player.[B]HasWeaponEquipped[/B] == 1 ;den Befehl gibt es wohl nicht, er soll abfragen, ob der Spieler mit "F" (Standard) die Waffe gezogen hat, oder nicht.
;do nothing!, außer...
set init to 0 ;damit das ganze auch nochmal funktioniert
;elseif Player.[B]HasWeaponEquipped[/B] == 0
;Player.[B]PressButton WeaponEquip[/B] ;den Befehl gibt es wohl auch nicht, er soll den Spieler die Waffe ziehen lassen, als wenn er "F" (Standard) drücken würde.
;endif
set done1 to 1
endif
if timer < 3 && done2 == 0
;Player.[B]PressButton Attack[/B] ;den Befehl gibt es wohl genausowenig, er soll den Spieler angreifen lassen, als wenn er die linke Maustaste drückt (Standard)
set done2 to 1
endif
if timer < 2 && done3 == 0
;Player.[B]PressButton Attack[/B]
set done3 to 1
endif
if timer <= 1 && done4 == 0
;Player.[B]PressButton Attack[/B]
set done4 to 1
endif
else
MessageBox "Die Tür hat nichtmal einen Kratzer..."
set done1 to 0
set done2 to 0
set done3 to 0
set done4 to 0
set init to 0 ;das alles, damit das ganze immer wieder funktioniert
endif
endif
end
Anmerkung: Die Befehle "PressButton Button-Name" und "HasWeaponEquipped" gibt es wahrscheinlich nicht - aber wie heißen die richtigen Befehle dafür? Oder ist das nicht möglich? Oder gibt es einen "Workaround" für die Tür-Aufschlag-Geschichte?