Problem z wyświetlaniem wiadomości w hud
rzeznik9871
03.04.2016
Zacząłem sobie pisać prosty plugin w którym miały być monety i miały one razem z hp pokazywac sie na hudzie calosc wyglada tak
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <fakemeta> #include <hamsandwich> #include <core> #include <fakemeta_util> #include <colorchat> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author" #define MONETY_RUNDA 5 new monety[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say test" , "test") register_clcmd("say test2" , "test2") register_logevent("Koniec_Rundy", 2, "1=Round_End") } public client_putinserver() { set_task(1.0,"hud",_,_,_,"b") } public Koniec_Rundy(id) { monety[id]=monety[id]+MONETY_RUNDA ColorChat(id,GREEN,"^x01 Dostales ^x03%d^x04 Monet",MONETY_RUNDA) } public hud(id) { set_hudmessage(255, 0, 0, 0.05, 0.90) show_hudmessage(id, "HP: %d Monety: %d",get_user_health(id),monety[id]) } public test(id) { client_print(id,3,"hp %d monety %d ",get_user_health(id),monety[id]) } public test2(id) { set_hudmessage(255, 0, 0, 0.2, 0.90,_,_,_,_,_,2) show_hudmessage(id, "HP: %d monety: %d",get_user_health(id),monety[id]) }
problem polega na tym ze wiadomosc hud odświeżana przez taska pokazuje caly czas 0hp wpisujac test2 wiadomosc poprawnie wyswietla hp drugi problem jest taki ze po skonczeniu rundy dostajemy monety i caly czas jest problem z hudem na hudzie gdzie jest wyswietlane 0hp monety pokazuje sie normalnie z kazda kolejna runda +5 monet i sie wyswietlaja 5,10,15 itp ale jak wpisze test2 aby wyswietlil sie hud gdzie jest popranie pokazywane hp monety sa rowne 0 nie mam pojecia co moze nie dzialac w tak prostym kodzie ktos ma jakies pomysly?
Użytkownik rzeznik9871 edytował ten post 03.04.2016 22:01
Robiin
03.04.2016
new hp[33]
get_user_health(id)
set_hudmessage(255, 0, 0, 0.05, 0.90)
show_hudmessage(id, "HP: %i Monety: %d", hp ,monety[id])
grankee
04.04.2016
Bo w funkcji tasku zmienna id ma wartość 0, po czym próbujesz pobrać hp z id 0, które zwraca 0 i dodatkowo sra błędami (zerknij do error logów).
Ustawiając taska nie nadałeś mu żadnego id przecież.
rzeznik9871
04.04.2016
patrzyłem wszedzie tylko nie tam gdzie trzeba dzięki grankee ale jeszcze jedno jak mam dodac monety poprzez event konca rundy bo tak jak jest aktualnie nie dziala monety dodawane sa do serweraa nie do gracza
grankee
04.04.2016
Bo event konca rundy nie ma id.
musisz uzyc petli
for(new i=1;i<33;i++) { if(!is_user_connected(i)) continue if(costam) { monety[i]+=MONETY client_print(i,print_chat,"dostales %d monet",MONETY) } }
Zwróć uwagę, że po prawej stronie postu są takie strzałeczki, zielona i czerwona. Jak jakiś post Ci pomógł, to klikasz przy nim tą zieloną. Analogicznie postępujesz z każdym pomocnym postem.
Użytkownik grankee edytował ten post 04.04.2016 22:10