Nie do końca wiem o co ci chodzi:d
Osobiście przerobiłem to na coś takiego, sprawdzę czy działa jak będzie administrator serwera którym się zajmuję ;D
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "Ustawienia"
#define VERSION "1.2"
#define AUTHOR "R3X Sniffer Verciu"
#define MAX_PLAYERS 32
#define ACCESS ADMIN_KICK
new ex_interp[MAX_PLAYERS+1][6];
new rate[MAX_PLAYERS+1];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("amx_set","show_list",ACCESS,"<nick dla 1 osoby lub * lub nic dla tabelki")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
}
public client_connect(id)
{
query_client_cvar(id, "ex_interp", "saveInterp");
query_client_cvar(id, "rate", "saveRate");
}
public saveInterp(id, const cvar[], const value[])
{
copy(ex_interp[id], 5, value);
}
public saveRate(id, const cvar[], const value[]){
rate[id]=str_to_num(value);
if(rate[id]==0)
rate[id]=1;
}
public player_spawn(id)
{
set_task(5.0, "player_spawn2", id, _, _, "b")
}
public player_spawn2(id)
{
if (is_user_connected(id) && (!(is_user_bot(id)))){
query_client_cvar(id, "ex_interp", "saveInterp");
query_client_cvar(id, "rate", "saveRate");
}
}
public show_list(id,level,cid)
{
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new arg[33]; read_args(arg,32)
if((arg[0] == '*') || (!(arg[0])))
{
new players[32], inum, name[33]
get_players(players, inum, "ch")
for(new i = 0; i < inum; i++)
{
get_user_name(players[i],name,32)
console_print(id,"#%d %s - %s %d",i+1,name,ex_interp[i+1], rate[i+1])
}
}
else
{
new player = cmd_target(id, arg, 10)
if(!is_user_connected(player))
return PLUGIN_HANDLED
new name[33]; get_user_name(player,name,32)
console_print(id,"%s - %s %d",name,ex_interp[player], rate[player])
}
return PLUGIN_HANDLED
}
[ Dodano: 01-10-2009, 22:28 ]Fakt że tu interpy i rate nie są akutalizowane przy użyciu a co 5 sekund ale nie chciało mi się inaczej