Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
public plugin_init()
{
register_plugin("Random Player knife arena", "0.2.1", "badboy");
register_clcmd("say /random", "RandomPlayer");
}
public RandomPlayer(id)
{
if(~get_user_flags(id) & ADMIN_BAN)
return PLUGIN_HANDLED;
getweps()
static player1, player2;
static players[32], iPnum;
get_players(players, iPnum, "e", "TERRORIST");
player1 = players[random(iPnum)];
if(!player1)
{
console_print(id, "[ShowUrSkills] Random player not found.");
return PLUGIN_HANDLED;
}
get_players(players, iPnum, "e", "CT");
player2 = players[random(iPnum)];
if(!player2)
{
console_print(id, "[ShowUrSkills] Random player not found.");
return PLUGIN_HANDLED;
}
static sName[32];
static const iNameLen = sizeof(sName) - 1
get_user_name(player1, sName, iNameLen);
client_print(0, print_chat, "[ShowUrSkills] TERRORIST Random player are Chosed %s.", sName);
get_user_name(player2, sName, iNameLen);
client_print(0, print_chat, "[ShowUrSkills] CT Random player are Chosed %s.", sName);
return PLUGIN_HANDLED;
}
random_player( const team=-1 )
{
static pnum[4] = {0,0,0,0}, players[4][32], szTeam[12];
switch( team )
{
case 0: copy(szTeam, charsmax(szTeam), "UNA"); // UNA or UNASSIGNED, not sure :)
case 1: copy(szTeam, charsmax(szTeam), "TERRORIST");
case 2: copy(szTeam, charsmax(szTeam), "CT");
case 3: copy(szTeam, charsmax(szTeam), "SPECTATOR");
default: szTeam[0] = 0;
}
new x = max(team, 0);
if(!pnum[x])
{
get_players(players[x], pnum[x], (team == -1) ? "":"e" , szTeam)
if(!pnum[x]) return 0;
}
new iRandom_player, slot;
while ( pnum[x] > 0 && (!is_user_connected(iRandom_player = players[x][(slot=random(pnum[x]))]) || (( 3 >= team >= 0) && get_user_team(iRandom_player) != team) ))
{
pnum[x]--;
players[x][slot] = players[x][pnum[x]];
}
if(pnum[x] == 0) {
get_players(players[x], pnum[x], (team == -1) ? "":"e", szTeam)
iRandom_player = (pnum[x] > 0) ? players[x][random(pnum[x])]:0;
}
if(pnum[x] > 0)
{
pnum[x]--;
players[x][slot] = players[x][pnum[x]];
}
return iRandom_player;
}
stock getweps()
{
new Players[32], PlayersNum, id
get_players(Players, PlayersNum, "h")
for( new i; i < PlayersNum; i++ )
{
id = Players[i]
if( is_user_connected(id) && is_user_alive(id) )
{
}
}
}