All pastes #515837 Raw Edit

Untitled

public text v1 · immutable
#515837 ·published 2007-05-28 11:52 UTC
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;
}