rendered paste body//filter script by EliranOHana(NonTat)
//From lvdmod
//=Includes=====================================================================
#include <a_samp>
#define FILTERSCRIPT
//=Gangs========================================================================
#define MAX_GANGS 32 // Max gangs in the server
#define MAX_GANG_MEMBERS 15 // Max gang members
#define MAX_GANG_NAME 50 // Max gang name
//=Colors=======================================================================
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_GRAD1 0xB4B5B7FF
//=Checkpoints==================================================================
#define CP_BANK 0
#define CP_PIRATE 1
#define CP_AMMU 2
#define CP_DRAGON 3
#define CP_CALIGULA 4
#define CP_SEXSHOP 5
#define CP_BAR 6
#define CP_ZIP 7
#define CP_BINCO 8
#define CP_TATOO 9
#define CP_BOTIQUE 10
#define CP_STRIPCLUB 11
#define CP_WANGCARS 12
#define CP_AIRSTRIP 13
#define CP_EMERALD 14
#define CP_VISAGE 15
#define CP_SPREADRANCH 16
//=Properties===================================================================
#define P_DRAGON 0
#define P_CALIGULA 1
#define P_SEXSHOP 2
#define P_BAR 3
#define P_ZIP 4
#define P_BINCO 5
#define P_TATOO 6
#define P_BOTIQUE 7
#define P_STRIPCLUB 8
#define P_WANGCARS 9
#define P_AIRSTRIP 10
#define P_EMERALD 11
#define P_VISAGE 12
#define P_SPREADRANCH 13
#define P_OFFSET 3
//=Forwards=====================================================================
forward PlayerLeaveGang(playerid);
forward getCheckpointType(playerid);
forward checkpointUpdate();
forward SetupPlayerForClassSelection(playerid);
forward IsPlayerInArea(playerid, Float:data[4]);
forward PropertyScoreUpdate();
forward PayPlayerInArea(playerID, Float:x1, Float:y1, Float:x2, Float:y2, cash);
forward PirateShipScoreUpdate();
forward SavedUpdate();
//=News=========================================================================
new bank[MAX_PLAYERS];
new bounty[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new gangMembers[MAX_GANGS][MAX_GANG_MEMBERS];
new gangNames[MAX_GANGS][MAX_GANG_NAME];
new gangInfo[MAX_GANGS][3]; //0-created,1-members,2-color
new gangBank[MAX_GANGS];
new playerGang[MAX_PLAYERS];
new gangInvite[MAX_PLAYERS];
new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
new savePos;
//--------------------------------------------------------------------------
new playerColors[100] = {
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,
0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
0x3FE65CFF
};
//--------------------------------------------------------------------------
#define MAX_POINTS 17
new Float:checkCoords[MAX_POINTS][4] = {
{-36.5483,-57.9948, -17.2655,-49.2967}, // Bank
{1894.6128,1445.3431, 2084.9739,1637.8186}, // Pirate
{284.0546,-86.4384, 302.9315,-56.6674}, // Ammunation
{1925.1511,968.2358, 2019.0715,1067.4276}, // FourDragons
{-115.9544,-24.2706, -99.1631,-7.1391}, // SexShop
{487.6558,-88.5900, 512.0635, -67.7503}, // Bar
{2216.7971,1638.0493, 2255.2097,1714.0806}, // Caligula
{144.9131,-96.0927, 177.4128,-70.7923}, // Zip
{201.4462,-112.4556, 218.5237,-95.1238}, // BincoShop
{-204.7623,-44.0326, -200.2330,-39.8128}, // Tatoo
{416.7485,-84.4242, 422.6890,-74.0611}, // Botique
{1201.1422,-16.6343,1223.4420,12.6656}, // StripClub
{-1996.0801,253.4684,-1942.0564,310.0717}, // WangCars
{413.4203,2534.9907,421.4078,2542.7031}, // AirStrip
{2099.1985,2328.5200,2179.1382,2405.8721}, // EmeraldIsle
{1998.3783,1875.9679,2066.3425,1957.0034}, // TheVisage
{1205.7026,-41.1453,1216.8755,-23.9896} // TheBigSpreadRanch
};
new Float:checkpoints[MAX_POINTS][6] = {
{-22.2549,-55.6575,1003.5469}, // Bank
{2000.3132,1538.6012,13.5859}, // Pirate
{291.0004,-84.5168,1001.5156}, // Ammunation
{1989.0619,1005.5241,994.4688}, // FourDragons
{-103.5525,-22.4661,1000.7188}, // SexShop
{501.4927,-75.4323,998.7578}, // Bar
{2235.5408,1679.0402,1008.3594}, // Caligula
{161.1875,-79.9915,1001.8047}, // Zip
{207.5640,-97.8188,1005.2578}, // BincoShop
{-203.4864,-41.2045,1002.2734}, // Tatoo
{418.5547,-80.1667,1001.8047}, // Botique
{1212.3918,-10.9459,1000.9219}, // StripClub
{-1957.5327,300.2131,35.4688}, // WangCars
{418.1210,2536.8762,10.0000}, // AirStrip
{2127.5940,2370.4255,10.8203}, // EmeraldIsle
{2022.5179,1916.6848,12.3397}, // TheVisage
{1208.5027,-32.6044,1000.9531} // TheBigSpreadRanch
};
new checkpointType[MAX_POINTS] = {
CP_BANK,
CP_PIRATE,
CP_AMMU,
CP_DRAGON,
CP_SEXSHOP,
CP_BAR,
CP_CALIGULA,
CP_ZIP,
CP_BINCO,
CP_TATOO,
CP_BOTIQUE,
CP_STRIPCLUB,
CP_WANGCARS,
CP_AIRSTRIP,
CP_EMERALD,
CP_VISAGE,
CP_SPREADRANCH
};
//--------------------------------------------------------------------------
#define MAX_PROPERTIES 14
new propertyNames[MAX_PROPERTIES][32] = {
"The Four Dragons", //1
"Sex Shop", //2
"Shithole Bar", //3
"Caligula", //4
"Zip Shop", //5
"Binco Shop", //6
"Tatoo Parlor", //7
"Botique", //8
"Strip Club", //9
"Wang Cars", //10
"Verdant Meadows Air Strip", //11
"Emerald Isle", //12
"The Visage", //13
"The Big Spread Ranch" //14
};
new propertyValues[MAX_PROPERTIES] = {
120000, //1
80000, //2
75000, //3
120000, //4
20000, //5
22000, //6
45000, //7
23000, //8
30000, //9
40000, //10
30000, //11
80000, //12
100000, //13
25000, //14
};
new propertyEarnings[MAX_PROPERTIES] = {
1200, //1
8000, //2
7500, //3
1200, //4
2000, //5
2200, //6
4500, //7
2300, //8
3000, //9
4000, //10
3000, //11
8000, //12
10000, //13
2500, //14
};
new propertyOwner[MAX_PROPERTIES] = {
999,
999,
999,
999,
999,
999,
999,
999,
999,
999,
999,
999,
999,
999
};
//--------------------------------------------------------------------------
#define MAX_WEAPONS 47
#define MAX_SPAWNWEAPONS 10
new weaponNames[MAX_WEAPONS][32] = {
"Unarmed",
"Brass Knuckles",
"Golf Club",
"Night Stick",
"Knife",
"Baseball Bat",
"Shovel",
"Pool Cue",
"Katana",
"Chainsaw",
"Purple Dildo",
"White Dildo",
"Long White Dildo",
"White Dildo 2",
"Flowers",
"Cane",
"Grenades",
"Tear Gas",
"Molotovs",
"UNKNOWN",
"UNKNOWN",
"UNKNOWN",
"Pistol",
"Silenced Pistol",
"Desert Eagle",
"Shotgun",
"Sawn Off Shotgun",
"Combat Shotgun",
"Micro Uzi (Mac 10)",
"MP5",
"AK47",
"M4",
"Tec9",
"Rifle",
"Sniper Rifle",
"RPG",
"Missile Launcher",
"Flame Thrower",
"Minigun",
"Sachel Charges",
"Detonator",
"Spray Paint",
"Fire Extinguisher",
"Camera",
"Nightvision Goggles",
"Thermal Goggles",
"Parachute"
};
new spawnWeapons[MAX_SPAWNWEAPONS][3] = {
{4,0,10000},
{25,150,20000},
{26,70,30000},
{27,80,25000},
{28,150,8000},
{29,150,6000},
{32,150,8000},
{30,220,40000},
{31,220,40000},
{34,20,50000}
};
new playerWeapons[MAX_PLAYERS][MAX_SPAWNWEAPONS];
#define MAX_SAVE 64
new savedInfo[MAX_SAVE][4];
new savedNames[MAX_SAVE][MAX_PLAYER_NAME];
new savedWeapons[MAX_SAVE][MAX_SPAWNWEAPONS];
//========================[OnFilterScriptInit]==================================
public OnFilterScriptInit()
{
print("\n ----------------------------------------------------------");
print(" Bank/Gangs/Properties/Hitman/Bounty Filter Script By NonTat");
print(" ----------------------------------------------------------\n");
return 1;
}
//========================[OnFilterScriptExit]==================================
public OnFilterScriptExit()
{
return 1;
}
main()
{
print("\n ----------------------------------------------------------");
print(" Bank/Gangs/Properties/Hitman/Bounty Filter Script By NonTat");
print(" ----------------------------------------------------------\n");
}
//=OnGameModeInit===============================================================
public OnGameModeInit()
{
SetTimer("MoneyGrubScoreUpdate",1000,1);
SetTimer("checkpointUpdate",1100,1);
SetTimer("PirateShipScoreUpdate",2001,1);
SetTimer("PropertyScoreUpdate",240000,1);
return 1;
}
//=OnGameModeExit===============================================================
public OnGameModeExit()
{
return 1;
}
//=OnPlayerConnect==============================================================
public OnPlayerConnect(playerid)
{
new playrname[MAX_PLAYER_NAME];
GetPlayerName(playerid,gPlayerName[playerid],MAX_PLAYER_NAME);
GetPlayerName(playerid, playrname, sizeof(playrname));
for(new i = 0; i < MAX_SAVE; i++) {
if(isStringSame(savedNames[i], playrname, MAX_PLAYER_NAME)) {
GivePlayerMoney(playerid, savedInfo[i][0]);
bank[playerid] = savedInfo[i][1];
bounty[playerid] = savedInfo[i][2];
savedInfo[i][0]=savedInfo[i][1]=savedInfo[i][2]=0;
savedNames[i][0]=0;
for(new j = 0; j < MAX_SPAWNWEAPONS; j++) {
playerWeapons[playerid][j]=savedWeapons[i][j];
savedWeapons[i][j]=0;
}
}
}
return 1;
}
//=OnPlayerDisconnect===========================================================
public OnPlayerDisconnect(playerid, reason)
{
new playername[MAX_PLAYER_NAME];
gPlayerName[playerid][0] = 0;
//Save temp info for timeouts/crashes
GetPlayerName(playerid, playername, sizeof(playername));
format(savedNames[savePos], MAX_PLAYER_NAME, "%s",playername);
savedInfo[savePos][0] = GetPlayerMoney(playerid);
savedInfo[savePos][1] = bank[playerid];
savedInfo[savePos][2] = bounty[playerid];
savedInfo[savePos][3] = 0;
for(new i = 0; i < MAX_SPAWNWEAPONS; i++)
savedWeapons[savePos][i]=playerWeapons[playerid][i];
//
savePos++;
if(savePos >= MAX_SAVE)
savePos = 0;
PlayerLeaveGang(playerid);
bounty[playerid] = 0;
for(new i = 0; i < MAX_SPAWNWEAPONS;i++) {
playerWeapons[playerid][i]=0;
}
return 1;
}
//=OnPlayerDeath================================================================
public OnPlayerDeath(playerid, killerid, reason)
{
new playercash;
new killedplayer[MAX_PLAYER_NAME];
new string[256];
playercash = GetPlayerMoney(playerid);
if(killerid == INVALID_PLAYER_ID)
{
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
}
else
{
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
if(bounty[playerid] > 0 && (playerGang[killerid] == 0 || playerGang[playerid] != playerGang[killerid])) {
GetPlayerName(playerid, killedplayer, sizeof(killedplayer));
format(string, sizeof(string), "You earned a bounty of %d for killing %s.", bounty[playerid], killedplayer);
SendClientMessage(killerid, COLOR_GREEN, string);
GivePlayerMoney(killerid, bounty[playerid]);
bounty[playerid] = 0;
}
if(playercash > 0) {
GivePlayerMoney(killerid, playercash);
SetPlayerHealth(killerid, 100);
}
}
if(playercash > 0)
{
ResetPlayerMoney(playerid);
}
return 1;
}
//=OnPlayerText=================================================================
public OnPlayerText(playerid, text[])
{
if(text[0] == '!') {
if(playerGang[playerid] > 0) {
new gangChat[256];
new senderName[MAX_PLAYER_NAME];
new string[256];
// for(new i = 1; i < strlen(text)+1; i++)
// gangChat[i]=text[i];
strmid(gangChat,text,1,strlen(text));
GetPlayerName(playerid, senderName, sizeof(senderName));
format(string, sizeof(string),"%s: %s", senderName, gangChat);
for(new i = 0; i < gangInfo[playerGang[playerid]][1]; i++) {
SendClientMessage(gangMembers[playerGang[playerid]][i], COLOR_LIGHTBLUE, string);
}
}
return 0;
}
return 1;
}
//=OnPlayerPrivmsg==============================================================
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}
//=OnPlayerCommandText==========================================================
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
new moneys;
new string[256];
new giveplayer[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new giveplayerid;
new weaponid;
cmd = strtok(cmdtext, idx);
//=help=========================================================================
if(strcmp(cmd, "/help", true) == 0) {
SendClientMessage(playerid, COLOR_YELLOW, "./hitman - ìùéí òì øàùå ùì îéùäå ëñó ");
SendClientMessage(playerid, COLOR_YELLOW, "/bounty - ìáãå÷ àí éù òì øàùå ùì îéùäå ëñó ");
SendClientMessage(playerid, COLOR_YELLOW, "/bounties - øùéîú äàðùéí ùéù òì øàùí ëñó ");
SendClientMessage(playerid, COLOR_YELLOW,"./prop - ááùáéì ìøàåú àú øùéîú äðëñéí åáòìéäí øùåí ");
SendClientMessage(playerid, COLOR_YELLOW,"./gangcmd - ìòæøä òí âðâðéí øùåí ");
return 1;
}
//=gangcmd======================================================================
if(strcmp(cmd, "/gangcmd", true) == 0) {
SendClientMessage(playerid, COLOR_YELLOW,"./gang create [name] - áëãé ìéöåø âðâ øùåí ");
SendClientMessage(playerid, COLOR_YELLOW,"./gang invite [playeid] - áëãé ìùìåç äæîðä ìùç÷ï øùåí ");
SendClientMessage(playerid, COLOR_YELLOW,"./gang join - áëãé ìäöèøê ìâðâ øùåí ");
SendClientMessage(playerid, COLOR_YELLOW,"./gang quit - áëãé ìöàú îäâðâ ùàúä ðîöà áåà øùåí ");
SendClientMessage(playerid, COLOR_YELLOW,"./ganginfo - ìîéãò òì äâðâéí ùáùøú øùåí ");
SendClientMessage(playerid, COLOR_YELLOW,"./gangs - øùéîú äâðâéí ùáùøú ");
return 1;
}
//=bank=========================================================================
if(strcmp(cmd, "/bank", true) == 0 || strcmp(cmd, "/gbank", true) == 0) {
new gang;
if(strcmp(cmd, "/gbank", true) == 0)
gang = 1;
if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
SendClientMessage(playerid, COLOR_YELLOW, ".àúä öøéê ìäéåú áùèç äáð÷ áùáéì ìäùúîù áô÷åãä æàú ");
return 1;
}
if(gang && playerGang[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, "!àúä ìà ùééê ìàó âðâ ");
return 1;
}
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /(g)bank [amount]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1) {
SendClientMessage(playerid, COLOR_YELLOW, "Hey what are you trying to pull here.");
return 1;
}
if(GetPlayerMoney(playerid) < moneys) {
moneys = GetPlayerMoney(playerid);
}
GivePlayerMoney(playerid, 0-moneys);
if(gang)
gangBank[playerGang[playerid]]+=moneys;
else
bank[playerid]+=moneys;
if(gang)
format(string, sizeof(string), ".$%d äô÷ãú ìçùáåï äâðâ ,$%d áçùáåï äâðâ ùìê éù ", moneys, gangBank[playerGang[playerid]]);
else
format(string, sizeof(string), ".$%d äô÷ãú ìçùáåï äáð÷ ùìê ,$%d ëòú áçùáåï äáð÷ ùìê éù ", moneys, bank[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}
//=bank-withdraw================================================================
if(strcmp(cmd, "/withdraw", true) == 0 || strcmp(cmd, "/gwithdraw", true) == 0) {
new gang;
if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
SendClientMessage(playerid, COLOR_YELLOW, ".àúä öøéê ìäéåú áùèç äáð÷ áùáéì ìäùúîù áô÷åãä æàú ");
return 1;
}
if(strcmp(cmd, "/gwithdraw", true) == 0)
gang = 1;
if(gang && playerGang[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, "!àúä ìà ùééê ìàó âðâ ");
return 1;
}
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /(g)withdraw [amount]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1) {
SendClientMessage(playerid, COLOR_YELLOW, "Hey what are you trying to pull here.");
return 1;
}
if(gang) {
if(moneys > gangBank[playerGang[playerid]])
moneys = gangBank[playerGang[playerid]];
} else {
if(moneys > bank[playerid])
moneys = bank[playerid];
}
GivePlayerMoney(playerid, moneys);
if(gang)
gangBank[playerGang[playerid]] -= moneys;
else
bank[playerid] -= moneys;
if(gang)
format(string, sizeof(string), ".$%d îùëú îçùáåï äâðâ ùìê ,$%d áçùáåï äâðâ ðùàø ", moneys, gangBank[playerGang[playerid]]);
else
format(string, sizeof(string), ".$%d îùëú îçùáåï äáð÷ ùìê ,$%d áçùáåï äáð÷ ùìê ðùàø ", moneys, bank[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}
//=bank-blance==================================================================
if(strcmp(cmd, "/balance", true) == 0 || strcmp(cmd, "/gbalance", true) == 0) {
new gang;
if(strcmp(cmd, "/gbalance", true) == 0)
gang = 1;
if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
SendClientMessage(playerid, COLOR_YELLOW, ".àúä öøéê ìäéåú áùèç äáð÷ áùáéì ìäùúîù áô÷åãä æàú ");
return 1;
}
if(gang && playerGang[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, "!àúä ìà ùééê ìàó âðâ ");
return 1;
}
if(gang)
format(string, sizeof(string), ".$%d áçùáåï äáð÷ ùì äâðâ éù ", gangBank[playerGang[playerid]]);
else
format(string, sizeof(string), ".$%d áçùáåï äáð÷ ùìê éù ", bank[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}
//=hitman=======================================================================
if(strcmp(cmd, "/hitman", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hitman [playerid] [amount]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hitman [playerid] [amount]");
return 1;
}
moneys = strval(tmp);
if(moneys > GetPlayerMoney(playerid)) {
SendClientMessage(playerid, COLOR_RED, "!àéï ìê ñëåí æä ");
return 1;
}
if(moneys < 1) {
SendClientMessage(playerid, COLOR_YELLOW, "Hey what are you trying to pull here.");
return 1;
}
if(IsPlayerConnected(giveplayerid)==0) {
SendClientMessage(playerid, COLOR_RED, "No such player exists.");
return 1;
}
bounty[giveplayerid]+=moneys;
GivePlayerMoney(playerid, 0-moneys);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
// format(string, sizeof(string), "You have put a $%d bounty on the head of %s (id: %d).", moneys, giveplayer,giveplayerid);
// SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "%s has had a $%d bounty put on his head from %s (total: $%d).", giveplayer, moneys, sendername, bounty[giveplayerid]);
SendClientMessageToAll(COLOR_ORANGE, string);
format(string, sizeof(string), "You have had a $%d bounty put on you from %s (id: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_RED, string);
return 1;
}
//=bounty=======================================================================
if(strcmp(cmd, "/bounty", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /bounty [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Player %s (id: %d) has a $%d bounty on his head.", giveplayer,giveplayerid,bounty[giveplayerid]);
SendClientMessage(playerid, COLOR_YELLOW, string);
} else {
SendClientMessage(playerid, COLOR_RED, "No such player exists!");
}
return 1;
}
//=bounties=====================================================================
if(strcmp(cmd, "/bounties", true) == 0)
{
// new tmp[256];
new x;
SendClientMessage(playerid, COLOR_GREEN, "Current Bounties:");
for(new i=0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && bounty[i] > 0) {
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s%s(%d): $%d", string,giveplayer,i,bounty[i]);
x++;
if(x > 3) {
SendClientMessage(playerid, COLOR_YELLOW, string);
x = 0;
format(string, sizeof(string), "");
} else {
format(string, sizeof(string), "%s, ", string);
}
}
}
if(x <= 3 && x > 0) {
string[strlen(string)-2] = '.';
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
//=property-buy=================================================================
if(strcmp(cmd, "/buy", true) == 0) {
new property=999;
if(IsPlayerInCheckpoint(playerid)) {
switch (playerCheckpoint[playerid]) {
case CP_DRAGON:{
property = P_DRAGON;
}
case CP_CALIGULA:{
property = P_CALIGULA;
}
case CP_SEXSHOP:{
property = P_SEXSHOP;
}
case CP_BAR:{
property = P_BAR;
}
case CP_ZIP:{
property = P_ZIP;
}
case CP_BINCO:{
property = P_BINCO;
}
case CP_TATOO:{
property = P_TATOO;
}
case CP_BOTIQUE:{
property = P_BOTIQUE;
}
case CP_STRIPCLUB:{
property = P_STRIPCLUB;
}
case CP_WANGCARS:{
property = P_WANGCARS;
}
case CP_AIRSTRIP:{
property = P_AIRSTRIP;
}
case CP_EMERALD:{
property = P_EMERALD;
}
case CP_VISAGE:{
property = P_VISAGE;
}
case CP_SPREADRANCH:{
property = P_SPREADRANCH;
}
}
if(property==999) {
SendClientMessage(playerid, COLOR_YELLOW, ".àúä öøéê ìòîåã áö'÷ ôåéðè áëãé ì÷ðåú ðëñéí ");
return 1;
}
if(GetPlayerMoney(playerid) < propertyValues[property]) {
SendClientMessage(playerid, COLOR_RED, ".àéï ìê îñôé÷ ëñó áëãé ì÷ðåú ðëñ æä ");
return 1;
}
if(propertyOwner[property]==playerid) {
SendClientMessage(playerid, COLOR_RED, ".ðëñ æä ëáø ùìê ");
return 1;
}
if(propertyOwner[property] < 999) {
GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
GivePlayerMoney(propertyOwner[property], propertyValues[property]);
format (string, sizeof(string), ".%s ð÷ðä òì éãé ,%s äðëñ ùìê ",propertyNames[property],giveplayer);
SendClientMessage(propertyOwner[property], COLOR_RED, string);
}
GivePlayerMoney(playerid, 0-propertyValues[property]);
propertyOwner[property]=playerid;
format(string, sizeof(string), "!%s àúä ÷ðéú àú ", propertyNames[property]);
SendClientMessage(playerid, COLOR_GREEN, string);
} else {
SendClientMessage(playerid, COLOR_YELLOW, ".àúä öøéê ìäéåú áö'÷ ôåéðè áëãé ì÷ðåú ðëñ ");
return 1;
}
return 1;
}
//=property-list+owner==========================================================
if(strcmp(cmd, "/prop", true) == 0) {
SendClientMessage(playerid, COLOR_GREEN, "Property Owners:");
for(new i = 0; i < MAX_PROPERTIES; i++) {
if(propertyOwner[i] < 999) {
GetPlayerName(propertyOwner[i], giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%d. %s - %s", i, propertyNames[i], giveplayer);
} else
format(string, sizeof(string), "%d. %s - None", i, propertyNames[i]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
//=weapons-buyweapon============================================================
if(strcmp(cmd, "/bw", true) == 0 || strcmp(cmd, "/buyweapon", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /bw [weapon number]");
return 1;
}
weaponid = strval(tmp);
if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
SendClientMessage(playerid, COLOR_RED, ".àúä öøéê ìäéåú áçðåú äðù÷éí áëãé ì÷ðåú ðù÷éí úîéãééí ");
return 1;
}
if(GetPlayerMoney(playerid) < spawnWeapons[weaponid][2]) {
SendClientMessage(playerid, COLOR_RED, "!àéï ìê îñôé÷ ëñó ");
return 1;
}
if(weaponid < 0 || weaponid > MAX_SPAWNWEAPONS-1){
SendClientMessage(playerid, COLOR_RED, ".îñôø øåáä ùâåé ");
return 1;
}
format (string, sizeof(string), ".%s àúä ÷ðéú ",weaponNames[spawnWeapons[weaponid][0]]);
SendClientMessage(playerid, COLOR_GREEN, string);
GivePlayerWeapon(playerid, spawnWeapons[weaponid][0], spawnWeapons[weaponid][1]);
playerWeapons[playerid][weaponid]++;
GivePlayerMoney(playerid, 0-spawnWeapons[weaponid][2]);
return 1;
}
//=weapons-weaponlist===========================================================
if(strcmp(cmd, "/wl", true) == 0 || strcmp(cmd, "/weaponlist", true) == 0) {
SendClientMessage(playerid, COLOR_GREEN, "Weapons List:");
for(new i = 0; i < MAX_SPAWNWEAPONS; i++) {
format (string, sizeof(string), "%d. %s - $%d",i,weaponNames[spawnWeapons[i][0]],spawnWeapons[i][2]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
//=Gangs========================================================================
if(strcmp(cmd, "/gang", true) == 0) {
new tmp[256];
new gangcmd, gangnum;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create/join/invite/quit] [name/number]");
return 1;
}
giveplayerid = strval(tmp);
if(strcmp(tmp, "create", true)==0)
gangcmd = 1;
else if(strcmp(tmp, "invite", true)==0)
gangcmd = 2;
else if(strcmp(tmp, "join", true)==0)
gangcmd = 3;
else if(strcmp(tmp, "quit", true)==0)
gangcmd = 4;
tmp = strtok(cmdtext, idx);
if(gangcmd < 3 && !strlen(tmp)) {
if(gangcmd==0)
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create/join/invite/quit] [name/number]");
else if(gangcmd==1)
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [create] [name]");
else if(gangcmd==2)
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gang [invite] [playerID]");
return 1;
}
//=Gangs-create=================================================================
if(gangcmd==1) {
if(playerGang[playerid]>0) {
SendClientMessage(playerid, COLOR_RED, "!àúä ëáø ùééê ìâðâ ");
return 1;
}
for(new i = 1; i < MAX_GANGS; i++) {
if(gangInfo[i][0]==0) {
//name gang
format(gangNames[i], MAX_GANG_NAME, "%s", tmp);
//Gang exists
gangInfo[i][0]=1;
//There is one member
gangInfo[i][1]=1;
//Gang color is player's color
gangInfo[i][2]=playerColors[playerid];
//Player is the first gang member
gangMembers[i][0] = playerid;
format(string, sizeof(string),".%s éöøú âðâ áùí ", gangNames[i], i);
SendClientMessage(playerid, COLOR_GREEN, string);
playerGang[playerid]=i;
return 1;
}
}
return 1;
//=Gangs-join===================================================================
} else if (gangcmd==3) {
gangnum = gangInvite[playerid];
if(playerGang[playerid]>0) {
SendClientMessage(playerid, COLOR_RED, "!àúä ëáø ùééê ìâðâ àçã ");
return 1;
}
if(gangInvite[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, ".ìà ÷éáìú äæîðä ìâðâ ");
return 1;
}
if(gangInfo[gangnum][0]==0) {
SendClientMessage(playerid, COLOR_RED, "That gang does not exist!");
return 1;
}
if(gangInfo[gangnum][1] < MAX_GANG_MEMBERS) {
new i = gangInfo[gangnum][1];
gangInvite[playerid]=0;
gangMembers[gangnum][i] = playerid;
GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
for(new j = 0; j < gangInfo[gangnum][1]; j++) {
format(string, sizeof(string),".äöèøó àì äâðâ ùìê %s", sendername);
SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
}
gangInfo[gangnum][1]++;
playerGang[playerid] = gangnum;
SetPlayerColor(playerid,gangInfo[gangnum][2]);
format(string, sizeof(string),".%s äöèøôú ìâðâ ", gangNames[gangnum], gangnum);
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
SendClientMessage(playerid, COLOR_RED, ".âðâ æä îìà ");
return 1;
//=Gangs-invite=================================================================
} else if (gangcmd==2) {
giveplayerid = strval(tmp);
if(playerGang[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, "!àúä ìà ùééê ìàó âðâ ");
return 1;
}
// if(gangMembers[playerGang[playerid]][0]!=playerid) {
// SendClientMessage(playerid, COLOR_RED, "You need to be the gang leader to send an invite.");
// return 1;
// }
if(IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string),".ìäöèøó ìâðâ ùìê %s äæîðú àú ", giveplayer);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string),".%s ÷éáìú äæîðä ìâðâ áùí ", gangNames[playerGang[playerid]]);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
format(string, sizeof(string),".%s ääæîðä ðùìçä î ", sendername);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
gangInvite[giveplayerid]=playerGang[playerid];
} else
SendClientMessage(playerid, COLOR_RED, "No such player exists!");
//=Gangs-leave==================================================================
} else if (gangcmd==4) {
PlayerLeaveGang(playerid);
}
return 1;
}
//=Gangs-info===================================================================
if(strcmp(cmd, "/ganginfo", true) == 0) {
new tmp[256];
new gangnum;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && playerGang[playerid]==0) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ganginfo [number]");
return 1;
} else if (!strlen(tmp))
gangnum = playerGang[playerid];
else
gangnum = strval(tmp);
if(gangInfo[gangnum][0]==0) {
SendClientMessage(playerid, COLOR_RED, "No such gang exists!");
return 1;
}
format(string, sizeof(string),"'%s' Gang Members (id: %d)", gangNames[gangnum], gangnum);
SendClientMessage(playerid, COLOR_GREEN, string);
for(new i = 0; i < gangInfo[gangnum][1]; i++) {
GetPlayerName(gangMembers[gangnum][i], giveplayer, sizeof(giveplayer));
format(string, sizeof(string),"%s (%d)", giveplayer, gangMembers[gangnum][i]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
//=Gangs-gangs==================================================================
if(strcmp(cmd, "/gangs", true) == 0)
{
new x;
SendClientMessage(playerid, COLOR_GREEN, "Current Gangs:");
for(new i=0; i < MAX_GANGS; i++) {
if(gangInfo[i][0]==1) {
format(string, sizeof(string), "%s%s(%d) - %d members", string,gangNames[i],i,gangInfo[i][1]);
x++;
if(x > 2) {
SendClientMessage(playerid, COLOR_YELLOW, string);
x = 0;
format(string, sizeof(string), "");
} else {
format(string, sizeof(string), "%s, ", string);
}
}
}
if(x <= 2 && x > 0) {
string[strlen(string)-2] = '.';
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
return 0;
}
public OnPlayerSpawn(playerid)
{
ResetPlayerWeapons(playerid);
for(new i=0;i<MAX_SPAWNWEAPONS;i++) {
if(playerWeapons[playerid][i] > 0) {
GivePlayerWeapon(playerid,spawnWeapons[i][0],spawnWeapons[i][1]*playerWeapons[playerid][i]);
}
}
return 1;
}
//=SavedUpdate==================================================================
public SavedUpdate()
{
for(new i = 0; i < MAX_SAVE; i++) {
if(savedInfo[i][3] < 5) {
if(savedInfo[i][3]==4) {
savedInfo[i][0]=savedInfo[i][1]=savedInfo[i][2]=0;
savedNames[i][0]=0;
}
savedInfo[i][3]++;
}
}
}
//=OnPlayerEnterCheckpoint======================================================
public OnPlayerEnterCheckpoint(playerid)
{
new string[256];
new ownplayer[MAX_PLAYER_NAME];
switch(getCheckpointType(playerid))
{
case CP_BANK: {
SendClientMessage(playerid, COLOR_GRAD1, "/(g)bank [Dolars] - áëãé ìäëðéñ ëñó ìáð÷ øùåí ");
SendClientMessage(playerid, COLOR_GRAD1, "/(g)withdraw [Dolars] - áëãé ìäåöéà ëñó îäáð÷ øùåí ");
SendClientMessage(playerid, COLOR_GRAD1, "/(g)balance - áëãé ìøàåú ëîä ëñó éù ìê áçùáåï øùåí ");
}
case CP_PIRATE: {
SendClientMessage(playerid, COLOR_YELLOW, ".àúä éëåì ìúôåñ àú ùèç äñôéðä åìäøååéç ëñó ");
}
case CP_AMMU: {
SendClientMessage(playerid, COLOR_GREEN, "./bw [weapon number] ì÷ðééú ðù÷ úîéãé øùåí ");
SendClientMessage(playerid, COLOR_GREEN, "./wl áëãé ìøàåú àú øùéîú äðù÷éí øùåí ");
}
}
if(getCheckpointType(playerid)>= P_OFFSET) {
format(string, sizeof(string), "./buy áòæøú äô÷åãä %s àúä éëåì ì÷ðåú àú ", propertyNames[playerCheckpoint[playerid]-P_OFFSET], propertyValues[playerCheckpoint[playerid]-P_OFFSET]);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), ".$%d îçéø äðëñ ", propertyValues[playerCheckpoint[playerid]-P_OFFSET]);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), ".$%d àúä úøååéç áëì ã÷ä ", propertyEarnings[playerCheckpoint[playerid]-P_OFFSET]);
SendClientMessage(playerid, COLOR_YELLOW, string);
if(propertyOwner[playerCheckpoint[playerid]-P_OFFSET]<999) {
GetPlayerName(propertyOwner[playerCheckpoint[playerid]-P_OFFSET], ownplayer, sizeof(ownplayer));
format(string, sizeof(string), ".%s ðëñ æä ð÷ðä òì éãé ", ownplayer);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
//=PlayerLeaveGang==============================================================
public PlayerLeaveGang(playerid)
{
new playername[MAX_PLAYER_NAME];
new gangnum = playerGang[playerid];
new g_string[256];
if(gangnum > 0) {
for(new i = 0; i < gangInfo[gangnum][1]; i++) {
if(gangMembers[gangnum][i]==playerid) {
gangInfo[gangnum][1]--;
for(new j = i; j < gangInfo[gangnum][1]; j++) {
gangMembers[gangnum][j]=gangMembers[gangnum][j+1];
}
if(gangInfo[gangnum][1]<1) {
gangInfo[gangnum][0]=0;
gangInfo[gangnum][1]=0;
gangBank[gangnum]=0;
}
for(new j = 0; j < gangInfo[gangnum][1]; j++) {
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(g_string,sizeof(g_string),".òæá àú äâðâ ùìê %s",playername);
SendClientMessage(gangMembers[gangnum][j],COLOR_RED,g_string);
}
format(g_string, sizeof(g_string),".'%s' éöàú îâðâ ", gangNames[gangnum]);
SendClientMessage(playerid,COLOR_RED,g_string);
playerGang[playerid]=0;
SetPlayerColor(playerid,playerColors[playerid]);
return;
}}} else if(playerGang[playerid]==0) {
SendClientMessage(playerid,COLOR_RED,"!àúä ìà ùééê ìàó âðâ ");
}
}
//=getCheckpointType============================================================
public getCheckpointType(playerid)
{
return checkpointType[playerCheckpoint[playerid]];
}
//=checkpointUpdate=============================================================
public checkpointUpdate()
{
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
for(new j=0; j < MAX_POINTS; j++) {
if(IsPlayerInArea(i, checkCoords[j])) {
if(playerCheckpoint[i]!=j) {
DisablePlayerCheckpoint(i);
SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2],2);
playerCheckpoint[i] = j;
}} else {
if(playerCheckpoint[i]==j) {
DisablePlayerCheckpoint(i);
playerCheckpoint[i] = 999;
}}}}}
}
//=PropertyScoreUpdate==========================================================
public PropertyScoreUpdate()
{
new owners[MAX_PROPERTIES];
new payments[MAX_PROPERTIES];
new p_string[256];
for(new i=0; i < MAX_PROPERTIES; i++)
owners[i]=999;
for(new i=0; i < MAX_PROPERTIES; i++)
{
if(propertyOwner[i] < 999) {
for(new j=0; j < MAX_PROPERTIES; j++) {
if(owners[j]==propertyOwner[i]) {
payments[j]+=propertyEarnings[i];
j = MAX_PROPERTIES;
} else if (owners[j]==999) {
owners[j]=propertyOwner[i];
payments[j]+=propertyEarnings[i];
j = MAX_PROPERTIES;
}}}}
for(new i=0; i < MAX_PROPERTIES; i++) {
if(owners[i] < 999 && IsPlayerConnected(owners[i])) {
GivePlayerMoney(owners[i], payments[i]);
format(p_string,sizeof(p_string),".$%d äøååçú îäëðñéí ùìê ",payments[i]);
SendClientMessage(owners[i],COLOR_GREEN,p_string);
}}
return 1;
}
//=PirateShipScoreUpdate========================================================
public PirateShipScoreUpdate()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
PayPlayerInArea(i, 1995.5, 1518.0, 2006.0, 1569.0, 100);
}
}
//=IsPlayerInArea===============================================================
public PayPlayerInArea(playerID, Float:x1, Float:y1, Float:x2, Float:y2, cash)
{
if(IsPlayerConnected(playerID))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerID, X, Y, Z);
if(X >= x1 && X <= x2 && Y >= y1 && Y <= y2)
{
GivePlayerMoney(playerID, cash);
return 1;
}
}
return 0;
}
//=IsPlayerInArea===============================================================
public IsPlayerInArea(playerid, Float:data[4])
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3]) {
return 1;
}
return 0;
}
//=strtok========================================================================
strtok (const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
isStringSame(const string1[], const string2[], len) {
for(new i = 0; i < len; i++) {
if(string1[i]!=string2[i])
return 0;
if(string1[i] == 0 || string1[i] == '\n')
return 1;
}
return 1;
}
//filter script by EliranOHana(NonTat)