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, 0 gości, 0 anonimowych