rendered paste body#include <a_samp>
new gTeam[MAX_PLAYERS];
#define TEAM_Army 1
#define TEAM_Farmers 2
#define TEAM_Grove 3
#define TEAM_Ballas 4
#define TEAM_Vagos 5
#define TEAM_Aztecas 6
#define TEAM_Mafia 7
#define TEAM_GROOVE_COLOR 0x00FF00AA
#define TEAM_BALLAS_COLOR 0xFF00FFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_LIGHTGREEN 0x00FF00AA
#define COLOR_DARKGREEN 0x004400AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define BBLUE 0x00BFFFAA
#define COLOR_LIGHTBLUE 0x1C86EEAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BRIGHTRED 0xB22222
#define OBJECTIVE_VEHICLE_BLUE 1
#define OBJECTIVE_COLOR 0xAA0000FF
#define MAX_GANGS 32
#define MAX_GANG_MEMBERS 6
#define MAX_GANG_NAME 16
#define CP_AMMU 2
#define MAX_POINTS 20
#define MAX_WEAPONS 47
#define MAX_SPAWNWEAPONS 9
new Grove1;
new Grove2;
new Grove3;
new Army1;
new Army2;
new Army4;
new Army5;
new Mafia1;
new Mafia2;
new Mafia3;
new Mafia4;
new Ballas1;
new Ballas2;
new Ballas3;
new Ballas4;
new Vagos1;
new Vagos2;
new Vagos;
new Aztecas1;
new Aztecas2;
new Aztecas3;
new Aztecas4;
new Farmers1;
new Farmers;
new Farmers3;
new Niekeno;
new Visitors;
new TEXT[255];
new Float:X1[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new Float:Y1[MAX_PLAYERS];
new Float:Z1[MAX_PLAYERS];
new gObjectiveBluePlayer=(-1);
new gObjectiveReached=0;
new exp[MAX_PLAYERS];
new XP[MAX_PLAYERS];
new level[MAX_PLAYERS] = 1;
static gHour;
static gMinute;
new playerWeapons[MAX_PLAYERS][MAX_SPAWNWEAPONS];
new ZoneOwner[25]={3,3,3,1,1,1,1,7,7,7,7,4,4,4,4,5,5,5,6,6,6,6,2,2,2};
new UnderAttack[25];
new KillCount[7][25];
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 ownedcar[MAX_PLAYERS];
new owner[MAX_PLAYERS];
forward unsafe(Kzone);
forward checkpointUpdate();
forward Timer_DayHeartbeat();
forward AutoReminder();
forward PayDay();
forward RandomMessages();
forward TimeFunction(playerid);
forward OnPlayerUpdate(playerid);
forward checkpointUpdate();
forward post_winners(winnerid);
forward report(playerid);
new Float:checkpoints[MAX_POINTS][3] = {
{-22.2549,-55.6575,1003.5469},
{2000.3132,1538.6012,13.5859},
{291.0004,-84.5168,1001.5156},
{-1920.6711,303.1555,41.0469},
{2323.7454,1283.1440,97.5579},
{-2432.6628,-1620.0771,526.8676},
{1989.0619,1005.5241,994.4688},
{2235.5408,1679.0402,1008.3594},
{-103.5525,-22.4661,1000.7188},
{501.4927,-75.4323,998.7578},
{161.1875,-79.9915,1001.8047},
{207.5640,-97.8188,1005.2578},
{-203.4864,-41.2045,1002.2734},
{418.5547,-80.1667,1001.8047},
{1212.3918,-10.9459,1000.9219},
{-1957.5327,300.2131,35.4688},
{418.1210,2536.8762,10.0000},
{2127.5940,2370.4255,10.8203},
{2022.5179,1916.6848,12.3397},
{1208.5027,-32.6044,1000.9531}
};
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
};
new Float:checkCoords[1][4] = {
{284.0546,-86.4384, 302.9315,-56.6674}
};
new checkpointType[MAX_POINTS] = {
CP_AMMU
};
new weaponNames[MAX_WEAPONS][32] = {
"Unarmed",
"Brass Knuckles", //crash game
"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", //crash game
"Tear Gas", //crash game
"Molotovs", //crash game
"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", //crash game
"Detonator", //crash game
"Spray Paint",
"Fire Extinguisher",
"Camera",
"Nightvision Goggles", //crash game
"Thermal Goggles", //crash game
"Parachute"
};
new spawnWeapons[MAX_SPAWNWEAPONS][3] = {
{23,34,4000},
{25,15,7000},
{27,20,15000},
{28,120,7000},
{32,120,5000},
{29,120,15000},
{30,120,25000},
{31,120,30000},
{9,0,70000}
};
new Float:ZoneLocations[25][4]=
{
{1988.037, -1752.921, 2611.702, -1614.75},
{1607.753, -1452.893, 2056.488, -1026.537},
{2216.207, -2321.396, 2391.137, -1768.712},
{70.06725, 1786.715, 373.692, 2113.696},
{2349.306, -2747.752, 2866.492, -2309.553},
{1132.754, -221.8796, 1950.205, 490.4708},
{151.8124, -268.5911, 478.7929, 140.1345},
{1025.919, -2372.717, 1524.091, -1910.831},
{1067.75, -1587.116, 1368.174, -1156.812},
{2615.505, -1606.855, 2896.915, -1263.401},
{1322.54, -1748.974, 1995.642, -1622.646},
{2067.896, -1377.886, 2269.447, -1223.924},
{1710.43, -2210.859, 2181.981, -1752.921},
{2064.094, -1614.75, 2265.644, -1381.833},
{1543.105, -2388.508, 1721.838, -1764.764},
{2296.066, -1247.61, 2866.492, -927.8433},
{200.7038, -2076.636, 987.8908, -1752.921},
{2216.207, -1847.667, 2615.505, -1752.921},
{2398.743, -2159.539, 2790.435, -1855.563},
{193.0981, -1705.548, 664.6498, -1156.812},
{2288.461, -1598.959, 2547.053, -1263.401},
{1482.26, -1598.959, 2064.094, -1464.736},
{-303.6248, -175.1681, 105.1009, 163.4902},
{2611.702, -1855.563, 2866.492, -1606.855},
{2008.595, -221.8796, 2709.267, 291.9469}
};
main()
{
print("\n----------------------------------");
print(" LS Gang Wars");
print("----------------------------------\n");
}
stock getCheckpointType(playerID)
{
return checkpointType[playerCheckpoint[playerID]];
}
stock 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;
}
stock 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;
}
IsInZone(playerid)
{
new i=0;
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
new NAME[40];
GetPlayerName(playerid,NAME,sizeof(NAME));
while (i<25)
{
if ((X>ZoneLocations[i][0])&&(X<ZoneLocations[i][2])&&(Y>ZoneLocations[i][1])&&(Y<ZoneLocations[i][3]))
{
return i;
}
i++;
}
return -1;
}
public unsafe(Kzone)
{
UnderAttack[Kzone]=0;
}
getColor(playerid)
{
if(gTeam[playerid] == TEAM_Army) return 0x8040008F;
else if(gTeam[playerid] == TEAM_Farmers) return 0x00000083;
else if(gTeam[playerid] == TEAM_Grove) return 0x00FF007D;
else if(gTeam[playerid] == TEAM_Ballas) return 0x80008070;
else if(gTeam[playerid] == TEAM_Vagos) return 0xFFFF007C;
else if(gTeam[playerid] == TEAM_Aztecas) return 0x00FFFF81;
else if(gTeam[playerid] == TEAM_Mafia) return 0x0000FF74;
return 0x0000FF74;
}
stock PlayerLeaveGang(playerid) {
new string[256];
new playername[MAX_PLAYER_NAME];
new gangnum = playerGang[playerid];
if(gangnum > 0) {
for(new i = 0; i < gangInfo[gangnum][1]; i++) {
if(gangMembers[gangnum][i]==playerid) {
//One less gang member
gangInfo[gangnum][1]--;
for(new j = i; j < gangInfo[gangnum][1]; j++) {
//Shift gang members
gangMembers[gangnum][j]=gangMembers[gangnum][j+1];
}
//Disband gang if no more members
if(gangInfo[gangnum][1]<1) {
gangInfo[gangnum][0]=0;
gangInfo[gangnum][1]=0;
gangBank[gangnum]=0;
}
//Notify other members
for(new j = 0; j < gangInfo[gangnum][1]; j++) {
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(string, sizeof(string),"%s has quit your gang.", playername);
SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
if(j==0) {
}
}
format(string, sizeof(string),"You have quit the gang '%s' (id: %d)", gangNames[gangnum], gangnum);
SendClientMessage(playerid, COLOR_ORANGE, string);
playerGang[playerid]=0;
SetPlayerColor(playerid,playerColors[playerid]);
return;
}
}
} else {
SendClientMessage(playerid, COLOR_RED, "You are not in a gang.");
}
}
public OnGameModeInit()
{
SetGameModeText("LS Gang Wars");
ShowNameTags(1);
ShowPlayerMarkers(1);
EnableTirePopping(1);
SetGravity(0.008);
SetWorldTime(12);
SetTeamCount(7);
AllowInteriorWeapons(0);
EnableZoneNames(1);
UsePlayerPedAnims();
SetTimer("checkpointUpdate",1000,1);
SetTimer("RandomMessages", 30000, 1);
#pragma unused Grove1
#pragma unused Grove2
#pragma unused Grove3
#pragma unused Army1
#pragma unused Army2
#pragma unused Army4
#pragma unused Army5
#pragma unused Mafia1
#pragma unused Mafia2
#pragma unused Mafia3
#pragma unused Mafia4
#pragma unused Ballas1
#pragma unused Ballas2
#pragma unused Ballas3
#pragma unused Ballas4
#pragma unused Vagos1
#pragma unused Vagos2
#pragma unused Vagos
#pragma unused Aztecas1
#pragma unused Aztecas2
#pragma unused Aztecas3
#pragma unused Aztecas4
#pragma unused Farmers1
#pragma unused Farmers
#pragma unused Farmers3
#pragma unused Niekeno
Grove1 = GangZoneCreate(1988.037, -1752.921, 2611.702, -1614.75);
Grove2 = GangZoneCreate(1607.753, -1452.893, 2056.488, -1026.537);
Grove3 = GangZoneCreate(2216.207, -2321.396, 2391.137, -1768.712);
Army1 = GangZoneCreate(70.06725, 1786.715, 373.692, 2113.696);
Army2 = GangZoneCreate(2349.306, -2747.752, 2866.492, -2309.553);
Army5 = GangZoneCreate(1132.754, -221.8796, 1950.205, 490.4708);
Army4 = GangZoneCreate(151.8124, -268.5911, 478.7929, 140.1345);
Mafia1 = GangZoneCreate(1025.919, -2372.717, 1524.091, -1910.831);
Mafia2 = GangZoneCreate(1067.75, -1587.116, 1368.174, -1156.812);
Mafia3 = GangZoneCreate(2615.505, -1606.855, 2896.915, -1263.401);
Mafia4 = GangZoneCreate(1322.54, -1748.974, 1995.642, -1622.646);
Ballas1 = GangZoneCreate(2067.896, -1377.886, 2269.447, -1223.924);
Ballas2 = GangZoneCreate(1710.43, -2210.859, 2181.981, -1752.921);
Ballas3 = GangZoneCreate(2064.094, -1614.75, 2265.644, -1381.833);
Ballas4 = GangZoneCreate(1543.105, -2388.508, 1721.838, -1764.764);
Vagos1 = GangZoneCreate(2296.066, -1247.61, 2866.492, -927.8433);
Vagos2 = GangZoneCreate(200.7038, -2076.636, 987.8908, -1752.921);
Vagos = GangZoneCreate(2216.207, -1847.667, 2615.505, -1752.921);
Aztecas1 = GangZoneCreate(2398.743, -2159.539, 2790.435, -1855.563);
Aztecas2 = GangZoneCreate(193.0981, -1705.548, 664.6498, -1156.812);
Aztecas3 = GangZoneCreate(2288.461, -1598.959, 2547.053, -1263.401);
Aztecas4 = GangZoneCreate(1482.26, -1598.959, 2064.094, -1464.736);
Farmers1 = GangZoneCreate(-303.6248, -175.1681, 105.1009, 163.4902);
Farmers = GangZoneCreate(2611.702, -1855.563, 2866.492, -1606.855);
Farmers3 = GangZoneCreate(2008.595, -221.8796, 2709.267, 291.9469);
Niekeno = GangZoneCreate(2166.77, -1231.819, 2258.038, -1129.178);
AddStaticPickup(1239,2,2512.560058,-1028.399414,70.085937);
AddStaticPickup(1239,2,2091.482177,-1279.688842,26.040601);
AddStaticPickup(1239,2,2486.651855,-1645.656005,14.070312);
AddStaticPickup(1239,2,2637.365234,-1992.147949,13.993547);
AddStaticPickup(1239,2,2638.354980,-2414.083496,13.632812);
AddStaticPickup(1239,2,1125.921142,-2037.342407,69.883468);
AddStaticPickup(1239,2,299.422546,-1155.912231,80.909896);
//Objects:
CreateObject(8210, -364.532867, -1354.596802, 23.185678, 0, 0, 250.9378);
CreateObject(8210, -382.132202, -1322.766724, 26.474600, 0, 6.0161, 348.75);
CreateObject(8210, -414.872131, -1344.778442, 27.228954, 0, 355.7028, 78.75);
CreateObject(987, -413.446106, -1381.667969, 22.538481, 0, 0, 123.7499);
CreateObject(987, -406.810028, -1391.459839, 22.498192, 0, 0, 123.7499);
CreateObject(987, -400.266357, -1401.260742, 22.492678, 0, 0, 123.7499);
CreateObject(979, -377.399353, -1383.588257, 22.458151, 0, 0, 213.75);
CreateObject(979, -387.136871, -1390.306763, 22.586538, 0, 359.1406, 213.75);
CreateObject(987, -383.766602, -1387.337036, 21.887968, 0, 0, 33.75);
CreateObject(987, -391.221344, -1392.400146, 21.892338, 0, 0, 33.75);
CreateObject(966, -397.467438, -1396.828735, 22.403381, 0, 0, 213.75);
CreateObject(968, -397.433044, -1396.804321, 23.290543, 0, 0, 33.75);
CreateObject(967, -397.958618, -1398.225098, 22.388947, 0, 0, 32.8906);
CreateObject(970, -398.624756, -1399.838257, 22.946869, 0, 0, 33.75);
CreateObject(970, -398.624237, -1399.845947, 24.004873, 0, 0, 33.75);
CreateObject(970, -398.591522, -1399.849609, 25.110973, 0, 0, 33.75);
CreateObject(3279, -362.633789, -1333.434937, 21.310383, 0, 0, 168.75);
CreateObject(3279, -379.475128, -1375.770874, 21.992777, 0, 0, 146.25);
CreateObject(3399, -406.027985, -1434.041016, 27.314953, 0, 0, 0);
CreateObject(8614, -372.305908, -1417.014893, 27.075842, 0, 4.2972, 270);
CreateObject(8614, -365.900513, -1414.699829, 30.864906, 0, 0, 180);
CreateObject(3279, -409.262695, -1343.191040, 24.378386, 0, 0, 348.75);
CreateObject(1458, -405.727112, -1327.119629, 25.949831, 0, 0, 0);
CreateObject(12921, -393.833313, -1395.790161, 25.587015, 0, 0, 33.75);
CreateObject(17324, -390.830566, -1340.374146, 23.964664, 4.2972, 1.7189, 349.6094);
CreateObject(3461, -390.298584, -1393.040649, 23.675467, 0, 0, 0);
CreateObject(3168, -410.485931, -1357.338867, 23.502028, 0, 0, 168.75);
CreateObject(4726, 332.120636, -1836.737549, 2.014965, 0, 0, 180);
CreateObject(3279, 302.548859, -1779.621338, 3.555548, 0, 0, 315);
CreateObject(3279, 300.057770, -1813.526978, 3.445765, 0, 0, 22.5);
CreateObject(16778, 335.582611, -1778.450073, 4.096195, 0, 0, 270);
CreateObject(1369, 313.124207, -1784.247314, 4.240703, 0, 0, 22.5);
//VEHICLES
AddStaticVehicle(497,2836.5798,-2530.6621,18.1278,281.8553,6,0); // maveric m1 getaway 1
AddStaticVehicle(482,-2444.4460,501.1308,29.7963,254.9694,1,1); // BURRITO sf getawy car 2
AddStaticVehicle(497,-1481.9639,144.6383,18.9529,133.6042,3,3); // maveric getaway 3
AddStaticVehicle(482,2194.4309,1444.0286,10.9392,0.9995,48,48); // burrito getaway 4
AddStaticVehicle(482,1713.2853,-1613.0427,13.6739,338.0,125,108); // BURRITO ls getaway car 5
AddStaticVehicle(572,1261.8896,303.3519,19.5877,155.0000,3,0); // lawnmower zombi 6
AddStaticVehicle(482,2103.3213,2079.2488,10.9461,270.0000,126,0); // burrito--7
AddStaticVehicle(560,2318.2593,6.4544,26.1897,90.0000,1,1); // SULTAN//bank robbry getawy car 8
AddStaticVehicle(482,-535.3323,-487.2228,25.7000,0.0000,126,0); // burrito sex shop 9
AddStaticVehicle(576,-1051.9135,-679.1596,32.0000,0.0000,0,0); // torando--mission car134 10
AddStaticVehicle(482,2585.8357,2780.8374,10.9404,270.0000,0,0); // burrito k.a.a.c fules--11
AddStaticVehicle(515,2260.0344,2763.9900,11.8394,90.0000,0,3); // roadtrain--108 tm 12
AddStaticVehicle(515,214.7370,-263.5162,2.5967,176.2460,3,0); // roadtrain--187 tm 13
AddStaticVehicle(515,-1988.3328,-2382.9001,31.6450,303.4193,3,0); // roadtrain tm 14
AddStaticVehicle(515,-1712.7483,14.3026,4.6194,292.0642,3,0); // roadtrain tm 15
AddStaticVehicle(515,1048.9388,2133.8923,11.8397,90.0000,0,3); // roadtrain--16 tm
AddStaticVehicle(515,2865.8965,932.6283,11.7964,116.8550,0,3); // roadtrain--17 tm
AddStaticVehicle(515,259.4977,1429.8959,11.8406,180.0000,0,3); // roadtrain--octane springs-18 tm
AddStaticVehicle(483,-1096.1134,-1621.6436,76.3596,271.1122,0,0); // camper weed farm-19
AddStaticVehicle(483,-1849.0,-1576.0,22.0,235.0,0,0); // camper moved to scrappers--20
AddStaticVehicle(592,1548.8715,1466.1749,12.0153,38.9954,1,1); // andromadajet 21
AddStaticVehicle(592,2110.9810,-2451.1707,14.7411,153.1628,1,1); // andromadajet 22
AddStaticVehicle(592,-1315.2804,-237.7538,15.3709,323.9496,1,1); // andromadajet 23
//Farmer
CreateVehicle(428, -391.341003, -1342.480713, 25.150469, 167, 3, 3, 3600); //Obj Vehicle
CreateVehicle(508, -375.027893, -1345.119263, 23.437363, 156, 86, 86, 60);
CreateVehicle(468, -414.041534, -1356.140015, 24.428274, 167, 86, 86, 60);
CreateVehicle(478, -384.486725, -1381.990845, 23.293976, 32, 86, 86, 60);
CreateVehicle(478, -391.276611, -1386.882690, 23.447811, 32, 86, 86, 60);
CreateVehicle(489, -405.874725, -1370.005615, 24.233240, 249, 86, 86, 60);
CreateVehicle(489, -408.009125, -1376.249512, 24.044243, 249, 86, 86, 60);
CreateVehicle(413, -374.806152, -1408.354248, 25.941299, 294, 86, 86, 60);
CreateVehicle(479, -374.717346, -1427.224121, 25.976353, 360, 86, 86, 60);
CreateVehicle(478, -381.140503, -1397.125000, 24.258635, 112, 86, 86, 60);
CreateVehicle(468, -380.236725, -1450.241699, 25.976353, 360, 86, 86, 60);
CreateVehicle(468, -376.970245, -1450.228394, 25.976353, 360, 86, 86, 60);
CreateVehicle(468, -373.098236, -1450.310059, 25.976353, 360, 86, 86, 60);
AddStaticVehicle(426,1230.4683,-1288.9296,13.2550,271.6072,7,7); //
AddStaticVehicle(426,1214.3450,-1357.6713,13.3009,182.4956,7,7); // miestas
AddStaticVehicle(513,1779.3787,-2462.8601,14.1143,274.3707,48,18); // airport
AddStaticVehicle(513,1784.8390,-2625.0532,14.1097,358.3885,48,18); // airport
AddStaticVehicle(487,1957.2919,-2325.0481,13.8603,215.2047,3,29); // airport
AddStaticVehicle(593,1926.2396,-2289.6250,14.0165,269.9998,58,8); // airport
AddStaticVehicle(494,1859.6465,-2291.9211,13.4417,341.5497,75,79); // miestas oro uostas
AddStaticVehicle(494,1862.6290,-2271.1470,13.4421,351.5345,75,79); // miestas oro uostas
AddStaticVehicle(494,1854.9243,-2314.6455,13.4421,8.5208,75,79); // miestas oro uostas
AddStaticVehicle(495,1870.7672,-2282.4336,13.8842,264.3502,123,124); // miestas oro uostas
AddStaticVehicle(522,1899.9260,-2290.0735,13.1100,262.6362,39,106); // miestas oro uostas
AddStaticVehicle(522,1899.3330,-2274.2212,13.1187,88.7357,39,106); // miestas oro uostas
AddStaticVehicle(522,1926.5498,-1943.0485,13.1223,91.4798,39,106); // miestas
AddStaticVehicle(507,1643.7715,-1542.1986,13.3926,88.4127,53,53); // miestas
AddStaticVehicle(438,1645.1755,-1538.0005,13.5727,84.8690,6,76); // miestas
AddStaticVehicle(507,1322.6228,-1453.8722,13.3186,181.3518,62,62); // miestas
AddStaticVehicle(416,1178.0424,-1338.0825,14.0472,268.6290,1,3); // miestas
AddStaticVehicle(507,1065.7319,-1257.0474,14.3820,359.9340,53,53); // miestas
AddStaticVehicle(477,1065.8159,-1210.8549,16.7755,359.7335,94,1); // miestas
AddStaticVehicle(556,897.4998,-1207.8750,17.3517,85.7812,1,1); // miestas
AddStaticVehicle(556,861.2751,-1240.7499,14.3954,179.9735,32,1); // miestas
AddStaticVehicle(556,866.7633,-1275.0134,14.9242,0.0268,1,1); // miestas
AddStaticVehicle(555,1093.3533,-1248.6372,15.5112,86.3734,2,1); // miestas
AddStaticVehicle(555,967.1003,-1001.2731,35.4154,353.4668,2,1); // miestas
AddStaticVehicle(545,960.9338,-937.8986,40.9879,5.3962,47,1); // miestas
AddStaticVehicle(545,832.8478,-862.7345,69.4624,19.6069,47,1); // miestas
AddStaticVehicle(541,636.4888,-1123.0079,44.1654,225.1233,13,8); // miestas
AddStaticVehicle(541,298.0974,-1163.4821,80.5343,46.6227,13,8); // miestas
AddStaticVehicle(541,347.8271,-1785.7319,4.8748,165.2322,13,8); // miestas
AddStaticVehicle(412,343.8723,-1809.5167,4.2798,359.9962,30,1); // miestas
AddStaticVehicle(412,327.9856,-1788.8767,4.6836,181.4097,27,1); // miestas
AddStaticVehicle(412,314.6223,-1809.5172,4.2329,359.9959,29,8); // miestas
AddStaticVehicle(568,276.6577,-1794.5470,4.2176,100.9650,21,1); // miestas
AddStaticVehicle(571,363.1149,-2017.4093,7.1197,0.0607,51,53); // miestas
AddStaticVehicle(571,367.1703,-2019.2720,6.9562,348.2882,51,53); // miestas
AddStaticVehicle(571,373.0449,-2013.6974,6.9558,0.5550,51,53); // miestas
AddStaticVehicle(571,372.4642,-1909.4205,6.9558,355.4822,51,53); // miestas
AddStaticVehicle(559,441.6615,-1667.5107,25.2414,260.3622,2,1); // miestas
AddStaticVehicle(559,720.8406,-1666.9359,10.3503,275.2278,2,1); // miestas
AddStaticVehicle(446,719.8927,-1629.9324,-0.4947,358.8751,1,35); // miestas
AddStaticVehicle(446,719.3188,-1656.3949,-0.4465,358.2444,1,35); // miestas
AddStaticVehicle(446,719.7050,-1704.1200,-0.4879,1.4996,1,35); // miestas
AddStaticVehicle(451,878.2673,-1779.3433,13.4674,266.0204,18,18); // miestas
AddStaticVehicle(451,1163.0090,-1835.8018,13.3248,324.5280,18,18); // miestas
AddStaticVehicle(456,1278.6592,-1812.0192,13.5581,334.3910,110,93); // miestas
AddStaticVehicle(467,1396.3688,-1388.9160,13.2946,277.8080,13,8); // miestas
AddStaticVehicle(506,2407.1306,105.3144,26.7747,3.9739,76,76); // kaimas
AddStaticVehicle(489,2243.2805,98.6942,26.6274,117.6578,13,118); // kaimas
AddStaticVehicle(489,2285.8428,-66.4560,26.2277,152.9942,119,113); // kaimas
AddStaticVehicle(463,2300.8828,-0.6276,26.0253,355.9543,79,79); // kaimas
AddStaticVehicle(463,2123.0571,40.1793,25.8704,84.8902,79,79); // kaimas
AddStaticVehicle(506,1310.6508,247.5432,19.2591,65.9071,7,7); // kaimas
AddStaticVehicle(505,1253.1930,250.1906,19.6937,140.0936,84,110); // kaimas
AddStaticVehicle(505,1204.4664,276.7628,19.8892,149.4244,84,110); // kaimas
AddStaticVehicle(505,802.9595,-604.8544,16.4824,107.5420,84,110); // kaimas
AddStaticVehicle(507,687.6349,-581.2748,16.0828,180.8927,37,37); // kaimas
AddStaticVehicle(507,228.3199,-181.5295,1.3272,4.4912,37,37); // kaimas
AddStaticVehicle(507,155.4336,-64.7758,1.4030,85.7393,37,37); // kaimas
AddStaticVehicle(515,-198.0833,-285.9992,2.5044,237.7226,42,76); // kaimas
AddStaticVehicle(515,-176.2373,-283.3733,2.6218,270.5177,42,76); // kaimas
AddStaticVehicle(496,494.3649,-1471.7657,18.3888,341.1295,9,14); // miestas
AddStaticVehicle(496,779.8545,-1412.3055,13.2531,242.9471,9,14); // miestas
AddStaticVehicle(468,764.5584,-1833.6329,8.2680,279.3487,6,6); // miestas
AddStaticVehicle(434,641.6187,-1805.0868,8.9737,57.1892,4,4); // miestas
AddStaticVehicle(429,884.9052,-1758.0636,13.2270,286.4933,1,2); // miestas
AddStaticVehicle(401,1279.7577,-1800.8429,13.1804,90.1300,74,74); // miestas
AddStaticVehicle(429,1762.5740,-1700.0878,13.1198,277.8399,1,2); // miestas
AddStaticVehicle(412,2173.4976,-1806.7474,13.1350,178.5932,37,8); // miestas
AddStaticVehicle(429,2757.9893,-1495.3981,29.2655,265.4453,1,2); // miestas
AddStaticVehicle(419,2850.4585,-1619.0272,10.8905,162.9594,59,75); // miestas
AddStaticVehicle(419,2841.2478,-2073.6858,10.8558,179.4317,59,75); // miestas
AddStaticVehicle(520,2766.5525,-2433.9844,14.3486,0.0804,0,0); // miestas
AddStaticVehicle(433,2787.7314,-2418.3950,14.0701,269.0348,43,0); // miestas
AddStaticVehicle(470,2777.6382,-2463.2849,13.6303,176.8448,43,0); // miestas
AddStaticVehicle(470,2778.3989,-2449.4800,13.6311,176.8433,43,0); // miestas
AddStaticVehicle(451, 972.6795, -1879.249, 15, 0, -1, -1);
AddStaticVehicle(451, 2463.391, -2605.633, 15, 0, -1, -1);
AddStaticVehicle(419, 2432.969, -1334.461, 15, 0, -1, -1);
AddStaticVehicle(571, 2147.756, -1002.85, 15, 0, -1, -1);
AddStaticVehicle(522, 2204.798, -1393.677, 15, 0, -1, -1);
AddStaticVehicle(495, 1402.4, -2258.232, 15, 0, -1, -1);
AddStaticVehicle(419, 1695.218, -2384.56, 15, 0, -1, -1);
AddStaticVehicle(522, 1402.4, -856.7839, 15, 0, -1, -1);
AddStaticVehicle(571, 330.0002, -864.6794, 15, 0, -1, -1);
AddStaticVehicle(451, -2271.077, 1300.21, 15, 0, -1, -1);
AddStaticVehicle(419, -1583.519, -415.8491, 15, 0, -1, -1);
AddStaticVehicle(495, -1529.441, -455.2987, 15, 0, -1, -1);
AddStaticVehicle(522, -2692.109, -179.1512, 15, 0, -1, -1);
AddStaticVehicle(522, -2135.883, 313.9693, 15, 0, -1, -1);
AddStaticVehicle(451, -2518.289, 732.1356, 15, 0, -1, -1);
AddStaticVehicle(419, -1896.396, 751.8604, 15, 0, -1, -1);
AddStaticVehicle(495, -1726.438, 743.9704, 15, 0, -1, -1);
AddStaticVehicle(571, -1587.381, 424.4283, 15, 0, -1, -1);
AddStaticVehicle(522, -2047.041, 1359.385, 15, 0, -1, -1);
AddStaticVehicle(419, -2062.492, 1091.127, 15, 0, -1, -1);
AddStaticVehicle(451, -2383.094, 1039.843, 15, 0, -1, -1);
AddStaticVehicle(495, -2807.99, 688.7409, 15, 0, -1, -1);
AddStaticVehicle(522, -1985.238, -656.4919, 15, 0, -1, -1);
AddStaticVehicle(419, 2021.171, 1334.004, 15, 0, -1, -1);
AddStaticVehicle(522, 2056.314, 954.9333, 15, 0, -1, -1);
AddStaticVehicle(451, 2060.219, 1612.505, 15, 0, -1, -1);
AddStaticVehicle(419, 2091.458, 1945.158, 15, 0, -1, -1);
AddStaticVehicle(495, 1689.259, 1453.914, 15, 0, -1, -1);
AddStaticVehicle(571, 1220.677, 1569.956, 15, 0, -1, -1);
AddStaticVehicle(571, 2528.801, 1655.053, 15, 0, -1, -1);
AddStaticVehicle(495, 2337.463, 2037.992, 15, 0, -1, -1);
AddStaticVehicle(451, 2130.506, 695.7729, 15, 0, -1, -1);
AddStaticVehicle(419, 1673.639, 2730.376, 15, 0, -1, -1);
AddStaticVehicle(522, 884.86, 2196.583, 15, 0, -1, -1);
AddStaticVehicle(522, 2509.276, 1121.26, 15, 0, -1, -1);
AddStaticVehicle(571, 1369.061, 2030.256, 15, 0, -1, -1);
AddStaticVehicle(419, -1798.393, -2113.696, 15, 0, -1, -1);
AddStaticVehicle(451, -630.6053, -2358.931, 15, 0, -1, -1);
AddStaticVehicle(571, 1564.835, -595.5717, 15, 0, -1, -1);
AddStaticVehicle(571, 1167.788, 35.03363, 15, 0, -1, -1);
AddStaticVehicle(495, 2487.387, -735.7062, 15, 0, -1, -1);
AddStaticVehicle(451, -2347.253, -1634.903, 15, 0, -1, -1);
AddStaticVehicle(419, -2090.34, -2382.287, 15, 0, -1, -1);
AddStaticVehicle(571, -2510.743, -2720.945, 15, 0, -1, -1);
AddStaticVehicle(522, -268.5911, 1471.412, 15, 0, -1, -1);
AddStaticVehicle(495, -233.5575, 2347.253, 15, 0, -1, -1);
AddStaticVehicle(451, -1786.715, 2580.811, 15, 0, -1, -1);
AddStaticVehicle(419, -2779.334, 2487.387, 15, 0, -1, -1);
AddStaticVehicle(419, -1132.754, -817.4513, 15, 0, -1, -1);
AddStaticVehicle(451, 326.9805, 1377.989, 15, 0, -1, -1);
AddStaticVehicle(451, 560.538, 2720.945, 15, 0, -1, -1);
AddStaticVehicle(492,2508.1248,-1666.3868,13.1491,15.4853,86,86); // Grove
AddStaticVehicle(412,2490.4434,-1682.3845,13.1860,96.4607,86,86); // Voodoo Grove
AddStaticVehicle(412,2498.6667,-1682.2102,13.2041,94.9152,86,86); // vodoo grove
AddStaticVehicle(491,2486.1169,-1656.2588,13.0990,84.4212,86,86); // vrgo grove
AddStaticVehicle(600,2473.5251,-1690.1067,13.1864,359.1675,86,86); // picador grove
AddStaticVehicle(487,2531.5366,-1676.1827,20.1086,97.8435,86,86); // maverick grove
AddStaticVehicle(567,2493.1396,-1655.8577,13.2352,271.2886,86,86); // savana grove
AddStaticVehicle(517,2095.1924,-1288.3097,24.2722,357.6156,5,5); // majestic ballas
AddStaticVehicle(517,2102.2903,-1287.4292,24.2952,359.2334,5,5); // majestic ballas
AddStaticVehicle(517,2112.5071,-1293.7686,23.8302,267.2820,5,5); // majestic ballas
AddStaticVehicle(534,2096.1626,-1313.2544,23.9960,178.9042,5,5); // remington ballas
AddStaticVehicle(534,2085.9944,-1293.2449,23.6962,89.5374,5,5); // remington ballas
AddStaticVehicle(481,2479.9304,-1663.4099,12.8466,175.8721,86,86); // groove bmx
AddStaticVehicle(481,2484.1589,-1665.1245,12.8582,357.8141,86,86); // groove bmx
AddStaticVehicle(531,-131.4942,-65.0988,3.0818,114.1802,0,0); // farmers traltorius
AddStaticVehicle(505,-115.6592,-54.1333,3.2532,219.2878,0,0); // farmers rancher
AddStaticVehicle(505,-87.9612,-57.9575,3.2600,335.7502,0,0); // farmers rancher
AddStaticVehicle(478,-111.0202,-42.3410,3.1053,338.1434,0,0); // farmers walton
AddStaticVehicle(478,-104.5622,-24.6443,3.1090,340.5026,0,0); // farmers walton
AddStaticVehicle(512,-131.8605,-28.2895,3.3975,339.5149,0,0); // farmers lektuvas
AddStaticVehicle(489,937.7028,-1235.5299,16.7341,180.0803,120,123); // miestas
AddStaticVehicle(463,1050.5000,-1357.9991,12.9019,178.5938,19,19); // miestas
AddStaticVehicle(540,1275.4535,-2010.7208,58.8389,267.6081,1,1); // Mafia vincent
AddStaticVehicle(540,1275.3818,-2018.5950,58.8430,270.7665,1,1); // mafia vincent
AddStaticVehicle(540,1276.2601,-2028.3301,58.8489,271.1149,1,1); // mafia vincent
AddStaticVehicle(560,1247.6035,-2024.0850,59.4836,269.9649,1,1); // mafia sultan
AddStaticVehicle(560,1246.9521,-2043.0773,59.5033,88.0027,1,1); // mafia sultan
AddStaticVehicle(409,1260.8840,-2007.7701,59.2925,91.5267,1,1); // mafia limuzinas
AddStaticVehicle(487,1118.0510,-2052.8110,74.6033,359.0276,1,1); // mafia maverick
AddStaticVehicle(487,1117.4603,-2020.3920,74.6054,177.4089,1,1); // mafia maverick
AddStaticVehicle(561,2078.2407,-1177.2708,23.6474,356.1435,54,38); // miestas
AddStaticVehicle(576,2497.3071,-1058.9734,69.2863,175.6956,6,6); // vagos tornado
AddStaticVehicle(576,2502.9937,-1030.9281,69.4980,355.5020,6,6); // vagos tornado
AddStaticVehicle(576,2518.1006,-1034.9027,69.1581,88.2335,6,6); // vagos tornado
AddStaticVehicle(549,2490.2346,-1053.2371,67.9128,248.0749,6,6); // vagos tampa
AddStaticVehicle(549,2477.3135,-1055.9729,66.3357,345.2494,6,6); // vagos tampa
AddStaticVehicle(474,2645.8445,-1988.7544,13.3150,358.0437,93,93); // Aztecas
AddStaticVehicle(474,2659.4619,-2010.4716,13.3172,87.1972,93,93); // aztecas
AddStaticVehicle(474,2651.8950,-1996.7585,13.3173,269.5836,93,93); // aztecas
AddStaticVehicle(536,2655.8152,-2007.9550,13.1205,88.4698,93,93); // aztecas
AddStaticVehicle(536,2662.2800,-1987.8608,13.2896,2.6622,93,93); // aztecas
AddStaticVehicle(432,277.4998,1989.2408,17.6715,268.5227,43,0); // army tank
AddStaticVehicle(432,281.1252,2022.2577,17.6759,268.6625,43,0); // army tank
AddStaticVehicle(433,301.7500,1863.8750,18.1161,360.0000,43,0); // barracks army
AddStaticVehicle(470,304.7514,1839.3782,17.6000,336.0914,43,0); // patriot army
AddStaticVehicle(548,296.0880,1925.9004,19.3103,236.2530,1,1); // cargobob army
AddStaticVehicle(520,307.2206,1990.2145,18.3639,319.3066,0,0); // hydra army
AddStaticVehicle(520,307.4964,2031.6863,18.3639,328.3982,0,0); // hydra army
AddPlayerClassEx(1 ,287,316.1606,1974.3752,17.6406,98.8389,1,0,30,300,28,200); // army skin
AddPlayerClassEx(2 ,159,-47.8757,30.3243,6.4844,338.9877,6,0,25,100,28 ,200); // fermeris
AddPlayerClassEx(2 ,161,-47.8757,30.3243,6.4844,338.9877,6,0,25,100,28 ,200); // fermeris
AddPlayerClassEx(2 ,158,-47.8757,30.3243,6.4844,338.9877,6,0,25,100,28 ,200); // fermeris
AddPlayerClassEx(3 ,105,2495.4573,-1688.0197,13.5447,5.8084,4,0,31,200,28,200); // Grove
AddPlayerClassEx(3 ,106,2495.4573,-1688.0197,13.5447,5.8084,4,0,31,200,28,200); // Grove
AddPlayerClassEx(3 ,107,2495.4573,-1688.0197,13.5447,5.8084,4,0,31,200,28,200); // Grove
AddPlayerClassEx(4 ,102,2101.2529,-1290.6940,24.0159,189.4488,5,0,30,200,28,200); // Ballas
AddPlayerClassEx(4 ,103,2101.2529,-1290.6940,24.0159,189.4488,5,0,30,200,28,200); // Ballas
AddPlayerClassEx(4 ,104,2101.2529,-1290.6940,24.0159,189.4488,5,0,30,200,28,200); // Ballas
AddPlayerClassEx(5 ,108,2510.6824,-1041.7144,69.4176,174.1049,24,50,30,200,28,200); // Vagos
AddPlayerClassEx(5 ,109,2510.6824,-1041.7144,69.4176,174.1049,24,50,30,200,28,200); // Vagos
AddPlayerClassEx(5 ,110,2510.6824,-1041.7144,69.4176,174.1049,24,50,30,200,28,200); // Vagos
AddPlayerClassEx(6 ,114,2637.7361,-1992.5823,13.9935,228.2397,18,10,27,100,28,200); // Aztecas
AddPlayerClassEx(6 ,115,2637.7361,-1992.5823,13.9935,228.2397,18,10,27,100,28,200); // Aztecas
AddPlayerClassEx(6 ,116,2637.7361,-1992.5823,13.9935,228.2397,18,10,27,100,28,200); // Aztecas
AddPlayerClassEx(7 ,120,1128.7726,-2037.4619,69.4292,264.8338,23,100,34,15,28,200); // mafia
AddPlayerClassEx(7 ,117,1128.7726,-2037.4619,69.4292,264.8338,23,100,34,15,28,200); // mafia
AddPlayerClassEx(7 ,113,1128.7726,-2037.4619,69.4292,264.8338,23,100,34,15,28,200); // mafia
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,11);
SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
SetPlayerFacingAngle(playerid,0.0);
if(classid == 0) {
gTeam[playerid] = TEAM_Army;
GameTextForPlayer(playerid, "~b~Army", 1000, 6);
}
else if(classid == 1 || classid == 2 || classid == 3) {
gTeam[playerid] = TEAM_Farmers;
GameTextForPlayer(playerid, "~w~Farmers", 1000, 6);
}
else if(classid == 4 || classid == 5 || classid == 6) {
gTeam[playerid] = TEAM_Grove;
GameTextForPlayer(playerid, "~n~Grove", 1000, 6);
}
else if(classid == 7 || classid == 8 || classid == 9) {
gTeam[playerid] = TEAM_Ballas;
GameTextForPlayer(playerid, "~r~Ballas", 1000, 6);
}
else if(classid == 10 || classid == 11 || classid == 12) {
gTeam[playerid] = TEAM_Vagos;
GameTextForPlayer(playerid, "~g~Vagos", 1000, 6);
}
else if(classid == 13 || classid == 14 || classid == 15) {
gTeam[playerid] = TEAM_Aztecas;
GameTextForPlayer(playerid, "~p~Aztecas", 1000, 6);
}
else if(classid == 16 || classid == 17 || classid == 18) {
gTeam[playerid] = TEAM_Mafia;
GameTextForPlayer(playerid, "~y~Mafia", 1000, 6);
}
return 1;
}
public OnPlayerConnect(playerid)
{
Visitors++;
AllowPlayerTeleport(playerid,0);
new Text: gText;
gText = TextDrawCreate(5.0, 431.0, "~y~Use /report id and reason if you see a cheater or rule breaker.");
TextDrawUseBox(gText, true);
TextDrawShowForPlayer(playerid, gText);
Visitors ++;
new tmp[255],player[24];
GetPlayerName(playerid,player,sizeof(player));
format(tmp,sizeof(tmp),"%s (%d) Connected The Server.",player,playerid);SendClientMessageToAll(COLOR_GREY,tmp);
printf("OnPlayerConnect(%d)", playerid);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "**Welcome to Los Santos Gang Wars [TDM] Server! ");
SendClientMessage(playerid, COLOR_YELLOW, "**New to the server? Please /register an account. ");
SendClientMessage(playerid, COLOR_YELLOW, "**Already registered? Please /login.");
SendClientMessage(playerid, COLOR_YELLOW, "**Type /rules for list of rules.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "**Now recruiting, visit www.uvhclan.com ");
GameTextForPlayer(playerid,"~G~Los Santos Gang War!",3000,5);
GangZoneShowForPlayer(playerid, Grove1, 0x00FF0072);
GangZoneShowForPlayer(playerid, Army2, 0x8040008F);
GangZoneShowForPlayer(playerid, Mafia1, 0x0000FF74);
GangZoneShowForPlayer(playerid, Ballas1, 0xCE16E976);
GangZoneShowForPlayer(playerid, Vagos1, 0xFFFF0076);
GangZoneShowForPlayer(playerid, Aztecas1, 0x00FFFF7C);
GangZoneShowForPlayer(playerid, Vagos2, 0xFFFF0078);
GangZoneShowForPlayer(playerid, Army1, 0x8040008F);
GangZoneShowForPlayer(playerid, Grove2, 0x00FF007D);
GangZoneShowForPlayer(playerid, Mafia2, 0x0000FF74);
GangZoneShowForPlayer(playerid, Ballas2, 0x80008073);
GangZoneShowForPlayer(playerid, Aztecas2, 0x00FFFF78);
GangZoneShowForPlayer(playerid, Farmers1, 0x00000083);
GangZoneShowForPlayer(playerid, Aztecas3, 0x00FFFF7D);
GangZoneShowForPlayer(playerid, Mafia3, 0x0000FF74);
GangZoneShowForPlayer(playerid, Farmers, 0x0000008B);
GangZoneShowForPlayer(playerid, Vagos, 0xFFFF007C);
GangZoneShowForPlayer(playerid, Ballas3, 0x80008070);
GangZoneShowForPlayer(playerid, Grove3, 0x00FF007D);
GangZoneShowForPlayer(playerid, Mafia4, 0x0000FF7C);
GangZoneShowForPlayer(playerid, Aztecas4, 0x00FFFF81);
GangZoneShowForPlayer(playerid, Ballas4, 0x80008070);
GangZoneShowForPlayer(playerid, Army4, 0x80400096);
GangZoneShowForPlayer(playerid, Farmers3, 0x00000083);
GangZoneShowForPlayer(playerid, Army5, 0x8040008F);
GangZoneShowForPlayer(playerid, Niekeno, 0xFFFFFF91);
GameTextForPlayer(playerid,"~y~Los Santos ~r~Gang Wars",2500,5);
GivePlayerMoney(playerid, 10000);
SetPlayerColor(playerid, COLOR_GREY);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME],pmsg[256];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(pmsg,256,"%s left server",pname);
for(new j=0;j<MAX_PLAYERS;j++){
if(j!=playerid){
SendClientMessage(j,COLOR_WHITE,pmsg);
}
}
PlayerLeaveGang(playerid);
for(new i = 0; i < MAX_SPAWNWEAPONS;i++) playerWeapons[playerid][i]=0;
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
SetPlayerInterior(playerid,0);
if(gTeam[playerid] == TEAM_Army) SetPlayerColor(playerid, 0x804000FF);
else if(gTeam[playerid] == TEAM_Farmers) SetPlayerColor(playerid, 0x000000DD);
else if(gTeam[playerid] == TEAM_Grove) SetPlayerColor(playerid, 0x00FF00FF);
else if(gTeam[playerid] == TEAM_Ballas) SetPlayerColor(playerid, 0xF200F2FF);
else if(gTeam[playerid] == TEAM_Vagos) SetPlayerColor(playerid, 0xFFFF00AA);
else if(gTeam[playerid] == TEAM_Aztecas) SetPlayerColor(playerid, 0x00FFFFFF);
else if(gTeam[playerid] == TEAM_Mafia) SetPlayerColor(playerid, 0x0000FFFF);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerTeam(playerid, GetPlayerTeam(playerid));
if(gTeam[playerid] == TEAM_Farmers) {
SetVehicleParamsForPlayer(OBJECTIVE_VEHICLE_BLUE,playerid,1,1);
GameTextForPlayer(playerid,
"Defend ~g~FARMERS ~w~Teams's ~r~Money Truck",
6000,5);
}
else if(gTeam[playerid] == TEAM_Mafia) {
SetVehicleParamsForPlayer(OBJECTIVE_VEHICLE_BLUE,playerid,1,0);
SetPlayerCheckpoint(playerid,834.8496,-2053.5127,15,10.0);
GameTextForPlayer(playerid,
"Catch ~g~FARMERS ~w~Teams's ~r~Money Truck",
6000,5);
}
if(X1[playerid] == 0) {}
else
{
SetPlayerPos(playerid,X1[playerid],Y1[playerid],Z1[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;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(GetPlayerState(killerid) == 2)
{
new name[24],name1[24];
new string1[150];
GetPlayerName(killerid,name,24);
GetPlayerName(playerid,name1,24);
SetPlayerHealth(killerid,0);
format(string1,sizeof(string1), "%s drivebyed %s",name,name1);
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerAdmin(i))
{
SendClientMessage(i,COLOR_PINK,string1);
return 0;
}
GetPlayerPos(playerid,X1[playerid],Y1[playerid],Z1[playerid]);
}
else
{
X1[playerid] = 0;
Y1[playerid] = 0;
Z1[playerid] = 0;
}
if (killerid == INVALID_PLAYER_ID)
{
}
else
{
if (gTeam[killerid] != gTeam[playerid])
{
// Valid kill
GivePlayerMoney(killerid, 10000);
exp[killerid] ++;
SetPlayerScore(killerid, exp[killerid]);
new Kzone = IsInZone(killerid);
new Vzone = IsInZone(playerid);
if ((Kzone!=-1)&&(Kzone==Vzone)&&(gTeam[killerid]!=ZoneOwner[Kzone])&&(UnderAttack[Kzone]==0))
{
UnderAttack[Kzone]=gTeam[killerid];
for (new i=0;i<MAX_PLAYERS;i++)
{
if (gTeam[i]==gTeam[killerid])
{
GameTextForPlayer(i,"ATACK!",5000,5);
SendClientMessage(i,COLOR_BRIGHTRED,"FIRST GANG WHICH WILL KILL 10 ENEMIES IN AREA.WILL WIN!");
GangZoneFlashForPlayer(i,Kzone,COLOR_BRIGHTRED);
}
if (gTeam[i]==ZoneOwner[Kzone])
{
GameTextForPlayer(i,"YOU ARE ATACKED!",5000,5);
SendClientMessage(i,COLOR_BRIGHTRED,"FIRST GANG WHICH WILL KILL 10 ENEMIES IN AREA.WILL WIN!");
GangZoneFlashForPlayer(i,Kzone,COLOR_BRIGHTRED);
}
}
}
if (UnderAttack[Kzone]>0)
{
if ((UnderAttack[Kzone]==gTeam[killerid])||(gTeam[playerid]==ZoneOwner[Kzone]))
{
KillCount[gTeam[killerid]][Kzone]++;
if (KillCount[gTeam[killerid]][Kzone]==10)
{
UnderAttack[Kzone]=-1;
SetTimerEx("unsafe",300000,0,"d",Kzone);
KillCount[gTeam[killerid]][Kzone]=0;
KillCount[gTeam[playerid]][Kzone]=0;
new color=getColor(killerid);
GangZoneShowForAll(Kzone,color);
for (new i=0;i<MAX_PLAYERS;i++)
{
if (gTeam[i]==gTeam[killerid])
{
GameTextForPlayer(i,"WE TOOK THAT SHIT!",5000,5);
SendClientMessage(i,COLOR_BRIGHTRED,"ZONE WILL BE SAFE FOR 5 MINUTES.");
GangZoneStopFlashForPlayer(i,Kzone);
}
if (gTeam[i]==ZoneOwner[Kzone])
{
GameTextForPlayer(i,"WE LOST OUR HOOD!",5000,5);
SendClientMessage(i,COLOR_BRIGHTRED,"YOU HAVE TO WAIT FOR 5 MINUTES BEFORE ATTACKING.");
GangZoneStopFlashForPlayer(i,Kzone);
}
}
}
else
{
new kill =10 - KillCount[gTeam[killerid]][Kzone];
format(TEXT,sizeof(TEXT),"We still have to kill %d enemies",kill);
SendClientMessage(killerid,COLOR_BRIGHTRED,TEXT);
}
}
}
}
else
{
//Team Killer!
new warning[256];
format(warning, sizeof(warning), "You just team killed HAUR!");
SendClientMessage(killerid, 0xFFFF00AA, warning);
GivePlayerMoney(killerid, -10000);
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
}
}
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
if(strcmp(text[0],"@",true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerAdmin(i))
{
new string1[150];
new name[24];
GetPlayerName(playerid,name,24);
format(string1,sizeof(string1), "[AChat]%s: %s",name,text[1]);
SendClientMessage(i,COLOR_PINK,string1);
return 0;
}
}
}
return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new weaponid;
new idx;
cmd = strtok(cmdtext, idx);
if (strcmp(cmdtext, "/rules", true)==0)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "--------------------------------Server Commands--------------------------------");
SendClientMessage(playerid, COLOR_ORANGE, "**/admins | Beta stages please report any bugs you might see.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "--------------------------------Server Rules--------------------------------");
SendClientMessage(playerid, COLOR_BRIGHTRED, "**Two shot is allowed.");
SendClientMessage(playerid, COLOR_ORANGE, "**No drive by shooting.");
SendClientMessage(playerid, COLOR_ORANGE, "**No mods allowed. It can effect gameplay.");
SendClientMessage(playerid, COLOR_ORANGE, "**No hacks/cheats allowed. Instant Ban!");
SendClientMessage(playerid, COLOR_BRIGHTRED, "** Have fun on the server!");
return 1;
}
if(strcmp(cmd, "/buyweapon", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /buyweapon [weapon number]");
return 1;
}
weaponid = strval(tmp);
if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
SendClientMessage(playerid, COLOR_YELLOW, "You need to be in an Ammunation to purchase weapons.");
return 1;
}
if(GetPlayerMoney(playerid) < spawnWeapons[weaponid][2]) {
SendClientMessage(playerid, COLOR_RED, "You don't have enough money!");
return 1;
}
if(weaponid < 0 || weaponid > MAX_SPAWNWEAPONS-1){
SendClientMessage(playerid, COLOR_RED, "Invalid weapon number.");
return 1;
}
new string[255];
format (string, sizeof(string), "You purchased 1 %s for when you spawn.",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;
}
//--------------------------------------------
new visitorstr[256];
new sendername[24],giveplayer[24];
if (strcmp(cmdtext, "/users", true)==1)
{
format(visitorstr, sizeof(visitorstr), "This server today had %d users until last restart", Visitors);
SendClientMessage(playerid, COLOR_GREEN, visitorstr);
return 1;
}
if (strcmp(cmdtext, "/resetvisitors", true) == 0) {
if(IsPlayerAdmin(playerid) == 1) {
Visitors = 0;
}
else {
SendClientMessage(playerid, COLOR_RED, "You are not permitted to reset the visitors counter");
}
return 1;
}
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;
}
new giveplayerid;
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;
}
//Create Gang//
if(gangcmd==1) {
if(playerGang[playerid]>0) {
SendClientMessage(playerid, COLOR_RED, "You are already in a gang!");
return 1;
}
new string[255];
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),"You have created the gang '%s' (id: %d)", gangNames[i], i);
SendClientMessage(playerid, COLOR_GREEN, string);
playerGang[playerid]=i;
return 1;
}
}
return 1;
//Join Gang//
} else if (gangcmd==3) {
gangnum = gangInvite[playerid];
if(playerGang[playerid]>0) {
SendClientMessage(playerid, COLOR_RED, "You are already in a gang!");
return 1;
}
if(gangInvite[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, "You have not been invited to a gang.");
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;
new string[255];
GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
for(new j = 0; j < gangInfo[gangnum][1]; j++) {
format(string, sizeof(string),"%s has joined your gang.", sendername);
SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
}
gangInfo[gangnum][1]++;
playerGang[playerid] = gangnum;
SetPlayerColor(playerid,gangInfo[gangnum][2]);
format(string, sizeof(string),"You have joined the gang '%s' (id: %d)", gangNames[gangnum], gangnum);
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
SendClientMessage(playerid, COLOR_RED, "That gang is full.");
return 1;
//Invite to Gang//
} else if (gangcmd==2) {
giveplayerid = strval(tmp);
if(playerGang[playerid]==0) {
SendClientMessage(playerid, COLOR_RED, "You are not in a gang!");
return 1;
}
new string[255];
if(IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string),"You have sent a gang invite to %s.", giveplayer);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string),"You have recieved a gang invite from %s to '%s' (id: %d)", sendername, gangNames[playerGang[playerid]],playerGang[playerid]);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
gangInvite[giveplayerid]=playerGang[playerid];
} else
SendClientMessage(playerid, COLOR_RED, "No such player exists!");
} else if (gangcmd==4) {
PlayerLeaveGang(playerid);
}
return 1;
}
//------------------- /ganginfo
if(strcmp(cmd, "/ganginfo", true) == 0) {
new tmp[256];
new string[255];
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
if(strcmp(cmd, "/gangs", true) == 0)
{
new x;
new string[255];
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;
}
if (strcmp(cmdtext, "/report") == 0)
{
new string[255];
new playername[24];
if (strlen(cmdtext) > 8)
{
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "Report from %s(%d): %s", playername, playerid, cmdtext[8]);
SendMessageToAdmins(string);
format(string, sizeof(string), "Report sent to currently online admins.");
SendMessage(playerid, string);
}
else {
format(string, sizeof(string), "Usage: /report <text to send>");
SendMessage(playerid, string);
}
return 1;
}
if(strcmp(cmd, "/drop", true) == 0 && IsPlayerAdmin(playerid) == 1)
{
new Float:x2,Float:y2,Float:z2,string[80],name[24];
cmd = strtok(cmdtext,idx);
if(!strlen(cmd)) return SendClientMessage(playerid,COLOR_GREY,"Sintax: /drop [id]");
if(!IsNumeric(cmd)) return SendClientMessage(playerid,COLOR_RED,"Enter numbers only please!");
GetPlayerPos(strval(cmd),x2,y2,z2);
SetPlayerPos(strval(cmd),x2,y2,z2+10);
GetPlayerName(strval(cmd),name,24);
format(string,sizeof(string),"You dropped %s from 10 feet.",name);
SendClientMessage(playerid,COLOR_GREEN,string);
return 1;
}
new string[256];
if (strcmp(cmdtext, "/buylevel", true) == 0) {
if(level[playerid] >= 1) {
if(XP[playerid] == 4) {
GivePlayerMoney(playerid, -50000);
level[playerid] ++;
XP[playerid] = 0;
GameTextForPlayer(playerid, "~g~You leveled up!", 5000, 5);
}
}
if(level[playerid] == 1) {
if(XP[playerid] < 4) {
format(string, sizeof(string), "you need 4 XP, you currently have %d", XP[playerid]);
SendClientMessage(playerid, COLOR_RED, string);
}
}
if(level[playerid] == 2) {
if(XP[playerid] >= 7) {
GivePlayerMoney(playerid, -75000);
level[playerid] ++;
XP[playerid] = 0;
GameTextForPlayer(playerid, "~g~You leveled up!", 5000, 5);
}
}
if(level[playerid] == 2) {
if(XP[playerid] < 7) {
format(string, sizeof(string), "you need 7 XP, you currently have %d", XP[playerid]);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
if (strcmp(cmdtext, "/morexp", true) == 0) {
XP[playerid] ++;
format(string, sizeof(string), "you gained XP, your XP is now %d", XP[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
//---------------------------
if (strcmp(cmdtext, "/level", true) == 0)
{
format(string, sizeof(string), "Level: %d, XP: %d", level[playerid], XP[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
//----------------------------------------
if (strcmp(cmdtext, "/lock", true)==0)
{
if (IsPlayerInAnyVehicle(playerid))
{
new State=GetPlayerState(playerid);
if (State!=PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,0xFFFF00AA,"You can Lock car Only While In Car.");
return 1;
}
new i;
for (i=0;i<MAX_PLAYERS;i++)
{
if(i != playerid)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
SendClientMessage(playerid, 0xFFFF00AA, "Car Locked!");
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
PlayerPlaySound(playerid,1056,pX,pY,pZ);
}
else
{
SendClientMessage(playerid, 0xFFFF00AA, "You Are Not In Car!");
}
return 1;
}
if (strcmp(cmdtext,"/zwh",true)==0)
GameTextForAll(
"z e r u e l w a s h e r e",10000,5);
if (strcmp(cmdtext, "/unlock", true)==0)
{
if (IsPlayerInAnyVehicle(playerid))
{
new State=GetPlayerState(playerid);
if (State!=PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,0xFFFF00AA,"You Can Unlock Door While Being Only An Driver.");
return 1;
}
new i;
for (i=0;i<MAX_PLAYERS;i++)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
}
SendClientMessage(playerid, 0xFFFF00AA, "Car Locked!");
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
PlayerPlaySound(playerid,1057,pX,pY,pZ);
}
else
{
SendClientMessage(playerid, 0xFFFF00AA, "You Are Not In Car!");
}
return 1;
}
if (strcmp(cmdtext, "/purchase", true)==0) // to set the vehicle that you register to be teleported
{
if (GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_YELLOW,"You dont have cash to buy an car.");
}
else
{
if (IsPlayerInAnyVehicle(playerid) == 1)
{
SetVehicleToRespawn(ownedcar[playerid]);
ownedcar[playerid] = GetPlayerVehicleID(playerid);
owner[ownedcar[playerid]] = playerid;
SendClientMessage(playerid,COLOR_YELLOW,"Congratulations.You Have New Car.");
GivePlayerMoney(playerid,-15000);
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,"You Have To Be In Car To Buy It.");
}
}
return 1;
}
if (strcmp(cmdtext, "/callmycar", true)==0)
{
if (ownedcar[playerid] != 0)
{
if (GetPlayerMoney(playerid) < 500)
{
SendClientMessage(playerid,COLOR_RED,"You Dont Have Cash For It .You Need 500$.");
}
else
{
new Float:playerpos[4];
GetPlayerPos(playerid,playerpos[0],playerpos[1],playerpos[2]);
GetPlayerFacingAngle(playerid,playerpos[3]);
SetVehicleZAngle(ownedcar[playerid],playerpos[3]+90.0);
SetVehiclePos(ownedcar[playerid],playerpos[0]+3.0*floatsin(playerpos[3],degrees),playerpos[1]+3.0*floatcos(playerpos[3],degrees),playerpos[2]+0.5); // This one is cool that I am using trigo functions to set the vehicle just before you. //Z E R U E L A N G E L!
SendClientMessage(playerid,COLOR_GREEN,"Heres Your Car.");
GivePlayerMoney(playerid,-500);
}
}
return 1;
}
return 0;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid;
if(newstate == PLAYER_STATE_DRIVER)
{
vehicleid = GetPlayerVehicleID(playerid);
if(gTeam[playerid] == TEAM_Mafia && vehicleid == OBJECTIVE_VEHICLE_BLUE)
{ // It's the objective vehicle
SetPlayerColor(playerid,OBJECTIVE_COLOR);
GameTextForPlayer(playerid,"~w~Take The ~r~Money Truck ~w~back To Place!",3000,5);
gObjectiveBluePlayer = playerid;
}
}
else if(newstate == PLAYER_STATE_ONFOOT)
{
if(playerid == gObjectiveBluePlayer) {
gObjectiveBluePlayer = (-1);
}
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
new playervehicleid = GetPlayerVehicleID(playerid);
switch(getCheckpointType(playerid))
{
case CP_AMMU: {
SendClientMessage(playerid, COLOR_GREEN, "You can purchase weapons here so that you have them every");
SendClientMessage(playerid, COLOR_GREEN, "time you spawn. You can purchase more than once for more ammo.");
SendClientMessage(playerid, COLOR_YELLOW, "Type /buyweapon [weapon number]");
}
}
if(gObjectiveReached) return 1;
if(playervehicleid == OBJECTIVE_VEHICLE_BLUE && gTeam[playerid] == TEAM_Mafia)
{ // Blue OBJECTIVE REACHED.
GameTextForAll("~b~Mafia ~w~wins!",3000,5);
gObjectiveReached = 3;
SetPlayerScore(playerid,GetPlayerScore(playerid)+5);
SetTimer("ExitTheGameMode", 4000, 0); // Set up a timer to exit this mode.
return 1;
}
return 1;
}
IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}
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;
}
}
}
}
}
}
GetRandomWeather(weather, ...) {
new random_weather = weather, count = 0, len = numargs() - 1;
if(len > 0) {
do {
random_weather = getarg(random(len*1000)/1000);
count++;
} while(random_weather == weather && count < 10); // try up to 10 times to get a random weather
}
return random_weather;
}
GetSequencedWeather(hour) {
static weather = 10;
switch(weather) { // only normal weather changes are possible, eg clouds before rain and no sandstorm after rain
case 0 .. 7, 10: { // blue skies/clouds
switch(hour) {
case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,11,17,18,20,27,28,29,35,36,37,38,39);
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,20);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15,20,27,28,29);
}
}
case 8: { // stormy
weather = GetRandomWeather(weather,8,9,16,20,21,22,30,31,32,33);
}
case 9: { // cloudy and foggy
switch(hour) {
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,20);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,20,27,28,29,30,31,32,33);
}
}
case 11, 17, 18: { // scorching hot/bright
switch(hour) {
case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,11,17,18,20,27,28,29,35,26,37,38,39);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,20);
}
}
case 12 .. 15: { // very dull, colorless, hazy
switch(hour) {
case 16 .. 19: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,16,20,21,22,33,35);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,16,20);
}
}
case 16: { // dull, cloudy, rainy
weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,16,20,33,35);
}
case 19: { // sandstorm
weather = GetRandomWeather(weather,8,16);
}
case 20: { // foggy/greenish
weather = GetRandomWeather(weather,9,16,20,21,22);
}
case 21, 22: { // very dark, gradiented skyline, purple/green
weather = GetRandomWeather(weather,8,16,20,21,22);
}
case 23 .. 26: { // variations of pale orange
switch(hour) {
case 7 .. 11, 16 .. 20: GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,20,23,24,25,26,27,28,29,35,36,37,38);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,20);
}
}
case 27 .. 29: { // variations of fresh blue
switch(hour) {
case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,11,17,18,20,27,28,29,35,36,37,38,39);
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,20);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15,20);
}
}
case 30 .. 32: { // variations of dark, cloudy, teal
weather = GetRandomWeather(weather,8,9,16,20,21,22);
}
case 33: { // dark, cloudy, brown
switch(hour) {
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,16,20);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,16,20);
}
}
case 34: { // blue/purple, regular
weather = GetRandomWeather(weather,16,20,21,22);
}
case 35: { // dull brown
switch(hour) {
case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,11,17,18,35,36,37,38);
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,23,24);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15);
}
}
case 36 .. 38: { // bright, foggy, orange
switch(hour) {
case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,11,17,18);
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,23,24);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9);
}
}
case 39: { // extremely bright
switch(hour) {
case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,10,11,17,18,27,28,29,39);
case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,10);
default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,10);
}
}
case 40 .. 42: { // blue/purple cloudy
weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,16,20);
}
case 43: { // dark toxic clouds
weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7);
}
case 44: { // black/white sky
weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15);
}
case 45: { // black/purple sky
weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15);
}
default: {
weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15);
}
}
return weather;
}
public Timer_DayHeartbeat() {
static hour = 0;
SetWorldTime(hour);
if(!(hour % 3)) SetWeather(GetSequencedWeather(hour));
hour++, hour %= 24;
}
public PayDay()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
GameTextForPlayer(i, "~w~PAY~y~DAY ~n~ ~n~ ~b~200 $", 1000, 1);
GivePlayerMoney(i, 200);
}
}
}
public TimeFunction(playerid)
{
if(gHour < 24) {
if(gMinute < 60) {
gMinute ++;
if(gMinute == 60) {
gMinute = 0;
gHour ++;
if(gHour == 17) {
XP[playerid] ++;
}
}
}
}
else if(gHour == 24) {
gHour = 0;
}
SetWorldTime(gHour);
return 1;
}
public post_winners(winnerid)
{
new i;
//paralize all
for(i = 0; i < MAX_PLAYERS ; i++)
if(IsPlayerConnected(i) && !IsPlayerAdmin(i))
TogglePlayerControllable(i,0);
new string[256];
new winners[3]; //3 first players' ids
winners[0] = winnerid; //first place
winners[1] = 255; //second place
winners[2] = 255; //third place
printf("1. %d 2. %d 3. %d", winners[0], winners[1], winners[2]);
new winames[3][MAX_PLAYER_NAME]; //names of the winners
GetPlayerName(winners[0], winames[0], MAX_PLAYER_NAME); //winner name
new x = -100;
for(i = 0; i < MAX_PLAYERS ; i++) //finding 2nd place.
{
if (IsPlayerConnected(i) && GetPlayerScore(i) > x && i != winners[0])
{
x = GetPlayerScore(i);
winners[1] = i;
}
}
if(winners[1] != 255) GetPlayerName(winners[1], winames[1], MAX_PLAYER_NAME); //if found 2nd place, get his name
else winames[1] = "---"; //if not, just write ---
x = -100;
for(i = 0; i < MAX_PLAYERS ; i++) //finding 3rd place.
{
if (IsPlayerConnected(i) && GetPlayerScore(i) > x && i != winners[0] && i != winners[1])
{
x = GetPlayerScore(i);
winners[2] = i;
}
}
if(winners[2] != 255) GetPlayerName(winners[2], winames[2], MAX_PLAYER_NAME); //if found 3rd place, get his name
else winames[2] = "---"; //if not, just write ---
format(string, sizeof(string),"~w~1. ~b~%s ~y~(%d)~n~~w~2. ~b~%s ~y~(%d)~n~~w~3. ~b~%s ~y~(%d)~n~", winames[0], GetPlayerScore(winners[0]), winames[1], GetPlayerScore(winners[1]), winames[2],GetPlayerScore(winners[2]));
GameTextForAll(string,16000,3);
SetTimer("GameModeExitFunc", 15000, 0);
}
public RandomMessages()
{
new message = random(5);
if(message == 0) SendClientMessageToAll(COLOR_GREEN, "Visit www.uvhclan.com - Now recruiting!");
if(message == 1) SendClientMessageToAll(COLOR_GREEN, "Visit the [W]arriors site! www.warriorsgang.com");
if(message == 2) SendClientMessageToAll(COLOR_GREEN, "Check out www.ls-tdm.co.nr community");
if(message == 3) SendClientMessageToAll(COLOR_GREEN, "Suspect a cheater? Use /report <ID> <Reason> to report them!");
/* Tutorial for adding another message is below.
Change Add plus how many messages you are adding to random(5) above
and do if(message == 4) SendClientMessageToAll(......)
Example:
new message = random(6); added + 1 because i'm adding 1 more message
adding 1 to the if check because i'm adding 1 more message
if(message == 3) SendClientMessageToAll(COLOR_GREEN, "message 5");
*/
return 1;
}
SendMessageToAdmins(const str[])
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i)) {
if (IsPlayerAdmin(i)) {
SendClientMessage(i, 0xFF9900AA, str);
}
}
}
}
SendMessage(playerid, const str[])
{
SendClientMessage(playerid, 0xFF9900AA, str);
}