diff --git a/assets/translations/gui.csv b/assets/translations/gui.csv index e8c5af3..3f1a17c 100644 --- a/assets/translations/gui.csv +++ b/assets/translations/gui.csv @@ -41,3 +41,6 @@ version_update_desc,"На сервере обнаружена новая (или Install it?", video,Видео,Video, win_rounds,Раундов до победы,Rounds to win, +toggle_walk,Переключение ходьбы,Toggle walking, +toggle_crouch,Переключение приседания,Toggle crouching, +toggle_scope,Переключение прицеливания,Toggle scoping, diff --git a/assets/translations/gui.en.translation b/assets/translations/gui.en.translation index 890c98a..46eb83e 100644 Binary files a/assets/translations/gui.en.translation and b/assets/translations/gui.en.translation differ diff --git a/assets/translations/gui.ikg.translation b/assets/translations/gui.ikg.translation index 66b89b0..4ce8ddc 100644 Binary files a/assets/translations/gui.ikg.translation and b/assets/translations/gui.ikg.translation differ diff --git a/assets/translations/gui.ru.translation b/assets/translations/gui.ru.translation index 06b4b31..f38c70c 100644 Binary files a/assets/translations/gui.ru.translation and b/assets/translations/gui.ru.translation differ diff --git a/assets/translations/info.csv b/assets/translations/info.csv index 95cd18b..d906198 100644 --- a/assets/translations/info.csv +++ b/assets/translations/info.csv @@ -1,7 +1,7 @@ key,ru,en,ikg au_loading,Подгружаем данные с сервера…,Loading data from server…, -au_err_load,Ошибка загрузки данных: ,Error while loading data: , -au_err_install,Ошибка загрузки новой версии: ,Error while downloading new version: , +au_err_load,[color=red]Ошибка загрузки данных: {error}[/color] ,[color=red]Error while loading data: {error}[/color], +au_err_install,[color=red]Ошибка загрузки новой версии: {error}[/color],[color=red]Error while downloading new version: {error}[/color], au_new_version,Доступна новая версия!,New version available!, -au_current_version,У вас самая актуальная версия игры!,Your version is the current version!, +au_current_version,[color=green]У вас самая актуальная версия игры! [/color],[color=green]Your version is the current version! [/color], vr_version,Текущая версия игры: ,Game version: , diff --git a/assets/translations/info.en.translation b/assets/translations/info.en.translation index 2cc9f92..3902be3 100644 Binary files a/assets/translations/info.en.translation and b/assets/translations/info.en.translation differ diff --git a/assets/translations/info.ru.translation b/assets/translations/info.ru.translation index 5b75108..2fbcd65 100644 Binary files a/assets/translations/info.ru.translation and b/assets/translations/info.ru.translation differ diff --git a/gui/client_settings/client_settings.tscn b/gui/client_settings/client_settings.tscn index 04cdd62..f070c68 100644 --- a/gui/client_settings/client_settings.tscn +++ b/gui/client_settings/client_settings.tscn @@ -21,7 +21,7 @@ layout_mode = 2 custom_minimum_size = Vector2(512, 256) layout_mode = 2 tab_alignment = 1 -current_tab = 3 +current_tab = 2 [node name="gameplay" type="VBoxContainer" parent="CenterContainer/VBoxContainer/PanelContainer"] visible = false @@ -38,7 +38,6 @@ layout_mode = 2 text = "fullscreen" [node name="controls" type="VBoxContainer" parent="CenterContainer/VBoxContainer/PanelContainer"] -visible = false layout_mode = 2 metadata/_tab_index = 2 @@ -54,6 +53,7 @@ unique_name_in_owner = true custom_minimum_size = Vector2(256, 0) layout_mode = 2 size_flags_horizontal = 3 +size_flags_vertical = 1 min_value = 0.001 max_value = 0.02 step = 0.001 @@ -68,7 +68,23 @@ value = 0.02 allow_greater = true allow_lesser = true +[node name="ToggleCrouch" type="CheckButton" parent="CenterContainer/VBoxContainer/PanelContainer/controls"] +unique_name_in_owner = true +layout_mode = 2 +text = "toggle_crouch" + +[node name="ToggleScope" type="CheckButton" parent="CenterContainer/VBoxContainer/PanelContainer/controls"] +unique_name_in_owner = true +layout_mode = 2 +text = "toggle_scope" + +[node name="ToggleWalk" type="CheckButton" parent="CenterContainer/VBoxContainer/PanelContainer/controls"] +unique_name_in_owner = true +layout_mode = 2 +text = "toggle_walk" + [node name="audio" type="VBoxContainer" parent="CenterContainer/VBoxContainer/PanelContainer"] +visible = false layout_mode = 2 metadata/_tab_index = 3 @@ -83,6 +99,7 @@ text = "audio_gameplay" unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 +size_flags_vertical = 1 max_value = 1.0 step = 0.01 value = 1.0 @@ -102,6 +119,9 @@ text = "Покинуть сессию" [connection signal="toggled" from="CenterContainer/VBoxContainer/PanelContainer/video/FullscreenButton" to="CenterContainer" method="_on_fullscreen_button_toggled"] [connection signal="value_changed" from="CenterContainer/VBoxContainer/PanelContainer/controls/Sensitivity/SensitivitySlider" to="CenterContainer" method="_on_sensitivity_slider_value_changed"] [connection signal="value_changed" from="CenterContainer/VBoxContainer/PanelContainer/controls/Sensitivity/SensitivityBox" to="CenterContainer" method="_on_sensitivity_box_value_changed"] +[connection signal="toggled" from="CenterContainer/VBoxContainer/PanelContainer/controls/ToggleCrouch" to="CenterContainer" method="_on_toggle_crouch_toggled"] +[connection signal="toggled" from="CenterContainer/VBoxContainer/PanelContainer/controls/ToggleScope" to="CenterContainer" method="_on_toggle_scope_toggled"] +[connection signal="toggled" from="CenterContainer/VBoxContainer/PanelContainer/controls/ToggleWalk" to="CenterContainer" method="_on_toggle_walk_toggled"] [connection signal="value_changed" from="CenterContainer/VBoxContainer/PanelContainer/audio/GameplayMainAudio/GameplayMainSlider" to="CenterContainer" method="_on_gameplay_main_slider_value_changed"] [connection signal="pressed" from="CenterContainer/VBoxContainer/StopSession" to="CenterContainer" method="_on_stop_session_pressed"] [connection signal="pressed" from="CenterContainer/VBoxContainer/LeaveButton" to="CenterContainer" method="_on_leave_button_pressed"] diff --git a/gui/client_settings/client_settings_menu.gd b/gui/client_settings/client_settings_menu.gd index ffb5328..9e5750d 100644 --- a/gui/client_settings/client_settings_menu.gd +++ b/gui/client_settings/client_settings_menu.gd @@ -9,6 +9,9 @@ func _ready() -> void: Lobby.lobby_closed.connect(%StopSession.hide) %SensitivitySlider.set_value_no_signal(ClientSettings.SENSITIVITY) %SensitivityBox.set_value_no_signal(ClientSettings.SENSITIVITY) + %ToggleCrouch.set_pressed_no_signal(ClientSettings.TOGGLE_CROUCH) + %ToggleScope.set_pressed_no_signal(ClientSettings.TOGGLE_SCOPE) + %ToggleWalk.set_pressed_no_signal(ClientSettings.TOGGLE_WALK) func _input(event: InputEvent) -> void: if event.is_action_pressed("menu_settings"): @@ -39,3 +42,15 @@ func _on_leave_button_pressed() -> void: func _on_stop_session_pressed() -> void: if multiplayer.is_server(): Session.end_session() + + +func _on_toggle_crouch_toggled(toggled_on: bool) -> void: + ClientSettings.TOGGLE_CROUCH = toggled_on + + +func _on_toggle_scope_toggled(toggled_on: bool) -> void: + ClientSettings.TOGGLE_SCOPE = toggled_on + + +func _on_toggle_walk_toggled(toggled_on: bool) -> void: + ClientSettings.TOGGLE_WALK = toggled_on diff --git a/gui/main_menu/version_label.gd b/gui/main_menu/version_label.gd index ff3e82d..5ff674d 100644 --- a/gui/main_menu/version_label.gd +++ b/gui/main_menu/version_label.gd @@ -1,10 +1,18 @@ extends RichTextLabel +var status: StringName = "au_loading" +var error: int func _ready() -> void: AutoUpdate.update_version_text.connect(update_version) - update_version(tr("au_loading")) + update_version("au_loading") -func update_version(version: StringName): - text = tr("vr_version") + preload("res://version.tres").version + "\n" + version +func update_version(version: StringName, new_error = -1): + status = version + error = new_error + text = tr("vr_version") + preload("res://version.tres").version + "\n" + tr(version).format({"error":error}) + +func _notification(what: int) -> void: + if what == NOTIFICATION_TRANSLATION_CHANGED: + text = tr("vr_version") + preload("res://version.tres").version + "\n" + tr(status).format({"error":error}) diff --git a/systems/auto_update.gd b/systems/auto_update.gd index b684782..e0eb7a4 100644 --- a/systems/auto_update.gd +++ b/systems/auto_update.gd @@ -5,7 +5,7 @@ var popup_scene: PackedScene = preload("uid://5goo8fyxkv33") var new_version_avaiable: bool var popup: ConfirmationDialog -signal update_version_text(to: StringName) +signal update_version_text(to: StringName,error: int) func _ready() -> void: request_completed.connect(on_request_completed) @@ -18,22 +18,22 @@ func _ready() -> void: patch_request.download_file = exec_dir.path_join("chelimbalo.pck") patch_request.request_completed.connect(patch_downloaded) - update_version_text.emit(tr("au_loading")) + update_version_text.emit("au_loading") request("https://2ndbeam.ru/durenije/chelimbalo/release/deploy_data") func on_request_completed(result: int, _response_code: int, _headers: PackedStringArray, body: PackedByteArray): if result != OK: - update_version_text.emit("[color=red]" + tr("au_err_load") + str(result) +"[/color]") + update_version_text.emit("au_err_load",result) return var ver_hash = body.get_string_from_ascii().split("\n")[1] if ver_hash != load("res://version.tres").version: - update_version_text.emit(tr("au_new_version")) + update_version_text.emit("au_new_version") popup.popup_centered() else: - update_version_text.emit("[color=green]"+tr("au_current_version")+"[/color]") + update_version_text.emit("au_current_version") func download_button_pressed() -> void: popup.get_node("HTTPRequest").request("https://2ndbeam.ru/durenije/chelimbalo/release/chelimbalo.pck") @@ -43,4 +43,4 @@ func patch_downloaded(result: int, _response_code: int, _headers: PackedStringAr OS.create_process(OS.get_executable_path(),OS.get_cmdline_args()) get_tree().quit() else: - update_version_text.emit("[color=red]" + tr("au_err_install") + str(result) +"[/color]") + update_version_text.emit("au_err_install",result) diff --git a/weapons/gun/bullet_hole.tscn b/weapons/gun/bullet_hole.tscn index 7d3dcda..a4c2cfa 100644 --- a/weapons/gun/bullet_hole.tscn +++ b/weapons/gun/bullet_hole.tscn @@ -25,4 +25,11 @@ ignore_time_scale = true [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_wpexx") +[node name="Timer2" type="Timer" parent="."] +wait_time = 0.06 +one_shot = true +autostart = true +ignore_time_scale = true + [connection signal="timeout" from="Timer" to="." method="queue_free"] +[connection signal="timeout" from="Timer2" to="MultiplayerSynchronizer" method="queue_free"]