#5 mostly works
This commit is contained in:
parent
a895ebf791
commit
80a9797c0f
7 changed files with 119 additions and 6 deletions
|
@ -140,3 +140,69 @@ unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
|||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
|
||||
[preset.2]
|
||||
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="export/Project Teddy.exe"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_script=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
codesign/enable=false
|
||||
codesign/identity_type=0
|
||||
codesign/identity=""
|
||||
codesign/password=""
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
application/modify_resources=true
|
||||
application/icon=""
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=4
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||
$settings = New-ScheduledTaskSettingsSet
|
||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||
Start-ScheduledTask -TaskName godot_remote_debug
|
||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||
|
|
|
@ -26,7 +26,7 @@ func _physics_process(delta):
|
|||
var playerShot = body.get_multiplayer_authority()
|
||||
print("Bullet hit ", playerShot)
|
||||
rpc("damage_player")
|
||||
rpc_id(playerShot,"take_damage")
|
||||
rpc_id(playerShot,"take_damage", Global.playerName)
|
||||
self.queue_free()
|
||||
elif body.is_in_group("AI"):
|
||||
print("Bullet hit an AI player")
|
||||
|
@ -48,6 +48,7 @@ func damage_player(): # This can be used later to make sure the server and all o
|
|||
self.queue_free()
|
||||
|
||||
@rpc("any_peer", "call_remote")
|
||||
func take_damage():
|
||||
func take_damage(damager):
|
||||
var damage = RandomNumberGenerator.new().randf_range(7.0, 16.0)
|
||||
Global.playerHealth = Global.playerHealth - damage
|
||||
Global.lastPersonToHitMe = damager
|
||||
|
|
|
@ -4,6 +4,9 @@ var roundTimer := 600.0
|
|||
var minutes
|
||||
var seconds
|
||||
|
||||
var scores: Array[int] = []
|
||||
var scoresInitalized = false
|
||||
|
||||
func _ready():
|
||||
minutes = roundTimer / 60
|
||||
seconds = fmod(roundTimer, 60)
|
||||
|
@ -15,6 +18,9 @@ func _process(delta):
|
|||
$Fatigue.value = Global.fatigue
|
||||
$Health.value = Global.playerHealth
|
||||
if Global.roundInSession == true and roundTimer >= 0:
|
||||
if scoresInitalized == false:
|
||||
scoresInitalized = true
|
||||
fill_scores_with_zeros(Global.connectedPlayers.size())
|
||||
$startLabel.text = ""
|
||||
roundTimer -= delta
|
||||
minutes = roundTimer / 60
|
||||
|
@ -22,3 +28,28 @@ func _process(delta):
|
|||
$timer.text = "%02d:%02d" % [minutes, seconds]
|
||||
if roundTimer <= 0.0:
|
||||
Global.HUDStartLabelText = "GAME OVER"
|
||||
if Global.HUDPlayerDied:
|
||||
Global.HUDPlayerDied = false
|
||||
rpc("update_scores", Global.lastPersonToHitMe)
|
||||
update_scores(Global.lastPersonToHitMe)
|
||||
if Global.roundInSession == false:
|
||||
for i in range(Global.connectedPlayers.size()):
|
||||
if Global.connectedPlayers[i]:
|
||||
var objectLabel = "player" + str(i) + "Label"
|
||||
var numlabel = i + 1
|
||||
get_node("player" + str(numlabel) + "Label").text = Global.connectedPlayers[i] + ": " + "0"
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func update_scores(name):
|
||||
for i in range(Global.connectedPlayers.size()):
|
||||
if Global.connectedPlayers[i] == name:
|
||||
var objectLabel = "player" + str(i) + "Label"
|
||||
var numlabel = i + 1
|
||||
var currentScore = scores[i] + 1
|
||||
scores[i] += 1
|
||||
get_node("player" + str(numlabel) + "Label").text = Global.connectedPlayers[i] + ": " + str(currentScore)
|
||||
|
||||
func fill_scores_with_zeros(num_of_players):
|
||||
scores.resize(num_of_players)
|
||||
for i in num_of_players:
|
||||
scores[i] = 0
|
||||
|
|
|
@ -4,13 +4,12 @@ var deathTimer = 0
|
|||
var teddyNode
|
||||
|
||||
func _ready():
|
||||
pass
|
||||
Global.playerAlive = false
|
||||
if Global.roundInSession:
|
||||
Global.HUDPlayerDied = true
|
||||
|
||||
|
||||
func _process(delta):
|
||||
#teddyNode = get_node(Global.selfTeddy)
|
||||
Global.playerAlive = false
|
||||
#teddyNode.visible = false
|
||||
if deathTimer < 100:
|
||||
deathTimer = deathTimer + 10 * delta
|
||||
if deathTimer > 100:
|
||||
|
|
|
@ -21,6 +21,9 @@ var teddyAuthorityID # Defined from teddy.gd after object is initalized
|
|||
var miniMenuResume = false # Set to true by mainmenu.gd
|
||||
var roundInSession = false # Goes true once the round is started in Teddy.gd
|
||||
var HUDStartLabelText = "" # The text displayed at the bottom of the screen of the server
|
||||
var lastPersonToHitMe = 0 # Defined in the Bullet RPC
|
||||
var HUDPlayerDied = false # Tells the HUD.gd script that a point should be added or deducted
|
||||
var connectedPlayers = [] # Currently connected players by their name (NOT THEIR ID)
|
||||
|
||||
func _process(delta):
|
||||
if godMode:
|
||||
|
|
|
@ -42,6 +42,7 @@ func _on_start_button_pressed():
|
|||
Networking.create_server(intPORT, intMAX)
|
||||
Networking.load_map(SCENE)
|
||||
Networking.add_player_node(1)
|
||||
Global.connectedPlayers += [Global.playerName]
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
else:
|
||||
$mapSelected.text = "NO MAX PLAYERS SELECTED"
|
||||
|
|
|
@ -23,6 +23,7 @@ func create_server(port, maxPlayers):
|
|||
await get_tree().create_timer(0.5).timeout ## REQUIRED, THE RPC IS MADE BEFORE THE CLIENT IS FULLY CONNECTED
|
||||
rpc("add_newly_connected_player_character", new_peer_id)
|
||||
rpc_id(new_peer_id, "add_previously_connected_player_characters", connected_peers)
|
||||
rpc_id(new_peer_id, "sync_names", Global.connectedPlayers)
|
||||
add_player_node(new_peer_id)
|
||||
)
|
||||
|
||||
|
@ -57,3 +58,14 @@ func add_previously_connected_player_characters(peer_ids):
|
|||
@rpc
|
||||
func disconnect_peer(peer_id):
|
||||
peer_id.queue_free()
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func sync_names(connectedPlayers):
|
||||
Global.connectedPlayers = connectedPlayers
|
||||
rpc("sync_name_all_peers", Global.playerName)
|
||||
sync_name_all_peers(Global.playerName)
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func sync_name_all_peers(name):
|
||||
Global.connectedPlayers += [name]
|
||||
print(Global.connectedPlayers)
|
||||
|
|
Loading…
Reference in a new issue