Guest Diegtiariow Posted October 7, 2023 Report Share Posted October 7, 2023 NAZWA: Wyświetlenie zegara na HUD-ie za pomocą innej opcji [SoC] AUTOR GŁÓWNEJ LEKCJI: steelrat AUTOR POPRAWEK: LaRento PODZIĘKOWANIE ZA LEKCJĘ O KLASIE CTIME: malandrius POTRZEBNE PLIKI: Spoiler nowy_skrypt.script bind_stalker.script ui_custom_msgs.xml OPIS DZIAŁAŃ: Spoiler 1. Stworzenie funkcji wyświetlania znanego już zegara: Otwieramy nowy_skrypt.script, który nazwiecie jak zechcecie i piszemy tutaj następujący kod. Funkcja zawiera objaśnienia. function add_clock() local hud = get_hud() -- ustawiamy lokalną zmienną HUD'a local show_time = hud:GetCustomStatic("hud_show_time") -- ustawiamy lokalną zmienną dla wyświetlenia czasu local show_date = hud:GetCustomStatic("hud_show_date") -- ustawiamy lokalną zmienną dla wyświetlenia daty if show_time == nil then hud:AddCustomStatic("hud_clock_static", true) -- dodajemy pozycję zegara na HUD'zie hud:AddCustomStatic("hud_show_time", true) -- dodajemy wyświetlanie czasu na HUD'zie hud:AddCustomStatic("hud_show_date", true) -- dodajemy wyświetlanie daty na HUD'zie show_time = hud:GetCustomStatic("hud_show_time") -- otrzymujemy wyświetlenie czasu na HUD'zie show_date = hud:GetCustomStatic("hud_show_date") -- otrzymujemy wyświetlenie daty na HUD'zie end local global_time = game.CTime.TimeToMinutes -- ustawiamy lokalną zmienną do klasy CTime, aby dodać czas w postaci godzina/minuta local global_date = game.CTime.DateToDay -- przypisujemy lokalną zmienną do klasy CTime, aby dodać datę w postaci dzień/miesiąc/rok local msg_time = game.get_game_time():timeToString(global_time) -- lokalna zmienna dla wyświetlenia czasu przez funkcję timeToString w naszej formie local msg_date = game.get_game_time():dateToString(global_date) -- lokalna zmienna dla wyświetlenia daty przez funkcję dateToString w naszej formie if show_time ~= nil then show_time:wnd():SetText(msg_time) -- wyświetlamy czas poprzez lokalną zmienną msg_time end if show_date ~= nil then show_date:wnd():SetText(msg_date) -- wyświetlamy czas poprzez lokalną zmienną msg_date end end Jeśli chcesz, aby twój zegar wyświetlał sekundy, zmień linię: local global_time = game.CTime.TimeToMinutes na local global_time = game.CTime.TimeToSeconds Zakończyliśmy pracę ze skryptem. 2. Rejestracja lub stałe wywołanie funkcji: Otwieramy bind_stalker.script i przechodzimy do funkcji actor_binder:update(delta), i powiedzmy po linii: game_stats.update (delta, self.object) piszemy: nowy_skrypt.add_clock() 3. Dodanie samego zegarka do HUD'a: Otwieramy plik ui_custom_msgs.xml i piszemy następujący kod na końcu pomiędzy tagami <header>: <hud_clock_static x="852" y="17" width="156" height="52"> <text complex_mode="0" x="65" y="0" font="letterica16" r="255" g="255" b="255" a="130" align="c"/> <texture>ui_hud_frame_clock</texture> </hud_clock_static> <hud_show_time x="870" y="45" width="156" height="52"> <text x="0" y="0" font="graffiti19" r="255" g="255" b="255" a="140" align="c"/> </hud_show_time> <hud_show_date x="875" y="17" width="156" height="52"> <text x="0" y="0" font="letterica16" r="255" g="255" b="255" a="130" align="c"/> </hud_show_date> Możesz też umieścić standardową czcionkę czasu, na przykład jak w timerze. Aby to zrobić, użyj tego z zamianą: <hud_show_time x="875" y="40" width="156" height="52"> <text x="0" y="0" font="graffiti32" r="238" g="155" b="23" align="c"/> </hud_show_time> I to wszystko. ŹRÓDŁO: https://ap-pro.ru/forums/topic/1194-soc-vyvod-drugogo-varianta-chasov-na-hud/ Quote Link to comment Share on other sites More sharing options...
scigacz1975 Posted September 14 Report Share Posted September 14 zegar jest, spawner nie działa (chyba nie jest do soc bo w soc nie ma katalogu configs) ale dzięki za pomoc na dole gotowiec z zegarem jak komuś potrzeba zegar.7z Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.