rendered paste body// Anti-DB Script
// Made for PTGN
// By Sacky
#include <a_samp>
#define MAX_DB 5
#define dcmd(%1,%2) if ((strcmp(cmdtext, "/%1", true, %2+1) == 0)&&(((cmdtext[%2+1]==0)&&(dcmd_%1(playerid,"")))||((cmdtext[%2+1]==32)&&(dcmd_%1(playerid,cmdtext[%2+2]))))) return 1
new dbcounter[MAX_PLAYERS];
new dba[MAX_PLAYERS];
new tdbs[MAX_PLAYERS];
public OnFilterScriptInit()
{
print("\n---------------------------\n");
print(" Anti-DB FS By Sacky\n");
print("---------------------------\n");
return true;
}
public OnPlayerDeath(playerid,killerid,reason)
{
if(IsPlayerConnected(playerid) && IsPlayerConnected(killerid))
{
if(IsPlayerInAnyVehicle(killerid) && IsPlayerInAnyVehicle(playerid) && GetPlayerState(killerid) == PLAYER_STATE_DRIVER && reason != WEAPON_VEHICLE)
{
dbcounter[killerid]++;
tdbs[killerid]++;
if(dbcounter[killerid] > MAX_DB / 2 && dbcounter[killerid] < MAX_DB) SendClientMessage(killerid,0x0AD0FF,"Don't drive-by abuse! There will be punishments for those who abuse it excessively");
else if(dbcounter[killerid] == MAX_DB)
{
GameTextForPlayer(killerid,"DON'T DRIVEBY ABUSE!",4,5000);
RemovePlayerFromVehicle(killerid);
ResetPlayerMoney(killerid);
ResetPlayerWeapons(killerid);
if(dba[killerid] == MAX_DB / 2) SetPlayerPos(killerid,0.0,0.0,99999.9);
else if(dba[killerid] == MAX_DB) Kick(killerid);
}
}
}
return true;
}
public OnPlayerConnect(playerid)
{
dbcounter[playerid] = 0;
dba[playerid] = 0;
tdbs[playerid] = 0;
return true;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
dcmd(drivebys,8);
return true;
}
dcmd_drivebys(playerid,params[])
{
if(strlen(params))
{
new pid = strval(params);
if(IsPlayerConnected(pid))
{
new msgstr[32],pname[MAX_PLAYER_NAME];
GetPlayerName(pid,pname,MAX_PLAYER_NAME);
format(msgstr,sizeof(msgstr),"%s has done %d driveby's this game",pname,tdbs[playerid]);
SendClientMessage(playerid,0x000000FF,msgstr);
}
else SendClientMessage(playerid,0x0AD0FF,"That player isn't connected");
}
else SendClientMessage(playerid,0x0AD0FF,"USAGE: /drivebys [playerid]");
return true;
}