Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <foreach>
- //#include <streamer>
- #include <sscanf2>
- #include <dini>
- enum dData
- {
- Gangid,
- Gangrank,
- pGp
- }
- new PlayerInfo[MAX_PLAYERS][dData];
- #define PlayerFile "playergang/%s.ini"
- enum gData
- {
- Ganggp
- }
- new GangInfo[MAX_PLAYERS][gData];
- #define GangsFile "Gangsgp.ini"
- //define settings
- #define MAX_GANGS 3
- #define N 69//gang members online
- new gangRankTargetID;// setrank
- //colors
- #define COLOR_RED 0xFF0000FF
- #define yellow "{ffff00}"
- #define cyan "{00ff00}"
- #define pink "{ffffff}"
- #define orange "{ff0000}"
- #define blue "{0000ff}"
- #define red "{ff0000}"
- #define white "{ffffff}"
- #define grey "{AFAFAF}"
- //dialogs
- #define DIALOG_gstats 19
- #define DIALOG_GRANK 40
- //gangzone
- new Zone1;
- new capture1 = 1;
- new capture1start = 0;
- new Zone2;
- new capture2 = 2;
- new capture2start = 0;
- new Zone3;
- new capture3 = 3;
- new capture3start = 0;
- public OnFilterScriptInit()
- {
- new file2[256], id;
- format(file2,sizeof(file2),GangsFile);
- GangInfo[id][Ganggp] = dini_Int(file2, "Ganggp");
- //GANGS CAPTURE PICKUP
- CreatePickup(1314 , 1, 1493.9996, 751.0131, 29.6638, -1);//GANG1
- CreatePickup(1314 , 1, 1089.1531, 1073.2957, 11.3150, -1);//GANG2
- CreatePickup(1314 , 1, 983.0714, 1733.2091, 9.3417, -1);//GANG3
- //GANGS CAPTURE ZONES
- Zone1 = GangZoneCreate(1310.488, 645.488, 1560.399, 823.4191);//zone GANG 1
- Zone2 = GangZoneCreate(923.9085, 951.0652, 1181.628, 1198.621);//zone GANG 2
- Zone3 = GangZoneCreate(857.5261, 1616.373, 994.1957, 1863.929);//zone GANG 3
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new file[256], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(file,sizeof(file),PlayerFile,name);
- if(!dini_Exists(file) )
- {
- dini_Create(file);
- dini_Set(file,"Name",name);
- dini_IntSet(file,"Gangid",0);
- PlayerInfo[playerid][Gangid] = 0;
- PlayerInfo[playerid][Gangrank] = 0;
- PlayerInfo[playerid][pGp] = 0;
- }
- else
- {
- PlayerInfo[playerid][Gangid] = dini_Int(file,"Gangid");
- PlayerInfo[playerid][Gangrank] = dini_Int(file,"Gangrank");
- PlayerInfo[playerid][pGp] = dini_Int(file,"Player gangpoints");
- new file2[256];
- format(file2,sizeof(file2),GangsFile);
- dini_IntSet(file2,"Ganggp",GangInfo[playerid][Ganggp]);
- GangInfo[playerid][Ganggp] = dini_Int(file2, "Ganggp");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new file[256], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(file,sizeof(file),PlayerFile,name);
- if(dini_Exists(file) )
- {
- dini_IntSet(file,"Gangid",PlayerInfo[playerid][Gangid]);
- dini_IntSet(file,"Gangrank",PlayerInfo[playerid][Gangrank]);
- dini_IntSet(file,"Player gangpoints",PlayerInfo[playerid][pGp]);
- }
- new file2[256];
- format(file2,sizeof(file2),GangsFile);
- dini_IntSet(file2,"Ganggp",GangInfo[playerid][Ganggp]);
- return 1;
- }
- CMD:setgangid(playerid,params[])
- {
- new id, level;
- if(!IsPlayerAdmin(playerid) ) return SendClientMessage(playerid,COLOR_RED,"You are not an admin!");
- if(sscanf(params,"ud",id,level) ) return SendClientMessage(playerid,COLOR_RED,"USUAGE: /setgangid [id][gangid]");
- if(level > MAX_GANGS) return SendClientMessage(playerid,COLOR_RED,"Invalid Level");
- if(!IsPlayerConnected(id) ) return SendClientMessage(playerid,COLOR_RED,"Player is not connected");
- else
- {
- PlayerInfo[id][Gangid] = level;
- SpawnPlayer(id);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(PlayerInfo[playerid][Gangid] == 0)
- {
- SetPlayerPos(playerid,1509.4786,-1707.0342,14.0469); // ls
- }
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- SetPlayerPos(playerid, 1489.5876, 691.9392, 11.9275);
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- SetPlayerPos(playerid, 1046.1687, 1014.2678, 11.7839);
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- SetPlayerPos(playerid, 938.0714, 1733.2091, 9.3417);
- }
- //GANGZONES
- if(capture1 == 1) GangZoneShowForAll(Zone1,0xFF000096);
- if(capture1 == 2) GangZoneShowForAll(Zone1,0xFFFFFF96);
- if(capture1 == 3) GangZoneShowForAll(Zone1,0xFFFF009A);
- //
- if(capture2 == 1) GangZoneShowForAll(Zone2,0xFF000096);//0xFF000096 ROSSO
- if(capture2 == 2) GangZoneShowForAll(Zone2,0xFFFFFF96);//0xFFFFFF96 BIANCO
- if(capture2 == 3) GangZoneShowForAll(Zone2,0xFFFF009A);//0xFFFF009A GIALLO
- //
- if(capture3 == 1) GangZoneShowForAll(Zone3,0xFF000096);
- if(capture3 == 2) GangZoneShowForAll(Zone3,0xFFFFFF96);
- if(capture3 == 3) GangZoneShowForAll(Zone3,0xFFFF009A);
- return 1;
- }
- CMD:capture(playerid, params[])
- {
- ///////////////////////////////capture 1
- if(PlayerInfo[playerid][Gangid] == 0) return SendClientMessage(playerid, 0xff0000ff, "ERROR: You must be in a gang for use this command.");
- if (IsPlayerInRangeOfPoint(playerid, 5.0, 1493.9996, 751.0131, 29.6638))
- {
- if(capture1start >= 1) return SendClientMessage(playerid, -1,"You can't capture this territory because someone already started a /capture!");
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- if(capture1 == 1) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone1,0xFF000096);
- capture1start = 1;
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- if(capture1 == 2) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone1,0xFFFFFF96);
- capture1start = 2;
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- if(capture1 == 3) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone1,0xFFFF009A);
- capture1start = 3;
- }
- }
- ///////////////////////////////capture 2
- if (IsPlayerInRangeOfPoint(playerid, 5.0, 1089.1531, 1073.2957, 11.3150))
- {
- if(capture2start >= 1) return SendClientMessage(playerid, -1,"You can't capture this territory because someone already started a /capture!");
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- if(capture2 == 1) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone2,0xFF000096);
- capture2start = 1;
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- if(capture2 == 2) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone2,0xFFFFFF96);
- capture2start = 2;
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- if(capture2 == 3) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone2,0xFFFF009A);
- capture2start = 3;
- }
- }
- //////////////////////capture 3
- if (IsPlayerInRangeOfPoint(playerid, 5.0, 983.0714, 1733.2091, 9.3417))
- {
- if(capture3start >= 1) return SendClientMessage(playerid, -1,"You can't capture this territory because someone already started a /capture!");
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- if(capture3 == 1) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone3,0xFF000096);
- capture3start = 1;
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- if(capture3 == 2) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone3,0xFFFFFF96);
- capture3start = 2;
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- if(capture3 == 3) return SendClientMessage(playerid, -1,"Your gang already own this territory!");
- SetTimerEx("EndAntiSpawnKill", 15000, false, "i", playerid);
- GangZoneFlashForAll(Zone3,0xFFFF009A);
- capture3start = 3;
- }
- }
- return 1;
- }
- forward EndAntiSpawnKill(playerid);
- public EndAntiSpawnKill(playerid)
- { ///////////////////////////////capture 1
- if (IsPlayerInRangeOfPoint(playerid, 5.0, 1493.9996, 751.0131, 29.6638))
- { //return SendClientMessage(playerid, -1,"You need to stay max 5metres from the capture checkpoint.!");
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- GangZoneStopFlashForAll(Zone1);
- GangZoneShowForAll(Zone1,0xFF000096);
- capture1 = 1;
- capture1start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- GangZoneStopFlashForAll(Zone1);
- GangZoneShowForAll(Zone1,0xFFFFFF96);
- capture1 = 2;
- capture1start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- GangZoneStopFlashForAll(Zone1);
- GangZoneShowForAll(Zone1,0xFFFF009A);
- capture1 = 3;
- capture1start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- }
- else
- if(capture1start >= 1)
- {
- if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1493.9996, 751.0131, 29.6638))
- {
- SendClientMessage(playerid, -1,"You need to stay max 5metres from the capture checkpoint.!");
- GangZoneStopFlashForAll(Zone1);
- if(capture1start == 1 && capture1 == 1) return capture1 = 1;
- if(capture1start == 1 && capture1 == 2) return capture1 = 2;
- if(capture1start == 1 && capture1 == 3) return capture1 = 3;
- if(capture1start == 2 && capture1 == 1) return capture1 = 1;
- if(capture1start == 2 && capture1 == 2) return capture1 = 2;
- if(capture1start == 2 && capture1 == 3) return capture1 = 3;
- if(capture1start == 3 && capture1 == 1) return capture1 = 1;
- if(capture1start == 3 && capture1 == 2) return capture1 = 2;
- if(capture1start == 3 && capture1 == 3) return capture1 = 3;
- }
- }
- ///////////////////////////////capture 2
- if (IsPlayerInRangeOfPoint(playerid, 5.0, 1089.1531, 1073.2957, 11.3150))
- { //return SendClientMessage(playerid, -1,"You need to stay max 5metres from the capture checkpoint.!");
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- GangZoneStopFlashForAll(Zone2);
- GangZoneShowForAll(Zone2,0xFF000096);
- capture2 = 1;
- capture2start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- GangZoneStopFlashForAll(Zone2);
- GangZoneShowForAll(Zone2,0xFFFFFF96);
- capture2 = 2;
- capture2start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- GangZoneStopFlashForAll(Zone2);
- GangZoneShowForAll(Zone2,0xFFFF009A);
- capture2 = 3;
- capture2start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- }
- else
- if(capture2start >= 1)
- {
- if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1089.1531, 1073.2957, 11.3150))
- {
- SendClientMessage(playerid, -1,"You need to stay max 5metres from the capture checkpoint.!");
- GangZoneStopFlashForAll(Zone2);
- capture2start = 0;
- if(capture2start == 1 && capture2 == 1) return capture2 = 1;
- if(capture2start == 1 && capture2 == 2) return capture2 = 2;
- if(capture2start == 1 && capture2 == 3) return capture2 = 3;
- if(capture2start == 2 && capture2 == 1) return capture2 = 1;
- if(capture2start == 2 && capture2 == 2) return capture2 = 2;
- if(capture2start == 2 && capture2 == 3) return capture2 = 3;
- if(capture2start == 3 && capture2 == 1) return capture2 = 1;
- if(capture2start == 3 && capture2 == 2) return capture2 = 2;
- if(capture2start == 3 && capture2 == 3) return capture2 = 3;
- }
- }
- ///////////////////////////////////capture 3
- if (IsPlayerInRangeOfPoint(playerid, 5.0, 983.0714, 1733.2091, 9.3417))
- { //return SendClientMessage(playerid, -1,"You need to stay max 5metres from the capture checkpoint.!");
- if(PlayerInfo[playerid][Gangid] == 1)
- {
- GangZoneStopFlashForAll(Zone3);
- GangZoneShowForAll(Zone3,0xFF000096);
- capture3 = 1;
- capture3start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- if(PlayerInfo[playerid][Gangid] == 2)
- {
- GangZoneStopFlashForAll(Zone3);
- GangZoneShowForAll(Zone3,0xFFFFFF96);
- capture3 = 2;
- capture3start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- if(PlayerInfo[playerid][Gangid] == 3)
- {
- GangZoneStopFlashForAll(Zone3);
- GangZoneShowForAll(Zone3,0xFFFF009A);
- capture3 = 3;
- capture3start =0;
- PlayerInfo[playerid][pGp] += 3;
- }
- }
- else
- {
- if(capture3start >= 1)
- {
- if(!IsPlayerInRangeOfPoint(playerid, 5.0, 983.0714, 1733.2091, 9.3417))
- {
- SendClientMessage(playerid, -1,"You need to stay max 5metres from the capture checkpoint.!");
- GangZoneStopFlashForAll(Zone3);
- if(capture3start == 1 && capture3 == 1) return capture3 = 1;
- if(capture3start == 1 && capture3 == 2) return capture3 = 2;
- if(capture3start == 1 && capture3 == 3) return capture3 = 3;
- if(capture3start == 2 && capture3 == 1) return capture3 = 1;
- if(capture3start == 2 && capture3 == 2) return capture3 = 2;
- if(capture3start == 2 && capture3 == 3) return capture3 = 3;
- if(capture3start == 3 && capture3 == 1) return capture3 = 1;
- if(capture3start == 3 && capture3 == 2) return capture3 = 2;
- if(capture3start == 3 && capture3 == 3) return capture3 = 3;
- }
- }
- }
- return 1;
- }
- CMD:gstats(playerid,params[])
- {
- new string2[200];
- new ID;
- new pname[MAX_PLAYER_NAME];
- if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "{FF0000}USAGE: {FFFFFF}/Gstats [playerid]");
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}That player isn't connected.");
- if(PlayerInfo[playerid][Gangid] == 0) return SendClientMessage(playerid, 0xff0000ff, "ERROR: That player doesn't have a gang.");
- GetPlayerName(ID, pname, sizeof(pname));
- new stringa[30];
- if(PlayerInfo[ID][Gangid] == 1) format(stringa, sizeof(stringa),"{FF0000}Thug 4 Life", ID);
- if(PlayerInfo[ID][Gangid] == 2) format(stringa, sizeof(stringa),"{FFFFFF}United Pirates Castle", ID);
- if(PlayerInfo[ID][Gangid] == 3) format(stringa, sizeof(stringa),"{FFFFFF}Free gang slot", ID);
- new stringas[30];
- if(PlayerInfo[ID][Gangrank] == 1) format(stringas, sizeof(stringas),"Member", ID);
- if(PlayerInfo[ID][Gangrank] == 2) format(stringas, sizeof(stringas),"Co-leader", ID);
- if(PlayerInfo[ID][Gangrank] == 3) format(stringas, sizeof(stringas),"Leader", ID);
- if(PlayerInfo[ID][Gangrank] == 4) format(stringas, sizeof(stringas),"Co-Owner", ID);
- if(PlayerInfo[ID][Gangrank] == 5) format(stringas, sizeof(stringas),"Owner", ID);
- if(PlayerInfo[ID][Gangrank] == 6) format(stringas, sizeof(stringas),"Founder", ID);
- format(string2,sizeof(string2),"{15FF00}%s {FF0000}Gang stats \n{FF0000}Gang: {15FF00}%s\n{FF0000}Gang rank: {15FF00}%s\n{FF0000}Gang points: {15FF00}%d\n",pname,stringa,stringas,PlayerInfo[ID][pGp]);
- ShowPlayerDialog(playerid,DIALOG_gstats,DIALOG_STYLE_MSGBOX,"{15FF00}Gang Stats",string2,"Close","");
- return 1;
- }
- CMD:gm(playerid, params[])
- {
- if(PlayerInfo[playerid][Gangid] == 0) return SendClientMessage(playerid, 0xff0000ff, "ERROR: You must be in a gang to use this command.");
- new count1 = 0;
- new count2 = 0;
- new count3 = 0;
- new string[256], string2[3000];
- strcat(string2, ""yellow"");
- strcat(string2, ".:: MEMBERS ONLINE ::.\n");
- foreach(Player,x)
- {
- new ranks[90];
- switch(PlayerInfo[playerid][Gangrank])
- {
- case 1: ranks = ""red"(Member)";
- case 2: ranks = ""red"(Co-leader)";
- case 3: ranks = ""red"(Leader)";
- case 4: ranks = ""red"(Co-Owner)";
- case 5: ranks = ""red"(Owner)";
- case 6: ranks = ""red"(Founder)";
- }
- if(PlayerInfo[x][Gangid] == 1)
- {
- count1++;
- format(string, sizeof(string),"ยป %s[%d] "yellow"Rank: %s\n", GetName(x), x, ranks);
- strcat(string2, string);
- if(PlayerInfo[playerid][Gangid] == 1) ShowPlayerDialog(playerid, N, DIALOG_STYLE_LIST, ""red"Gangs members online now", string2, "Close", "");
- }
- if(PlayerInfo[x][Gangid] == 2)
- {
- count2++;
- format(string, sizeof(string),"ยป %s[%d] "yellow"Rank: %s\n", GetName(x), x, ranks);
- strcat(string2, string);
- if(PlayerInfo[playerid][Gangid] == 2) ShowPlayerDialog(playerid, N, DIALOG_STYLE_LIST, ""red"Gangs members online now", string2, "Close", "");
- }
- if(PlayerInfo[x][Gangid] == 3)
- {
- count3++;
- format(string, sizeof(string),"ยป %s[%d] "yellow"Rank: %s\n", GetName(x), x, ranks);
- strcat(string2, string);
- if(PlayerInfo[playerid][Gangid] == 3) ShowPlayerDialog(playerid, N, DIALOG_STYLE_LIST, ""red"Gangs members online now", string2, "Close", "");
- }
- }
- return 1;
- }
- CMD:setrank(playerid,params[])
- {
- new targetID;
- if(PlayerInfo[playerid][Gangid] == 0) return SendClientMessage(playerid, 0xff0000ff, "ERROR: You must be in a gang to use this command.");
- if(PlayerInfo[playerid][Gangrank] <= 2) return SendClientMessage(playerid, 0xff0000ff, "ERROR: Your need Leader rank in gang for use this command.");
- if(sscanf(params, "u", targetID)) return SendClientMessage(playerid, -1, "{FF0000}USAGE: {FFFFFF}/Setrank [playerid]");
- if(!IsPlayerConnected(targetID)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}That player isn't connected.");
- if(PlayerInfo[playerid][Gangrank] <= PlayerInfo[targetID][Gangrank]) return SendClientMessage(playerid, 0xff0000ff, "ERROR: You can't change this player rank.");
- //ids = ID ;
- gangRankTargetID = targetID;
- ShowPlayerDialog(playerid,DIALOG_GRANK,DIALOG_STYLE_LIST, "Set Gang Rank", "Member\nCo-leader\nLeader\nCo-Owner\nOwner\n{FF0000}Founder", "Select", "Close");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_GRANK)
- {
- if(response)
- {
- if(listitem == 0)
- {
- PlayerInfo[gangRankTargetID][Gangrank] = 1;
- }
- if(listitem == 1)
- {
- PlayerInfo[gangRankTargetID][Gangrank] = 2;
- }
- if(listitem == 2)
- {
- PlayerInfo[gangRankTargetID][Gangrank] = 3;
- }
- if(listitem == 3)
- {
- PlayerInfo[gangRankTargetID][Gangrank] = 4;
- }
- if(listitem == 4)
- {
- PlayerInfo[gangRankTargetID][Gangrank] = 5;
- }
- if(listitem == 5)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}You are not authorized to set this rank.");
- PlayerInfo[gangRankTargetID][Gangrank] = 6;
- }
- }
- //return cmd_setrank(gangRankTargetID, "");
- }
- return 0;
- }
- stock GetName(playerid)
- {
- new pName[24];
- GetPlayerName(playerid, pName, 24);
- return pName;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement