20.05.2012, 21:20
eae pessoal...
Hoje eu fiz uma filterscript bem simples de anti racker de velocidade...
e simples se o racker passar da velocidade ele leva 1 aviso e ela kick...Se ele logar e passar denovo ele leva mais 1 aviso i e kickado denovo, na 3° vez que o infeliz autrapassa a velocidade ele leva ban (:
PasteBin :
Hoje eu fiz uma filterscript bem simples de anti racker de velocidade...
e simples se o racker passar da velocidade ele leva 1 aviso e ela kick...Se ele logar e passar denovo ele leva mais 1 aviso i e kickado denovo, na 3° vez que o infeliz autrapassa a velocidade ele leva ban (:
Код:
No topo da FilterScript tem um #Define SPEEDLIMITER 151 vocк pode alterar para qualquer valor...eu testei com avionhes e consequi pegar so 150km/h acima disso e so com racker mesmo
PHP код:
/*
NГO RETIRE OS CREDITOS
POR WEVERTON
PLAGIO E CRIME...
*/
#include a_samp
#include dini
new aviso[MAX_PLAYERS];
#define SPEEDLIMITER 151
public OnFilterScriptInit()
{
SetTimer("Speed",1,true);
printf("FILTERSCRIPT FEITO POR WEVERTON Skype: scriptsamp");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
stock GetPlayerSpeed(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid))
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
return floatround(ST[3]);
}
public OnPlayerConnect(playerid)
{
new file[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(file,sizeof(file),"SpeedLimiter/%s.ini",name);
if(!dini_Exists(file)) return dini_Create(file);
aviso[playerid] = dini_Int(file,"Avisos");
return 1;
}
public OnPlayerDisconnect(playerid)
{
SendClientMessage(playerid,-1,"Servidor com sistema de Anti Velocidade...BY: Weverton");
if(aviso[playerid] >= 1)
{
new file[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(file,sizeof(file),"SpeedLimiter/%s.ini",name);
dini_IntSet(file,"Avisos",aviso[playerid]);
}
return 1;
}
forward Speed(playerid);
public Speed(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
new string[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new sp; sp = GetPlayerSpeed(playerid);
if(sp >= SPEEDLIMITER)
{
if(aviso[playerid] == 0)
{
format(string,sizeof(string),"[AVISO 1/3] %s ultrapassou o limite de velocidade o servidor e foi kickado[%d km/h]",name,sp);
SendClientMessageToAll(playerid,0x80FF00AA,string);
aviso[playerid] += 1;
Kick(playerid);
return 1;
}
else if(aviso[playerid] == 1)
{
format(string,sizeof(string),"[AVISO 2/3] %s ultrapassou o limite de velocidade o servidor e foi kickado[%d km/h]",name,sp);
SendClientMessageToAll(playerid,0x80FF00AA,string);
aviso[playerid] += 1;
Kick(playerid);
return 1;
}
else if(aviso[playerid] == 2)
{
format(string,sizeof(string),"[AVISO 3/3] %s ultrapassou o limite de velocidade e foi banido",name);
SendClientMessageToAll(playerid,0x80FF00AA,string);
aviso[playerid] += 1;
format(string,sizeof(string)," %s foi banido por atigir a velocidade maxima do servidor [%d km/h]",name,sp);
SendClientMessage(playerid,-1,string);
Ban(playerid);
aviso[playerid] = 0;
return 1;
}
}
}
return 1;
}