Jak pobrać czas rundy ? Chciałbym żeby moja funkcja wykonywała się x sekund przed końcem rundy
Użytkownik Żuk edytował ten post 10.09.2017 12:39
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 10.09.2017 12:24
Jak pobrać czas rundy ? Chciałbym żeby moja funkcja wykonywała się x sekund przed końcem rundy
Użytkownik Żuk edytował ten post 10.09.2017 12:39
Napisano 10.09.2017 20:58
Może inaczej. Znalazłem w necie taki kod, dodałem /test jednak nie działa:
#include <amxmodx> #include <amxmisc> #include <colorchat> new Float:g_round_start = -1.0; new Float:g_round_time; new mp_roundtime; public plugin_init() { register_logevent("EventRoundStart", 2, "1=Round_Start"); register_logevent("EventRoundEnd", 2, "1=Round_End"); register_event("TextMsg", "EventRoundRestart", "a", "2&#Game_C", "2&#Game_w"); mp_roundtime = get_cvar_pointer("mp_roundtime"); register_clcmd("say /test", "test"); } public test(id) { new Float:roundtime get_roundtime_left() == roundtime if(roundtime == 10.0) { ColorChat(id, GREEN, "10s do konca rundy. Nie mozesz tego uzyc") ; } return PLUGIN_HANDLED; } public EventRoundStart() { g_round_start = get_gametime(); g_round_time = get_pcvar_float(mp_roundtime) * 60.0; } public EventRoundEnd() { g_round_start = -1.0; } public EventRoundRestart() { g_round_start = -1.0; } Float:get_roundtime_left() { return (g_round_start == -1.0) ? 0.0 : ((g_round_start + g_round_time) - get_gametime()); }
Użytkownik Żuk edytował ten post 10.09.2017 20:59
Napisano 10.09.2017 21:49
#include <amxmodx> new Float:g_fTimeRoundStart, Float:g_fRoundTime; new g_pRoundTime; public plugin_init() { register_logevent("Event_RoundStart", 2, "1=Round_Start"); register_clcmd("say /test", "Clcmd_Test"); g_pRoundTime = get_cvar_pointer("mp_roundtime"); } public Event_RoundStart() { g_fRoundTime = floatmul(get_pcvar_float(g_pRoundTime), 60.0) - 1.0; g_fTimeRoundStart = get_gametime(); } public Clcmd_Test(id) { static szTime[6]; format_time(szTime, 5, "%M:%S", floatround(g_fRoundTime - (get_gametime() - g_fTimeRoundStart))); client_print(id, print_chat, "Aktualny czas rundy: %s", szTime); //zwroci np.: Aktualny czas rundy: 01:30 return PLUGIN_HANDLED; }
Użytkownik Asiap edytował ten post 10.09.2017 22:16
Napisano 10.09.2017 22:37
To jak zrobić zapytanie, żeby x sekund od końca lub x sekund do końca rundy coś się wykonało ?
if(sztime == 00:30) chyba nie zadziała ?
Napisano 10.09.2017 22:51
if(equal(szTime, "00:30"))
Napisano 11.09.2017 17:59
Coś tam zaczyna działać, a jest możliwość wciśnięcia tam gdzieś znaku < lub > ? Jeśli mniej niż 00:30 to.... bo tak to miało działać, jeśli nie to mam inny sposób żeby sobie poradzić
Napisano 11.09.2017 18:32
if(floatround(g_fRoundTime - (get_gametime() - g_fTimeRoundStart)) < 30)
Napisano 12.09.2017 12:40
dziala dziekuje bardzo
0 użytkowników, 1 gości, 0 anonimowych