Prośba o zmianę wyświetlania informacji
Vit4min
23.12.2015
Witam, mógłby ktoś mi przerobić ten plugin tak, aby informacje o randze i killach zostały wyświetlane tak jak w bf2 ranku tzn. na zółto zaraz nad chatem? Z góry dzięki
#include <amxmodx> #include <amxmisc> #include <csx> #define PLUGIN "csgoranks" #define VERSION "1.0" #define AUTHOR "Stasienku" #define TASK 666 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public client_connect(id) { if(is_user_bot(id)) return new param[1] param[0] = id set_task(1.0,"rank",TASK+id,param,1,"b") } public client_disconnect(id) if(task_exists(TASK+id)) remove_task(TASK+id) public rank(param[]) { new id = param[0] static stats[8], body[8] get_user_stats(id, stats, body) new ranga[30] if ( stats[0] >= 0 && stats[0] <= 49) format(ranga,29,"Srebro I") else if ( stats[0] >= 50 && stats[0] <= 99) format(ranga,29,"Srebro II") else if ( stats[0] >= 100 && stats[0] <= 149) format(ranga,29,"Srebro III") else if ( stats[0] >= 150 && stats[0] <= 299) format(ranga,29,"Srebro IV") else if ( stats[0] >= 300 && stats[0] <= 399) format(ranga,29,"Mistrzowskie Srebro") else if ( stats[0] >= 400 && stats[0] <= 499) format(ranga,29,"Elitarne Mistrzowskie Srebro") else if ( stats[0] >= 500 && stats[0] <= 699) format(ranga,29,"Złoty Laur I") else if ( stats[0] >= 700 && stats[0] <= 899) format(ranga,29,"Złoty Laur II") else if ( stats[0] >= 900 && stats[0] <= 1099) format(ranga,29,"Złoty Laur III") else if ( stats[0] >= 1100 && stats[0] <= 1399) format(ranga,29,"Mistrzowski Złoty Laur") else if ( stats[0] >= 1400 && stats[0] <= 1699) format(ranga,29,"Mistrzowski Obrońca I") else if ( stats[0] >= 1700 && stats[0] <= 1999) format(ranga,29,"Mistrzowski Obrońca II") else if ( stats[0] >= 2000 && stats[0] <= 2399) format(ranga,29,"Elitarny Mistrzowski Obrońca") else if ( stats[0] >= 2400 && stats[0] <= 2799) format(ranga,29,"Wybitny Mistrzowski Obrońca") else if ( stats[0] >= 2800 && stats[0] <= 3199) format(ranga,29,"Legendarny Orzeł") else if ( stats[0] >= 3200 && stats[0] <= 3599) format(ranga,29,"Mistrzowski Legendarny Orzeł") else if ( stats[0] >= 3600 && stats[0] <= 3999) format(ranga,29,"Najwyższy Mistrz Pierwszej Klasy") else if ( stats[0] >= 4000 && stats[0] <= 99999) format(ranga,29,"Globalna Elita") set_hudmessage(255, 255, 255, 0.15, 0.55) show_hudmessage(id, "Ranga: %s^nZabojstw: %d",ranga,stats[0]) }
NoLiFeR
23.12.2015
Tak jak w BF'ie >>
Nad
public plugin_init()
dodaj
new gmsgStatusText;
Na końcu plugin_init, tzn przed zamykającą klamrą, dodaj
gmsgStatusText = get_user_msgid("StatusText");
Sam kod wyświetlania wygląda tak
message_begin(MSG_ONE_UNRELIABLE, gmsgStatusText, _, id); write_byte(0); write_string(HUD); message_end();
Gdzie id to index gracza, a hud to string z treścią. Wysyłaj to raz na początek rundy, lub co aktualizacje danych w stringu (Jeżeli nie możesz tego przewidzieć, daj co sekunde).
Wyświetlaj tylko dla żywego gracza.
Czyli
Wyświetlaj tylko dla żywego gracza.
Czyli
set_hudmessage(255, 255, 255, 0.15, 0.55) show_hudmessage(id, "Ranga: %s^nZabojstw: %d",ranga,stats[0])
zamień na
if(is_user_alive(id)){ new Str[191] formatex(Str, 190, "Ranga: %s | Zabojstw: %d", ranga, stats[0]) message_begin(MSG_ONE_UNRELIABLE, gmsgStatusText, _, id); write_byte(0); write_string(Str); message_end(); }
Edited by NoLiFeR, 23.12.2015 20:19.