Plugin z informacja na sayu tylko dla tt w...
patryQ1997
30.08.2014
Siemka..Szukam plugin lub jeżeli takowy nie istnieje proszę o jego napisane
Plugin będzie pokazywał na sayu (z zastosowanie colorchatu) jedną informacje "de_dust2 # Minuta minęła! Kampienie na respie jest w tej chwili karane!" po upływie minuty (w każdej rundzie) i wyświetlało tylko graczom TT.
Daje +
Użytkownik patryQ1997 edytował ten post 30.08.2014 16:12
Drago36
30.08.2014
#include <amxmodx> #include <colorchat> new g_MaxPlayers public plugin_init() { register_plugin("Info o kampieniu", "1.0", "Dr@goN") register_logevent("Poczatek_Rundy", 2, "1=Round_Start") g_MaxPlayers = get_maxplayers() } public Poczatek_Rundy() set_task(60.0, "Info") public Info() { for(new i = 1; i <= g_MaxPlayers; i++) { if(is_user_connected(i) && get_user_team(i) == 1) { ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!") } } }
patryQ1997
30.08.2014
Nie do końca się plugin sprawdza, ponieważ pokazuję tą wiadomość co minute. A mi chodzi po minucie od rozpoczęcia rundy.
Wielkie Jol
30.08.2014
#include <amxmodx> #include <colorchat> new g_MaxPlayers public plugin_init() { register_plugin("Info o kampieniu", "1.0", "Dr@goN") register_logevent("Poczatek_Rundy", 2, "1=Round_Start") g_MaxPlayers = get_maxplayers() } public Poczatek_Rundy() set_task(60.0, "Info") public Info() { for(new i = 1; i <= g_MaxPlayers; i++) { if(is_user_connected(i) && get_user_team(i) == 1) { ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!") } } }
Jeżeli runda skończyła się za wcześnie to task istnieje i zostanie wywołany. Tylko nie mam pomysłu, jak temu zaradzić, bo używając boolów, jak tak przed chwilą myślałem, może być problem, bo mogą się źle resetować. Tak mi się chociaż wydaje.
szelbi
30.08.2014
#include <amxmodx> #include <colorchat> #define TASK 4895 public plugin_init() { register_plugin("Kampienie", "1.0", "szelbi"); register_logevent("poczatek_rundy", 2, "1=Round_Start"); register_logevent("koniec_rundy", 2, "1=Round_End"); } public poczatek_rundy() { set_task(60.0, "info", TASK); } public koniec_rundy() { if(task_exist(TASK)) remove_task(TASK); } public info() { ColorChat(0, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!"); }
radim
30.08.2014
@up
Dodaj pętlę po graczach i sprawdzaj czy są w terro, dopiero wyświetlaj wiadomość
Wielkie Jol
30.08.2014
Mała poprawka do pluginu kolegi Szelbiego
#include <amxmodx> #include <colorchat> #define TASK 4895 new g_MaxPlayers public plugin_init() { register_plugin("Kampienie", "1.0", "szelbi"); register_logevent("poczatek_rundy", 2, "1=Round_Start"); register_logevent("koniec_rundy", 2, "1=Round_End"); } public plugin_cfg() g_MaxPlayers = get_maxplayers() public poczatek_rundy() { set_task(60.0, "info", TASK); } public koniec_rundy() { if(task_exists(TASK)) remove_task(TASK); } public info() { for(new i = 1; i <= g_MaxPlayers; i++) { if(is_user_connected(i) && get_user_team(i) == 1) { ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!") } } }
szelbi
30.08.2014
@up
Dodaj pętlę po graczach i sprawdzaj czy są w terro, dopiero wyświetlaj wiadomość
Zapomniałem, że ma być tylko dla TT
Drago36
30.08.2014
Zapomniałem, że to ma się raz wyświetlać.
Wiadomość ma się raz wyświetlić, nie po minucie aż do końca rundy
Poprawiona wersja.
#include <amxmodx> #include <colorchat> new g_MaxPlayers public plugin_init() { register_plugin("Info o kampieniu", "1.0", "Dr@goN") register_logevent("Poczatek_Rundy", 2, "1=Round_Start") g_MaxPlayers = get_maxplayers() } public Poczatek_Rundy() set_task(60.0, "Info",5643) public Info() { for(new i = 1; i <= g_MaxPlayers; i++) { if(is_user_connected(i) && get_user_team(i) == 1) { ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!") remove_task(5643) } } }
radim
30.08.2014
Wiadomość ma się raz wyświetlić, nie po minucie aż do końca rundy
A co jest źle w kodzie szelbi'iego? Przecież task nie ma nadanej flagi "b" i wiadomość powtórzy się tylko raz, więc czemu sugerujesz, że wiadmość wyświetli się kilka razy?
Do tego warto dodać event końca rundy i usunięcie w nim taska jeżeli istnieje. Czemu? Bo jak runda skończy się po 20 sekundach, to task nadal będzie istniał i wiadomość wyświetli się w nowej rundzie dużo wcześniej.
Użytkownik radim edytował ten post 30.08.2014 18:43
patryQ1997
30.08.2014
Okej, dzięki skorzystałem z kodu Szelbiego, oczywiście dla każdego + za zainteresowanie.
Temat do zamknięcia.
@EDIT
Chociaż nie co jest źle tekst pojawił się i po jakiś 15 sekundach znowu.
Użytkownik patryQ1997 edytował ten post 30.08.2014 19:13