Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum gInfo
- {
- zID,
- zOwned,
- zGang,
- zOwner[128],
- Float: zMinX,
- Float: zMinY,
- Float: zMaxX,
- Float: zMaxY,
- zMoney,
- zAttackAgain,
- zZName[128],
- };
- new GangZoneInfo[1][gInfo];
- OnGameMOdeInit
- for(new z = 0; z < sizeof(GangZoneInfo); z++)
- {
- GangZoneCreate(GangZoneInfo[z][zMinX], GangZoneInfo[z][zMinY], GangZoneInfo[z][zMaxX], GangZoneInfo[z][zMaxY]);
- }
- public OnPlayerSpawn(playerid)
- {
- if(!IsPlayerNPC(playerid))
- {
- for(new z = 0; z < sizeof(GangZoneInfo); z++)
- {
- GangZoneShowForPlayer(playerid, z, GetGangZoneColor(z));
- }
- }
- PlayerSpawn(playerid);
- return 1;
- }
- forward GetGangZoneColor(gangzoneid);
- public GetGangZoneColor(gangzoneid)
- {
- if(GangZoneInfo[gangzoneid][zGang] == 4) //BLACK HAND GANG
- {
- return 0x000000FF;
- }
- else if(GangZoneInfo[gangzoneid][zGang] == 6) //21st Street
- {
- return 0x33CCFFAA;
- }
- else if(GangZoneInfo[gangzoneid][zGang] == 5) //CRIPZ
- {
- return 0xFFFF00FF;
- }
- return COLOR_WHITE;
- }
- forward UpdateGangZone(gangzoneid);
- public UpdateGangZone(gangzoneid)
- {
- for(new i = 0; i < MAX_USER; i++)
- {
- GangZoneShowForPlayer(i,gangzoneid, GetGangZoneColor(gangzoneid));
- OnGangZoneUpdate();
- }
- }
- forward AttackGangZone();
- public AttackGangZone()
- {
- new string[56], string2[128];
- for(new i = 0; i < MAX_USER; i++)
- {
- if(Invade[i] != 255)
- {
- if(PlayerInZone(i, GangZoneInfo[Invade[i]][zMinX], GangZoneInfo[Invade[i]][zMinY], GangZoneInfo[Invade[i]][zMaxX],GangZoneInfo[Invade[i]][zMaxY]))
- {
- GangZoneInfo[Invade[i]][zOwned] = 1;
- GangZoneInfo[Invade[i]][zGang] = GetPlayerGang(i);
- GangZoneInfo[Invade[i]][zAttackAgain] = 1;
- if(AccountInfo[i][pMember] == 4 || AccountInfo[i][pLeader] == 4)
- {
- format(string, sizeof(string), "Black Hand Gang");
- }
- if(AccountInfo[i][pMember] == 6 || AccountInfo[i][pLeader] == 6)
- {
- format(string, sizeof(string), "21st Street");
- }
- if(AccountInfo[i][pMember] == 5 || AccountInfo[i][pLeader] == 5)
- {
- format(string, sizeof(string), "Cripz");
- }
- strmid(GangZoneInfo[Invade[i]][zOwner], string, 0, strlen(string), 255);
- UpdateGangZone(Invade[i]);
- GangInfo[GetPlayerGang(i)-4][g_money] += GangZoneInfo[Invade[i]][zMoney];
- for(new g = 0; g < MAX_PLAYERS; g++)
- {
- if(IsAGangMember(g))
- {
- new rtext[64];
- if(AccountInfo[i][pMember] == 4 || AccountInfo[i][pLeader] == 4)
- { rtext = "Black Hand Gang"; }
- if(AccountInfo[i][pMember] == 6 || AccountInfo[i][pLeader] == 6)
- { rtext = "21st Street"; }
- if(AccountInfo[i][pMember] == 5 || AccountInfo[i][pLeader] == 5)
- { rtext = "Cripz"; }
- format(string2, sizeof(string2), "~y~Gang Zone Nr. %d gehoert nun der ~r~%s", GangZoneInfo[Invade[i]][zID],rtext);
- GameTextForPlayer(g, string2,5000, 4);
- }
- }
- GangZoneWar = 0;
- for(new z = 0; z < sizeof(GangZoneInfo); z++)
- {
- if(PlayerInZone(i, GangZoneInfo[Invade[i]][zMinX], GangZoneInfo[Invade[i]][zMinY], GangZoneInfo[Invade[i]][zMaxX],GangZoneInfo[Invade[i]][zMaxY]))
- {
- GangZoneStopFlashForAll(z);
- }
- }
- Invade[i] = 255;
- return 1;
- }
- }
- }
- return 0;
- }
- public PlayerInZone(playerid, Float:minX, Float:minY, Float:maxX, Float:maxY)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:GangZoneX, Float:GangZoneY, Float:GangZoneZ;
- GetPlayerPos(playerid, GangZoneX, GangZoneY, GangZoneZ);
- if((GangZoneX >= minX && GangZoneX <= maxX) && (GangZoneY >= minY && GangZoneY <= maxY) && GangZoneZ <= 500)
- {
- return 1;
- }
- }
- return 0;
- }
- public LoadGangZoneInfo()
- {
- new arrCoords[11][64];
- new strFromFile2[256];
- new File: file = fopen("gangzone.cfg", io_read);
- if (file)
- {
- new idx;
- while (idx < sizeof(GangZoneInfo))
- {
- fread(file, strFromFile2);
- split(strFromFile2, arrCoords, '|');
- GangZoneInfo[idx][zID] = strval(arrCoords[0]);
- GangZoneInfo[idx][zOwned] = strval(arrCoords[1]);
- GangZoneInfo[idx][zGang] = strval(arrCoords[2]);
- strmid(GangZoneInfo[idx][zOwner], arrCoords[3], 0, strlen(arrCoords[3]), 255);
- GangZoneInfo[idx][zMinX] = floatstr(arrCoords[4]);
- GangZoneInfo[idx][zMinY] = floatstr(arrCoords[5]);
- GangZoneInfo[idx][zMaxX] = floatstr(arrCoords[6]);
- GangZoneInfo[idx][zMaxY] = floatstr(arrCoords[7]);
- GangZoneInfo[idx][zMoney] = strval(arrCoords[8]);
- GangZoneInfo[idx][zAttackAgain] = strval(arrCoords[9]);
- strmid(GangZoneInfo[idx][zZName], arrCoords[10], 0, strlen(arrCoords[10]), 255);
- printf("MinX: %f | MinY: %f | MaxX: %f | MaxY: %f",
- GangZoneInfo[idx][zMinX],
- GangZoneInfo[idx][zMinY],
- GangZoneInfo[idx][zMaxX],
- GangZoneInfo[idx][zMaxY]);
- idx++;
- }
- printf("** Gang Zones successfully loaded **");
- fclose(file);
- }
- return 1;
- }
- public OnGangZoneUpdate()
- {
- new idx;
- new File: file2;
- while (idx < sizeof(GangZoneInfo))
- {
- new coordsstring[256];
- format(coordsstring, sizeof(coordsstring), "%d|%d|%d|%s|%f|%f|%f|%f|%d|%d|%s",
- GangZoneInfo[idx][zID],
- GangZoneInfo[idx][zOwned],
- GangZoneInfo[idx][zGang],
- GangZoneInfo[idx][zOwner],
- GangZoneInfo[idx][zMinX],
- GangZoneInfo[idx][zMinY],
- GangZoneInfo[idx][zMaxX],
- GangZoneInfo[idx][zMaxY],
- GangZoneInfo[idx][zMoney],
- GangZoneInfo[idx][zAttackAgain],
- GangZoneInfo[idx][zZName]);
- printf("gangzone.cfg succesfully updated");
- if(idx == 0)
- {
- file2 = fopen("gangzone.cfg", io_write);
- }
- else
- {
- file2 = fopen("gangzone.cfg", io_append);
- }
- fwrite(file2, coordsstring);
- idx++;
- fclose(file2);
- }
- return 1;
- }
- forward GetPlayerGang(playerid);
- public GetPlayerGang(playerid)
- {
- if(AccountInfo[playerid][pMember] == 4 || AccountInfo[playerid][pLeader] == 4) //BLACK HAND
- {
- return 4;
- }
- else if(AccountInfo[playerid][pMember] == 5 || AccountInfo[playerid][pLeader] == 5) //CRIPZ
- {
- return 5;
- }
- else if(AccountInfo[playerid][pMember] == 6 || AccountInfo[playerid][pLeader] == 6) //21st STreet
- {
- return 6;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment