Start of rewind system

This commit is contained in:
Rendo 2025-12-21 02:22:41 +05:00
commit 42c95820d7
16 changed files with 55 additions and 33 deletions

View file

@ -14,8 +14,8 @@ const WALK: int = 0b100
signal jumped
signal drop
signal switch_weapon(to_slot: StringName)
signal fire_begin
signal fire_end
signal fire_begin(timestamp: float)
signal fire_end(timestamp: float)
signal alternate_state
signal switch_firemode
signal reload
@ -53,9 +53,9 @@ func _unhandled_input(event: InputEvent) -> void:
switch_on_server.rpc_id(1,"knife")
if event.is_action_pressed("plr_fire"):
fire_on_server.rpc_id(1,false)
fire_on_server.rpc_id(1,false,Rewind.timestamp)
if event.is_action_released("plr_fire"):
fire_on_server.rpc_id(1,true)
fire_on_server.rpc_id(1,true,Rewind.timestamp)
if event.is_action_pressed("plr_scope"):
alternate_state_on_server.rpc_id(1)
if event.is_action_pressed("plr_firemode"):
@ -126,12 +126,12 @@ func drop_on_server() -> void:
drop.emit()
@rpc("authority","call_local","reliable")
func fire_on_server(end: bool) -> void:
func fire_on_server(end: bool, timestamp: float) -> void:
if not multiplayer.is_server(): return
if end:
fire_end.emit()
fire_end.emit(timestamp)
else:
fire_begin.emit()
fire_begin.emit(timestamp)
@rpc("authority","call_local","reliable")
func alternate_state_on_server() -> void: