PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rotations speed



Carnatics
21.07.2011, 07:19
ok geht sich um folgendes würde gerne den spieler beschleunigen via script

die frage ist wie setze ich einen speed multiplikator der nicht nur das rennen sondern auch die rotation zur seite und das springen beschleunigt
wenn man so will die gesammte player animation

zwecks nem bullettime mod der dem spieler erlaubt sich in echtzeit zu bewegen während die umgebung in zeitlupe läuft...

Boïndil
21.07.2011, 11:47
Also Umdrehen und Renn-Geschwindigkeit kann man einfach per SetAV SpeedMult|TurningSpeed reguleiren, aber das geht wohl nicht für alle Animationen. In NV kann man wahrscheinlich auch das Nachladen und schiessen beschleunigen.

Ich würde zuerst mal bei der Kamera selbst ansetzen, soviel ich weiss ist ja auch das VATS eigentlich eine Kamera. Da kann man nämlich Time Multipliers anpassen, die Player-Geschindigkeit relativ zum Rest, wenn ich das richtig verstehe und möglicherweise kann man das per Script auslösen, sobald einer eine Pille schluckt.

Hast du schon mal Mods mit Bullet Time untersucht?

Carnatics
22.07.2011, 03:48
jap habe mehrere mods durchleuchtet und das grundprinzip ist soweit auch kein problem
habe mir die bullettime mod von clanfear für new vegas vorgenommen weil da schon der gewünschte effekt vorhanden ist

die mod erlaubt einem verschiedene geschwindigkeits einstellungen was beim porten
soweit auch kein problem war...nur der turbo modus funzt nicht weil der
nv turbo effekt in fallout 3 nicht enthalten ist

das script setzt die "slowmotion geschwindigkeit" und im turbo modus (in dem der player sich in echtzeit bewegt) steht im script lediglich das dem player der turboeffekt hinzugefügt wird

also ist die einzige option einen turbo effekt zu simulieren in dem man das script an dieser stelle umschreibt anbei hier das script


ScriptName CFBulletTimeMainScript

float timer
float apDamage
float apDamagePeriod
float timeFactor
float suspendInMenu

int apRegen
short vfx

short configstage
short configButton

Begin OnAdd Player

Player.AddItem CFBTActivator 1

Player.AddItem CFBulletTimeConfigTool 1

; initial values
set apDamagePeriod to 0.25
set timeFactor to 0.25
set apDamage to -5
set vfx to 0
set CFBTTurbo to 0

End

Begin OnDrop Player
Player.RemoveItem CFBTActivator 1
Player.RemoveItem CFBulletTimeConfigTool 1
End


Begin OnDeath Player
; on player death make sure ap is restored and
; time is back to normal
sgtm 1
player.dispel CFTurbo

set CFBTon to 0

End


Begin MenuMode

; ################### config mode

if (CFBTOn == 2)

set configButton to GetButtonPressed

if (configStage == 0)
ShowMessage CFBulletTimeConfig
set configStage to 1

; main configStage
elseif (configStage ==1)

if (configButton > -1)
set configStage to configButton + 2
endif

; Show Choose AP Cost
elseif (configStage == 2)
ShowMessage CFBulletTimeAPConfig
set configStage to 101

; Show Choose VFX
elseif (configStage == 3)
ShowMessage CFBulletTimeVFXConfig
set configStage to 102

; Show Choose Time Factor
elseif (configStage == 4)
ShowMessage CFBulletTimeTFConfig
set configStage to 103

; Add Activator
elseif (configStage == 5)
Player.AddItem CFBTActivator 1
set configStage to 0

; Remove Activator
elseif (configStage == 6)
Player.RemoveItem CFBTActivator 1
set configStage to 0

; Choose APCost
elseif (configStage ==101)

if (configButton > -1)
if (configButton == 0)
set apDamage to 0
elseif (configButton == 1)
set apDamage to -3
elseif (configButton == 2)
set apDamage to -5
elseif (configButton == 3)
set apDamage to -8
elseif (configButton == 4)
set apDamage to -10
elseif (configButton == 5)
set apDamage to -20
endif
ShowMessage CFBulletTimeAPConfigDone

set configStage to 0
endif

