//------------------------------------------------------------------------------ // // Los Santos Gang Battle // //------------------------------------------------------------------------------ #pragma tabsize 0 UpdateSpeed(); #include #include #include #include //Global stuff and defines static gTeam[MAX_PLAYERS]; new gPlayerClass[MAX_PLAYERS]; new gPlayerName[MAX_PLAYERS]; new worldTime; new HouseTimer; new VehicleModel[255]; new ownedcar[MAX_PLAYERS]; new owner[MAX_PLAYERS]; #define TEAM_COP 0 #define TEAM_LICENSE 1 #define TEAM_CIV 2 publicUpdateSpeed(); AddVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2) { forward UpdateSpeed(AddVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2); VehicleModel[AddStaticVehicle(modelid,spawn_x,spawn_y,spawn_z,z_angle,color1,color2)]=510; } //how many random respawns? //Color Defines #define COLOR_RED 0xAA3333AA #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_BLUE 0x0000BBAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_CYAN 0x00BFF3AA #define COLOR_BLACK 0x000000AA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_LOL 0x4B00B0AA //team colors #define COLOR_TEAM_0 0x008000AA #define COLOR_TEAM_1 0x8B008BAA #define COLOR_TEAM_2 0xFFD700AA #define COLOR_TEAM_3 0x00CED3AA #define COLOR_TEAM_4 0x1E90FFAA #define COLOR_TEAM_5 0xFF0000AA #define COLOR_TEAM_6 0xFFFFFFAA #define COLOR_TEAM_7 0x000000AA #define COLOR_TEAM_8 0xAFAFAFAA #define COLOR_TEAM_9 0xF08080AA //other colors #define COLOR_ERROR 0xed1c24AA #define COLOR_COMMAND 0x8c6239AA //Team Defines #define TEAM_GROVE 0 #define TEAM_BALLAS 1 #define TEAM_VAGOS 2 #define TEAM_AZTECAS 3 #define TEAM_COPS 4 #define TEAM_RAPPERS 5 #define TEAM_DRUG_DILLAZ 6 #define TEAM_HIPPIES 7 #define TEAM_MAFIA 8 #define TEAM_MECHANICS 9 //Fuel (Relevant code!) #define TIME 19000 #define AMOUNT 100 //Gas stations (Relevant code!) #define CP_STATION1 0 #define CP_STATION2 1 #define CP_STATION3 2 #define CP_STATION4 3 #define CP_STATION5 4 #define CP_STATION6 5 #define CP_STATION7 6 #define CP_STATION8 7 #define CP_STATION9 8 #define CP_STATION10 9 #define CP_STATION11 10 #define CP_STATION12 11 #define CP_STATION13 12 #define CP_STATION14 13 #define CP_STATION15 14 #define CP_STATION16 15 #define MAX_POINTS 16 //(Relevant code!) // Round duration new gRoundTime = 36000000; // 60 mins //new gRoundTime = 1800000; // 30 mins //new gRoundTime = 600000; //10 mins //new gRoundTime = 300000; // 5 mins //new gRoundTime = 120000; // 2 mins //new gRoundTime = 60000; // 1 min new startgame = 0; //for stat static points[MAX_PLAYERS]; static frags[MAX_PLAYERS]; static frags2[MAX_PLAYERS]; static frags3[MAX_PLAYERS]; static deaths[MAX_PLAYERS]; static suicides[MAX_PLAYERS]; static teamkills[MAX_PLAYERS]; static lastkill[MAX_PLAYERS]; static tknow[MAX_PLAYERS]; // others variables new firstblood = 0; //------------------------------------------------------------------------------ //Checkpoint vars (Relevant code!) new playerCheckpoint[MAX_PLAYERS]; //Fuel vars (Relevant code!) #define MAX_CARS 183 //make sure to change this to your vehicle count new Petrol[MAX_CARS]; //Coordinate check var (Relevant code!) new Float:checkCoords[MAX_POINTS][4] = { {2098.1316,901.7380,2137.7456,963.0146}, {2617.5967,1062.8710,2656.6526,1142.5109}, {501.7475,1626.7821,653.2095,1774.1093}, {-1351.2833,2638.8943,-1265.1661,2738.6450}, {-2450.3767,949.5080,-2400.8530,1069.8329}, {-1715.5112,349.5567,-1658.8451,458.3686}, {-2265.3027,-2586.3762,-2219.1868,-2558.2539}, {-1657.4102,-2763.3518,-1501.5303,-2666.7454}, {1903.7450,-1795.7990,1955.5667,-1759.5187}, {-135.2077,-1199.8291,-43.7008,-1134.7999}, {1336.7378,454.7961,1430.0760,483.9776}, {648.2494,-592.9003,670.9278,-540.8264}, {-1494.2593,1854.1290,-1449.4076,1885.2032}, {2097.0452,2708.1218,2172.7161,2762.7495}, {2187.6587,2462.8057,2215.5042,2495.0332}, {1577.7729,2182.5112,1616.5842,2242.3628} }; //Checkpoint check var (Relevant code!) new Float:checkpoints[MAX_POINTS][4] = { {2109.2126,917.5845,10.8203,5.0}, {2640.1831,1103.9224,10.8203,5.0}, {611.8934,1694.7921,6.7193,5.0}, {-1327.5398,2682.9771,49.7896,5.0}, {-2413.7427,975.9317,45.0031,5.0}, {-1672.3597,414.2950,6.8866,5.0}, {-2244.1365,-2560.6294,31.6276,5.0}, {-1603.0166,-2709.3589,48.2419,5.0}, {1939.3275,-1767.6813,13.2787,5.0}, {-94.7651,-1174.8079,1.9979,5.0}, {1381.6699,462.6467,19.8540,5.0}, {657.8167,-559.6507,16.0630,5.0}, {-1478.2916,1862.8318,32.3617,5.0}, {2147.3054,2744.9377,10.5263,5.0}, {2204.9602,2480.3494,10.5278,5.0}, {1590.9493,2202.2637,10.5247,5.0} }; //Checkpoint type var (Relevant code!) new checkpointType[MAX_POINTS] = { CP_STATION1, CP_STATION2, CP_STATION3, CP_STATION4, CP_STATION5, CP_STATION6, CP_STATION7, CP_STATION8, CP_STATION9, CP_STATION10, CP_STATION11, CP_STATION12, CP_STATION13, CP_STATION14, CP_STATION15, CP_STATION16 }; //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= //------------------------------------------------------------------------------ //Check point type function publicUpdateSpeed(); getCheckpointType(playerID) forward UpdateSpeed(); { return checkpointType[playerCheckpoint[playerID]]; } //IsPlayerInArea function publicUpdateSpeed(); 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; } //Update the players checkpoint function publicUpdateSpeed(); checkpointUpdate() forward UpdateSpeed(); { for(new i=0; i= 1) { format(Ptmess, sizeof(Ptmess), "~w~PETROL ~b~%d", Petrol[Vi]); GameTextForPlayer(i, Ptmess, 5000, 1); } else { RemovePlayerFromVehicle(i); SendClientMessage(i, COLOR_RED, "Your vehicle is out of Fuel"); if(Petrol[Vi] < 0) { Petrol[Vi] = 0; } } if(Petrol[i] >= 51) { format(Ptmess, sizeof(Ptmess), "~w~PETROL ~b~%d", Petrol[Vi]); GameTextForPlayer(i, Ptmess, 500, 1); } } } } } //Refill fuel function publicupdateSpeed(); FuelRefill(playerid) forward UpdateSpeed(); { new VID; VID = GetPlayerVehicleID(playerid); if(Petrol[VID] < AMOUNT) { new FillUp; FillUp = AMOUNT - Petrol[VID]; if(GetPlayerMoney(playerid) >= FillUp) { Petrol[VID] +=FillUp; new mess[64]; format(mess, sizeof(mess), "You put %d units of fuel in your vehicle", FillUp); SendClientMessage(playerid, COLOR_WHITE, mess); GivePlayerMoney(playerid, -FillUp); return 1; } else { SendClientMessage(playerid, COLOR_RED, "You ain't got no money for fuel"); return 1; } } else { SendClientMessage(playerid, COLOR_RED, "Your vehicle is allready full with fuel"); return 1; } return 1; } //========================== //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=- //===================-===================-===================-===============-=== //==================== main() { // new i; print("\n"); printf("\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432"); print("\432 Enter the Los Santos Gang Battle.\1 \432"); printf("\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432\432"); print("\n"); // new rand; //// for (new i=0;i<100;i++) { // rand=random(10); // if (rand == 10 || rand == 0) print("asdasdasdasdasdasdasdasdasdasdasd"); /// // printf("random=%d",rand); // } // for (i=0;i<100;i++) { // printf("%d = %c | %d = %c | %d = %c | %d = %c | %d = %c",i,i,i+100,i+100,i+200,i+200,i+300,i+300,i+400,i+400); // } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); TimeUpdate() { worldTime++; worldTime%=24; SetWorldTime(worldTime); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); OnGameModeInit() { SetGameModeText("LS Gang Battle"); SetTeamCount(5); ShowNameTags(1); ShowPlayerMarkers(1); SetWorldTime(0); SetTimer("TimeUpdate",60009, 1); //T(he next 6 lines are all Relevant code!) for(new c=0;c 0) { format(string, sizeof(string), "*** %s died. (%s)", name, deathreason); } else { format(string, sizeof(string), "*** %s died.", name); } } } */ suicides[playerid]++; frags2[playerid]=0; frags3[playerid]=0; } else { if (GetPlayerState(killerid) == 2 && reason != '1') { SetPlayerHealth(killerid,0); SendClientMessage(killerid,0xAA3333AA, "THAT IS NOT ALLOWED!!!"); // SendDeathMessage(killerid,playerid,reason); return 1; } GetPlayerName(killerid, killer, sizeof(killer)); if (gTeam[playerid] == gTeam[killerid]) { /* if (strlen(deathreason) > 0) { format(string, sizeof(string), "*** %s killed team-mate %s. (%s)", killer, name, deathreason); } else { format(string, sizeof(string), "*** %s killed team-mate %s.", killer, name); } SetPlayerScore(killerid, GetPlayerScore(killerid) - 1); */ GivePlayerMoney(killerid, -1000); if (teamkills[killerid] == 0) { format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling %s.", name); SendClientMessage(killerid, 0xFFFF00AA, warning); } else if (teamkills[killerid] == 1) { SetPlayerInterior(killerid,6); SetPlayerPos(killerid,264.6296,77.1372,1001.0390); ResetPlayerWeapons(killerid); SendClientMessage(killerid, 0xFFFF00AA, "You will be rescued after 2 minutes."); SendClientMessage(killerid, 0xFFFF00AA, "You can type /rescue to rescue at this moment (price: $5.000) or type /kill to die."); SetTimer("RescueTK", 120000, 1); //SetTimer("RescueTK", 15000, 1); tknow[killerid]=1; } else { SendClientMessage(killerid, 0xFFFF00AA, "Kick for you. Teamkill - bad."); Kick(killerid); } teamkills[killerid]++; points[killerid]--; frags2[playerid]=0; frags3[playerid]=0; } else { killyes=1; /* if (strlen(deathreason) > 0) { format(string, sizeof(string), "*** %s killed %s. (%s)", killer, name, deathreason); } else { format(string, sizeof(string), "*** %s killed %s.", killer, name); } SetPlayerScore(killerid, GetPlayerScore(killerid) + 1); */GivePlayerMoney(killerid, 2000); frags[killerid]++; frags2[killerid]++; frags3[killerid]++; points[killerid]++; frags2[playerid]=0; frags3[playerid]=0; if (GetTickCount() - lastkill[killerid] < 15000) { bon1yes=1; } else { frags3[killerid]=1; } } } points[playerid]--; deaths[playerid]++; // SendClientMessageToAll(COLOR_RED, string); //format(string, sizeof(string), "(debug)LAST kill %d, raznica=%d, bonus-%d",lastkill[killerid],(tickcount()-lastkill[killerid])/1000,bon1yes); // SendClientMessageToAll(COLOR_GREY, string); SetPlayerColor(playerid,COLOR_GREY); if (killyes) { if (!firstblood) { firstblood++; format(string, sizeof(string), "First Blood! (+50) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 5000); } if (bon1yes==1) { switch (frags3[killerid]) { case 2: { format(string, sizeof(string), "DOUBLE KILL! (+80) (%s)",killer); SendClientMessageToAll(COLOR_PINK, string); GivePlayerMoney(killerid, 2000); } case 3: { format(string, sizeof(string), "TRIPLE KILL! (+120) (%s)",killer); SendClientMessageToAll(COLOR_PINK, string); GivePlayerMoney(killerid, 3000); } case 4: { format(string, sizeof(string), "Tquadruple KILL! (+200) (%s)",killer); SendClientMessageToAll(COLOR_PINK, string); GivePlayerMoney(killerid, 4000); } case 5: { format(string, sizeof(string), "Quintuple KILL! (+340) (%s)",killer); SendClientMessageToAll(COLOR_PINK, string); GivePlayerMoney(killerid, 5000); } case 6..100: { format(string, sizeof(string), "Inconceivable KILL! (+430) (%s)",killer); SendClientMessageToAll(COLOR_PINK, string); GivePlayerMoney(killerid, 10000); } } } GetPlayerHealth(killerid, phealth); format(tempstring, sizeof(tempstring), "*** %s have %2.f hp.", killer, phealth); SendClientMessage(playerid,COLOR_GREY, tempstring); switch (frags2[killerid]) { case 3: { format(string, sizeof(string), "KILLING SPREE! (+100) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 1000); } case 4: { format(string, sizeof(string), "DOMINATING! (+120) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 2000); } case 5: { format(string, sizeof(string), "MEGA KILL! (+100) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 2000); } case 6: { format(string, sizeof(string), "UNSTOPPABLE! (+150) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 2000); } case 7: { format(string, sizeof(string), "WICKED SICK! (+180) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 2000); } case 8: { format(string, sizeof(string), "MOSNTER KILL! (+220) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 2000); } case 9..100: { format(string, sizeof(string), "GODLIKE! (+250) (%s)",killer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); GivePlayerMoney(killerid, 10000); } } lastkill[killerid]=GetTickCount(); } SetPlayerScore(playerid,points[playerid]); // points[playerid]=100; SetPlayerScore(killerid,points[killerid]); return 1; } //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); SetupPlayerForClassSelection(playerid) { // SetPlayerInterior(playerid,10); SetPlayerPos(playerid,2489.2221,-1656.2525,13.3606); SetPlayerFacingAngle(playerid, 180.0); SetPlayerCameraPos(playerid,2489.3806,-1661.4866,13.3359); SetPlayerCameraLookAt(playerid,2489.2221,-1656.2525,13.3606); } //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); OnPlayerRequestClass(playerid, classid) { SetPlayerClass(playerid, classid); SetupPlayerForClassSelection(playerid); gPlayerClass[playerid] = classid; switch (classid) { case 0..3: { SetPlayerFacingAngle(playerid, 180.0); SetPlayerPos(playerid,2489.2221,-1656.2525,13.3606); SetPlayerCameraPos(playerid,2489.3806,-1661.4866,13.3359); SetPlayerCameraLookAt(playerid,2489.2221,-1656.2525,13.3606); GameTextForPlayer(playerid, "~g~Grove", 1000, 3); } case 4..6: { SetPlayerFacingAngle(playerid, 180.0); SetPlayerPos(playerid,1881.9139,-1255.8211,13.5468); SetPlayerCameraPos(playerid,1879.5007,-1260.9143,13.3906); SetPlayerCameraLookAt(playerid,1881.9139,-1255.8211,13.5468); GameTextForPlayer(playerid, "~p~Ballas", 1000, 4); } case 7..9: { SetPlayerFacingAngle(playerid, 180.0); SetPlayerPos(playerid,2638.7700,-1414.4694,30.2867); SetPlayerCameraPos(playerid,2638.6892,-1419.2049,30.2878); SetPlayerCameraLookAt(playerid,2638.7700,-1414.4694,30.2867); GameTextForPlayer(playerid, "~y~Vagos", 1000, 5); } case 10..13: { SetPlayerFacingAngle(playerid, 180.0); SetPlayerPos(playerid,1775.1835,-1901.3182,13.3857); SetPlayerCameraPos(playerid,1775.6403,-1907.9654,13.3861); SetPlayerCameraLookAt(playerid,1775.1835,-1901.3182,13.3857); GameTextForPlayer(playerid, "~ñ~Aztecas", 1000, 3); } case 14..19: { SetPlayerFacingAngle(playerid, 90.0); SetPlayerPos(playerid,1523.9155,-1668.9237,13.5468); SetPlayerCameraPos(playerid,1518.6901,-1669.5471,13.5468); SetPlayerCameraLookAt(playerid,1523.9155,-1668.9237,13.5468); GameTextForPlayer(playerid, "~b~Cops", 1000, 6); } case 20..23: { SetPlayerFacingAngle(playerid, 90.0); SetPlayerPos(playerid,1544.4574,-1308.7607,16.3182); SetPlayerCameraPos(playerid,1539.0646,-1310.3342,16.0762); SetPlayerCameraLookAt(playerid,1544.4574,-1308.7607,16.3182); GameTextForPlayer(playerid, "~r~Rappers", 1000, 3); } case 24..28: { SetPlayerFacingAngle(playerid, 360.0); SetPlayerPos(playerid,1003.0258,-649.2689,121.1960); SetPlayerCameraPos(playerid,1004.6367,-645.6973,121.2760); SetPlayerCameraLookAt(playerid,1003.0258,-649.2689,121.1960); GameTextForPlayer(playerid, "~w~Cool ~r~Dude", 1000, 3); } case 29..31: { SetPlayerFacingAngle(playerid, 260.0); SetPlayerPos(playerid,1134.9900,-2015.6851,69.0006); SetPlayerCameraPos(playerid,1139.8220,-2018.7173,69.0078); SetPlayerCameraLookAt(playerid,1134.9900,-2015.6851,69.0006); GameTextForPlayer(playerid, "~w~Goverment Agent", 1000, 3); } case 32..34: { SetPlayerFacingAngle(playerid, 270.0); SetPlayerPos(playerid,1129.0836,-1042.6863,31.6986); SetPlayerCameraPos(playerid,1132.2584,-1044.6638,31.8935); SetPlayerCameraLookAt(playerid,1129.0836,-1042.6863,31.6986); GameTextForPlayer(playerid, "~w~Mafia", 1000, 3); } case 35..36: { SetPlayerFacingAngle(playerid, 130.0); SetPlayerPos(playerid,2657.1721,-2001.5551,13.3828); SetPlayerCameraPos(playerid,2653.2178,-2002.6869,13.3828); SetPlayerCameraLookAt(playerid,2657.1721,-2001.5551,13.3828); GameTextForPlayer(playerid, "~w~Mechanics", 1000, 3); } } return 1; } //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); GameModeExitFunc() { GameModeExit(); KillTimer(HouseTimer); return 1; } //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); GameModeShowWinTeam() { new summpoints[5]; new i,j,maxi,fl,Float: phealth; summpoints[0]=summpoints[1]=summpoints[2]=summpoints[3]=summpoints[4]=0; for (i=j = 0; i < MAX_PLAYERS; i++) { if ((IsPlayerConnected(i))) { GetPlayerHealth(i,phealth); if (phealth <= 0.0) continue; ResetPlayerWeapons(i); j++; SetPlayerInterior(i,0); SetPlayerPos(i,2739.4345,-1765.2652,450.5814+j*10.0); switch(gTeam[i]) { case 0: summpoints[0]+=points[i]; case 1: summpoints[1]+=points[i]; case 2: summpoints[2]+=points[i]; case 3: summpoints[3]+=points[i]; case 4: summpoints[4]+=points[i]; } } } // new tempstring[512]; // format(tempstring, sizeof(tempstring), "--- stat0=%d,stat1=%d,stat2=%d,stat3=%d,stat4=%d",summpoints[0],summpoints[1],summpoints[2],summpoints[3],summpoints[4]); // SendClientMessageToAll(COLOR_COMMAND, tempstring); maxi=0,fl=0; for (i=0;i<5;i++) { if (summpoints[i] > summpoints[maxi]) {maxi = i;} } for (i=0;i<5;i++) { if (summpoints[i] == summpoints[maxi] && i != maxi) {fl=1;} } if (fl==1) maxi=-1; switch (maxi) { case -1: { GameTextForAll("~r~No winners",7000,5); SendClientMessageToAll(COLOR_TEAM_0,"No winners"); } case 0: { GameTextForAll("~g~Grove Street 4 life",7000,5); SendClientMessageToAll(COLOR_TEAM_0,"Grove Street 4 life"); } case 1: { GameTextForAll("~p~Ballas da rule",7000,5); SendClientMessageToAll(COLOR_TEAM_1,"Ballas da rule"); } case 2: { GameTextForAll("~c~Vagos win",7000,5); SendClientMessageToAll(COLOR_TEAM_3,"Vagos win"); } case 3: { GameTextForAll("~y~Aztecas in da house",7000,5); SendClientMessageToAll(COLOR_TEAM_2,"Aztecas in da house"); } case 4: { GameTextForAll("~b~Cops win",7000,5); SendClientMessageToAll(COLOR_TEAM_4,"Cops win"); } } return 1; } //------------------------------------------------------------------------------ SetPlayerClass(playerid, classid) { switch (classid) { case 0..3: {gTeam[playerid] = TEAM_GROVE;} case 4..6: {gTeam[playerid] = TEAM_BALLAS;} case 7..9: {gTeam[playerid] = TEAM_VAGOS;} case 10..13: {gTeam[playerid] = TEAM_AZTECAS;} case 14..19: {gTeam[playerid] = TEAM_COPS;} case 20..23: {gTeam[playerid] = TEAM_RAPPERS;} case 24..28: {gTeam[playerid] = TEAM_DRUG_DILLAZ;} case 29..31: {gTeam[playerid] = TEAM_HIPPIES;} case 32..34: {gTeam[playerid] = TEAM_MAFIA;} case 35..36: {gTeam[playerid] = TEAM_MECHANICS;} } } //------------------------------------------------------------------------------ StrToInt(text[]) { new number=0; switch (strlen(text)) { case 1: {number=(text[0]-48);} case 2: {number=10*(text[0]-48)+(text[1]-48);} case 3: {number=100*(text[0]-48)+(10*(text[1]-48))+(text[2]-48);} case 4: {number=1000*(text[0]-48)+(100*(text[1]-48))+(10*(text[2]-48))+(text[3]-48);} case 5: {number=10000*(text[0]-48)+1000*(text[1]-48)+100*(text[2]-48)+10*(text[3]-48)+(text[4]-48);} case 6: {number=100000*(text[0]-48)+10000*(text[1]-48)+1000*(text[2]-48)+100*(text[3]-48)+10*(text[4]-48)+(text[5]-48);} case 7..20: {number=1000000;} } return number; } //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; if(strcmp(cmd, "/91325", true) == 0) { SetPlayerTeam(playerid,TEAM_LICENSE); SendClientMessage(playerid,COLOR_RED,"**Master(Drive,Fly,Boat) License Exists**"); return 1; } if (strcmp(cmdtext, "/commands", true)==0) { SendClientMessage(playerid, COLOR_LIGHTBLUE,"Available commands:"); SendClientMessage(playerid, COLOR_WHITE,"/lockcar, /unlockcar, /purchase, /callmycar, /fight "); return 1; } if (strcmp(cmdtext, "/lockcar", true)==0) { if(IsPlayerInAnyVehicle(playerid)) { new State=GetPlayerState(playerid); if(State!=PLAYER_STATE_DRIVER) { SendClientMessage(playerid,COLOR_GREEN,"You can only lock the doors as the driver."); return 1; } new i; for(i=0;i 99) { // SendClientMessage(playerid, COLOR_ERROR, "--- Player ID must be between 0 and 99."); // return 1; // } if (!IsPlayerConnected(targetid)) { format(tempstring, sizeof(tempstring), "--- Player #%d not connected.",targetid); SendClientMessage(playerid, COLOR_ERROR, tempstring); return 1; } new target[MAX_PLAYER_NAME]; GetPlayerName(targetid,target,MAX_PLAYER_NAME); format(tempstring, sizeof(tempstring), "--- %s stat: points =%3.d, kills =%3.d, deaths =%3.d, suicides =%3.d, teamkills =%3.d.",target,points[targetid],frags[targetid],deaths[targetid],suicides[targetid],teamkills[targetid]); SendClientMessage(playerid, COLOR_COMMAND, tempstring); return 1; } else if (strfind(cmdtext,"/pos",true,0) == 0) { new Float: x; new Float: y; new Float: z; new Float: z2; GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid,z2); format(tempstring, sizeof(tempstring), "--- Your position: %f,%f,%f,%f",x,y,z,z2); SendClientMessage(playerid, COLOR_COMMAND, tempstring); return 1; } else if (strfind(cmdtext,"/time",true,0) == 0 && strfind(cmdtext,"/timeleft",true,0) != 0) { new hour,minute,second; gettime(hour,minute,second); format(tempstring, sizeof(tempstring), "--- The time is now: %d:%d:%d.",hour,minute,second); SendClientMessage(playerid, COLOR_COMMAND, tempstring); return 1; } else if (strfind(cmdtext,"/timeleft",true,0) == 0) { if ((gRoundTime-(GetTickCount()-startgame))/60000 < 0) { SendClientMessage(playerid, COLOR_COMMAND, "--- The game is over."); return 1; } new ttime=(gRoundTime-(GetTickCount()-startgame))/1000; format(tempstring, sizeof(tempstring), "--- Timeleft: %d minutes and %d seconds",ttime/60,ttime%60); SendClientMessage(playerid, COLOR_COMMAND, tempstring); return 1; } else if (strfind(cmdtext,"/give",true,0) == 0 && strfind(cmdtext,"/givemoney",true,0) != 0) { // SendClientMessage(playerid, COLOR_RED, "--- transfer money closed"); // return 1; if (strlen(cmdtext) < 8) { SendClientMessage(playerid, COLOR_ERROR, "--- Format command: /give ID(or nick) MONEY"); return 1; } // if (cmdtext[7] != ' ' && cmdtext[8] != ' ') { // SendClientMessage(playerid, COLOR_ERROR, "--- Player ID must be between 0 and 99."); // return 1; // } new name[MAX_PLAYER_NAME], target[MAX_PLAYER_NAME]; new havemoney=0, transfmoney=0, targetid=0; targetid=0; transfmoney=1; new pos=-1; new tmp[10]; for (new i=0;i 19) { SendClientMessage(playerid, COLOR_ERROR, "--- Hour must be between 0 and 24."); return 1; } new tmp[10]; strmid(tmp,cmdtext,17,strlen(cmdtext),sizeof(tmp)); new hour=StrToInt(tmp); if (hour < 0 || hour > 23) { SendClientMessage(playerid, COLOR_ERROR, "--- Hour must be between 0 and 24."); return 1; } SetWorldTime(hour); format(tempstring, sizeof(tempstring), "The time has been changed!"); SendClientMessage(playerid, COLOR_GREEN, tempstring); return 1; } else if (strfind(cmdtext,"/teleport",true,0) == 0 && IsPlayerAdmin(playerid) == 1) { new Float:ListPos[5][3] = { {2489.3806,-1661.4866,13.3359}, {1879.5007,-1260.9143,13.3906}, {2638.6892,-1419.2049,30.2878}, {1775.6403,-1907.9654,13.3861}, {1518.6901,-1669.5471,13.5468} }; new tmp[10]; strmid(tmp,cmdtext,10,strlen(cmdtext),sizeof(tmp)); new pos=StrToInt(tmp)-1; if (pos < 0 || pos > sizeof(ListPos)) { SendClientMessage(playerid, COLOR_ERROR, "--- You will be teleported in the random place."); pos=random(sizeof(ListPos)); } SetPlayerInterior(playerid,0); SetPlayerPos(playerid,ListPos[pos][0],ListPos[pos][1],ListPos[pos][2]); return 1; // commands for help in map creating } else if (strfind(cmdtext,"/putcar",true,0) == 0 && IsPlayerAdmin(playerid) == 1) { new Float: x; new Float: y; new Float: z; new Float: z2; new comment[100]; strmid(comment,cmdtext,7,strlen(cmdtext),sizeof(comment)); GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid,z2); format(tempstring, sizeof(tempstring), "--- Put car to pos: %.4f,%.4f,%.4f,%.4f",x,y,z,z2); SendClientMessage(playerid, COLOR_COMMAND, tempstring); if (IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_RED, "Get out of the car, asshole!"); return 1; } printf("AddStaticVehicle(429,%.4f,%.4f,%.4f,%.4f,58,8);//%s",x,y,z,z2,comment); return 1; } else if (strfind(cmdtext,"/putid",true,0) == 0 && IsPlayerAdmin(playerid) == 1) { new Float: x; new Float: y; new Float: z; new comment[100]; strmid(comment,cmdtext,7,strlen(cmdtext),sizeof(comment)); GetPlayerPos(playerid,x,y,z); format(tempstring, sizeof(tempstring), "--- Put PickUp to pos: %.4f,%.4f,%.4f",x,y,z); SendClientMessage(playerid, COLOR_COMMAND, tempstring); printf("AddStaticPickup(370,15,%.4f,%.4f,%.4f);//%s",x,y,z,comment); return 1; } else if (strfind(cmdtext,"/getcarNOW",false,0) == 0 && IsPlayerAdmin(playerid) == 1) { new Float: x; new Float: y; new Float: z; GetPlayerPos(playerid,x,y,z); SendClientMessage(playerid, COLOR_COMMAND, "getting byke"); AddStaticPickup(370, 15, x,y,z); return 1; } else if (strfind(cmdtext,"/rescue",false,0) == 0) { // format(tempstring, sizeof(tempstring), "--- tknow=: %d, money = %d",tknow[playerid], GetPlayerMoney(playerid)); // SendClientMessageToAll(COLOR_COMMAND, tempstring); if (tknow[playerid] == 0) { SendClientMessage(playerid, COLOR_COMMAND, "You are not in jail."); return 1; } if (GetPlayerMoney(playerid) < 5000) { SendClientMessage(playerid, COLOR_COMMAND, "You haven't enough lack of money."); return 1; } SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1553.0318,-1675.4394,16.1953); GivePlayerMoney(playerid,-5000); tknow[playerid]=0; return 1; } if (strcmp(cmdtext, "/a", true)==0) {SendClientMessage(playerid,COLOR_LIGHTBLUE,"Type /trip for teleportation to SFPD it cost 2000$"); return 1; //<---------------------------- } if (strcmp(cmdtext, "/trip", true)==0) { if(GetPlayerMoney(playerid) > 4000) { SetPlayerInterior(playerid,1); SetPlayerPos(playerid,1.7813,31.0938,1199.6012); GivePlayerMoney(playerid,-4000); } else { GameTextForPlayer(playerid,"You need 4000!",2500,3); return 1; //<---------------------------- } } else { return 0; } return 1; } //============================================================================== ///////////////TAXI/////////////////////////// //--------------------------------------------------------------------------- //----------------------------------------------------------------------------- publicUpdateSpeed(); forward UpdateSpeed(); GetPlayerId(playername[]) { for (new i = 0; i < MAX_PLAYERS; i++) { // printf("zaproc-%s,tekyshee-%s",playername,gPlayerName[i]); if ((IsPlayerConnected(i)) && (strcmp(playername, gPlayerName[i], false) == 0)) return i; } return -1; } //----------------------------------------------------------------------------- publicUpdateSpeed(); forward UpdateSpeed(); IsNumeric(const string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; } //----------------------------------------------------------------------------- publicUpdateSpeed(); forward UpdateSpeed(); RescueTK() { for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i) && tknow[i]== 1) { SetPlayerInterior(i,0); SetPlayerPos(i,1553.0318,-1675.4394,16.1953); tknow[i]=0; } } } //------------------------------------------------------------------------------ publicUpdateSpeed(); forward UpdateSpeed(); OnPlayerEnterCheckpoint(playerid) { printf("OnPlayerEnterCheckpoint(%d)", playerid); //(The next 13 lines (the return should always be at the end) is Relevant code!) if(getCheckpointType(playerid)>= 0 && getCheckpointType(playerid)<= 15) { if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,COLOR_WHITE,"Stay in the checkpoint to refill your car with fuel"); FuelRefill(playerid); } else { SendClientMessage(playerid, COLOR_RED, "Your not in a vehicle"); } return 1; } return 1; } publicUpdateSpeed(); forward UpdateSpeed(); OnPlayerLeaveCheckpoint(playerid) { printf("OnPlayerLeaveCheckpoint(%d)", playerid); return 1; } //===== //=-=-====================-=-=========================-=-=-===================== //============================================================================== publicUpdateSpeed(); forward UpdateSpeed(); HouseArea(playerid)//(i=playerid) { new i, Float:X, Float:Y, Float:Z; for (i = 0; i < MAX_PLAYERS; i++) { GetPlayerPos(i, X, Y, Z); //=============================================== //badazz house__________________________________________________________________ if(X >= 1444.4226 && X <= 1446.6658 && Y >= -637.8748 && Y <= -635.8900) { GameTextForPlayer(i,"~r~welcome to~w~[18th]~b~S~r~p~w~e~b~c~r~i~w~a~b~l~r~B's ~b~HomE",5000,3); } if(X >= 1440.9132 && X <= 1444.0969 && Y >= -630.7436 && Y <= -628.8192) { SetPlayerPos(i,226.2099,1027.9171,1084.0126); SetPlayerInterior(i,7); } if(X >= 224.1135 && X <= 228.4182 && Y >= 1021.5845 && Y <= 1025.1648) { SetPlayerPos(i,1442.4846,-639.7833,95.6489); SetPlayerInterior(i,0); } //LC city__________________________________________________________________ if(X >= 0.4284 && X <= 1.8368 && Y >= 22.5950 && Y <= 23.9384) { GameTextForPlayer(i,"~w~WelCome To ~g~Liberty City",5000,3); } if(X >= 2.6139 && X <= 4.3747 && Y >= 22.5924 && Y <= 23.3987) { SetPlayerPos(i,-737.6262,486.1260,1371.9727); SetPlayerInterior(i,1); } //Marco Bistro__________________________________________________________________ if(X >= -775.7505 && X <= -772.7899 && Y >= 499.4730 && Y <= 502.0354) { GameTextForPlayer(i,"~y~Welcome to ~w~Marco's ~g~Bistro",5000,3); } if(X >= -777.9056 && X <= -776.5281 && Y >= 503.7472 && Y <= 506.4296) { SetPlayerPos(i,-794.6499,495.5540,1376.1953); SetPlayerInterior(i,1); } if(X >= -796.1869 && X <= -793.5939 && Y >= 489.5575 && Y <= 491.6428) { SetPlayerPos(i,-772.6892,504.9899,1376.5626); SetPlayerInterior(i,1); } //Parachute__________________________________________________________________ if(X >= -836.2795 && X <=-832.2906 && Y >= 517.5190 && Y <= 522.1035) { GameTextForPlayer(i,"~w~Take Parachute ~g~and Join",5000,3); } if(X >= -831.6002 && X <= -826.9290 && Y >= 518.6436 && Y <= 522.6450) { SetPlayerPos(i,1542.4714,-1356.4817,1582.9987); SetPlayerInterior(i,0); } //Rybus House__________________________________________________________________ if(X >= 1089.2820 && X <= 1092.1937 && Y >= -646.2942 && Y <= -643.4067) { GameTextForPlayer(i,"~y~welcome to~w~[18th]RyBu's ~g~HomE",5000,3); } if(X >= 1093.6290 && X <= 1096.1128 && Y >= -647.9158 && Y <= -646.0229) { SetPlayerPos(i,2324.3911,-1143.4792,1050.4922); SetPlayerInterior(i,12); } if(X >= 2322.4331 && X <= 2326.3726 && Y >= -1149.3480 && Y <= -1147.6993) { SetPlayerPos(i,1095.5232,-643.3484,113.0623); SetPlayerInterior(i,0); } //SrT House__________________________________________________________________ if(X >= 972.1729 && X <= 974.5468 && Y >= -766.6373 && Y <= -764.4280) { GameTextForPlayer(i,"~y~welcome to~w~[18th]SrT's ~g~HomE",5000,3); } if(X >= 976.1776 && X <= 978.3453 && Y >= -771.7169 && Y <= -770.6429) { SetPlayerPos(i,234.1159,1070.2383,1084.1941); SetPlayerInterior(i,6); } if(X >= 232.2621 && X <= 236.1886 && Y >= 1063.7830 && Y <= 1066.3628) { SetPlayerPos(i,977.2188,-764.9080,112.2005); SetPlayerInterior(i,0); } //Cydalysy__________________________________________________________________ if(X >= 1108.1021 && X <= 1110.6116 && Y >= -739.2274 && Y <= -736.9744) { GameTextForPlayer(i,"~y~welcome to~w~[18th]Catalyst's ~g~HomE",5000,3); } if(X >= 1111.6611 && X <= 1112.6442 && Y >= -743.0948 && Y <= -740.8325) { SetPlayerPos(i,22.9009,1406.5354,1084.4297); SetPlayerInterior(i,5); } if(X >= 21.3738 && X <= 24.1576 && Y >= 1403.3445 && Y <= 1404.8718) { SetPlayerPos(i,1110.3291,-734.8502,100.2850); SetPlayerInterior(i,0); } //Ice__________________________________________________________________ if(X >= 1041.1687 && X <= 1044.2815 && Y >= -640.7338 && Y <= -638.1100) { GameTextForPlayer(i,"~y~welcome to~w~[18th]Ice's ~g~HomE",5000,3); } if(X >= 1043.9523 && X <= 1046.3229 && Y >= -643.1532 && Y <= -641.5043) { SetPlayerPos(i,231.7577,1114.5950,1080.9922); SetPlayerInterior(i,5); } if(X >= 226.4779 && X <= 228.4085 && Y >= 1113.2731 && Y <= 1115.3105) { SetPlayerPos(i,1044.2919,-637.7153,120.1172); SetPlayerInterior(i,0); } //========================Plane================================================= if(X >= 1957.3357 && X <= 1959.2605 && Y >= -2179.5891 && Y <= -2177.2686) { GameTextForPlayer(i,"~y~Type /trip to Liberty City for ~b~4000$",5000,3); } //Aerosmith__________________________________________________________________ if(X >= 810.9999 && X <= 812.7643 && Y >= -762.3134 && Y <= -760.7454) { GameTextForPlayer(i,"~y~welcome to~w~[18th]Aerosmith's ~g~HomE",5000,3); } if(X >= 807.9460 && X <=810.3455 && Y >= -760.4975 && Y <= -758.2239) { SetPlayerPos(i,233.2395,1191.4932,1080.2578); SetPlayerInterior(i,3); } if(X >= 233.9129 && X <= 236.6915 && Y >= 1186.9100 && Y <= 1188.6829) { SetPlayerPos(i,812.0286,-759.8381,76.5314); SetPlayerInterior(i,0); } //Mc Eith__________________________________________________________________ if(X >= 892.1771 && X <= 895.2484 && Y >= -779.9839 && Y <= -777.0317) { GameTextForPlayer(i,"~y~welcome to~w~[18th]Mc Eiht's ~g~HomE",5000,3); } if(X >= 889.4124 && X <= 892.4167 && Y >= -783.6758 && Y <= -781.3511) { SetPlayerPos(i,28.4611,1341.9546,1084.3750); SetPlayerInterior(i,10); } if(X >= 22.7335 && X <= 25.4882 && Y >= 1340.2086 && Y <= 1341.2537) { SetPlayerPos(i,889.5630,-778.7517,101.2624); SetPlayerInterior(i,0); } //Tinlup_________________________________________________________________ if(X >= 865.5555 && X <= 867.8755 && Y >= -715.7336 && Y <= -713.4926) { GameTextForPlayer(i,"~y~welcome to~w~[18th]Tinlup's ~g~HomE",5000,3); } if(X >= 866.5519 && X <= 868.7196 && Y >= -718.0883 && Y <= -716.0589) { SetPlayerPos(i,85.1832,1328.0520,1083.8594); SetPlayerInterior(i,9); } if(X >= 81.6036 && X <= 84.3430 && Y >= 1322.2385 && Y <= 1323.9725) { SetPlayerPos(i,872.8687,-706.3212,106.3095); SetPlayerInterior(i,0); } //Crack Factory_________________________________________________________________ if(X >= 2518.2737 && X <= 2519.9033 && Y >= -1280.3339 && Y <= -1278.8175) { GameTextForPlayer(i,"~g~Welcome ~w~To~w~[Cool]MemBeRz's ~g~Crack Factory",5000,3); } if(X >= 2520.5640 && X <= 2521.3940 && Y >= -1282.5684 && Y <= -1281.1613) { SetPlayerPos(i,2535.1790,-1293.2145,1031.4219); SetPlayerInterior(i,2); } if(X >= 2525.8516 && X <= 2531.4695 && Y >= -1295.5461 && Y <=-1292.3054) { SetPlayerPos(i,2517.3582,-1281.4268,34.8516); SetPlayerInterior(i,0); } //Stadium_________________________________________________________________ if(X >= 2694.4036 && X <= 2696.6990 && Y >= -1705.7915 && Y <= -1703.5338) { SetPlayerPos(i,-1467.4634,1559.9286,1052.7500); SetPlayerInterior(i,14); } if(X >= -1466.6420 && X <= -1463.0020 && Y >= 1555.9219 && Y <=1559.3217) { SetPlayerPos(i,2691.7822,-1699.4641,10.4369); SetPlayerInterior(i,0); } //Tkem_________________________________________________________________ if(X >= 1092.4381 && X <= 1096.2810 && Y >= -789.3119 && Y <= -786.3657) { GameTextForPlayer(i,"~y~welcome to~w~[18th]TheM*K's ~g~HomE",5000,3); } if(X >= 1092.3685 && X <= 1094.9198 && Y >= -807.3047 && Y <= -805.2569) { SetPlayerPos(i,2263.8484,-1210.5679,1049.0234); SetPlayerInterior(i,10); } if(X >= 2267.3235 && X <= 2270.3418 && Y >= -1212.1118 && Y <= -1208.8271) { SetPlayerPos(i,1092.8367,-801.4098,107.4204); SetPlayerInterior(i,0); } //To Own_________________________________________________________________ if(X >= 1032.6794 && X <= 1036.6125 && Y >= -801.1475 && Y <= -796.9941) { GameTextForPlayer(i,"~y~Welcome To~r~[18th]Smurfy's~b~Home",5000,3); } if(X >= 1033.3531 && X <= 1035.4755 && Y >= -813.5538 && Y <= -811.4883) { SetPlayerPos(i,447.3130,1403.3857,1084.3120); SetPlayerInterior(i,2); } if(X >= 446.0544 && X <= 448.0063 && Y >= 1397.1914 && Y <= 1399.4537) { SetPlayerPos(i,1030.9519,-803.6053,101.8462); SetPlayerInterior(i,0); } //Lil Spciz_________________________________________________________________ if(X >= 905.4594 && X <= 908.2637 && Y >= -681.0324 && Y <= -678.3880) { GameTextForPlayer(i,"~y~welcome to~w~[Cool]LiL_SpiCz's ~g~Dude",5000,3); } if(X >= 896.9827 && X <= 899.6220 && Y >= -679.0537 && Y <= -676.0848) { SetPlayerPos(i,373.9392,1417.0828,1081.3281); SetPlayerInterior(i,15); } if(X >= 374.6971 && X <= 376.9905 && Y >= 1416.0991 && Y <= 1418.5791) { SetPlayerPos(i,904.6249,-681.6788,116.8062); SetPlayerInterior(i,0); } //To Own_________________________________________________________________ if(X >= 1456.7605 && X <= 1458.8358 && Y >= -608.8860 && Y <= -607.6721) { GameTextForPlayer(i,"~r~ To own",5000,3); } if(X >= 1453.3983 && X <= 1455.5865 && Y >= -609.3931 && Y <= -608.3833) { SetPlayerPos(i,2233.1702,-1109.8060,1050.8828); SetPlayerInterior(i,5); } if(X >= 2232.1128 && X <= 2235.1150 && Y >= -1115.2582 && Y <= -1113.6469) { SetPlayerPos(i,1454.7798,-606.3412,95.7188); SetPlayerInterior(i,0); } //To Own_________________________________________________________________ if(X >= 1333.6589 && X <= 1336.1348 && Y >= -630.2628 && Y <= -627.4592) { GameTextForPlayer(i,"~y~Welcome ~g~to ~r~[Cool]bank$'s Home",5000,3); } } }