#include #include #include #define TEAM_RANDOM 9 #define TEAM_COPS 10 new bMoney[MAX_PLAYERS]; new pBribe[MAX_PLAYERS]; new pBribed[MAX_PLAYERS]; new bRecently[MAX_PLAYERS]; new bTimer[MAX_PLAYERS]; new bAccepted[MAX_PLAYERS]; //0 = not confirmed yet. 1 = accepted. 2 = refused forward BribeCancel(playerid); public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } stock FindTeam(playerid) { new Team = GetPVarInt(playerid,"Team"); return Team; } stock Float:GetDistanceBetweenPlayers(p1,p2) { new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3; if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){ return -1.00; } GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x3,y3,z3); return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2)); } CMD:bribe(playerid,params[]) { new player1,Float:X,Float:Y,Float:Z,oName[24], pName[24],str[130],Team,amount; Team = FindTeam(playerid); if(Team != TEAM_RANDOM) return SendClientMessage(playerid,-1,"Sorry, This Command Is For Civilians Only"); if(sscanf(params,"ud",player1,amount)) return SendClientMessage(playerid,-1,"USAGE: /br(ribe) [playerid] [amount]"); GetPlayerPos(playerid,X,Y,Z); GetPlayerName(playerid,pName,24); GetPlayerName(player1,oName,24); if(amount < 0 || amount < GetPlayerMoney(playerid) || amount > 15000) return SendClientMessage(playerid,-1,"Invalid Amount. Max 15000"); if(!IsPlayerConnected(player1)) return SendClientMessage(playerid,-1,"Invalid Player ID."); if(bRecently[player1] == 1) return SendClientMessage(playerid,-1,"Someone Has Bribed This Police Officer Recently"); if(bRecently[playerid] == 1) return SendClientMessage(playerid,-1,"Please Wait Before Attempting to Bribe Again"); if(FindTeam(player1) != TEAM_COPS) return SendClientMessage(playerid,-1,"This Player Isn't A Police Officer."); if(GetDistanceBetweenPlayers(playerid,player1) > 8) return SendClientMessage(playerid,-1,"This Player Isn't Close Enough"); bMoney[playerid] = amount; bAccepted[playerid] = 0; pBribed[playerid] = player1; pBribe[player1] = playerid; bRecently[playerid] = 1; bRecently[player1] = 1; bTimer[playerid] = SetTimerEx("BribeCancel",13000,false,"i",playerid); format(str,130,"Warrant %s (%d) Has Attempted To Bribe You With $%d. Type /Ac(cept) To Accept It",pName,playerid); SendClientMessage(player1,-1,str); format(str,130,"You Have Attempted To Bribe %s (%d) With $%d. Wait And See If They Will Accept",oName,player1); SendClientMessage(playerid,-1,str); GameTextForPlayer(player1,"~w~Bribe Offered",3000,0); return 1; } CMD:br(playerid,params[]) return cmd_bribe(playerid,params); CMD:accept(playerid,params[]) { if(FindTeam(playerid) != TEAM_COPS) return SendClientMessage(playerid,-1,"This Command Is For Police Officers Only"); if(bRecently[playerid] == 1) { new pName[24],oName[24],str[130],player1; player1 = pBribe[playerid]; GetPlayerName(playerid,pName,24); GetPlayerName(player1,oName,24); GivePlayerMoney(playerid,bMoney[player1]); GivePlayerMoney(player1,-bMoney[player1]); if(bMoney[player1] > 9000) return SetPlayerWantedLevel(player1,0); if(bMoney[player1] < 9000) return SetPlayerWantedLevel(player1,2); bMoney[player1] = 0; pBribed[player1] = -1; pBribe[playerid] = -1; bAccepted[player1] = 1; GameTextForPlayer(player1,"~w~Bribe Accepted",3000,3); format(str,130,"You Have Accepted %s (%d)'s Bribe For $%d",oName,player1,bMoney[player1]); SendClientMessage(playerid,-1,str); format(str,130,"Officer %s (%d) Has Accepted Your Briibe For $%d",pName,playerid,bMoney[player1]); SendClientMessage(player1,-1,str); } else return SendClientMessage(playerid,-1,"You Have Not Been Bribed Recently"); return 1; } CMD:ac(playerid,params[]) return cmd_accept(playerid,params); CMD:refuse(playerid,params[]) { if(FindTeam(playerid) != TEAM_COPS) return SendClientMessage(playerid,-1,"This Command Is For Police Officers Only"); if(bRecently[playerid] == 1) { new pName[24],oName[24],str[130],player1; player1 = pBribe[playerid]; GetPlayerName(playerid,pName,24); GetPlayerName(player1,oName,24); bMoney[player1] = 0; pBribed[player1] = -1; pBribe[playerid] = -1; bAccepted[player1] = 2; format(str,130,"You Have Refused %s (%d)'s Bribe For $%d",oName,player1,bMoney[player1]); SendClientMessage(playerid,-1,str); format(str,130,"Officer %s (%d) Has Refused Your Briibe For $%d",pName,playerid,bMoney[player1]); SendClientMessage(player1,-1,str); } else return SendClientMessage(playerid,-1,"You Have Not Been Bribed Recently"); return 1; } CMD:ref(playerid,params[]) return cmd_refuse(playerid,params); public BribeCancel(playerid) { for(new i; i < MAX_PLAYERS; i++) { if(bRecently[i] == 1) { if(bAccepted[i] == 0) { SendClientMessage(i,-1,"Bribe Canceled"); bMoney[i] = 0; pBribe[i] = 0; pBribed[i] = 0; bAccepted[i] = 0; } } } return 1; }