Witam, mam problem z pluginem losowania vipa na całą mapę.
Otóż plugin działa, piszę kto wylosował vipa, ale jest jeden problem. Nie daję VIP'a, flagę mam zmienioną w .sma na 1000000% dobrze, bo to potrafię.
Po dodaniu vipa wpisuje w konsoli "amx_who" i gracz ma flagi "tz"
Wiecie co może być przyczyną?
Plugin: https://amxx.pl/topi...zy-na-serwerze/
.sma
#include <amxmodx> #include <fun> #include <colorchat> #define LOSOWANIE_VIP_OD 5 #define LOSOWANIE_W_KTOREJ_RUNDZIE 3 #define FLAGA_VIP ADMIN_LEVEL_H new iPlayer new runda, tmp; public plugin_init(){ register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool"); register_logevent("Poczatek_Rundy", 2, "1=Round_Start") set_task(30.0, "UsunVipa", .flags="d") set_task(120.0, "advert", _, _, _, "b") } public advert() ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD); public Poczatek_Rundy(){ runda++ if(runda == LOSOWANIE_W_KTOREJ_RUNDZIE){ ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!"); if(get_playersnum()>= LOSOWANIE_VIP_OD){ Losuj_Vipa(FLAGA_VIP) tmp = FLAGA_VIP return PLUGIN_HANDLED } for(new i=1; i<=32; i++){ if(is_user_connected(i)) ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD); } } return PLUGIN_CONTINUE } public client_disconnect(id){ if(id == iPlayer){ remove_user_flags(iPlayer, tmp) } } public Losuj_Vipa(FLAGA) { new players[32], count; get_players(players, count, "ch"); if(count) { iPlayer = players[random(count)]; if(get_user_flags(iPlayer) & FLAGA_VIP){ ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!"); return PLUGIN_HANDLED } new Name[32]; get_user_name(iPlayer, Name, charsmax(Name)) set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA); ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego VIPA na tej mapie!", Name); set_hudmessage(255, 125, 0, -1.0, 0.40) show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego VIPA na tej mapie!", Name) } return PLUGIN_CONTINUE; } public UsunVipa(){ ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy"); remove_user_flags(iPlayer, tmp); } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Użytkownik Figas edytował ten post 04.01.2018 18:01