Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- jMZ, created by Johurt a.k.a ES.^, 2015/09/13
- */
- #include <a_samp>
- #include <zcmd>
- #define COSANOSTRA 21 // CosaNostra mafijos
- #define BALLAS 20 // Immortal mafijos
- #define LEAD_COSANOSTRA 10 // CosaNostra mafijos diriko
- #define LEAD_BALLAS 9 // Immortal mafijos diriko
- new specialybe[MAX_PLAYERS], PLEAD[MAX_PLAYERS];
- new zC = -1, Float:m_zones_info[2][4] =
- {
- {-726.0822, 911.5156, -656.6287, 1000.4677}, // CosaNostra mafijos
- {-1129.1905, -1692.2642, -1077.6441, -1614.2236} // Immortal mafijos
- };
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(zC != -1)
- {
- if((PLEAD[playerid] == LEAD_COSANOSTRA || specialybe[playerid] == COSANOSTRA) && zC == 1)
- {
- if(CountMMembersInZone(COSANOSTRA, zC) < 1)
- {
- GameTextForMafia(BALLAS, "~n~~n~~n~~n~~n~~n~Zona apginta");
- GameTextForMafia(COSANOSTRA, "~n~~n~~n~~n~~n~~n~Mafija apsigyne");
- }
- }
- else if((PLEAD[playerid] == LEAD_BALLAS || specialybe[playerid] == BALLAS) && zC == 0)
- {
- if(CountMMembersInZone(BALLAS, zC) < 1)
- {
- GameTextForMafia(COSANOSTRA, "~n~~n~~n~~n~~n~~n~Zona apginta");
- GameTextForMafia(BALLAS, "~n~~n~~n~~n~~n~~n~Mafija apsigyne");
- }
- }
- }
- return 1;
- }
- CMD:uzimti(playerid)
- {
- if(!(PLEAD[playerid] == LEAD_COSANOSTRA || PLEAD[playerid] == BALLAS)) return SendClientMessage(playerid, -1, "Jus ne mafijos dirikas.");
- if(zC != -1) return SendClientMessage(playerid, -1, "Jau vyksta susišaudymas dėl zonos.");
- new k, z = (PLEAD[playerid] == LEAD_COSANOSTRA ? 1 : 0), mName[11], str[39];
- if(!PlayerInZone(playerid, m_zones_info[z][0], m_zones_info[z][1], m_zones_info[z][2], m_zones_info[z][3])) return SendClientMessage(playerid, -1, "Turite buti priešų zonoje.");
- k = CountMMembersInZone(PLEAD[playerid], z, playerid);
- if(k < 2) return SendClientMessage(playerid, -1, "Su jumis zonoje turi buti 2 mafijos nariai.");
- GetMafiaName(PLEAD[playerid], mName);
- format(str, 39, "~n~~n~~n~~n~~n~~n~Jus puola %s", mName);
- GameTextForMafia((PLEAD[playerid] == LEAD_COSANOSTRA ? BALLAS : COSANOSTRA), str);
- GetMafiaName((PLEAD[playerid] == LEAD_COSANOSTRA ? BALLAS : COSANOSTRA), mName);
- format(str, 39, "~n~~n~~n~~n~~n~~n~Uzpuolete %s", mName);
- GameTextForMafia(PLEAD[playerid], str);
- zC = z;
- return 1;
- }
- stock GetMafiaName(teamid, mName[], size = sizeof(mName))
- {
- switch(teamid)
- {
- case LEAD_COSANOSTRA, COSANOSTRA: format(mName, size, "CosaNostra");
- case LEAD_BALLAS, BALLAS: format(mName, size, "Immortal");
- default: format(mName, size, "-");
- }
- return 1;
- }
- stock GameTextForMafia(teamid, text[])
- {
- for(new p = GetPlayerPoolSize(); p > -1; p--)
- {
- if(IsPlayerNPC(p) || !IsPlayerConnected(p)) continue;
- switch(teamid)
- {
- case LEAD_COSANOSTRA, COSANOSTRA:
- {
- if(!(PLEAD[p] == LEAD_COSANOSTRA || specialybe[p] == COSANOSTRA)) continue;
- }
- case LEAD_BALLAS, BALLAS:
- {
- if(!(PLEAD[p] == LEAD_BALLAS || specialybe[p] == BALLAS)) continue;
- }
- default: continue;
- }
- GameTextForPlayer(p, text, 5000, 3);
- }
- return 1;
- }
- stock CountMMembersInZone(teamid, zone, skip = INVALID_PLAYER_ID)
- {
- new k;
- for(new p = GetPlayerPoolSize(); p > -1; p--)
- {
- if(IsPlayerNPC(p) || !IsPlayerConnected(p) || skip == p) continue;
- switch(teamid)
- {
- case LEAD_COSANOSTRA, COSANOSTRA:
- {
- if(!(PLEAD[p] == LEAD_COSANOSTRA || specialybe[p] == COSANOSTRA)) continue;
- }
- case LEAD_BALLAS, BALLAS:
- {
- if(!(PLEAD[p] == LEAD_BALLAS || specialybe[p] == BALLAS)) continue;
- }
- default: continue;
- }
- if(PlayerInZone(p, m_zones_info[zone][0], m_zones_info[zone][1], m_zones_info[zone][2], m_zones_info[zone][3])) k++;
- if(k > 1) break;
- }
- return k;
- }
- stock PlayerInZone(playerid, Float:min_X, Float:min_Y, Float:max_X, Float:max_Y)
- {
- new Float:pos[3];
- GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
- if(min_X <= pos[0] <= max_X && min_Y <= pos[1] <= max_Y) return 1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement