Hello! I've made a deathrun plugin for my server based on Deathrun Manager by xPaw
I did a function that happens in every new round, that gives 1 life to a random players, but giving a bigger chance to vips from my server to have this random life. Here is the code:
PHP Code:
// Random life to a player
stock random_life() {
new bool:PlayerChecked
// Do a loop until it gets a player...
while(!PlayerChecked) {
new iPlayers[32], Players
get_players( iPlayers, Players, "c" );
if(!Players) break
new only_vips = random_num(0, 1)
if(only_vips) {
new vip_id[33]
new vip_slot = -1
for(new i; i < Players; i++) {
if(get_user_flags(iPlayers[i]) & ADMIN_RESERVATION) {
vip_id[vip_slot+1] = iPlayers[i]
vip_slot++
}
}
if(vip_slot != -1) {
new vip_choosen = random_num(0, vip_slot+1)
if(is_user_connected(vip_id[vip_choosen])) {
g_Lifes[vip_id[vip_choosen]]++
new name[64]
get_user_name(vip_id[vip_choosen], name, 63)
set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 2 );
// It shows (VIP) just for check if it was only_vips
// And it ALWAYS appear... lol
ShowSyncHudMsg( vip_id[vip_choosen], VidasHudSync2, "%s ganhou uma vida extra! (VIP)", name);
PlayerChecked = true
}
}
}
else {
new Random_Player = random_num(0, Players-1)
if(is_user_connected(Random_Player)) {
g_Lifes[Random_Player]++
new name[64]
get_user_name(Random_Player, name, 63)
set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 2 );
ShowSyncHudMsg( Random_Player, VidasHudSync2, "%s ganhou uma vida extra!", name);
PlayerChecked = true
}
}
}
}
What's wrong with my code?
P.S.: I'm testing alone on my server...