//--------------------------------------------------------- // // Hoodlumz DM And Gangwar Server //--------------------------------------------------------- //------------ [Includes and static] ------------------ #include #include #include #include #include #include static gTeam[MAX_PLAYERS]; //------------ [Defines] ------------------ #define TEAM_1 0 #define TEAM_2 1 #define COLOR_BROWN 0xA52A2AAA #define COLOR_GREY 0xAFAFAFAA #define COLOR_PURPLE 0xC2A2DAAA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_DBLUE 0x2641FEAA #define COLOR_BLUE 0x33AAFFFF #define COLOR_GREEN 0x33AA33AA #define COLOR_ORANGE 0xFF9900AA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xFF0000FF #define COLOR_LIGHTRED 0xFF6347AA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_LIGHTGREEN 0x9ACD32AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_YELLOW2 0xF5DEB3AA #define COLOR_CYAN 0x00FFFFAA #define COLOR_SYSTEM 0xEFEFF7AA #define MAX_GANGS 32 #define MAX_GANG_MEMBERS 6 #define MAX_GANG_NAME 16 // === [New] === new gangMembers[MAX_GANGS][MAX_GANG_MEMBERS]; new gangNames[MAX_GANGS][MAX_GANG_NAME]; new gangInfo[MAX_GANGS][3]; new gangBank[MAX_GANGS]; new playerGang[MAX_PLAYERS]; new gangInvite[MAX_PLAYERS]; new bounty[MAX_PLAYERS]; //new God[MAX_PLAYERS]; new GodTimer; new Serverbot; new BotMessages[15][256] = { "PakBot: For information of the server type /help", "PakBot: Do not bug abuse, Instead tell a admin!", "PakBot: PakBot pwns you all", "PakBot: /fc1, /fc2, /tpgw /hstunt /hdrift are your teleports!", "PakBot: Please do not use CAPS!", "PakBot: Speak english only in mainchat use /pm to talk in different languages!", "PakBot: /uzi to change your tec's to uzi and /tec9 to change back!", "PakBot: Post all your ideas, complaints and suggestions on the hoodlumz website!", "PakBot: Take your time to listen to a admin or moderator!", "PakBot: Need money? Tell a admin!", "PakBot: To join [H] go to www.hoodlumz.smfforfree4.com!", "PakBot: Never use cheats or hacks", "PakBot: Have many 1v1's to gain experiance!", "PakBot: Leader of [H] is [H]Infamous", "PakBot: /hstunt may have some objects missplaced we know!" }; // === [Pragma] === #pragma unused ret_memcpy // === [Forward] === forward SendPlayerFormattedText(playerid, const str[], define); forward SetupPlayerForClassSelection(playerid); forward BotMSGToAll (playerid); forward AutoMsg(); forward InfiniteLife(playerid); forward PlayerLeaveGang(playerid); //--------------------------------------------------------- main() { print("\n----------------------------------"); print(" Hoodlumz DM And Gangwar Server"); print("----------------------------------\n"); } //--------------------------------------------------------- public OnGameModeInit() { SetGameModeText("[H] DM And GW"); UsePlayerPedAnims(); ShowNameTags(1); ShowPlayerMarkers(1); SetTimer("AutoMsg",300000,1); SetTimer("BotMSGToAll",120000,true); AddPlayerClass(107,1567.3187,-1249.1738,277.8786,184.7298,24,99999,32,99999,26,99999); // Grove Street AddPlayerClass(104,1567.3187,-1249.1738,277.8786,184.7298,24,99999,32,99999,26,99999); // Balla's AddStaticPickup(1240, 2, 2141.9729,-1803.1793,16.1475); // Health pickup at fc1 AddStaticPickup(1242, 2, 2144.5398,-1802.9600,16.1406); // Armour pickup at fc1 AddStaticPickup(1240, 2, 2100.5491,2168.5110,10.8203); // Health pickup at fc2 AddStaticPickup(1242, 2, 2100.3335,2170.2815,10.8203); // Armour pickup at fc2 AddStaticVehicle(541,2414.5840,700.3683,10.4344,270.7495,58,8); // Bullet AddStaticVehicle(415,2414.2510,697.1436,10.5907,269.1522,25,1); // Cheetah next to bullet AddStaticVehicle(411,2414.0881,693.8152,10.5474,268.1954,64,1); // Infernus next to cheetah AddStaticVehicle(451,2414.4961,690.5084,10.5271,269.9096,125,125); // Turizmo next to infernus AddStaticVehicle(506,2414.5938,687.2556,10.5249,270.6655,6,6); // Supergt next to turizmo AddStaticVehicle(477,2414.6130,683.9703,10.5761,268.2617,94,1); // Z350 next to supergt AddStaticVehicle(429,2414.4973,680.3223,10.4993,267.4791,13,13); // Banshee next to z350 AddStaticVehicle(559,2414.1797,676.8383,10.4760,270.9873,58,8); // Jester next to banshee AddStaticVehicle(560,2414.6243,673.5172,10.5249,267.4776,9,39); // Sultan next to jester AddStaticVehicle(481,2446.1563,680.5416,10.9714,359.7585,3,3); // Bmx outside mjaa house AddStaticVehicle(522,2442.7341,709.3513,10.8169,89.3792,3,8); // NRG next door to swe household AddStaticVehicle(522,2442.8074,707.8382,10.8102,90.8377,6,25); // Another nrg next to swe household AddStaticVehicle(468,2172.5688,-3221.2590,1.8242,177.4596,46,46); // Stunt Area Vehicle - Sanchez AddStaticVehicle(468,2170.6279,-3221.1240,1.8519,175.3357,53,53); // Stunt Area Vehicle - Sanchez AddStaticVehicle(522,2167.9438,-3221.0137,1.8064,172.2171,8,82); // Stunt Area Vehicle - NRG AddStaticVehicle(522,2165.9863,-3220.7852,1.8287,176.6714,39,106); // Stunt Area Vehicle - NRG AddStaticVehicle(510,2158.2502,-3236.9651,4.8749,270.5667,46,46); // Stunt Area Vehicle - Mountain Bike AddStaticVehicle(510,2158.3188,-3238.3608,4.8746,270.8672,39,39); // Stunt Area Vehicle - Mountain Bike AddStaticVehicle(520,-1444.4866,-1591.8413,102.4811,265.3654,0,0); // Mjaa hydra AddStaticVehicle(560,-1434.9363,-1538.3832,101.4795,90.1339,17,1); // Sultan outside mjaa home AddStaticVehicle(541,-1434.9772,-1542.4886,101.3858,90.3527,60,1); // Bullet next to sultan AddStaticVehicle(557,-1455.2404,-1451.4609,102.1404,175.2187,1,1); // Monster truck at mjaa home AddStaticVehicle(557,-1463.1978,-1451.9999,102.1003,188.0319,1,1); // Monster truck next to monster truck AddStaticVehicle(495,-1412.0571,-1507.6940,102.0266,96.9481,119,122); // Sandking at mjaa home AddStaticVehicle(495,-1411.3284,-1513.5474,102.0450,94.2820,118,117); // Sandking next to sandking AddStaticVehicle(522,-1435.5482,-1530.9313,101.3083,70.9989,51,118); // NRG outside mjaa home AddStaticVehicle(471,-1436.3176,-1533.7869,101.2376,64.8092,103,111); // Quad next to NRG AddStaticVehicle(437,-1419.4662,-1575.5695,101.8834,345.3862,79,7); // Bus at mjaa home AddStaticVehicle(490,-1428.4818,-1469.3654,101.8084,268.5219,0,0); // FBI car at mjaa home AddStaticVehicle(490,-1428.3578,-1464.3748,101.8619,269.6455,0,0); // FBI next to FBI car AddStaticVehicle(469,-1434.5026,-1562.1538,101.7695,267.4820,1,3); // Sparrow at mjaa home AddStaticVehicle(562,-1434.8789,-1477.9727,101.3575,90.5544,17,1); // Elgy outside mjaa home AddStaticVehicle(562,-1434.8663,-1482.1277,101.3543,88.0173,35,1); // Elgy next to elgy AddStaticVehicle(522,1282.4464,-831.2691,82.7035,1.3700,51,118); // NRG at farepak house AddStaticVehicle(567,1254.7744,-805.4003,84.0090,178.9029,88,64); // Savanna outside farpak home AddStaticVehicle(535,1248.9100,-805.1141,83.9043,179.3457,28,1); // Slamvan next to savanna AddStaticVehicle(487,1291.3031,-786.3946,96.6594,180.1985,29,42); // Maverik at farepak home AddStaticVehicle(558,-313.2693,1534.2321,75.0821,86.2959,116,1); // drift car #1 AddStaticVehicle(506,-346.0934,1515.0430,75.0573,0.1440,52,52); // Drift car #2 AddStaticVehicle(603,-339.7125,1514.7001,75.1974,0.0574,75,77); // drift car #3 AddStaticVehicle(541,-330.5052,1515.0807,75.0080,2.4409,22,1); // Drift car #4 AddStaticVehicle(506,-323.9244,1515.4131,75.0632,359.8132,76,76); // Drift car #5 AddStaticVehicle(603,-314.2010,1515.1790,75.1970,3.1600,18,1); // Drift car #6 AddStaticVehicle(411,-265.2804,1542.6840,75.0864,135.5489,80,1); // Drift car #7 AddStaticVehicle(541,-270.4614,1547.3766,74.9875,134.9284,13,8); // Drift car #8 AddStaticVehicle(411,-275.3764,1552.4293,75.0996,137.5847,64,1); // Drift car # 9 AddStaticVehicle(506,-280.3756,1557.3885,75.0457,138.0627,3,3); // Drift car #1- AddStaticVehicle(541,-284.7664,1563.0043,75.0122,135.3770,2,1); // Drift car #11 AddStaticVehicle(411,-292.1123,1570.3981,75.0865,135.0187,75,1); // Drift car #12 AddStaticVehicle(451,-300.3471,1576.9791,75.0706,135.6597,36,36); // Drift car #13 AddStaticVehicle(411,-305.0305,1582.3158,75.0989,135.7257,12,1); // Drift final car AddStaticVehicle(603,-272.5146,-2204.1873,28.5053,28.8684,69,1); // Phoenix at pedal home AddStaticVehicle(556,-259.1723,-2182.1902,29.3861,22.2860,1,1); // Monster truck at pedal home AddStaticVehicle(576,-288.2808,-2147.0752,28.1885,116.5949,68,96); // Car at pedal home #1 AddStaticVehicle(526,-285.7983,-2174.4551,28.4444,21.8987,9,39); // Car at pedal home #2 AddStaticVehicle(434,-269.0435,-2195.1487,28.7515,66.3880,12,12); // Car at pedal #3 AddStaticVehicle(491,-267.4268,-2192.2603,28.5854,45.1938,71,72); // Car at pedal home #4 AddStaticVehicle(579,-274.3774,-2176.1035,28.7035,115.4495,42,42); // Car at pedal home #5 AddStaticVehicle(521,-269.6331,-2155.6516,28.3152,29.9559,75,13); // Bike at pedal home #6 AddStaticVehicle(479,-257.1015,-2215.3333,28.5484,118.2089,59,36); // Car at pedal home #8 CreateObject(17864,2172.036,-3271.655,1.068,0.0,0.0,90.000); CreateObject(17864,2172.537,-3234.238,1.122,0.0,0.0,90.000); CreateObject(987,2156.648,-3214.486,1.374,0.0,0.0,270.000); CreateObject(987,2156.850,-3230.799,1.372,0.0,0.0,270.000); CreateObject(987,2156.324,-3254.734,1.317,0.0,0.0,270.000); CreateObject(987,2156.261,-3266.724,1.319,0.0,0.0,270.000); CreateObject(987,2156.705,-3218.535,1.373,0.0,0.0,270.000); CreateObject(987,2156.766,-3242.788,1.373,0.0,0.0,270.000); CreateObject(987,2156.272,-3278.693,1.319,0.0,0.0,270.000); CreateObject(987,2156.243,-3302.759,1.327,0.0,0.0,270.000); CreateObject(17864,2172.094,-3308.619,1.075,0.0,0.0,90.000); CreateObject(987,2156.374,-3290.729,1.324,0.0,0.0,270.000); CreateObject(17864,2203.854,-3233.598,0.614,0.0,0.0,90.000); CreateObject(987,2156.339,-3314.678,1.326,0.0,0.0,270.000); CreateObject(17864,2203.361,-3273.223,0.702,0.0,0.0,90.000); CreateObject(17864,2203.354,-3308.900,0.395,0.0,0.0,90.000); CreateObject(13641,2212.217,-3313.911,1.946,0.0,0.0,90.000); CreateObject(13647,2159.246,-3302.547,1.289,0.0,0.0,270.000); CreateObject(3881,2160.504,-3220.532,3.195,0.0,0.0,-180.000); CreateObject(6052,2176.884,-3246.479,3.795,0.0,0.0,180.000); CreateObject(13636,2171.751,-3304.630,3.353,0.0,0.0,180.000); CreateObject(3625,2162.546,-3238.782,4.126,0.0,0.0,270.000); CreateObject(13604,2170.904,-3257.142,2.760,0.0,0.0,180.000); CreateObject(13641,2211.240,-3272.303,2.194,0.0,0.0,270.000); CreateObject(12920,2194.779,-3296.371,0.598,0.0,0.0,90.000); CreateObject(1503,2194.862,-3268.414,1.266,0.0,0.0,180.000); CreateObject(1684,2178.563,-3220.047,2.582,0.0,0.0,0.0); CreateObject(1684,2188.594,-3219.809,2.450,0.0,0.0,0.0); CreateObject(3504,2196.484,-3219.250,2.062,0.0,0.0,180.000); CreateObject(3504,2197.867,-3219.198,2.034,0.0,0.0,180.000); CreateObject(1281,2203.260,-3219.711,1.420,0.0,0.0,90.000); CreateObject(1281,2207.187,-3219.687,1.348,0.0,0.0,90.000); CreateObject(1281,2211.190,-3219.448,1.264,0.0,0.0,90.000); CreateObject(1378,2214.928,-3244.557,24.782,0.0,0.0,270.000); CreateObject(987,2180.837,-3214.544,0.990,0.0,0.0,180.000); CreateObject(987,2216.710,-3214.348,0.415,0.0,0.0,180.000); CreateObject(987,2168.543,-3214.753,1.185,0.0,0.0,180.000); CreateObject(987,2192.764,-3214.606,0.790,0.0,0.0,180.000); CreateObject(987,2204.737,-3214.341,0.600,0.0,0.0,180.000); CreateObject(987,2219.730,-3214.300,0.365,0.0,0.0,180.000); CreateObject(987,2219.093,-3261.505,0.453,0.0,0.0,90.000); CreateObject(987,2219.478,-3225.952,0.366,0.0,0.0,90.000); CreateObject(987,2219.525,-3249.759,0.366,0.0,0.0,90.000); CreateObject(987,2219.402,-3237.713,0.367,0.0,0.0,90.000); CreateObject(987,2219.017,-3273.418,0.454,0.0,0.0,90.000); CreateObject(987,2219.043,-3285.302,0.454,0.0,0.0,90.000); CreateObject(987,2218.849,-3309.094,0.147,0.0,0.0,90.000); CreateObject(987,2156.329,-3326.870,1.332,0.0,0.0,0.0); CreateObject(987,2218.867,-3297.208,0.147,0.0,0.0,90.000); CreateObject(987,2219.017,-3320.986,0.146,0.0,0.0,90.000); CreateObject(987,2207.266,-3325.498,0.311,0.0,0.0,0.0); CreateObject(987,2219.005,-3325.665,0.146,0.0,0.0,90.000); CreateObject(987,2195.173,-3325.922,0.513,0.0,0.0,0.0); CreateObject(987,2183.638,-3326.684,0.885,0.0,0.0,0.001); CreateObject(987,2171.502,-3326.779,1.079,0.0,0.0,0.0); CreateObject(987,2159.287,-3326.959,1.278,0.0,0.0,0.0); return 1; } //--------------------------------------------------------- public 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); } 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,COLOR_GREEN); return; } } } else { SendClientMessage(playerid, COLOR_RED, "You are not in a gang."); } } //--------------------------------------------------------- public SetupPlayerForClassSelection(playerid) { GameTextForPlayer(playerid,"~w~SA-MP: Hoodlumz DM And GW Server",5000,5); SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 270.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0); } //--------------------------------------------------------- public OnPlayerRequestClass(playerid, classid) { SetupPlayerForClassSelection(playerid); switch (classid) { case 0: { GameTextForPlayer(playerid, "Team A", 1000, 3); SetPlayerColor(playerid,COLOR_GREY); gTeam[playerid] = TEAM_1; } case 1: { GameTextForPlayer(playerid, "Team B", 1000, 3); SetPlayerColor(playerid,COLOR_GREY); gTeam[playerid] = TEAM_2; } } return 1; } //--------------------------------------------------------- public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid, 0); PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0); if(gTeam[playerid] == TEAM_1) { SetPlayerColor(playerid,COLOR_RED); } else if(gTeam[playerid] == TEAM_2) { SetPlayerColor(playerid,COLOR_DBLUE); } return 1; } //--------------------------------------------------------- public OnPlayerDeath(playerid, killerid, reason) { new playercash; new string[255]; new killedplayer[MAX_PLAYER_NAME]; playercash = GetPlayerMoney(playerid); if(killerid == INVALID_PLAYER_ID) { SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); } else { SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); if(bounty[playerid] > 0 && (playerGang[killerid] == 0 || playerGang[playerid] != playerGang[killerid])) { GetPlayerName(playerid, killedplayer, sizeof(killedplayer)); format(string, sizeof(string), "You earned a bounty of %d for killing %s.", bounty[playerid], killedplayer); SendClientMessage(killerid, COLOR_GREEN, string); GivePlayerMoney(killerid, bounty[playerid]); bounty[playerid] = 0; } if(playercash > 0) { GivePlayerMoney(killerid, playercash); } } if(playercash > 0) { ResetPlayerMoney(playerid); } return 1; } /* public OnPlayerDeath(playerid, killerid, reason) { new name[MAX_PLAYER_NAME]; new string[256]; new deathreason[20]; new playercash; GetPlayerName(playerid, name, sizeof(name)); GetWeaponName(reason, deathreason, 20); if (killerid == INVALID_PLAYER_ID) { switch (reason) { case WEAPON_DROWN: { format(string, sizeof(string), "*** %s drowned.)", name); } default: { if (strlen(deathreason) > 0) { format(string, sizeof(string), "*** %s died. (%s)", name, deathreason); } else { format(string, sizeof(string), "*** %s died.", name); } SendClientMessageToAll(COLOR_RED, string); { playercash = GetPlayerMoney(playerid); if (playercash > 0) { GivePlayerMoney(killerid, playercash); ResetPlayerMoney(playerid); } else { } } return 1; }*/ //--------------------------------------------------------- public OnPlayerConnect(playerid) { SendClientMessage(playerid,COLOR_GREEN,"Welcome to the [H]oodlumz server made and scripted by Alex.T"); SendClientMessage(playerid,COLOR_GREEN,"Please type /help for all your information for this server!"); SendClientMessage(playerid,COLOR_GREEN,"Please read /rules to keep ban free!"); SendClientMessage(playerid,COLOR_GREEN,"Also read /tele for all your teleporting needs!"); new pName[MAX_PLAYER_NAME]; new string[48]; GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string), "%s has joined the server.", pName); SendClientMessageToAll(0xAAAAAAAA, string); GameTextForPlayer(playerid,"~w~SA-MP: Hoodlumz DM And GW Server",5000,5); return 1; } //--------------------------------------------------------- public OnPlayerDisconnect(playerid, reason) { new pName[MAX_PLAYER_NAME]; new string[56]; GetPlayerName(playerid, pName, sizeof(pName)); switch(reason) { case 0: format(string, sizeof(string), "%s has left the server. (Timeout)", pName); case 1: format(string, sizeof(string), "%s has left the server. (Leaving)", pName); case 2: format(string, sizeof(string), "%s has left the server. (Kicked)", pName); } SendClientMessageToAll(0xAAAAAAAA, string); return 1; } //--------------------------------------------------------- public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new idx; new giveplayer[MAX_PLAYER_NAME]; new sendername[MAX_PLAYER_NAME]; new string[256]; new giveplayerid; cmd = strtok(cmdtext, idx); 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; } 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; } if(gangcmd==1) { if(playerGang[playerid]>0) { SendClientMessage(playerid, COLOR_RED, "You are already in a gang!"); return 1; } 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]=COLOR_RED; //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; } 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; 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; } else if (gangcmd==2) { giveplayerid = strval(tmp); if(playerGang[playerid]==0) { SendClientMessage(playerid, COLOR_RED, "You are not in a gang!"); return 1; } // if(gangMembers[playerGang[playerid]][0]!=playerid) // { // SendClientMessage(playerid, COLOR_RED, "You need to be the gang leader to send an invite."); // return 1; // } 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; } if(strcmp(cmd, "/ganginfo", true) == 0) { new tmp[256]; 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; } if(strcmp(cmd, "/gangs", true) == 0) { new x; 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; } return 0; } if(strcmp(cmd, "/hitman", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hitman [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hitman [playerid] [amount]"); return 1; } new moneys; moneys = strval(tmp); if(moneys > GetPlayerMoney(playerid)) { SendClientMessage(playerid, COLOR_RED, "You don't have enough money!"); return 1; } if(moneys < 1) { SendClientMessage(playerid, COLOR_YELLOW, "Hey what are you trying to pull here."); return 1; } if(IsPlayerConnected(giveplayerid)==0) { SendClientMessage(playerid, COLOR_RED, "No such player exists."); return 1; } bounty[giveplayerid]+=moneys; GivePlayerMoney(playerid, 0-moneys); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s has had a $%d bounty put on his head from %s (total: $%d).", giveplayer, moneys, sendername, bounty[giveplayerid]); SendClientMessageToAll(COLOR_ORANGE, string); format(string, sizeof(string), "You have had a $%d bounty put on you from %s (id: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_RED, string); return 1; } if(strcmp(cmd, "/bounty", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /bounty [playerid]"); return 1; } giveplayerid = strval(tmp); if(IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "Player %s (id: %d) has a $%d bounty on his head.", giveplayer,giveplayerid,bounty[giveplayerid]); SendClientMessage(playerid, COLOR_YELLOW, string); } else { SendClientMessage(playerid, COLOR_RED, "No such player exists!"); } return 1; } if(strcmp(cmd, "/bounties", true) == 0) { // new tmp[256]; new x; SendClientMessage(playerid, COLOR_GREEN, "Current Bounties:"); for(new i=0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && bounty[i] > 0) { GetPlayerName(i, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "%s%s(%d): $%d", string,giveplayer,i,bounty[i]); x++; if(x > 3) { SendClientMessage(playerid, COLOR_YELLOW, string); x = 0; format(string, sizeof(string), ""); } else { format(string, sizeof(string), "%s, ", string); } } } if(x <= 3 && x > 0) { string[strlen(string)-2] = '.'; SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if(strcmp(cmdtext,"/fc1",true)==0) { SetPlayerPos(playerid,2149.0371,-1805.6539,16.1464); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To FC 1."); return 1; } if(strcmp(cmdtext,"/fc2",true)==0) { SetPlayerPos(playerid,2104.8223,2182.3096,14.4965); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To FC 2."); return 1; } if(strcmp(cmdtext,"/chome",true)==0) { SetPlayerPos(playerid,2442.3521,698.1706,11.2651); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To The Car Home!."); return 1; } if(strcmp(cmdtext,"/mhome",true)==0) { SetPlayerPos(playerid,1417.8838,-1535.4391,101.7521); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To Mjaa's Home!."); return 1; } if(strcmp(cmdtext,"/fhome",true)==0) { SetPlayerPos(playerid,1256.6593,-785.4722,92.0302); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To FarePak's Home!."); return 1; } if(strcmp(cmdtext,"/phome",true)==0) { SetPlayerPos(playerid,1256.6593,-785.4722,92.0302); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To Pedaln's Home!."); return 1; } if(strcmp(cmdtext,"/tpgw",true)==0) { SetPlayerPos(playerid,2374.0320,579.1430,7.7813); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To GW."); return 1; } if(strcmp(cmdtext,"/hstunt",true)==0) { SetPlayerPos(playerid,2160.3364,-3228.2939,2.3324); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To Stunting Area."); return 1; } if(strcmp(cmdtext,"/hdrift",true)==0) { SetPlayerPos(playerid,329.8065,1536.6130,76.6117); SendClientMessage(playerid,0xFFFF00AA,"You Have Been Teleported To Drifting Area!."); return 1; } if (strcmp(cmdtext, "/lock", true)==0) { if(IsPlayerInAnyVehicle(playerid)) { new State=GetPlayerState(playerid); if(State!=PLAYER_STATE_DRIVER) { SendClientMessage(playerid,0xFFFF00AA,"You must be the driver to lock your vechicle!"); return 1; } new i; for(i=0;i 0) { new gangChat[256]; new string[256]; // for(new i = 1; i < strlen(text)+1; i++) // gangChat[i]=text[i]; strmid(gangChat,text,1,strlen(text)); format(string, sizeof(string),"%s: %s", gangChat); for(new i = 0; i < gangInfo[playerGang[playerid]][1]; i++) { SendClientMessage(gangMembers[playerGang[playerid]][i], COLOR_LIGHTBLUE, string); } } return 0; } return 1; } stock IsPlayerInInvalidNosVehicle(playerid,vehicleid) { #define MAX_INVALID_NOS_VEHICLES 29 new InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] = { 581,523,462,521,463,522,461,448,468,586, 509,481,510,472,473,493,595,484,430,453, 452,446,454,590,569,537,538,570,449 }; vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(playerid,vehicleid)) { for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++) { if(GetVehicleModel(vehicleid) == InvalidNosVehicles[i]) { return true; } } } return false; } //---------------------------------------------------------