Jak zrobić w pluginie odliczanie? Tzn, np. mamy godmode to odliczanie żeby było, jak zrobić?
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.
|
Guest Message by DevFuse
Odliczanie.
Temat rozp.
Screeaam...
, 01.05.2010 13:05
8 odpowiedzi w tym temacie
#1
Napisano 01.05.2010 13:05
#2
Napisano 01.05.2010 13:19
odliczanie np. 30 sekund ?
najlepiej najpierw zmienną globalną dla każdego usera:
potem jakieś wywołanie tej funkcji
potem funkcja odejmująco-sprawdzająca:
i do tego funkcja która będzie wykonana jak czas się skończy:
Czyli przykładowa całość:
najlepiej najpierw zmienną globalną dla każdego usera:
new odliczanie[33]
potem jakieś wywołanie tej funkcji
odliczanie[id] = 30; set_task(1.0, "odlicz", id, _, _, "a", odliczanie[id])
potem funkcja odejmująco-sprawdzająca:
public odlicz(id) { if (--odliczanie[id]<=0) { if (task_exists(id)) remove_task(id) koniec_czasu(id) return } client_print(id, print_chat, "Pozostalo %d sekund", odliczanie[id]) }
i do tego funkcja która będzie wykonana jak czas się skończy:
public koniec_czasu(id) { client_print(id, print_chat, "Koniec Czasu") //inne funkcje itd }
Czyli przykładowa całość:
#include <amxmodx>
new odliczanie[33]
public plugin_init() {
register_plugin("Odliczanie", "1.0", "AMXX.PL")
}
public client_putinserver(id)
{
odliczanie[id] = 30;
set_task(1.0, "odlicz", id, _, _, "a", odliczanie[id])
}
public odlicz(id)
{
if (--odliczanie[id]<=0)
{
if (task_exists(id))
remove_task(id)
koniec_czasu(id)
return
}
client_print(id, print_chat, "Pozostalo %d sekund", odliczanie[id])
}
public koniec_czasu(id)
{
client_print(id, print_chat, "Koniec Czasu")
//inne funkcje itd
}
#3
Napisano 01.05.2010 17:40
Czemu jest to:
Dzięki.
_, _,
Dzięki.
#4 Gość_deLLek_*
Napisano 01.05.2010 17:43
Pomija
parameter i len w tasku.
parameter i len w tasku.
#5
Napisano 01.05.2010 17:49
Muszę do plugin_init dawać?
I
I
--odliczaniepierw odejmuje potem pokazuje?
#6 Gość_deLLek_*
Napisano 01.05.2010 17:53
Nie musisz tasku w inicie dawać. Możesz w każdej innej funkcji.
Co do drugiego to TAK.
Najpierw odejmuję ( - 1 ) i zwraca wartość zmiennej odliczanie
Co do drugiego to TAK.
Najpierw odejmuję ( - 1 ) i zwraca wartość zmiennej odliczanie
#7
Napisano 01.05.2010 17:55
czyli w putin server też nie muszę, tylko taska muszę wywołać w swojej funkcji ?
#8 Gość_deLLek_*
Napisano 01.05.2010 18:01
Możesz wrzucić gdzie chcesz, ale...
Powinny być w jednej funkcji jedna pod drugą.
odliczanie[id] = 30;
set_task(1.0, "odlicz", id, _, _, "a", odliczanie[id])
Powinny być w jednej funkcji jedna pod drugą.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych