Jump to content

Wyświetlenie zegara na HUD-ie za pomocą innej opcji [SoC]


Recommended Posts

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/

  • Positive 2
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.

Comunity