Polecam to:
Wybor Interpu - AMXX.pl: Support AMX Mod X
#include <amxmodx>
#define MIN_TIME 1.0
new gcvarMinInterp,gcvarMaxInterp,gcvarPunish,gcvarPunishDelay;
new gcvarShowTut;
#include <ColorChat>
new bool:gbSteamValid[33];
new gszPrefixes[][32]={
"STEAM_ID",
"VALVE_ID",
"STEAM_9:9:"
}
stock bool:isSteamPlayer(id)
{
new szAuth[32];
get_user_authid(id, szAuth, 31);
new s=sizeof gszPrefixes;
for(new i=0;i<s;i++)
{
if(containi(szAuth, gszPrefixes[i]) == 0)
return false;
}
return true;
}
public client_putinserver(id)
{
gbSteamValid[id] = isSteamPlayer(id);
}
public plugin_init(){
register_plugin("Pokaz interp","1.3","grankee&r3x")
gcvarMinInterp= register_cvar("amx_mininterp","0.01",0,0.01);
gcvarMaxInterp=register_cvar("amx_maxinterp","0.02",0,0.01);
gcvarPunish=register_cvar("amx_baninterp_punish","1");
gcvarPunishDelay=register_cvar("amx_baninterp_delay","30.0");
gcvarShowTut=register_cvar("amx_show_tutorial","1");
pokaz()
}
public pokaz()
{
new players[32],count
get_players(players,count)
new Float:fMin=get_pcvar_float(gcvarMinInterp);
for(new i=0;i<count;i++)
{
if(is_user_bot(players[i])) continue;
if(gbSteamValid[players[i]])
query_client_cvar(players[i],"ex_interp","interp");
else
client_cmd(players[i], "ex_interp %.2f",fMin);
}
set_task(10.0, "pokaz");
}
public interp(id,const cvar[],const value[])
{
new Float:val=str_to_float(value);
new Float:fMin=get_pcvar_float(gcvarMinInterp);
new Float:fMax=get_pcvar_float(gcvarMaxInterp);
if(val<fMin||val>fMax)
{
new name[32]
get_user_name(id,name,31);
new iPlayers[32],iNum;
get_players(iPlayers, iNum);
for(new i=0;i<iNum;i++)
if(get_user_flags(iPlayers[i], 1)&ADMIN_BAN)
ColorChat(iPlayers[i], GREEN,"[Interp]^x01 Gracz ^x04%s^x01 ma zly interp (%s)",name,value);
if(get_pcvar_num(gcvarShowTut)>0)
{
ColorChat(id, GREEN,"[Interp]^x01 Interp dozwolony na tym serwerze to zakres od ^x04%4.2f^x01 do ^x04%4.2f",fMin+0.0001,fMax+0.0001);
ColorChat(id, GREEN,"[Interp]^x01 Aby zmienic swoj interp na dozwolony na tym serwerze wpisz w consoli gry:");
ColorChat(id, GREEN,"[Interp]^x01 ex_interp ^"wartosc^"");
}
if(get_pcvar_num(gcvarPunish))
{
if(!task_exists(id))
{
set_task(floatmax(get_pcvar_float(gcvarPunishDelay),MIN_TIME),"kickuj",id);
}
}
}
else if(task_exists(id))
remove_task(id);
}
public kickuj(id)
{
new Float:fMin=get_pcvar_float(gcvarMinInterp)+0.0001;
new Float:fMax=get_pcvar_float(gcvarMaxInterp)+0.0001;
console_print(id,"---------------------------------------");
console_print(id,"[Interp] Interp dozwolony na tym serwerze to zakres od %4.2f do %4.2f",fMin,fMax);
console_print(id,"[Interp] Aby zmienic swoj interp na dozwolony na tym serwerze wpisz w consoli gry:");
console_print(id,"[Interp] ex_interp ^"wartosc^"");
console_print(id,"---------------------------------------");
server_cmd("amx_kick #%d ^"Zmien ex_interp (czytaj w konsoli)^"",get_user_userid(id));
}
Poleacam