Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Jak pobrac czas rundy ?


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1 Żuk

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

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

  • +
  • -
  • 0

#2 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

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

  • +
  • -
  • 0

#3 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

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

  • +
  • -
  • 1

#4 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

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 ? :D


  • +
  • -
  • 0

#5 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 10.09.2017 22:51

if(equal(szTime, "00:30"))

  • +
  • -
  • 1

#6 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

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ć :P


  • +
  • -
  • 0

#7 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 11.09.2017 18:32

if(floatround(g_fRoundTime - (get_gametime() - g_fTimeRoundStart)) < 30)

  • +
  • -
  • 1

#8 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 12.09.2017 12:40

dziala dziekuje bardzo :D


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych