#include #include #include #pragma tabsize 0 #define COLOR_WHITE 0xFFFFFFAA #define COLOR_BLACK 0x000000AA #define COLOR_GREY 0xAFAFAFAA #define COLOR_BLUE 0x0000BBAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_RED 0xAA3333AA #define COLOR_ORANGE 0xFF9900AA #define COLOR_PINK 0xFF69B4AA #define PocketMoney 10000 #define INACTIVE_PLAYER_ID 255 #define NUMVALUES 4 forward Givecashdelaytimer(playerid); forward SetPlayerRandomSpawn(playerid); forward SetupPlayerForClassSelection(playerid); forward GameModeExitFunc(); main() {print("Special mode by Mee runned!");} new Float:RandomPlayerSpawns[17][3] = { {1998.1599,2297.2395,10.8203}, {2516.8997,2297.4583,10.8203}, {2560.2822,1705.6771,10.8280}, {2150.3967,1453.1564,10.8125}, {2269.0291,962.7794,10.8203}, {1718.7827,1363.5579,10.6406}, {1841.9576,2088.4839,10.8203}, {1554.9244,2185.6023,11.1721}, {1962.7766,2605.4497,10.8203}, {2833.8943,2400.9993,11.0690}, {2288.6086,2157.4006,10.8203}, {1891.1609,2394.4658,11.1782}, {2043.0940,732.7563,11.4609}, {1417.5154,2773.9561,14.8135}, {648.5644,1687.0859,6.9922}, {247.6319,1410.7600,23.3703}, {1532.7927,750.7422,11.0234} }; public OnPlayerConnect(playerid) { SendClientMessage(playerid, COLOR_ORANGE, "Welcome to Las Venturas DeathMatch"); 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); 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); } public OnPlayerCommandText(playerid, cmdtext[]) { new string[256]; new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new cmd[256]; new giveplayerid, moneys, idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/kill", true) == 0) { SetPlayerHealth(playerid,0); return 1; } if (strcmp(cmd, "/restart", true) == 0 && IsPlayerAdmin(playerid)) { SendRconCommand("gmx"); for (new i=0;i 16 || id < 0)) { SendClientMessage(playerid, COLOR_GREY, "*** USAGE: /setpos [0-16]"); return 1; } SetPlayerPos(playerid, RandomPlayerSpawns[id][0], RandomPlayerSpawns[id][1], RandomPlayerSpawns[id][2]); return 1; } if(strcmp(cmd, "/givecash", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } moneys = strval(tmp); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid); } else { SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount."); } } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } return 0; } public OnPlayerSpawn(playerid) { GivePlayerMoney(playerid, PocketMoney); SetPlayerInterior(playerid,0); SetPlayerRandomSpawn(playerid); TogglePlayerClock(playerid,1); return 1; } public SetPlayerRandomSpawn(playerid) { new rand = random(sizeof(RandomPlayerSpawns)); SetPlayerPos(playerid, RandomPlayerSpawns[rand][0], RandomPlayerSpawns[rand][1], RandomPlayerSpawns[rand][2]); return 1; } public OnPlayerDeath(playerid, killerid, reason) { new playercash; if(killerid == INVALID_PLAYER_ID) { SetPlayerScore(playerid,GetPlayerScore(playerid)-1); SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); ResetPlayerMoney(playerid); }else{ SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); SetPlayerScore(playerid,GetPlayerScore(playerid)-1); playercash = GetPlayerMoney(playerid); if (playercash > 0) { GivePlayerMoney(killerid, playercash); ResetPlayerMoney(playerid); } } return 1; } public OnPlayerRequestClass(playerid, classid) { SetupPlayerForClassSelection(playerid); return 1; } public SetupPlayerForClassSelection(playerid) { SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2485.1860,920.6,10.82); SetPlayerFacingAngle(playerid, 90); SetPlayerCameraPos(playerid,2480.1956,920.6,11); SetPlayerCameraLookAt(playerid,2485.1860,920.6,10.82); } public GameModeExitFunc() { GameModeExit(); } public OnGameModeInit() { SetGameModeText("Special mode"); ShowPlayerMarkers(1); ShowNameTags(1); UsePlayerPedAnims(); AllowInteriorWeapons(0); EnableStuntBonusForAll(1); AddPlayerClass(0,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1); AddStaticVehicle(481,1993.7665,2301.2935,10.3240,181.3300,3,3); AddStaticVehicle(566,2506.0244,2290.9741,10.6008,268.6333,30,8); AddStaticVehicle(522,2599.0801,1684.3381,10.3841,269.8878,6,25); AddStaticVehicle(451,2135.8074,1397.8744,10.5287,359.6619,125,125); AddStaticVehicle(571,2232.0034,955.9963,10.1042,359.9597,36,2); AddStaticVehicle(438,1701.7919,1316.3412,10.8245,359.1071,6,76); AddStaticVehicle(448,1860.0288,2076.2615,10.4197,171.6431,3,6); AddStaticVehicle(489,1527.7339,2203.4021,10.9641,179.7664,14,123); AddStaticVehicle(411,1905.4557,2576.3940,10.5474,358.7072,64,1); AddStaticVehicle(463,2840.4612,2379.4536,10.3599,269.6672,84,84); AddStaticVehicle(567,2339.7461,2119.0176,10.5527,180.9213,88,64); AddStaticVehicle(492,1941.9785,2435.7417,10.6022,358.8138,77,26); AddStaticVehicle(565,2078.6191,767.3677,10.7602,179.9300,42,42); AddStaticVehicle(589,1422.7511,2826.2090,10.4784,90.9335,31,31); AddStaticVehicle(514,616.2855,1660.8507,7.5771,63.3818,25,1); AddStaticVehicle(470,249.8580,1371.3856,10.5779,269.2841,43,0); AddStaticVehicle(576,1584.1000,673.0121,10.4311,359.1800,68,96); AddStaticVehicle(428,2315.7275,1794.7631,10.9466,179.1563,4,75); AddStaticVehicle(420,2191.1204,1810.3281,10.5968,179.0382,6,1); AddStaticVehicle(434,2175.6599,1799.4662,10.7851,0.5671,12,12); AddStaticVehicle(461,2199.6472,1857.0609,10.4081,181.2480,37,1); AddStaticVehicle(445,2206.1948,1878.7610,10.6953,359.6989,35,35); AddStaticVehicle(411,2119.4844,1938.0389,10.3989,180.2743,123,1); AddStaticVehicle(545,2102.7859,2056.2205,10.6314,271.3054,47,1); AddStaticVehicle(477,2011.4750,2139.4390,10.5753,267.5010,94,1); AddStaticVehicle(475,1981.2705,2070.2185,10.6276,2.2517,9,39); AddStaticVehicle(415,1910.3361,2117.9641,10.5932,358.4568,25,1); AddStaticVehicle(559,1943.0232,2166.3245,10.4766,91.5207,58,8); AddStaticVehicle(602,1685.1736,2200.8533,10.6273,181.4998,69,1); AddStaticVehicle(578,1683.6177,2321.0474,11.4457,267.4077,1,1); AddStaticVehicle(530,1681.3312,2369.7068,10.5839,267.2715,111,1); AddStaticVehicle(483,1908.6686,2259.3252,10.8133,88.7127,1,31); AddStaticVehicle(479,1978.8265,2252.7725,26.9896,90.3300,59,36); AddStaticVehicle(458,1972.1985,2242.0779,20.8633,270.8190,101,1); AddStaticVehicle(522,1995.7633,2262.6345,12.1255,357.0990,7,79); AddStaticVehicle(529,1455.3342,1958.5068,10.8166,180.5730,42,42); AddStaticVehicle(540,1428.7120,1999.0861,10.6798,0.6301,42,42); AddStaticVehicle(491,1028.0989,1732.1229,10.5766,89.2882,71,72); AddStaticVehicle(580,1109.3849,1787.5474,10.6165,269.8966,81,81); AddStaticVehicle(405,1028.9110,1751.3335,10.6953,90.9035,24,1); AddStaticVehicle(461,963.8168,1807.9032,8.2441,271.9724,43,1); AddStaticVehicle(600,924.9926,1988.4127,10.5324,85.1110,32,8); AddStaticVehicle(551,993.2396,2307.1531,11.0343,269.5332,72,1); AddStaticVehicle(585,1890.2074,2639.5264,10.4079,1.6926,42,42); AddStaticVehicle(436,1810.2245,2633.4951,10.5877,92.0434,87,1); AddStaticVehicle(457,1417.4861,2774.1563,10.4471,88.1003,2,1); AddStaticVehicle(457,1419.3546,2750.5762,10.4471,91.8051,63,1); AddStaticVehicle(500,1432.6505,2609.7441,10.8452,272.9734,40,84); AddStaticVehicle(400,1115.5997,2323.7834,10.9127,269.6454,123,1); AddStaticVehicle(579,1135.4806,2267.9104,16.6485,270.6200,42,42); AddStaticVehicle(412,1133.5251,2194.3157,16.5569,180.2756,10,8); AddStaticVehicle(535,1136.2340,2235.1057,10.5915,269.2468,28,1); AddStaticVehicle(526,971.7280,2172.0359,10.5870,91.7790,9,39); AddStaticVehicle(421,971.2413,2143.2095,10.7028,270.5950,13,1); AddStaticVehicle(478,1034.2767,2077.6289,10.8138,272.1311,66,1); AddStaticVehicle(554,1072.0266,1917.2347,10.9062,359.4479,15,32); AddStaticVehicle(413,1055.7399,1916.5762,10.9105,178.7163,88,1); AddStaticVehicle(416,1607.8368,1831.8530,10.9696,90.3235,1,3); AddStaticVehicle(541,1654.6738,1969.5352,10.4453,1.2511,58,8); AddStaticVehicle(411,1586.1018,1944.2343,10.5474,359.0713,116,1); AddStaticVehicle(439,1568.7966,1895.8496,10.7161,181.6189,8,17); AddStaticVehicle(533,1905.8641,2077.8176,10.5294,269.5744,74,1); AddStaticVehicle(522,1907.0822,2097.6416,10.3822,84.3981,8,82); AddStaticVehicle(480,2217.0024,2045.3684,10.5929,89.0745,12,12); AddStaticVehicle(534,2284.4543,2050.4131,10.5432,270.7139,42,42); AddStaticVehicle(471,2376.0903,2019.6664,10.3017,87.3243,103,111); AddStaticVehicle(462,2239.3379,1975.3087,9.4667,184.4145,13,13); AddStaticVehicle(560,2272.7646,1952.5944,9.5720,0.3292,9,39); AddStaticVehicle(560,2222.8608,1952.3210,20.5268,90.8078,9,39); AddStaticVehicle(522,2228.9602,2008.1224,10.3909,5.1256,39,106); AddStaticVehicle(429,2185.6694,2000.1953,10.5000,269.8758,13,13); AddStaticVehicle(409,2033.6658,1917.4424,12.0526,178.2368,1,1); AddStaticVehicle(409,2161.3262,1682.4155,10.5508,180.0264,1,1); AddStaticVehicle(451,1985.0649,1278.5173,10.4504,90.0075,36,36); AddStaticVehicle(587,2208.1240,1284.9619,10.5470,359.6288,40,1); AddStaticVehicle(527,2403.9475,1021.1127,10.5357,91.5017,53,1); AddStaticVehicle(575,2551.2004,1033.5497,10.4232,179.8718,19,96); AddStaticVehicle(481,2057.9441,728.6427,10.9769,358.6110,6,6); AddStaticVehicle(541,2005.2979,739.4426,10.7521,179.8521,60,1); AddStaticVehicle(522,2142.5740,1022.4519,10.3779,91.2419,36,105); AddStaticVehicle(522,2162.9709,1012.9332,10.3850,270.2615,39,106); AddStaticVehicle(534,2132.1499,987.8336,10.5460,179.4302,53,53); AddStaticVehicle(540,2036.9771,997.2882,10.6023,180.9597,53,53); AddStaticVehicle(540,2037.4208,1025.8248,10.6035,179.2139,53,53); AddStaticVehicle(566,1881.7631,963.5634,10.5995,88.9053,95,1); AddStaticVehicle(580,1882.0093,954.1764,10.6165,269.2203,67,67); AddStaticVehicle(562,1881.7557,1013.3252,10.4805,90.0533,35,1); AddStaticVehicle(522,1695.0029,1287.0150,10.3833,179.7250,51,118); AddStaticVehicle(420,1711.9573,1399.8315,10.3481,194.9298,6,1); AddStaticVehicle(541,2110.4529,1408.6897,10.4453,179.7694,68,8); AddStaticVehicle(522,2126.1758,1408.3844,10.3842,182.2946,3,3); AddStaticVehicle(429,2075.6521,1610.4124,10.3516,177.5119,14,14); AddStaticVehicle(506,2012.1492,1751.0106,18.6383,359.8274,6,6); return 1; } 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; }