; Choose VFX
elseif (configStage == 102)

if (configButton > -1)
set vfx to configButton
ShowMessage CFBulletTimeVFXConfigDone
set configStage to 0
endif



; Show Choose Time factor
elseif (configStage == 103)
if (configButton > -1)
if (configButton == 0)
set apDamagePeriod to 0.1
set timeFactor to 0.1
set CFBTTurbo to 0
elseif (configButton == 1)
set apDamagePeriod to 0.25
set timeFactor to 0.25
set CFBTTurbo to 0
elseif (configButton == 2)
set apDamagePeriod to 0.30
set timeFactor to 0.30
set CFBTTurbo to 0
elseif (configButton == 3)
set apDamagePeriod to 0.35
set timeFactor to 0.35
set CFBTTurbo to 0
elseif (configButton == 4)
set apDamagePeriod to 0.4
set timeFactor to 0.4
set CFBTTurbo to 0
elseif (configButton == 5)
set apDamagePeriod to 0.5
set timeFactor to 0.5
set CFBTTurbo to 0
elseif (configButton == 6)
set apDamagePeriod to 0.35
set CFBTTurbo to 1
endif
ShowMessage CFBulletTimeTFConfigDone

set configStage to 0
endif


; Exit
else
Set CFBTOn to 0
Set configStage to 0
endif

else

; set time to normal in menu mode
if (CFBTInEffect == 1 && suspendInMenu != 1)
set suspendInMenu to 1
set CFBTInEffect to 0

if (vfx== 0)
rimod MS10DrinkSap02ISFX
elseif (vfx== 1)
rimod TranquilityLaneISFX
elseif (vfx== 2)
rimod DKBlue
elseif (vfx== 3)
rimod CFRed
elseif (vfx== 4)
rimod CatEyeISFX
endif
sgtm 1
player.dispel CFTurbo
endif
endif
End

Begin GameMode

if (CFBTOn == 1 && CFBTInEffect == 0)
if (suspendInMenu == 1)
set suspendInMenu to 0
else
playsound UIVATSCameraIn
TriggerHitShader 0.5
endif

set CFBTInEffect to 1

if (CFBTTurbo == 0)
sgtm timeFactor
elseif (CFBTTurbo == 1)
player.CastImmediateOnSelf CFTurbo
endif

set timer to 0

if (vfx== 0)
imod MS10DrinkSap02ISFX, 0.6
elseif (vfx== 1)
imod TranquilityLaneISFX, 1
elseif (vfx== 2)
imod DKBlue, 0.6
elseif (vfx== 3)
imod CFRed, 0.8
elseif (vfx== 4)
imod CatEyeISFX, 0.9
endif

endIf

if (CFBTInEffect == 1)
if (timer >= apDamagePeriod)
set timer to 0
player.damageav ActionPoints, apDamage
else
set timer to timer + GetSecondsPassed
endif

; end bullet time if AP has reached 0
if (player.getav ActionPoints <= 0)
set CFBTOn to 0
endif

; turn off BT if CFBTOn is 0
if (CFBTOn == 0)
set CFBTInEffect to 0
sgtm 1
player.dispel CFTurbo

; FX, sound and shader
playsound UIVATSCameraOut
TriggerHitShader 0.75

; turn off the appropriate effect
if (vfx == 0)
rimod MS10DrinkSap02ISFX
elseif (vfx == 1)
rimod TranquilityLaneISFX
elseif (vfx == 2)
rimod DKBlue
elseif (vfx == 3)
rimod CFRed
elseif (vfx == 4)
rimod CatEyeISFX
endif

endIf
endIf
End

Boïndil
22.07.2011, 06:03
Du meinst also, du musst eine Zeile NV-Code durch 30 Zeilen unbekannten Fallout 3-Code ersetzen ;)

Carnatics
22.07.2011, 08:52
Du meinst also, du musst eine Zeile NV-Code durch 30 Zeilen unbekannten Fallout 3-Code ersetzen ;)

als ob ich das könnte ;) ich zerlege jetzt erstmal speed mods um mir dann das passende rauszuschreiben und mit dem rest nerve ich hier solange bis sich jemand der sich mit scripten auskennt erbarmt mir zu helfen =)