/* CREDITS: -Woet, scripted everything -mabako, made the boundry part VISIT: -http://www.uploadffs.com -http://www.midna.nl GREETINGS TO: -Felle -damospiderman -Picklemick -Hyperion -alepet -Bearz -Popz -h0z -Tratulla -Ali -mabako -yetihwelttil -Kaz -Carlambor -Peter -Jernejl (GO TO WORK!) HUGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG <3 */ #include #include #include // // Forwards // forward Reset(playerid); forward IsPlayerSpawned(playerid); forward SendWarnMessage(playerid,adminid,reason[]); forward SendKickMessage(playerid,adminid,reason[]); forward SendBanMessage(playerid,adminid,reason[]); forward SendAdminMessage(message[]); forward GetPlayerID(name[]); forward GiveID(const string[]); forward FindUser(const string[]); forward IsPlayerLevel(playerid,level); forward mktime(second,minute,hour,day,month,year); forward time(); forward Log(playerid,text[]); forward AdminLog(playerid,text[]); forward AdminChatLog(playerid,text[]); forward Login(playerid,password[]); forward IsPlayerRegistered(playerid); forward IsPlayerLoggedIn(playerid); forward PlayerToCoord(playerid,Float:x2,Float:y2,Float:z2); forward PlayerToPlayer(playerid,targetid); forward PlayerToCar(playerid,vehicleid); forward antiSpawnKill(); forward Register(playername[], password[], level); forward antiCheat(); forward updatetime(); forward showTime(); forward boundry(); forward alive(); forward FreezeMenu(playerid); forward SetPlayerCash(playerid, cash); forward GivePlayerCash(playerid, cash); forward SetPlayerPoint(playerid, points); forward GivePlayerPoint(playerid, points); forward updatePos(); forward interiorOut(playerid); forward Delete(name[]); forward GetPlayerLevel(name[]); forward Level(name[],level); forward nicemessage(); forward SendTeamMessage(playerid, text[]); forward antiSpam(playerid); forward ping(); forward TimeStamp(); forward best(); forward weather(); // // All variables used by all players // static gTeam[MAX_PLAYERS]; static gLogin[MAX_PLAYERS]; static gAuth[MAX_PLAYERS]; static gMute[MAX_PLAYERS]; static gMuteAdmin[MAX_PLAYERS]; static gMuteReason[MAX_PLAYERS][256]; static gFreeze[MAX_PLAYERS]; static gFreezeAdmin[MAX_PLAYERS]; static gFreezeReason[MAX_PLAYERS][256]; static gWarnings[MAX_PLAYERS]; static gProtected[MAX_PLAYERS]; static gMoney[MAX_PLAYERS]; static gScore[MAX_PLAYERS]; static gSpec[MAX_PLAYERS]; static gSpeccing[MAX_PLAYERS]; static gPrimary[MAX_PLAYERS]; static gSecondary[MAX_PLAYERS]; static gHand[MAX_PLAYERS]; static gNext[MAX_PLAYERS]; static gPistol[MAX_PLAYERS]; static gMenu[MAX_PLAYERS]; static gSpam[MAX_PLAYERS]; static gPingCount[MAX_PLAYERS][2]; static gInsurance[MAX_PLAYERS]; static gSuicide[MAX_PLAYERS]; static gSpecced[MAX_PLAYERS]; static gSpecAdmin[MAX_PLAYERS]; static gInvisibleKick[MAX_PLAYERS]; // // Colors // #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_REALRED 0xFF0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_PURPLE 0xFF00FFAA #define COLOR_BLUE 0x0000BBAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_ORANGE 0xFF9900AA #define COLOR_WHITE 0xFFFFFFAA // // Variables // new chatlock = 0; new chatlockreason = 0; new worldtime = 12; new code = 3482394920184213657213429108821472819472190482152379847281903210974982356983274; new codetext[256]; new codemoney; new Menu:ChooseSecondary; new Menu:ChooseHand; new Menu:ChoosePrimary; new Menu:ChooseOption; new Menu:ChoosePistol; new Menu:BuyPoint; new Menu:Ammo; new Menu:Health; new Menu:Armor; new Menu:Special; new Float:players[ MAX_PLAYERS ][ 3 ][ 3 ]; new messagecount; // // Main // main(){ print("\n----------------------------------"); print("Desert TDM v1.5 by Woet"); print("----------------------------------\n"); } // // When gamemode launches // public OnGameModeInit(){ // // Global vars // ShowNameTags(1); ShowPlayerMarkers(1); SetGameModeText("Desert TDM"); EnableTirePopping(1); AllowInteriorWeapons(0); SetWeather(6); EnableZoneNames(0); UsePlayerPedAnims(); SetDisabledWeapons(1,2,3,4,7,9,11,12,13,14,15,16,17,18,33,34,35,36,37,38,39,40,41,42,43,44,45); // // Set time // SetWorldTime(12); SetTimer("updatetime", 120000, 1); // // Anti spawnkill // SetTimer("antiSpawnKill", 1000, 1); // // Are you alive? :] // SetTimer("alive", 120000, 0); // // Save their position! // SetTimer("updatePos", 2000, 1); // // Nice message :) // SetTimer("nicemessage", 120000, 1); // // Go away laggers // SetTimer("ping", 5000, 1); // // Your tha best! // SetTimer("best", 300000, 1); // // Weather ftw // SetTimer("weather", 90000, 1); // // Spawns // AddPlayerClass(283,-1394.5950,2643.2791,55.8932,100.2026,0,0,0,0,0,0); // upstanding citizens AddPlayerClass(159,-733.8346,1624.4266,27.1172,79.2481,0,0,0,0,0,0); // crazy farmers AddPlayerClass(247,-321.6065,1056.7443,19.7422,2.5328,0,0,0,0,0,0); // bailed criminals AddPlayerClass(287,184.2655,1931.6104,17.8262,94.2981,0,0,0,0,0,0); // private military AddPlayerClass(2,-251.0042,2588.0261,63.5703,307.6865,0,0,0,0,0,0); // retarted cops // // Objects // CreateObject(1227, -1455.218872, 2592.125488, 55.437645, 0, 0, 180); CreateObject(1227, -1455.237305, 2592.119141, 56.336430, 0, 0.8594, 180); CreateObject(1227, -253.278824, 2597.870605, 62.856621, 0, 0, 90); CreateObject(1227, -253.575562, 2599.304199, 62.609871, 0, 0, 90); CreateObject(1227, -253.278824, 2597.838135, 64.127953, 0, 0, 90); CreateObject(1227, -253.520905, 2599.252686, 63.861095, 0, 0, 90); CreateObject(987, -259.202423, 2593.860840, 59.973866, 0, 0, 22.5); CreateObject(987, -248.311707, 2598.385254, 59.958054, 0, 0, 157.5); CreateObject(987, -1454.746216, 2596.526855, 52.360909, 0, 0, 292.5); CreateObject(987, -1454.765381, 2596.493408, 52.385925, 0, 0, 236.25); CreateObject(1227, -862.782837, 1536.546265, 22.298206, 0, 0, 180); CreateObject(1227, -862.770630, 1536.551270, 23.427113, 0, 0, 180); CreateObject(987, -861.135742, 1527.999634, 19.087698, 0, 0, 90); CreateObject(987, -861.002930, 1539.972412, 19.087645, 0, 0, 225); CreateObject(987, -869.471802, 1531.592651, 19.123978, 0, 0, 314.9999); CreateObject(983, -251.729111, 2597.646484, 64.961777, 359.1406, 96.2569, 293.3595); CreateObject(983, -252.803482, 2598.141357, 65.422218, 359.1406, 96.2569, 293.3595); CreateObject(983, -254.210938, 2598.828613, 65.628059, 359.1406, 96.2569, 293.3595); CreateObject(983, -1453.540039, 2593.700928, 57.521065, 0, 91.9598, 22.5); CreateObject(983, -1453.972290, 2592.803223, 57.828777, 0, 91.9598, 22.5); CreateObject(983, -1455.623047, 2593.670166, 57.921028, 0, 276.6346, 359.1406); CreateObject(983, -1456.109619, 2593.597412, 57.789864, 0, 268.0403, 326.25); CreateObject(983, -1454.819214, 2591.032471, 57.464783, 0, 274.0563, 0); CreateObject(983, -861.741760, 1536.929810, 24.278406, 0, 264.6025, 0); CreateObject(983, -863.422852, 1536.828735, 24.153584, 0, 269.7591, 315); CreateObject(972, 224.435760, 1867.391602, 9.137506, 0, 0, 0); CreateObject(975, 214.463959, 1875.917114, 13.821650, 0, 0, 0); // // Vehicles // AddStaticVehicle(468, 906.271545, 1016.849670, 12.637600, 33, -1, -1); AddStaticVehicle(412, 844.510132, 1189.678223, 27.374863, 360, -1, -1); AddStaticVehicle(463, 526.572571, 1045.812744, 28.368513, 282, -1, -1); AddStaticVehicle(541, 303.263000, 1402.076172, 8.955420, 360, -1, -1); AddStaticVehicle(412, 319.528320, 1400.276733, 7.539894, 360, -1, -1); AddStaticVehicle(561, 430.408386, 1622.946655, 17.068489, 293, -1, -1); AddStaticVehicle(456, 588.087463, 1646.489014, 6.652565, 67, -1, -1); AddStaticVehicle(471, 601.753662, 1651.383789, 6.652565, 22, -1, -1); AddStaticVehicle(463, 653.181274, 1716.299805, 6.659906, 360, -1, -1); AddStaticVehicle(561, 662.041504, 1806.315063, 5.148039, 78, -1, -1); AddStaticVehicle(415, 668.852661, 1832.487183, 4.839073, 360, -1, -1); AddStaticVehicle(588, 675.840454, 1829.091797, 4.885698, 360, -1, -1); AddStaticVehicle(445, 696.277039, 1941.904297, 5.199440, 157, -1, -1); AddStaticVehicle(420, 714.223938, 1942.389282, 5.199440, 168, -1, -1); AddStaticVehicle(567, 782.436951, 1887.509766, 4.670862, 282, -1, -1); AddStaticVehicle(567, 783.443237, 1874.056030, 4.520521, 338, -1, -1); AddStaticVehicle(456, 784.404968, 1922.524048, 5.347878, 123, -1, -1); AddStaticVehicle(445, 789.294312, 2020.162842, 5.957750, 67, -1, -1); AddStaticVehicle(463, 679.584534, 2223.311035, 24.185936, 360, -1, -1); AddStaticVehicle(422, 654.430176, 2584.806152, 28.931374, 360, -1, -1); AddStaticVehicle(593,290.2563,2538.4377,16.3596,170.2159,-1,-1); AddStaticVehicle(593,324.9756,2536.8103,16.3473,178.2893,-1,-1); AddStaticVehicle(545,382.8270,2539.7546,16.0785,89.1131,-1,-1); AddStaticVehicle(440,383.9177,2560.2517,16.0904,27.4864,-1,-1); AddStaticVehicle(547,-1399.2861,2631.4751,55.7706,86.1025,-1,-1); AddStaticVehicle(567,-1411.2469,2656.8931,55.3094,204.4431,-1,-1); AddStaticVehicle(445,-1399.4615,2651.7119,55.3124,238.1548,-1,-1); AddStaticVehicle(422,-1399.7427,2637.6387,55.3122,268.1987,-1,-1); AddStaticVehicle(422,-1420.6659,2621.7732,55.3834,0.8577,-1,-1); AddStaticVehicle(413,-1437.3376,2656.7180,55.4610,357.5930,-1,-1); AddStaticVehicle(456,-1466.1102,2606.6946,55.9297,92.3991,-1,-1); AddStaticVehicle(415,-1490.4409,2616.9976,55.3836,0.3744,-1,-1); AddStaticVehicle(415,-1472.2163,2697.6729,55.4093,176.5308,-1,-1); AddStaticVehicle(524,-1495.0291,2703.5686,55.4071,89.7649,-1,-1); AddStaticVehicle(535,-1563.0865,2663.6814,55.4610,90.8669,-1,-1); AddStaticVehicle(463,-1550.6055,2613.1628,55.3850,358.4211,-1,-1); AddStaticVehicle(525,-1547.4119,2551.2021,55.3842,211.4803,-1,-1); AddStaticVehicle(463,-1502.4109,2577.2095,55.4611,5.8877,-1,-1); AddStaticVehicle(420,-1263.2976,2713.1133,49.6876,355.9517,-1,-1); AddStaticVehicle(509,-1275.4048,2705.0037,49.6876,197.4953,-1,-1); AddStaticVehicle(471,-1266.6541,2711.3706,49.6933,150.8640,-1,-1); AddStaticVehicle(471,-1311.2288,2702.0649,49.6874,186.8068,-1,-1); AddStaticVehicle(541,-1444.6453,2731.6123,64.2421,71.6616,-1,-1); AddStaticVehicle(561,-1571.4023,2726.6624,60.2075,98.2282,-1,-1); AddStaticVehicle(524,-737.4963,1643.7805,26.983-1,-178.6222,-1,-1); AddStaticVehicle(583,-748.6228,1645.0568,26.9265,168.0734,-1,-1); AddStaticVehicle(471,-766.0641,1641.9635,27.0757,45.0177,-1,-1); AddStaticVehicle(576,-759.4797,1626.4730,26.7422,263.6198,-1,-1); AddStaticVehicle(468,-778.4099,1628.5500,26.7491,123.0067,-1,-1); AddStaticVehicle(444,-756.2526,1589.8672,26.5859,150.3240,-1,-1); AddStaticVehicle(471,-706.7706,1441.2397,18.1016,7.6059,-1,-1); AddStaticVehicle(413,-738.9677,1486.8907,23.6617,64.7629,-1,-1); AddStaticVehicle(422,-771.6180,1443.8713,13.4527,137.8059,-1,-1); AddStaticVehicle(429,-786.7217,1428.6246,13.4629,333.4239,-1,-1); AddStaticVehicle(575,-808.0195,1446.4460,13.4971,81.3889,-1,-1); AddStaticVehicle(409,-852.802-1,-1421.5721,13.3951,205.7993,-1,-1); AddStaticVehicle(567,-828.9178,1498.5365,18.7960,86.2183,-1,-1); AddStaticVehicle(463,-866.0620,1541.2053,22.3088,274.5798,-1,-1); AddStaticVehicle(413,-865.8810,1552.4216,23.2817,72.1642,-1,-1); AddStaticVehicle(547,-866.5358,1567.1469,24.4684,32.9128,-1,-1); AddStaticVehicle(575,-903.4521,1548.9772,25.5194,353.3472,-1,-1); AddStaticVehicle(415,-885.5550,1523.0334,25.5388,243.0238,-1,-1); AddStaticVehicle(413,-932.3776,1422.8518,29.7501,171.3751,-1,-1); AddStaticVehicle(412,-768.9281,1509.3065,25.0140,356.0026,-1,-1); AddStaticVehicle(463,-793.0693,1542.2157,26.6036,94.1161,-1,-1); AddStaticVehicle(422,-801.5713,1601.6085,26.6561,354.2005,-1,-1); AddStaticVehicle(456,-839.8713,1604.7076,26.6703,281.9255,-1,-1); AddStaticVehicle(413,-305.7297,1011.6077,19.2183,80.9237,-1,-1); AddStaticVehicle(429,-305.8649,1017.2133,19.2189,315.9489,-1,-1); AddStaticVehicle(420,-305.5986,1031.8375,19.2182,84.3091,-1,-1); AddStaticVehicle(541,-290.2163,1044.0137,19.2440,2.7026,-1,-1); AddStaticVehicle(429,-301.6657,1069.3833,19.3181,96.2926,-1,-1); AddStaticVehicle(587,-310.2428,1085.6373,19.3678,176.0323,-1,-1); AddStaticVehicle(468,-330.648-1,-1065.1300,19.3664,271.8984,-1,-1); AddStaticVehicle(463,-354.9519,1106.8188,19.3567,41.8610,-1,-1); AddStaticVehicle(477,-360.4245,1197.6466,19.3596,178.9912,-1,-1); AddStaticVehicle(429,-256.0686,1158.1448,19.3725,271.1678,-1,-1); AddStaticVehicle(567,-238.4327,1221.8577,19.3669,349.5958,-1,-1); AddStaticVehicle(506,-252.9423,1211.2950,19.3676,261.7472,-1,-1); AddStaticVehicle(575,-199.0901,1223.0026,19.3672,4.3578,-1,-1); AddStaticVehicle(587,-209.1190,1226.7495,19.3618,98.2883,-1,-1); AddStaticVehicle(409,-184.7276,1130.8678,19.3280,188.7554,-1,-1); AddStaticVehicle(463,-220.2828,1092.4733,19.3306,97.1592,-1,-1); AddStaticVehicle(471,-185.4255,1036.4297,19.2890,186.0785,-1,-1); AddStaticVehicle(567,-123.9884,888.1815,18.9006,51.1348,-1,-1); AddStaticVehicle(444,-79.5160,932.2335,20.2122,346.0010,-1,-1); AddStaticVehicle(444,-31.1763,956.0410,19.1622,53.4364,-1,-1); AddStaticVehicle(413,-15.5665,978.7767,19.4963,307.2029,-1,-1); AddStaticVehicle(525,42.2830,1002.4468,17.2371,353.8121,-1,-1); AddStaticVehicle(506,120.956-1,-1052.8921,13.234-1,-179.5415,-1,-1); AddStaticVehicle(429,104.8625,1071.6541,13.2345,189.9687,-1,-1); AddStaticVehicle(445,123.4219,1076.4353,13.2348,177.0088,-1,-1); AddStaticVehicle(413,118.0614,1108.3141,13.2337,358.9442,-1,-1); AddStaticVehicle(463,51.3876,1210.5883,18.5327,91.7294,-1,-1); AddStaticVehicle(409,66.2620,1179.5868,18.2885,291.1401,-1,-1); AddStaticVehicle(588,81.1157,1165.2614,18.2857,83.9657,-1,-1); AddStaticVehicle(588,-20.4265,1227.6368,19.0630,93.8055,-1,-1); AddStaticVehicle(422,-3.2001,1238.4734,18.9785,178.8604,-1,-1); AddStaticVehicle(541,1.7061,1167.0304,19.1756,181.1840,-1,-1); AddStaticVehicle(583,17.0943,1165.842-1,-19.1921,241.5235,-1,-1); AddStaticVehicle(444,-42.2918,1165.056-1,-19.1719,246.6628,-1,-1); AddStaticVehicle(506,-33.5260,1143.0715,19.2910,93.8599,-1,-1); AddStaticVehicle(412,-71.0199,1111.3271,19.2871,176.4041,-1,-1); AddStaticVehicle(506,-80.1434,1078.0978,19.3669,177.6294,-1,-1); AddStaticVehicle(583,-108.609-1,-1103.7733,19.2899,89.0844,-1,-1); AddStaticVehicle(525,-148.5494,1082.4767,19.3691,353.1048,-1,-1); AddStaticVehicle(429,168.4480,1934.287-1,-18.0664,181.9625,-1,-1); AddStaticVehicle(463,175.0586,1933.2695,17.8096,180.2549,-1,-1); AddStaticVehicle(535,210.5673,1919.7947,17.2656,87.4488,-1,-1); AddStaticVehicle(420,177.8536,1907.1600,17.7186,0.1131,-1,-1); AddStaticVehicle(541,140.3389,1916.3646,18.5712,88.1238,-1,-1); AddStaticVehicle(415,102.0665,1892.0979,17.7293,269.4406,-1,-1); AddStaticVehicle(422,100.4729,1866.350-1,-17.3644,355.4272,-1,-1); AddStaticVehicle(535,129.4773,1850.779-1,-17.3184,90.8901,-1,-1); AddStaticVehicle(413,166.9568,1829.7693,17.2703,0.6207,-1,-1); AddStaticVehicle(422,193.8089,1808.2306,17.2659,39.7433,-1,-1); AddStaticVehicle(541,229.8319,1887.4211,17.2670,5.4804,-1,-1); AddStaticVehicle(547,-201.2112,2595.8496,62.3280,16.8266,-1,-1); AddStaticVehicle(575,-205.4152,2608.7310,62.3277,347.0627,-1,-1); AddStaticVehicle(429,-231.6441,2609.0623,62.3287,237.3181,-1,-1); AddStaticVehicle(583,-241.2001,2594.8872,62.3281,11.1642,-1,-1); AddStaticVehicle(575,-227.6827,2592.1785,62.3973,202.6982,-1,-1); AddStaticVehicle(525,-237.2302,2627.4956,62.3330,90.2801,-1,-1); AddStaticVehicle(535,-262.0178,2662.7747,62.2359,358.3932,-1,-1); AddStaticVehicle(413,-273.1066,2675.3167,62.2615,270.5418,-1,-1); AddStaticVehicle(444,-225.7179,2695.1040,62.2748,279.7275,-1,-1); AddStaticVehicle(422,-182.7448,2722.0940,62.2352,7.4132,-1,-1); AddStaticVehicle(463,-164.2666,2686.2761,62.1570,1.2893,-1,-1); AddStaticVehicle(576,-149.7491,2728.0947,61.691-1,-172.5766,-1,-1); AddStaticVehicle(587,-161.2165,2770.1079,62.2969,171.3407,-1,-1); AddStaticVehicle(541,-205.3898,2728.6299,62.3123,358.5861,-1,-1); AddStaticVehicle(509,-231.8817,2726.6931,62.3126,91.0253,-1,-1); AddStaticVehicle(575,-263.3339,2720.6165,62.3185,186.2390,-1,-1); AddStaticVehicle(413,-277.4811,2685.0862,62.2842,358.6736,-1,-1); AddStaticVehicle(576,-327.2713,2657.1350,63.2983,88.3093,-1,-1); AddStaticVehicle(561,-284.4737,2664.8013,62.2581,171.1799,-1,-1); AddStaticVehicle(583,-349.2129,2666.3630,64.1739,46.9931,-1,-1); AddStaticVehicle(429,-1463.7504,2369.7310,52.6309,92.2359,-1,-1); AddStaticVehicle(587,-1711.5103,2326.7546,31.4144,142.1869,-1,-1); AddStaticVehicle(415,-1817.3459,2041.5509,8.2606,39.9400,-1,-1); AddStaticVehicle(587,-1800.5823,2043.6740,8.7359,299.2476,-1,-1); AddStaticVehicle(509,-1991.7937,2322.3005,22.4870,354.7424,-1,-1); AddStaticVehicle(415,-1939.0344,2390.3831,49.1171,115.1967,-1,-1); AddStaticVehicle(561,-1933.8927,2379.7573,49.1247,235.0596,-1,-1); AddStaticVehicle(583,-1915.9368,2360.7852,47.8109,271.4160,-1,-1); AddStaticVehicle(524,-1649.3271,2066.8386,18.1170,195.0745,-1,-1); AddStaticVehicle(471,-1525.2631,1836.2568,29.1451,263.2952,-1,-1); AddStaticVehicle(541,-1274.5671,1740.3247,17.8707,264.6907,-1,-1); AddStaticVehicle(506,-1207.0663,1810.6445,41.3441,331.4899,-1,-1); AddStaticVehicle(547,-1197.7006,1820.5166,41.3438,225.5501,-1,-1); AddStaticVehicle(525,-1215.5883,1846.9668,41.1934,46.6991,-1,-1); AddStaticVehicle(477,-906.4188,1988.1740,60.5389,90.4961,-1,-1); AddStaticVehicle(420,-918.9186,1999.4799,60.5393,291.4976,-1,-1); AddStaticVehicle(420,-909.4289,2021.1453,60.5387,258.3463,-1,-1); AddStaticVehicle(561,-933.2523,2018.4424,60.5390,308.1467,-1,-1); AddStaticVehicle(525,-432.2601,2224.4365,42.0018,353.9135,-1,-1); AddStaticVehicle(412,-403.5657,2250.2427,42.0014,288.7562,-1,-1); AddStaticVehicle(588,-429.3867,1994.8099,74.5537,136.3332,-1,-1); AddStaticVehicle(409,-290.3193,1748.0605,42.3169,300.4565,-1,-1); AddStaticVehicle(535,-288.6798,1762.4624,42.3125,88.8632,-1,-1); AddStaticVehicle(587,-302.1125,1768.7463,42.3121,29.6429,-1,-1); AddStaticVehicle(471,-1359.5851,2051.0520,52.0869,93.2973,-1,-1); AddStaticVehicle(429,-1373.0815,2062.4097,52.2110,346.4612,-1,-1); AddStaticVehicle(444,-1507.1261,1975.6212,47.9894,354.8489,-1,-1); AddStaticVehicle(547,-1500.3285,1946.7206,48.1724,269.8910,-1,-1); AddStaticVehicle(506,-1486.2063,1877.8813,32.2579,186.3369,-1,-1); AddStaticVehicle(468,-1466.4763,1869.8313,32.2597,273.9136,-1,-1); AddStaticVehicle(471,-836.8705,1097.5946,32.5249,197.0592,-1,-1); AddStaticVehicle(409,-672.4380,955.6550,11.7580,179.0346,-1,-1); AddStaticVehicle(456,-688.0450,957.1738,11.7788,92.3171,-1,-1); AddStaticVehicle(547,-677.9335,962.3325,11.7604,0.7791,-1,-1); AddStaticVehicle(471,-686.6831,962.5955,11.7632,3.0077,-1,-1); AddStaticVehicle(409,-788.7913,704.9814,18.3850,238.4808,-1,-1); AddStaticVehicle(471,-450.6845,609.1823,16.4644,145.3357,-1,-1); AddStaticVehicle(509,-313.5707,803.8435,14.7347,357.1109,-1,-1); AddStaticVehicle(575,-318.2125,820.8584,13.9190,270.6082,-1,-1); AddStaticVehicle(463,303.4321,732.3605,7.7207,334.5540,-1,-1); AddStaticVehicle(468,688.9692,682.9720,8.6461,280.8177,-1,-1); AddStaticVehicle(422,830.0168,851.6343,11.6585,281.6622,-1,-1); AddStaticVehicle(456,722.5506,1192.6431,13.1566,347.3993,-1,-1); AddStaticVehicle(444,632.9728,1261.7307,11.3381,280.5494,-1,-1); AddStaticVehicle(471,638.6220,1250.2339,11.2677,183.2343,-1,-1); AddStaticVehicle(413,577.4530,1218.0609,11.3515,221.7321,-1,-1); AddStaticVehicle(477,512.8015,1126.0031,13.6834,54.2465,-1,-1); AddStaticVehicle(547,313.7537,1139.3367,8.2186,79.0608,-1,-1); AddStaticVehicle(561,-289.3626,1116.0436,19.8076,177.5774,-1,-1); AddStaticVehicle(525,841.6210,1541.3939,17.8517,319.5254,-1,-1); AddStaticVehicle(471,382.8270,2539.7546,16.0785,89.1131,-1,-1); AddStaticVehicle(588,383.9177,2560.2517,16.0904,27.4864,-1,-1); AddStaticVehicle(583,678.8978,2110.2302,17.6455,172.8832,-1,-1); AddStaticVehicle(575,-782.1928,2750.8564,45.5309,263.6770,-1,-1); AddStaticVehicle(444,-742.2373,2750.9919,47.1001,179.6838,-1,-1); AddStaticVehicle(413,-821.8776,2758.7529,45.7223,285.4342,-1,-1); AddStaticVehicle(567,-862.7127,2755.8411,45.7229,270.0028,-1,-1); AddStaticVehicle(429,-893.4011,2702.7048,42.2464,243.4622,-1,-1); AddStaticVehicle(535,-553.5084,2716.6223,65.5578,226.2689,-1,-1); AddStaticVehicle(509,-510.8720,2630.6553,53.2881,26.3336,-1,-1); AddStaticVehicle(445,-519.3713,2611.0249,53.2855,295.9069,-1,-1); AddStaticVehicle(541,-540.6998,2582.4885,53.2926,239.4546,-1,-1); AddStaticVehicle(524,-523.8633,2568.7300,53.3679,241.5073,-1,-1); AddStaticVehicle(576,-415.9417,2459.3633,44.5552,120.8632,-1,-1); AddStaticVehicle(575,-624.1248,2473.2458,74.6509,48.9400,-1,-1); AddStaticVehicle(463,-847.5779,2423.4553,120.3866,164.1819,-1,-1); AddStaticVehicle(524,-730.7629,2349.4160,125.8305,266.9761,-1,-1); AddStaticVehicle(445,525.8647,2356.4534,31.1162,159.9682,-1,-1); AddStaticVehicle(445,-87.6346,2569.7703,17.6418,198.6958,-1,-1); AddStaticVehicle(588,-84.3997,1342.2336,10.2673,160.2022,-1,-1); AddStaticVehicle(588,-98.4329,1338.8177,9.8444,79.3171,-1,-1); AddStaticVehicle(525,-1522.5328,2529.7163,55.4038,3.1565,-1,-1); AddStaticVehicle(412,-222.6658,2595.3018,62.2175,316.2845,-1,-1); AddStaticVehicle(445,-276.3699,2589.9861,63.1119,174.8524,-1,-1); AddStaticVehicle(575,-298.6087,2610.0000,63.0348,353.7388,-1,-1); AddStaticVehicle(463,-295.0529,2609.2588,62.9194,345.0119,-1,-1); AddStaticVehicle(487,-168.8790,2652.5044,63.1865,281.5857,-1,-1); AddStaticVehicle(513,265.7367,2533.3311,16.2940,174.5457,-1,-1); AddStaticVehicle(513,223.3597,2534.4478,16.2145,167.8589,-1,-1); AddStaticVehicle(487,357.3448,2539.5281,16.2442,171.7309,-1,-1); AddStaticVehicle(487,228.5010,1908.6528,17.1601,99.1504,-1,-1); AddStaticVehicle(487,-287.4342,1211.6553,19.2612,189.8407,-1,-1); AddStaticVehicle(487,-733.3394,1520.9110,37.9057,0.0557,-1,-1); AddStaticVehicle(487,-1525.3237,2636.6516,55.5404,273.7487,-1,-1); AddStaticVehicle(567,-1400.3826,2648.2952,55.6719,31.9705,-1,-1); AddStaticVehicle(413,-1390.3942,2627.7170,55.9710,5.5927,-1,-1); AddStaticVehicle(541,-1410.7639,2632.1833,55.6740,67.8900,-1,-1); AddStaticVehicle(468,-1433.6299,2633.7061,55.8172,195.5999,-1,-1); AddStaticVehicle(415,-734.8799,1623.7214,26.7271,263.6269,-1,-1); AddStaticVehicle(471,-322.6968,1074.5054,19.3381,8.8847,-1,-1); AddStaticVehicle(413,-313.3278,1104.0696,19.3401,268.1991,-1,-1); AddStaticVehicle(547,-289.4848,1089.2935,19.4219,228.8604,-1,-1); AddStaticVehicle(525,-282.6940,1054.0261,19.4220,189.8490,-1,-1); AddStaticVehicle(525,192.5705,1901.3212,17.1653,116.4108,-1,-1); AddStaticVehicle(547,176.3067,1889.0280,20.1172,79.3936,-1,-1); AddStaticVehicle(409,175.0368,1872.6005,20.3134,203.1233,-1,-1); AddStaticVehicle(413,208.6663,1858.6287,20.1814,268.5108,-1,-1); AddStaticVehicle(509,251.5676,1895.3811,20.1734,169.7996,-1,-1); AddStaticVehicle(575,-208.7240,2611.1819,62.5282,186.0562,-1,-1); AddStaticVehicle(412,-213.3560,2596.1616,62.4405,137.0589,-1,-1); AddStaticVehicle(541,-243.6388,2608.6184,62.4723,68.6031,-1,-1); AddStaticVehicle(513,248.4418,2532.2568,17.3012,180.6818,-1,-1); AddStaticVehicle(519,403.8629,2453.5754,17.0422,357.6751,-1,-1); AddStaticVehicle(553,95.6526,2535.0930,16.0469,185.9408,66,71); // // FISH! // CreateObject(1607, 467.110596, -2132.258301, -27.557951, -1, -1, -1); CreateObject(1607, 465.179901, -2136.499268, -24.482952, -1, -1, -1); // // Weapon Menu // ChoosePistol = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(ChoosePistol, 0, "Pistol:"); AddMenuItem(ChoosePistol, 0, "Pistol (15O Ammo)"); AddMenuItem(ChoosePistol, 0, "Silenced Pistol (125 Ammo)"); AddMenuItem(ChoosePistol, 0, "Deagle (70 Ammo)"); ChooseHand = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(ChooseHand, 0, "Hand Weapon:"); AddMenuItem(ChooseHand, 0, "Katana"); AddMenuItem(ChooseHand, 0, "Baseball Bat"); AddMenuItem(ChooseHand, 0, "Shovel"); AddMenuItem(ChooseHand, 0, "Dildo"); ChoosePrimary = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(ChoosePrimary, 0, "Primary Weapon:"); AddMenuItem(ChoosePrimary, 0, "Shotgun (125 Ammo)"); AddMenuItem(ChoosePrimary, 0, "Sawnoff Shotgun (125 Ammo)"); AddMenuItem(ChoosePrimary, 0, "M4AI (250 Ammo)"); AddMenuItem(ChoosePrimary, 0, "AK47 (250 Ammo)"); ChooseSecondary = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(ChooseSecondary, 0, "Secondary Weapon:"); AddMenuItem(ChooseSecondary, 0, "MP5 (350 Ammo)"); AddMenuItem(ChooseSecondary, 0, "TEC9 (350 Ammo)"); AddMenuItem(ChooseSecondary, 0, "Uzi (350 Ammo)"); ChooseOption = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(ChooseOption, 0, "Next Time:"); AddMenuItem(ChooseOption, 0, "Ask me again"); AddMenuItem(ChooseOption, 0, "Use this selection"); BuyPoint = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(BuyPoint, 0, "Buy:"); AddMenuItem(BuyPoint, 0, "Ammo"); AddMenuItem(BuyPoint, 0, "Health"); AddMenuItem(BuyPoint, 0, "Armor"); AddMenuItem(BuyPoint, 0, "Life Insurance"); Ammo = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(Ammo, 0, "Ammo Amount:"); AddMenuItem(Ammo, 0, "50 (1500$)"); AddMenuItem(Ammo, 0, "100 (3000$)"); AddMenuItem(Ammo, 0, "250 (7500$)"); AddMenuItem(Ammo, 0, "500 (15000$)"); Health = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(Health, 0, "Health Amount:"); AddMenuItem(Health, 0, "10 (800$)"); AddMenuItem(Health, 0, "25 (2000$)"); AddMenuItem(Health, 0, "50 (4000$)"); AddMenuItem(Health, 0, "75 (6000$)"); AddMenuItem(Health, 0, "100 (8000$)"); Armor = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(Armor, 0, "Armor Amount:"); AddMenuItem(Armor, 0, "10 (800$)"); AddMenuItem(Armor, 0, "25 (2000$)"); AddMenuItem(Armor, 0, "50 (4000$)"); AddMenuItem(Armor, 0, "75 (6000$)"); AddMenuItem(Armor, 0, "100 (8000$)"); Special = CreateMenu("Menu", 1, 350, 100, 200, 50); SetMenuColumnHeader(Special, 0, "Special:"); AddMenuItem(Special, 0, "Life Insurance 25% (2500$)"); AddMenuItem(Special, 0, "Life Insurance 50% (5000$)"); AddMenuItem(Special, 0, "Life Insurance 75% (7500$)"); AddMenuItem(Special, 0, "Life Insurance 100% (10000$)"); return 1; } // // Hahah, laggers ftl // public ping(){ new string[256]; for(new x=0; x 600) { if(gPingCount[x][0] == 0) { gPingCount[x][1] = TimeStamp(); } gPingCount[x][0]++; if(TimeStamp() - gPingCount[x][1] > 20) { gPingCount[x][1] = TimeStamp(); gPingCount[x][0] = 1; } else if(gPingCount[x][0] == 3) { gInvisibleKick[x] = 1; format(string,sizeof(string),"Maximum ping is 600 (Ping: %i)", GetPlayerPing(x)); SendKickMessage(x, 999, string); } } } } return 1; } // // Timestamp needed :D // public TimeStamp() { new tim2e = GetTickCount() / 1000; return tim2e; } // // Intercepting pm's >:) // public OnPlayerPrivmsg(playerid, recieverid, text[]){ new playerstring[256], receiverstring[256], log[256], sender[256], receiver[256]; GetPlayerName(recieverid, receiver, sizeof(receiver)); GetPlayerName(playerid, sender, sizeof(sender)); format(log, sizeof(log), "PM from %s sent to %s: %s", sender, receiver, text); format(playerstring, sizeof(playerstring), "PM succesfully sent to %s (%i)", receiver, recieverid); format(receiverstring, sizeof(receiverstring), "PM From %s (%i): %s", sender, playerid, text); SendClientMessage(playerid, COLOR_LIGHTBLUE, playerstring); SendClientMessage(recieverid, COLOR_LIGHTBLUE, receiverstring); Log(playerid, log); return 0; } // // When player chooses something from the weapon menu // public OnPlayerSelectedMenuRow(playerid,row) { new Menu:Current = GetPlayerMenu(playerid); if(Current == ChoosePistol){ switch(row){ case 0: { GivePlayerWeapon(playerid, 22, 150); gPistol[playerid] = 0; } case 1: { GivePlayerWeapon(playerid, 23, 125); gPistol[playerid] = 1; } case 2: { GivePlayerWeapon(playerid, 24, 70); gPistol[playerid] = 2; } } ShowMenuForPlayer(ChooseSecondary, playerid); } if(Current == ChooseSecondary){ switch(row){ case 0: { GivePlayerWeapon(playerid, 29, 350); gSecondary[playerid] = 0; } case 1: { GivePlayerWeapon(playerid, 32, 350); gSecondary[playerid] = 1; } case 2: { GivePlayerWeapon(playerid, 28, 350); gSecondary[playerid] = 2; } } ShowMenuForPlayer(ChoosePrimary, playerid); } if(Current == ChoosePrimary){ switch(row){ case 0: { GivePlayerWeapon(playerid, 25, 125); gPrimary[playerid] = 0; } case 1: { GivePlayerWeapon(playerid, 26, 125); gPrimary[playerid] = 1; } case 2: { GivePlayerWeapon(playerid, 31, 250); gPrimary[playerid] = 2; } case 3: { GivePlayerWeapon(playerid, 30, 250); gPrimary[playerid] = 3; } } ShowMenuForPlayer(ChooseOption, playerid); } if(Current == ChooseHand){ switch(row){ case 0: { GivePlayerWeapon(playerid, 8, 1); gHand[playerid] = 0; } case 1: { GivePlayerWeapon(playerid, 5, 1); gHand[playerid] = 1; } case 2: { GivePlayerWeapon(playerid, 6, 1); gHand[playerid] = 2; } case 3: { GivePlayerWeapon(playerid, 10, 1); gHand[playerid] = 3; } } ShowMenuForPlayer(ChoosePistol, playerid); } if(Current == ChooseOption){ switch(row){ case 0: { gNext[playerid] = 0; } case 1: { gNext[playerid] = 1; SendClientMessage(playerid, COLOR_YELLOW, "Type /weapons to re-enable the weapon menu."); } } if(gFreeze[playerid] != 1){ TogglePlayerControllable(playerid, true); } SendClientMessage(playerid, COLOR_YELLOW, "You can always buy ammo by typing /buy in the weapon checkpoints!"); } if(Current == BuyPoint){ switch(row){ case 0: { ShowMenuForPlayer(Ammo, playerid); SendClientMessage(playerid, COLOR_YELLOW, "You can buy ammo for your weapon here, with a maximum of 1000 bullets!"); } case 1: { ShowMenuForPlayer(Health, playerid); SendClientMessage(playerid, COLOR_YELLOW, "You can buy health here!"); } case 2: { ShowMenuForPlayer(Armor, playerid); SendClientMessage(playerid, COLOR_YELLOW, "You can buy armor here!"); } case 3: { ShowMenuForPlayer(Special, playerid); SendClientMessage(playerid, COLOR_YELLOW, "Insurance refunds the money you had when you died!"); } } } if(Current == Ammo){ if(GetPlayerWeapon(playerid) < 15){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot buy ammo for this weapon!"); TogglePlayerControllable(playerid, true); } else { switch(row){ case 0: { if(gMoney[playerid] >= 1500){ new ammo = GetPlayerAmmo(playerid); if(ammo == 1000){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot buy more ammo then 1000!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 1500); if(ammo > 950){ SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 1000); SendClientMessage(playerid, COLOR_ORANGE, "Your maximum of 1000 bullets is reached!"); } else { SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), ammo + 50); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 1500$"); } } case 1: { if(gMoney[playerid] >= 3000){ new ammo = GetPlayerAmmo(playerid); if(ammo == 1000){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot buy more ammo then 1000!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 3000); if(ammo >= 900){ SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 1000); SendClientMessage(playerid, COLOR_ORANGE, "Your maximum of 1000 bullets is reached!"); } else { SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), ammo + 100); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 3000$"); } } case 2: { if(gMoney[playerid] >= 7500){ new ammo = GetPlayerAmmo(playerid); if(ammo == 1000){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot buy more ammo then 1000!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 7500); if(ammo >= 750){ SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 1000); SendClientMessage(playerid, COLOR_ORANGE, "Your maximum of 1000 bullets is reached!"); } else { SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), ammo + 250); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 7500$"); } } case 3: { if(gMoney[playerid] >= 15000){ new ammo = GetPlayerAmmo(playerid); if(ammo == 1000){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot buy more ammo then 1000!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 15000); if(ammo >= 500){ SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 1000); SendClientMessage(playerid, COLOR_ORANGE, "Your maximum of 1000 bullets is reached!"); } else { SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), ammo + 500); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 15000$"); } } } TogglePlayerControllable(playerid, true); } } if(Current == Health){ switch(row){ case 0: { if(gMoney[playerid] >= 800){ new Float:ammo; GetPlayerHealth(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 health!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 800); if(health > 90){ SetPlayerHealth(playerid, 100); } else { SetPlayerHealth(playerid, health + 10); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 10 health!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 800$"); } } case 1: { if(gMoney[playerid] >= 2000){ new Float:ammo; GetPlayerHealth(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 health!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 2000); if(health > 75){ SetPlayerHealth(playerid, 100); } else { SetPlayerHealth(playerid, health + 25); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 25 health!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 2000$"); } } case 2: { if(gMoney[playerid] >= 4000){ new Float:ammo; GetPlayerHealth(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 health!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 4000); if(health > 50){ SetPlayerHealth(playerid, 100); } else { SetPlayerHealth(playerid, health + 50); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 50 health!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 4000$"); } } case 3: { if(gMoney[playerid] >= 6000){ new Float:ammo; GetPlayerHealth(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 health!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 6000); if(health > 25){ SetPlayerHealth(playerid, 100); } else { SetPlayerHealth(playerid, health + 75); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 75 health!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 6000$"); } } case 4: { if(gMoney[playerid] >= 8000){ new Float:ammo; GetPlayerHealth(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 health!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 8000); SetPlayerHealth(playerid, 100); SendClientMessage(playerid, COLOR_ORANGE, "You bought 100 health!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 8000$"); } } } if(gFreeze[playerid] != 1){ TogglePlayerControllable(playerid, true); } } if(Current == Armor){ switch(row){ case 0: { if(gMoney[playerid] >= 800){ new Float:ammo; GetPlayerArmour(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 armor!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 800); if(health > 90){ SetPlayerArmour(playerid, 100); } else { SetPlayerArmour(playerid, health + 10); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 10 armor!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 800$"); } } case 1: { if(gMoney[playerid] >= 2000){ new Float:ammo; GetPlayerArmour(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 armor!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 2000); if(health > 75){ SetPlayerArmour(playerid, 100); } else { SetPlayerArmour(playerid, health + 25); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 25 armor!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 2000$"); } } case 2: { if(gMoney[playerid] >= 4000){ new Float:ammo; GetPlayerArmour(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 armor!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 4000); if(health > 50){ SetPlayerArmour(playerid, 100); } else { SetPlayerArmour(playerid, health + 50); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 50 armor!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 4000$"); } } case 3: { if(gMoney[playerid] >= 6000){ new Float:ammo; GetPlayerArmour(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 armor!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 6000); if(health > 25){ SetPlayerArmour(playerid, 100); } else { SetPlayerArmour(playerid, health + 75); } SendClientMessage(playerid, COLOR_ORANGE, "You bought 75 armor!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 6000$"); } } case 4: { if(gMoney[playerid] >= 8000){ new Float:ammo; GetPlayerArmour(playerid, ammo); new health = floatround(ammo); if(health == 100){ SendClientMessage(playerid, COLOR_ORANGE, "You already have 100 armor!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 8000); SetPlayerArmour(playerid, 100); SendClientMessage(playerid, COLOR_ORANGE, "You bought 100 armor!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 8000$"); } } } if(gFreeze[playerid] != 1){ TogglePlayerControllable(playerid, true); } } if(Current == Special){ switch(row){ case 0: { if(gMoney[playerid] >= 2500){ if(gInsurance[playerid] == 1){ SendClientMessage(playerid, COLOR_ORANGE, "You already have this insurance!"); } else if(gInsurance[playerid] > 1) { SendClientMessage(playerid, COLOR_ORANGE, "You already have a better insurance!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 2500); gInsurance[playerid] = 1; SendClientMessage(playerid, COLOR_ORANGE, "You now have 25 percent insurance!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 2500$"); } } case 1: { if(gMoney[playerid] >= 5000){ if(gInsurance[playerid] == 2){ SendClientMessage(playerid, COLOR_ORANGE, "You already have this insurance!"); } else if(gInsurance[playerid] > 2) { SendClientMessage(playerid, COLOR_ORANGE, "You already have a better insurance!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 5000); gInsurance[playerid] = 2; SendClientMessage(playerid, COLOR_ORANGE, "You now have 50 percent insurance!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 5000$"); } } case 2: { if(gMoney[playerid] >= 7500){ if(gInsurance[playerid] == 3){ SendClientMessage(playerid, COLOR_ORANGE, "You already have this insurance!"); } else if(gInsurance[playerid] > 3) { SendClientMessage(playerid, COLOR_ORANGE, "You already have a better insurance!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 7500); gInsurance[playerid] = 3; SendClientMessage(playerid, COLOR_ORANGE, "You now have 75 percent insurance!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 7500$"); } } case 3: { if(gMoney[playerid] >= 10000){ if(gInsurance[playerid] == 4){ SendClientMessage(playerid, COLOR_ORANGE, "You already have this insurance!"); } else { SetPlayerCash(playerid, gMoney[playerid] - 10000); gInsurance[playerid] = 4; SendClientMessage(playerid, COLOR_ORANGE, "You now have 100 percent insurance!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "You dont have enough money! You need at least 10000$"); } } } if(gFreeze[playerid] != 1){ TogglePlayerControllable(playerid, true); } } } // // When player disconnects // public OnPlayerDisconnect(playerid){ Reset(playerid); return 0; } // // When player connects // public OnPlayerConnect(playerid) { Reset(playerid); ResetPlayerMoney(playerid); ResetPlayerWeapons(playerid); gMoney[playerid] = 0; SetPlayerColor(playerid,0xFFFFFF00); SendClientMessage(playerid, COLOR_YELLOW, "Welcome at the Midna.nl | Desert TDM server!"); SendClientMessage(playerid, COLOR_YELLOW, "Type /help for more info and commands, and type /rules for the servers rules."); GameTextForPlayer(playerid, "Welcome at Desert TDM!", 1500, 3); SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); return 0; } // // When player changes interior // public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid){ if(newinteriorid != 0){ SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); SetTimerEx( "interiorOut", 3000, 0, "i", playerid ); TogglePlayerControllable(playerid, false); } return 1; } // // When player requests to spawn // public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 471.172577, -2128.310059, -28.597435); SetPlayerCameraPos(playerid, 475.871735, -2126.508057, -27.522444); SetPlayerCameraLookAt(playerid, 471.172577, -2128.310059, -28.597435); SetPlayerFacingAngle(playerid, 282); SetPlayerColor(playerid,0xFFFFFF00); SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); new string[256]; new realid = classid + 1; if(classid == 0){ format(string, sizeof(string), "~b~Retarded Cops %i/5", realid); gTeam[playerid] = 1; } else if(classid == 1){ format(string, sizeof(string), "~y~Crazy Farmers %i/5", realid); gTeam[playerid] = 2; } else if(classid == 2){ format(string, sizeof(string), "~p~Drunk Idiots %i/5", realid); gTeam[playerid] = 3; } else if(classid == 3){ format(string, sizeof(string), "~g~Private Army %i/5", realid); gTeam[playerid] = 4; } else if(classid == 4){ format(string, sizeof(string), "~r~Lazy Citizens %i/5", realid); gTeam[playerid] = 5; } GameTextForPlayer(playerid, string, 6000000, 3); return 1; } // // When player dies // public OnPlayerDeath(playerid, killerid, reason) { HideMenuForPlayer(GetPlayerMenu(playerid),playerid); SendDeathMessage(killerid, playerid, reason); SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); new money, cash, string[256], playername[256]; GetPlayerName(playerid, playername, sizeof(playername)); money = GetPlayerMoney(playerid); if(money > 17500){ money = 17500; } if(IsPlayerConnected(killerid)){ if(gTeam[playerid] == gTeam[killerid]){ GameTextForPlayer(killerid, "~r~DO NOT TEAMKILL!", 5000, 3); SendWarnMessage(killerid, 999, "Dont teamkill!"); SetPlayerPoint(killerid, GetPlayerScore(killerid) - 3); } else { cash = money + 2500; GivePlayerPoint(killerid, 1); GivePlayerCash(killerid, cash); format(string, sizeof(string), "You earned $%i by killing %s!", cash, playername); SendClientMessage(killerid, COLOR_YELLOW, string); } } money = GetPlayerMoney(playerid); ResetPlayerMoney(playerid); if(gInsurance[playerid] == 1){ if(gSuicide[playerid] == 1){ SendClientMessage(playerid, COLOR_YELLOW, "Your insurance doesnt cover suicides! Your insurance has ended now!"); } else { new refund = floatround(money / 4); format(string, sizeof(string), "Your insurance refunded you 25 percent, that is in total $%i! Your insurance has ended now!", refund); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, refund); } } if(gInsurance[playerid] == 2){ if(gSuicide[playerid] == 1){ SendClientMessage(playerid, COLOR_YELLOW, "Your insurance doesnt cover suicides! Your insurance has ended now!"); } else { new refund = floatround(money / 2); format(string, sizeof(string), "Your insurance refunded you 50 percent, that is in total $%i! Your insurance has ended now!", refund); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, refund); } } if(gInsurance[playerid] == 3){ if(gSuicide[playerid] == 1){ SendClientMessage(playerid, COLOR_YELLOW, "Your insurance doesnt cover suicides! Your insurance has ended now!"); } else { new refund = floatround(floatround(money / 4) * 3); format(string, sizeof(string), "Your insurance refunded you 75 percent, that is in total $%i! Your insurance has ended now!", refund); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, refund); } } if(gInsurance[playerid] == 4){ if(gSuicide[playerid] == 1){ SendClientMessage(playerid, COLOR_YELLOW, "Your insurance doesnt cover suicides! Your insurance has ended now!"); } else { new refund = money; format(string, sizeof(string), "Your insurance refunded you 100 percent, that is in total $%i! Your insurance has ended now!", refund); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, refund); } } gInsurance[playerid] = 0; gSuicide[playerid] = 0; return 1; } // // Your tha best // public best(){ new highest = 0, name[256], old, found = 0; for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ new score = GetPlayerScore(i); if(score > highest){ highest = score; old = i; found = 1; GetPlayerName(i, name, sizeof(name)); } } } if(found == 0){ SendClientMessageToAll(COLOR_YELLOW, "There is currently no top-player!"); } else { new string[256]; format(string, sizeof(string), "The top-player at the moment is %s, with a score of %i!", name, highest); SendClientMessageToAll(COLOR_YELLOW, string); highest = 0; found = 0; for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(i != old){ new score = GetPlayerScore(i); if(score > highest){ highest = score; found = 1; GetPlayerName(i, name, sizeof(name)); } } } } if(found == 0){ SendClientMessageToAll(COLOR_YELLOW, "There is currently no second place!"); } else { format(string, sizeof(string), "Second place is %s, with a score of %i!", name, highest); SendClientMessageToAll(COLOR_YELLOW, string); } } } // // When player spawns // public OnPlayerSpawn(playerid) { if(gFreeze[playerid] == 1){ SendClientMessage(playerid, COLOR_ORANGE, "You have been frozen."); TogglePlayerControllable(playerid, false); } SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); if(gTeam[playerid] == 1){ SetPlayerColor(playerid, COLOR_BLUE); } else if(gTeam[playerid] == 2){ SetPlayerColor(playerid, COLOR_YELLOW); } else if(gTeam[playerid] == 3){ SetPlayerColor(playerid, COLOR_PURPLE); } else if(gTeam[playerid] == 4){ SetPlayerColor(playerid, COLOR_GREEN); } else if(gTeam[playerid] == 5){ SetPlayerColor(playerid, COLOR_REALRED); } GameTextForPlayer(playerid, "~r~H~y~a~r~v~y~e ~r~F~y~u~r~n~y~!", 3000, 3); new i = playerid; GetPlayerPos(i, players[ i ][ 2 ][ 0 ], players[ i ][ 2 ][ 1 ], players[ i ][ 2 ][ 2 ]); GetPlayerPos(i, players[ i ][ 1 ][ 0 ], players[ i ][ 1 ][ 1 ], players[ i ][ 1 ][ 2 ]); GetPlayerPos(i, players[ i ][ 0 ][ 0 ], players[ i ][ 0 ][ 1 ], players[ i ][ 0 ][ 2 ]); if(gNext[playerid] == 1){ switch(gPistol[playerid]){ case 0: { GivePlayerWeapon(playerid, 22, 150); } case 1: { GivePlayerWeapon(playerid, 23, 125); } case 2: { GivePlayerWeapon(playerid, 24, 70); } } switch(gSecondary[playerid]){ case 0: { GivePlayerWeapon(playerid, 29, 350); } case 1: { GivePlayerWeapon(playerid, 32, 350); } case 2: { GivePlayerWeapon(playerid, 28, 350); } } switch(gPrimary[playerid]){ case 0: { GivePlayerWeapon(playerid, 25, 125); } case 1: { GivePlayerWeapon(playerid, 26, 125); } case 2: { GivePlayerWeapon(playerid, 31, 250); } case 3: { GivePlayerWeapon(playerid, 30, 250); } } switch(gHand[playerid]){ case 0: { GivePlayerWeapon(playerid, 8, 1); } case 1: { GivePlayerWeapon(playerid, 5, 1); } case 2: { GivePlayerWeapon(playerid, 2, 1); } case 3: { GivePlayerWeapon(playerid, 10, 1); } } if(gFreeze[playerid] != 1){ TogglePlayerControllable(playerid, true); } SendClientMessage(playerid, COLOR_YELLOW, "Your weapons are restored as you have chosen before. Type /weapons to re-enable the menu."); } else { SetTimerEx( "FreezeMenu", 750, 0, "i", playerid ); } SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); return 1; } // // When player submits a command // public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx; cmd = strtok(cmdtext, idx); // // Player commands // if (strcmp(cmd, "/help", true)==0) { SendClientMessage(playerid, COLOR_YELLOW, "This is a TEAM deathmatch. It basicly means you (and your teammates) are fighting the other teams."); SendClientMessage(playerid, COLOR_YELLOW, "You can buy health & ammo at the red checkpoints."); SendClientMessage(playerid, COLOR_YELLOW, "Also, be sure to follow the RULES, you might get banned if you dont! (Type /rules for more info)"); SendClientMessage(playerid, COLOR_YELLOW, "Type /commands for all commands, type /rules for the rules.."); SendClientMessage(playerid, COLOR_YELLOW, "This mode is made by Woet!"); SendClientMessage(playerid, COLOR_RED, "--> For questions, you can always visit www.midna.nl"); return 1; } if (strcmp(cmd, "/rules", true)==0) { SendClientMessage(playerid, COLOR_YELLOW, "This are basic rules. Admins are allowed to kick/ban for reasons that are NOT in this list."); SendClientMessage(playerid, COLOR_YELLOW, "1) Dont spam."); SendClientMessage(playerid, COLOR_YELLOW, "2) Dont teamkill."); SendClientMessage(playerid, COLOR_YELLOW, "3) Dont carkill/helikill."); SendClientMessage(playerid, COLOR_YELLOW, "4) Dont cheat/hack/mod."); SendClientMessage(playerid, COLOR_YELLOW, "5) Dont driveby. "); SendClientMessage(playerid, COLOR_YELLOW, "6) Keep it fun for everyone on the server."); SendClientMessage(playerid, COLOR_RED, "--> For questions, you can always visit www.midna.nl"); return 1; } if (strcmp(cmd, "/commands", true)==0) { SendClientMessage(playerid, COLOR_YELLOW, "/kill, /rules, /help, /irc"); SendClientMessage(playerid, COLOR_YELLOW, "/bug [info], Tell us about a bug!"); SendClientMessage(playerid, COLOR_YELLOW, "/message [message], Send a message to the admins."); SendClientMessage(playerid, COLOR_YELLOW, "/transfer [id-name] [amount], Transfer money!"); SendClientMessage(playerid, COLOR_YELLOW, "/pm [id] [message], Send a private message!"); SendClientMessage(playerid, COLOR_YELLOW, "/buy, Buy insurance, armor, health and ammo when your in the checkpoint."); SendClientMessage(playerid, COLOR_RED, "--> For questions, you can always visit www.midna.nl"); return 1; } if (strcmp(cmd, "/irc", true)==0) { SendClientMessage(playerid, COLOR_YELLOW, "Midna has its own IRC channel!"); SendClientMessage(playerid, COLOR_YELLOW, "Server: irc.gtanet.com"); SendClientMessage(playerid, COLOR_YELLOW, "Channel: #midna"); SendClientMessage(playerid, COLOR_YELLOW, "Download a IRC client such as mIRC (www.mirc.com) to access IRC!"); SendClientMessage(playerid, COLOR_RED, "--> For questions, you can always visit www.midna.nl"); return 1; } if (strcmp(cmd, "/kill", true)==0) { SetPlayerHealth(playerid, 0.0); SetPlayerPoint(playerid, GetPlayerScore(playerid) - 1); gSuicide[playerid] = 1; return 1; } if (strcmp(cmd, "/bug", true)==0) { new filecontents[256], tmp[256], string[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /bug [info]"); } else { new Day,Month,Year,Hour,Minut,Second,name[256],ip[256]; getdate(Year,Month,Day); gettime(Hour,Minut,Second); GetPlayerIp(playerid, ip, sizeof(ip)); GetPlayerName(playerid, name, sizeof(name)); strdel(cmdtext, 0, 5); format(filecontents, sizeof(filecontents), "[%i-%i-%i %i:%i:%i] [%s] [%s] [%s]\n", Day,Month,Year,Hour,Minut,Second,name,ip,cmdtext); new File:gFile = fopen("bugs.log", io_readwrite); fseek(gFile, 0, seek_end); fwrite(gFile, filecontents); fclose(gFile); format(string, sizeof(string), "%s has submitted a bug", name); SendClientMessage(playerid, COLOR_YELLOW, "Thank you for reporting your bug!"); SendAdminMessage(string); } return 1; } if (strcmp(cmd, "/weapons", true)==0) { if(gNext[playerid] == 0){ SendClientMessage(playerid, COLOR_ORANGE, "Your menu is already re-enabled! You can choose weapons when you die."); } else { SendClientMessage(playerid, COLOR_YELLOW, "The menu will be re-enabled once you die."); gNext[playerid] = 0; } return 1; } if (strcmp(cmd, "/buy", true)==0) { if(IsPlayerInCheckpoint(playerid)){ TogglePlayerControllable(playerid, false); ShowMenuForPlayer(BuyPoint, playerid); SendClientMessage(playerid, COLOR_YELLOW, "Welcome at the shop! What would you like to buy?"); } else { SendClientMessage(playerid, COLOR_ORANGE, "You must be in the checkpoint to buy stuff!"); } return 1; } if (strcmp(cmd, "/message", true)==0) { new name[256], string[256]; GetPlayerName(playerid, name, sizeof(name)); strdel(cmdtext, 0, 9); format(string, sizeof(string), "--> [%s]: %s", name, cmdtext); SendAdminMessage(string); SendClientMessage(playerid, COLOR_YELLOW, "You message has been sent!"); return 1; } if (strcmp(cmd, "/me", true)==0) { new name[256], string[256]; GetPlayerName(playerid, name, sizeof(name)); strdel(cmdtext, 0, 4); if(strlen(cmdtext) == 0){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /me [text]"); } else { format(string, sizeof(string), "* %s %s", name, cmdtext); SendClientMessageToAll(COLOR_WHITE, string); } return 1; } if (strcmp(cmd, "/transfer", true)==0) { new tmp[256], to[256], from[256], string[256]; GetPlayerName(playerid, from, sizeof(from)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /transfer [id-name] [amount]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp); GetPlayerName(id, to, sizeof(to)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /transfer [id-name] [amount]"); } else { new amount = strval(tmp); new money = GetPlayerMoney(playerid); new newmoney = money - amount; if(amount < 1){ SendClientMessage(playerid, COLOR_ORANGE, "You need to transfer at least $1!"); } else if(amount > money){ SendClientMessage(playerid, COLOR_ORANGE, "You dont have so much money!"); } else if(id == playerid){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot send money to yourself!"); } else { format(string, sizeof(string), "%s transfered $%i to %s", from, amount, to); SendClientMessageToAll(COLOR_YELLOW, string); GivePlayerCash(id, amount); SetPlayerCash(playerid, newmoney); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } return 1; } // // Admin commands // if (strcmp(cmd, "/admin", true)==0) { if(IsPlayerLevel(playerid,1)){ new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ if(IsPlayerLevel(playerid,1)){ SendClientMessage(playerid, COLOR_GREEN, "/c [chat], /info [id-name], /spec [id-name], /stopspec, /frozen, /muted, /mute [id-name] , /unmute [id-name]"); } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } if(IsPlayerLevel(playerid,2)){ SendClientMessage(playerid, COLOR_GREEN, "/freeze [id-name] , /unfreeze [id-name], /warn [id-name] , /slap [id-name] [health]"); } if(IsPlayerLevel(playerid,3)){ SendClientMessage(playerid, COLOR_GREEN, "/disarm [id-name], /tele [id-name], /bring [id-name], /fkill [id-name] , /annnounce [message]"); SendClientMessage(playerid, COLOR_GREEN, "/eject [id-name], /sethealth [id-name] [amount], /setscore [id-name] [amount], /setmoney [id-name] [amount]"); } if(IsPlayerLevel(playerid,4)){ SendClientMessage(playerid, COLOR_GREEN, "/kick [id-name] , /lock , /unlock , /giveweapon [id-name] [weapon] , /ban [id-name] "); } if(IsPlayerLevel(playerid,1)){ SendClientMessage(playerid, COLOR_GREEN, "[what] means required parameter. means optional parameter. For more info about a command, type '/admin [command]'"); } } else { if(strcmp(tmp, "c", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/c [chat], Chat into the admin chat."); } if(strcmp(tmp, "info", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/info [id-name], Gives information about a player (Weapons,Health,Money,Armor,IP etc)."); } if(strcmp(tmp, "spec", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/spec [id-name], Spectate a player."); } if(strcmp(tmp, "stopspec", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/stopspec, Stop spectating."); } if(strcmp(tmp, "jailed", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/jailed, Lists people who are jailed, including reason, by who, and optional unjailing time."); } if(strcmp(tmp, "frozen", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/frozen, Lists people who are frozen, including reason and by who."); } if(strcmp(tmp, "muted", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/muted, Lists people who are muted, including reason and by who."); } if(strcmp(tmp, "mute", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/mute [id-name] , Mute the player, optional reason."); } if(strcmp(tmp, "warn", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/warn [id-name] , Warn the player (After 5 warnings he will get kicked), optional reason."); } if(strcmp(tmp, "freeze", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/freeze [id-name] , Freezes the player so he cant move, optional reasom."); } if(strcmp(tmp, "unfreeze", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/unfreeze [id-name], Unfreezes the player so he can move again."); } if(strcmp(tmp, "fkill", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/fkill [id-name] , Kills the player."); } if(strcmp(tmp, "slap", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/slap [id-name] [health], Slaps the player, health is the health taken off."); } if(strcmp(tmp, "giveweapon", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/giveweapon [id-name] [weapon] , Gives player a weapon with a specific ammo. (Ammo Default is 100)"); } if(strcmp(tmp, "announce", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/announce [message], Send an message to all players online."); } if(strcmp(tmp, "disarm", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/disarm [id-name], Removes all the weapons of a player."); } if(strcmp(tmp, "tele", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/tele [id-name], Teleport to a player."); } if(strcmp(tmp, "bring", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/bring [id-name], Bring the player to you."); } if(strcmp(tmp, "sethealth", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/sethealth [id-name] [amount], Sets the players health."); } if(strcmp(tmp, "setmoney", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/setmoney [id-name] [amount], Sets the players money."); } if(strcmp(tmp, "kick", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/kick [id-name] , Kicks a player."); } if(strcmp(tmp, "lock", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/lock , Locks the chat, only allowing members can talk."); } if(strcmp(tmp, "unlock", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/unlock, Unlocks the chat, allowing everyone to talk."); } if(strcmp(tmp, "ban", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/unlock, Unlocks the chat, allowing everyone to talk."); } if(strcmp(tmp, "eject", true) == 0){ SendClientMessage(playerid, COLOR_GREEN, "/eject [id-name], Removes the player from his vehicle."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/info", true)==0) { if(IsPlayerLevel(playerid,1)){ new tmp[256], string[256], admin[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_RED, "USAGE: /info [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), playername[256], name[256], ip[256], string2[256], string3[256], vhealthstuff[256], vehicle[256], Float:health, Float:vhealth, Float:armor, rcon; GetPlayerName(id, name, sizeof(name)); format(string, sizeof(string), "%s has looked up info of %s", admin, name); AdminLog(playerid,string); GetPlayerIp(id, ip, sizeof(ip)); GetPlayerArmour(id, armor); GetPlayerName(id, playername, sizeof(playername)); GetPlayerHealth(id, health); new ammo = GetPlayerAmmo(id); if(IsPlayerAdmin(id)){ rcon = 1; } else { rcon = 0; } if(IsPlayerInAnyVehicle(id)){ new vehid = GetPlayerVehicleID(playerid); format(vehicle, sizeof(vehicle), "%i", GetVehicleModel(vehid)); GetVehicleHealth(vehid, vhealth); vhealth = floatround(vhealth / 10, floatround_round); format(vhealthstuff, sizeof(vhealthstuff), "%i", floatround(vhealth)); } else { format(vehicle, sizeof(vehicle), "None"); format(vhealthstuff, sizeof(vhealthstuff), "-"); } if(ammo == 65535){ ammo = 0; } new health2 = floatround(health); new armor2 = floatround(armor); format(string, sizeof(string), "Name: %s | ID: %i | Team: %i | IP: %s | Ping: %i | Warnings: %i/3 | Admin: %i", playername, id, gTeam[id], ip, GetPlayerPing(id), gWarnings[id], rcon); format(string2, sizeof(string2), "Money: %i | Health: %i | Armor: %i | Weapon: %i | Ammo: %i", GetPlayerMoney(id), health2, armor2, GetPlayerWeapon(id), ammo); format(string3, sizeof(string3), "Vehicle: %s | Vehicle Health: %s | Score: %i", vehicle, vhealthstuff, GetPlayerScore(id)); SendClientMessage(playerid, COLOR_GREEN, string); SendClientMessage(playerid, COLOR_GREEN, string2); SendClientMessage(playerid, COLOR_GREEN, string3); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/spec", true)==0) { if(IsPlayerLevel(playerid,1)){ new tmp[256], string[256], admin[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_RED, "USAGE: /spec [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), playername[256]; GetPlayerName(id, playername, sizeof(playername)); TogglePlayerSpectating(playerid, 1); if(IsPlayerInAnyVehicle(id)){ new specvehicleid = GetPlayerVehicleID(id); PlayerSpectateVehicle(playerid, specvehicleid); } else { PlayerSpectatePlayer(playerid, id); } SetPlayerInterior(playerid,GetPlayerInterior(id)); format(string, sizeof(string), " %s is now spectating %s", admin, playername); AdminLog(playerid,string); gSpec[playerid] = 1; gSpeccing[playerid] = id; gSpecced[id] = 1; gSpecAdmin[id] = playerid; } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/stopspec", true)==0) { if(IsPlayerLevel(playerid,1)){ if(gSpec[playerid] == 1){ new string[256], admin[256], playername[256]; GetPlayerName(playerid, admin, sizeof(admin)); GetPlayerName(gSpeccing[playerid], playername, sizeof(playername)); gSpec[playerid] = 0; gSpecced[gSpeccing[playerid]] = 0; TogglePlayerSpectating(playerid, 0); format(string, sizeof(string), " %s stopped speccing %s", admin, playername); AdminLog(playerid, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "You are not spectating anyone!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/eject", true)==0) { if(IsPlayerLevel(playerid,1)){ new tmp[256], string[256], admin[256]; tmp = strtok(cmdtext, idx); GetPlayerName(playerid, admin, sizeof(admin)); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /eject [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), playername[256]; if(IsPlayerInAnyVehicle(id)){ GetPlayerName(id, playername, sizeof(playername)); format(string, sizeof(string), "%s has ejected %s from his vehicle.", admin, playername); SendClientMessageToAll(COLOR_GREEN, string); RemovePlayerFromVehicle(playerid); AdminLog(playerid,string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Player isnt in any vehicle!"); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/muted", true)==0) { if(IsPlayerLevel(playerid,1)){ new string[256], results = 0, playername[256], admin[256]; GetPlayerName(playerid, playername, sizeof(playername)); SendClientMessage(playerid, COLOR_GREEN, "People muted:"); for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(gMute[i] == 1){ new name[256]; GetPlayerName(i, name, sizeof(name)); GetPlayerName(gMuteAdmin[i], admin, sizeof(admin)); format(string, sizeof(string), "-%s (%i) (By: %s) (Reason: %s)", name, i, admin, gMuteReason[i]); SendClientMessage(playerid, COLOR_GREEN, string); results++; } } } if(results == 0){ SendClientMessage(playerid, COLOR_GREEN, "- None!"); } format(string, sizeof(string), " %s has looked at the people muted.", playername); AdminLog(playerid, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/frozen", true)==0) { if(IsPlayerLevel(playerid,1)){ new string[256], results = 0, playername[256], admin[256]; GetPlayerName(playerid, playername, sizeof(playername)); SendClientMessage(playerid, COLOR_GREEN, "People frozen:"); for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(gFreeze[i] == 1){ new name[256]; GetPlayerName(i, name, sizeof(name)); GetPlayerName(gFreezeAdmin[i], admin, sizeof(admin)); format(string, sizeof(string), "-%s (%i) (By: %s) (Reason: %s)", name, i, admin, gFreezeReason[i]); SendClientMessage(playerid, COLOR_GREEN, string); results++; } } } if(results == 0){ SendClientMessage(playerid, COLOR_GREEN, "- None!"); } format(string, sizeof(string), " %s has looked at the people frozen.", playername); AdminLog(playerid, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/kick", true)==0) { if(IsPlayerLevel(playerid,4)){ new tmp[256], string[256], admin[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); new length = strlen(tmp); new offset = 7 + length; if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /kick [id-name] "); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256]; GetPlayerName(id, name, sizeof(name)); strdel(cmdtext, 0, offset); format(string, sizeof(string), " %s has kicked %s for reason %s", admin, name, cmdtext); AdminLog(playerid,string); SendKickMessage(id,playerid,cmdtext); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/ban", true)==0) { if(IsPlayerLevel(playerid,5)){ new tmp[256], string[256], admin[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); new length = strlen(tmp); new offset = 6 + length; if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /ban [id-name] "); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256]; GetPlayerName(id, name, sizeof(name)); strdel(cmdtext, 0, offset); format(string, sizeof(string), " %s has banned %s for reason %s", admin, name, cmdtext); AdminLog(playerid,string); SendBanMessage(id,playerid,cmdtext); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/c", true)==0) { if(IsPlayerLevel(playerid,1)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /c [message]"); } else { strdel(cmdtext, 0, 3); format(string, sizeof(string), "[ADMIN] %s: %s", admin, cmdtext); SendAdminMessage(string); AdminChatLog(playerid,string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/mute", true)==0) { if(IsPlayerLevel(playerid,2)){ new tmp[256], admin[256], name[256], string[256]; tmp = strtok(cmdtext, idx); new id = GiveID(tmp); GetPlayerName(playerid, admin, sizeof(admin)); GetPlayerName(id, name, sizeof(name)); new length = strlen(tmp); new offset = 7 + length; if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /mute [id-name] "); } else { if(FindUser(tmp)){ if(gMute[id] == 1){ format(string, sizeof(string), "%s is already muted.", name); SendClientMessage(playerid, COLOR_ORANGE, string); } else { new reason[256]; GetPlayerName(id, name, sizeof(name)); strdel(cmdtext, 0, offset); gMute[id] = 1; gMuteAdmin[id] = playerid; if(!strlen(cmdtext)){ format(reason, sizeof(reason), "-"); } else { format(reason, sizeof(reason), "%s", cmdtext); } gMuteReason[id] = reason; gMuteAdmin[id] = playerid; format(string, sizeof(string), "%s has muted %s. (Reason: %s)", admin, name, reason); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/unmute", true)==0) { if(IsPlayerLevel(playerid,2)){ new tmp[256], admin[256], name[256], string[256]; tmp = strtok(cmdtext, idx); new id = GiveID(tmp); GetPlayerName(playerid, admin, sizeof(admin)); GetPlayerName(id, name, sizeof(name)); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /unmute [id-name]"); } else { if(FindUser(tmp)){ if(gMute[id] == 0){ format(string, sizeof(string), "%s is already unmuted.", name); SendClientMessage(playerid, COLOR_ORANGE, string); } else { gMute[id] = 0; format(string, sizeof(string), "%s has unmuted %s.", admin, name); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/freeze", true)==0) { if(IsPlayerLevel(playerid,2)){ new tmp[256], admin[256], name[256], string[256]; tmp = strtok(cmdtext, idx); new id = GiveID(tmp); GetPlayerName(playerid, admin, sizeof(admin)); GetPlayerName(id, name, sizeof(name)); new length = strlen(tmp); new offset = 9 + length; if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /freeze [id-name] "); } else { if(FindUser(tmp)){ if(gFreeze[id] == 1){ format(string, sizeof(string), "%s is already frozen.", name); SendClientMessage(playerid, COLOR_RED, string); } else { new reason[256]; GetPlayerName(id, name, sizeof(name)); strdel(cmdtext, 0, offset); gFreeze[id] = 1; gFreezeAdmin[id] = playerid; if(!strlen(cmdtext)){ format(reason, sizeof(reason), "-"); } else { format(reason, sizeof(reason), "%s", cmdtext); } gFreezeReason[id] = reason; format(string, sizeof(string), "%s has frozen %s. (Reason: %s)", admin, name, reason); TogglePlayerControllable(id, false); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/unfreeze", true)==0) { if(IsPlayerLevel(playerid,2)){ new tmp[256], admin[256], name[256], string[256]; tmp = strtok(cmdtext, idx); new id = GiveID(tmp); GetPlayerName(playerid, admin, sizeof(admin)); GetPlayerName(id, name, sizeof(name)); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /unfreeze [id-name]"); } else { if(FindUser(tmp)){ if(gFreeze[id] == 0){ format(string, sizeof(string), "%s is already unfrozen.", name); SendClientMessage(playerid, COLOR_ORANGE, string); } else { gFreeze[id] = 0; format(string, sizeof(string), "%s has unfrozen %s.", admin, name); TogglePlayerControllable(id, true); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/lock", true)==0) { if(IsPlayerLevel(playerid,4)){ if(chatlock == 1){ SendClientMessage(playerid, COLOR_ORANGE, "The chat is already locked."); } else { new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); format(string, sizeof(string), "%s has locked the chat.", admin); chatlock = 1; AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/unlock", true)==0) { if(IsPlayerLevel(playerid,4)){ if(chatlock == 0){ SendClientMessage(playerid, COLOR_ORANGE, "The chat is already unlocked."); } else { new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); format(string, sizeof(string), "%s has unlocked the chat.", admin); chatlock = 0; AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/warn", true)==0) { if(IsPlayerLevel(playerid,2)){ new tmp[256], admin[256], string[256], length, offset; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); length = strlen(tmp); offset = 6 + length; if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /warn [id-name] "); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256], reason[256]; GetPlayerName(id, name, sizeof(name)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ format(reason, sizeof(reason), "None"); } else { strdel(cmdtext, 0, offset); format(reason, sizeof(reason), cmdtext); } gWarnings[id]++; format(string, sizeof(string), "%s has warned %s: %s", admin, name, reason); if(gWarnings[id] == 5){ SendKickMessage(id,playerid,"Exceeded warning limit of 5"); } else { AdminLog(playerid,string); SendWarnMessage(id,playerid,cmdtext); } SendClientMessageToAll(COLOR_GREEN, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/fkill", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /fkill [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256]; GetPlayerName(id, name, sizeof(name)); format(string, sizeof(string), "%s has killed %s", admin, name); AdminLog(playerid,string); SetPlayerHealth(id, 0.0); SendClientMessageToAll(COLOR_GREEN, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/slap", true)==0) { if(IsPlayerLevel(playerid,2)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /slap [id-name] "); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256], amount, Float:health, force; GetPlayerName(id, name, sizeof(name)); GetPlayerHealth(id, health); new health2 = floatround(health); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ amount = health2; force = 0; } else { amount = health2 - strval(tmp); force = strval(tmp); } format(string, sizeof(string), "%s has slapped %s with %i trouts.", admin, name, force); AdminLog(playerid,string); SetPlayerHealth(id, amount); SendClientMessageToAll(COLOR_GREEN, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/disarm", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /disarm [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256]; GetPlayerName(id, name, sizeof(name)); format(string, sizeof(string), "%s has disarmed %s.", admin, name); AdminLog(playerid,string); ResetPlayerWeapons(id); SendClientMessageToAll(COLOR_GREEN, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/giveweapon", true)==0) { if(IsPlayerLevel(playerid,4)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /giveweapon [id-name] [weapon] "); } else { if(FindUser(tmp)){ new id = GiveID(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /giveweapon [id-name] [weapon] "); } else { new weapon = strval(tmp), ammo, playername[256]; tmp = strtok(cmdtext, idx); GetPlayerName(id, playername, sizeof(playername)); if(!strlen(tmp)){ ammo = 100; } else { ammo = strval(tmp); } if(weapon >= 1 && weapon <= 47){ GivePlayerWeapon(id, weapon, ammo); format(string, sizeof(string), "%s give %s weapon %i with ammo %i", admin, playername, weapon, ammo); SendClientMessageToAll(COLOR_GREEN, string); AdminLog(playerid, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "Invalid weapon!"); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/tele", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /tele [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256], Float:x, Float:y, Float:z; GetPlayerName(id, name, sizeof(name)); if(id == playerid){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot teleport to yourself!"); } else { format(string, sizeof(string), "%s has teleported to %s.", admin, name); SetPlayerWorldBounds( playerid, 887.0, -2090.0, 2989.0, 537.0); AdminLog(playerid,string); GetPlayerPos(id, x, y, z); SetPlayerInterior(playerid, GetPlayerInterior(id)); SetPlayerPos(playerid, x, y, z); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/bring", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /bring [id-name]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp), name[256], Float:x, Float:y, Float:z; GetPlayerName(id, name, sizeof(name)); if(id == playerid){ SendClientMessage(playerid, COLOR_ORANGE, "You cannot fetch yourself!"); } else { format(string, sizeof(string), "%s has fetched %s.", admin, name); SetPlayerWorldBounds( id, 887.0, -2090.0, 2989.0, 537.0); AdminLog(playerid,string); GetPlayerPos(playerid, x, y, z); SetPlayerInterior(id, GetPlayerInterior(playerid)); SetPlayerPos(id, x, y, z); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/setmoney", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /setmoney [id-name] [amount]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /setmoney [id-name] [amount]"); } else { new name[256]; GetPlayerName(id, name, sizeof(name)); format(string, sizeof(string), "%s has set money of %s to %i.", admin, name, strval(tmp)); AdminLog(playerid,string); SetPlayerCash(id, strval(tmp)); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/sethealth", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /sethealth [id-name] [amount]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /sethealth [id-name] [amount]"); } else { new name[256]; GetPlayerName(id, name, sizeof(name)); format(string, sizeof(string), "%s has set health of %s to %i.", admin, name, strval(tmp)); AdminLog(playerid,string); SetPlayerHealth(id, strval(tmp)); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/setscore", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /setscore [id-name] [amount]"); } else { if(FindUser(tmp)){ new id = GiveID(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /setscore [id-name] [amount]"); } else { new name[256]; GetPlayerName(id, name, sizeof(name)); format(string, sizeof(string), "%s has set score of %s to %i.", admin, name, strval(tmp)); AdminLog(playerid,string); SetPlayerScore(id, strval(tmp)); SendClientMessageToAll(COLOR_GREEN, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Target not found or multiple targets found."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/add", true)==0) { if(IsPlayerLevel(playerid,6)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /add [name] [password] "); } else { new name[256]; format(name, sizeof(name), "%s", tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /add [name] [password] "); } else { new filename[256]; format(filename, sizeof(filename), "%s.txt", name); if(fexist(filename)){ SendClientMessage(playerid, COLOR_ORANGE, "This user is already registered!"); } else { new string2[256], password[256], level; format(password, sizeof(password), "%s", tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ level = 1; } else { level = strval(tmp); if(level < 1 || level > 6){ level = 1; } } format(string, sizeof(string), "%s has added player %s with level %i.", admin, name, level); format(string2, sizeof(string2), "Your registered! You can login with password %s by typing /login.", password); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); Register(name,password,level); for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ new playername[256]; GetPlayerName(i, playername, sizeof(playername)); if(strcmp(playername, name, false) == 0){ SendClientMessage(i, COLOR_LIGHTBLUE, string2); } } } } } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/del", true)==0) { if(IsPlayerLevel(playerid,6)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /del [name]"); } else { new name[256]; format(name, sizeof(name), "%s", tmp); new filename[256]; format(filename, sizeof(filename), "%s.txt", name); if(fexist(filename)){ format(string, sizeof(string), "%s has deleted player %s.", admin, name); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); Delete(name); } else { SendClientMessage(playerid, COLOR_ORANGE, "This user isnt registered."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/lvl", true)==0) { if(IsPlayerLevel(playerid,6)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /lvl [name] [new-level]"); } else { new name[256]; format(name, sizeof(name), "%s", tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /lvl [name] [new-level]"); } else { new filename[256]; format(filename, sizeof(filename), "%s.txt", name); if(fexist(filename)){ if(strval(tmp) == GetPlayerLevel(name)){ SendClientMessage(playerid, COLOR_ORANGE, "Levels are the same!"); } else { format(string, sizeof(string), "%s has changed the level of player from %i to %i.", GetPlayerLevel(name), strval(tmp)); AdminLog(playerid,string); SendClientMessageToAll(COLOR_GREEN, string); Level(name,strval(tmp)); } } else { SendClientMessage(playerid, COLOR_ORANGE, "This user isnt registered."); } } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/member", true)==0) { if(IsPlayerLevel(playerid,6)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /member [name]"); } else { new name[256]; format(name, sizeof(name), "%s", tmp); new filename[256]; format(filename, sizeof(filename), "%s.txt", name); if(fexist(filename)){ format(string, sizeof(string), "[ADMIN] Level of %s is %i", name, GetPlayerLevel(name)); AdminLog(playerid,string); SendClientMessage(playerid, COLOR_GREEN, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "This user isnt registered."); } } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } if (strcmp(cmd, "/announce", true)==0) { if(IsPlayerLevel(playerid,3)){ new tmp[256], admin[256], string[256]; GetPlayerName(playerid, admin, sizeof(admin)); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /announce [message]"); } else { strdel(cmdtext, 0, 10); GameTextForAll(cmdtext, 5000, 3); format(string, sizeof(string), "%s announced: %s", admin, cmdtext); AdminLog(playerid, string); } } else { SendClientMessage(playerid, COLOR_ORANGE, "Your not authorised to use this command!"); } return 1; } return 0; } // // When player enters a checkpoint // public OnPlayerEnterCheckpoint(playerid) { SendClientMessage(playerid, COLOR_YELLOW, "Type /buy to buy ammo, health, armor and insurances here!"); return 1; } // // When player enters a vehicle // public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ if(gSpecced[playerid] == 1){ PlayerSpectateVehicle(gSpecAdmin[playerid], vehicleid); } } // // When player exits a vehicle // public OnPlayerExitVehicle(playerid, vehicleid){ if(gSpecced[playerid] == 1){ PlayerSpectatePlayer(gSpecAdmin[playerid], playerid); } } // // When player submits a message // public OnPlayerText(playerid, text[]) { if(gLogin[playerid] == 1){ Login(playerid, text); return 0; } else if(gMute[playerid] == 1){ SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have been muted by an admin."); return 0; } else if(chatlock == 1){ if(!IsPlayerLevel(playerid, 1)){ if(chatlockreason == 0){ SendClientMessage(playerid, COLOR_LIGHTBLUE, "An admin has locked the chat."); } else { new string[256]; format(string, sizeof(string), "An admin has locked the chat for reason: '%s'", chatlockreason); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); } return 0; } } else if(text[0] == '!'){ strdel(text, 0, 1); if(!strlen(text) || strlen(text) == 0){ SendClientMessage(playerid, COLOR_ORANGE, "You must put something behind your ! (Your message)"); } else { SendTeamMessage(playerid, text); } return 0; } format(codetext, sizeof(codetext), "%i", code); if (strcmp(text, codetext, true)==0) { new string[256], playername[256]; GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s has won $%i for typing %i the fastest!", playername, codemoney, code); code = 98327421903201487238421930210482358621983472190145; SendClientMessageToAll(COLOR_YELLOW, string); GivePlayerCash(playerid, codemoney); return 0; } gSpam[playerid] = gSpam[playerid] + 1; if(gSpam[playerid] > 3){ SendClientMessage(playerid, COLOR_ORANGE, "Stop spamming!"); return 0; } else if(gSpam[playerid] == 1){ SetTimerEx( "antiSpam", 5000, 0, "i", playerid ); } Log(playerid, text); return 1; } // // Bai // public antiSpam(playerid){ gSpam[playerid] = 0; } // // Reset all variables // public Reset(playerid){ gTeam[playerid] = 0; gLogin[playerid] = 0; gAuth[playerid] = 0; gMute[playerid] = 0; gFreeze[playerid] = 0; gWarnings[playerid] = 0; gProtected[playerid] = 0; gMoney[playerid] = 0; gScore[playerid] = 0; gSpec[playerid] = 0; gNext[playerid] = 0; ResetPlayerMoney(playerid); ResetPlayerWeapons(playerid); } // // Nice message // public nicemessage(){ messagecount++; if(messagecount == 8){ messagecount = 1; } if(messagecount == 1){ SendClientMessageToAll(COLOR_PINK, "Did you know you can buy ammo, health, armor and insurances? Go to the red checkpoints and type /buy!"); } else if(messagecount == 2){ SendClientMessageToAll(COLOR_PINK, "Found someone cheating? Send a message to the admins by typing /message!"); } else if(messagecount == 3){ SendClientMessageToAll(COLOR_PINK, "You want to choose your weapons again? Type /weapons and you get the menu when you spawn again!"); } else if(messagecount == 4){ SendClientMessageToAll(COLOR_PINK, "Follow the rules! Type /rules for all the rules on this server."); } else if(messagecount == 5){ SendClientMessageToAll(COLOR_PINK, "Need help? Type /help for more information, and type /commands for all the commands!"); } else if(messagecount == 6){ SendClientMessageToAll(COLOR_PINK, "Would like to talk about team-related stuff? Add an ! in front of your message for teamchat!"); } else if(messagecount == 7){ SendClientMessageToAll(COLOR_PINK, "This mode is made by Woet!"); } } // // Anti spawnkill // public antiSpawnKill(){ for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(IsPlayerSpawned(i)){ new range; if(gTeam[i] == 1){ range = PlayerToCoord(i, -1394.5950,2643.2791,55.8932); } else if(gTeam[i] == 2){ range = PlayerToCoord(i, -733.8346,1624.4266,27.1172); } else if(gTeam[i] == 3){ range = PlayerToCoord(i, -321.6065,1056.7443,19.7422); } else if(gTeam[i] == 4){ range = PlayerToCoord(i, 184.2655,1931.6104,17.8262); } else if(gTeam[i] == 5){ range = PlayerToCoord(i, -251.0042,2588.0261,63.5703); } else { range = 0; } if(range < 5 && gProtected[i] != 2){ gProtected[i] = 1; SetPlayerHealth(i, 99999); } else { if(gProtected[i] == 1){ SetPlayerHealth(i, 100); gProtected[i] = 2; } } } } } } // // Did the player log in and spawn? // public IsPlayerSpawned(playerid){ if(GetPlayerState(playerid) == 1 || GetPlayerState(playerid) == 2){ return 1; } return 0; } // // Send messgae to player that he's warned // public SendWarnMessage(playerid,adminid,reason[]){ new length, string[256], admin[256], reason2[256], reason3[256], Hour, Minute, Second; gWarnings[playerid] = gWarnings[playerid] + 1; if(IsPlayerConnected(adminid)){ GetPlayerName(adminid, admin, sizeof(admin)); } else { admin = "System"; } gettime(Hour, Minute, Second); length = strlen(reason); if(length == 0){ format(reason2, sizeof(reason2), "None"); } else { format(reason2, sizeof(reason2), "%s", reason); } if(gWarnings[playerid] >= 3){ format(reason3, sizeof(reason3), "Maximum of 3 warnings reached (%s)", reason); SendKickMessage(playerid, 999, reason3); } SendClientMessage(playerid, COLOR_PINK, "****************************************************************"); SendClientMessage(playerid, COLOR_PINK, "* WARNING! *"); SendClientMessage(playerid, COLOR_PINK, "****************************************************************"); format(string, sizeof(string), "Admin: %s", admin); SendClientMessage(playerid, COLOR_PINK, string); format(string, sizeof(string), "Warning: %i/3", gWarnings[playerid]); SendClientMessage(playerid, COLOR_PINK, string); format(string, sizeof(string), "Time: %i:%i:%i", Hour,Minute,Second); SendClientMessage(playerid, COLOR_PINK, string); format(string, sizeof(string), "Reason: %s", reason2); SendClientMessage(playerid, COLOR_PINK, string); SendClientMessage(playerid, COLOR_PINK, "****************************************************************"); SendClientMessage(playerid, COLOR_PINK, "* Follow the rules or get kicked/banned! *"); SendClientMessage(playerid, COLOR_PINK, "****************************************************************"); return 1; } // // Send message to player that he's kicked. // public SendKickMessage(playerid,adminid,reason[]){ new length, string[256], name[256], admin[256], Hour, Minute, Second, reason2[256]; if(IsPlayerConnected(adminid)){ GetPlayerName(adminid, admin, sizeof(admin)); } else { admin = "System"; } GetPlayerName(playerid, name, sizeof(name)); gettime(Hour, Minute, Second); length = strlen(reason); if(length == 0){ format(reason2, sizeof(reason2), "Reason: None"); } else { format(reason2, sizeof(reason2), "Reason: %s", reason); } if(gInvisibleKick[playerid] == 1){ gInvisibleKick[playerid] = 0; } else { format(string, sizeof(string), "KICK: %s has kicked player %s (%s)", admin, name, reason2); SendClientMessageToAll(COLOR_PINK, string); } SendClientMessage(playerid, COLOR_PINK, "*****************************************************"); SendClientMessage(playerid, COLOR_PINK, "* You have been KICKED from the server *"); SendClientMessage(playerid, COLOR_PINK, "*****************************************************"); format(string, sizeof(string), "Admin: %s", admin); SendClientMessage(playerid, COLOR_PINK, string); SendClientMessage(playerid, COLOR_PINK, reason2); format(string, sizeof(string), "Time: %i:%i:%i", Hour, Minute, Second); SendClientMessage(playerid, COLOR_PINK, string); SendClientMessage(playerid, COLOR_PINK, "*****************************************************"); SendClientMessage(playerid, COLOR_PINK, "* Come back if you can follow the rules *"); SendClientMessage(playerid, COLOR_PINK, "*****************************************************"); Reset(playerid); Kick(playerid); return 1; } // // Send message to player that he's banned. // public SendBanMessage(playerid,adminid,reason[]){ new length, string[256], name[256], admin[256], Hour, Minute, Second, reason2[256]; GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(adminid, admin, sizeof(admin)); gettime(Hour, Minute , Second); length = strlen(reason); if(IsPlayerConnected(adminid)){ GetPlayerName(adminid, admin, sizeof(admin)); } else { admin = "System"; } if(length == 0){ format(reason2, sizeof(reason2), "Reason: None"); } else { format(reason2, sizeof(reason2), "Reason: %s", reason); } format(string, sizeof(string), "BAN: %s has banned player %s (%s)", admin, name, reason2); SendClientMessageToAll(COLOR_PINK, string); SendClientMessage(playerid, COLOR_PINK, "*****************************************************"); SendClientMessage(playerid, COLOR_PINK, "* You have been BANNED from the server *"); SendClientMessage(playerid, COLOR_PINK, "*****************************************************"); format(string, sizeof(string), "Admin: %s", admin); SendClientMessage(playerid, COLOR_PINK, string); SendClientMessage(playerid, COLOR_PINK, reason2); format(string, sizeof(string), "Time: %i:%i:%i", Hour, Minute, Second); SendClientMessage(playerid, COLOR_PINK, string); SendClientMessage(playerid, COLOR_PINK, "***********************************************************"); SendClientMessage(playerid, COLOR_PINK, "* Ban Appeals: http://www.clan12.com *"); SendClientMessage(playerid, COLOR_PINK, "***********************************************************"); Reset(playerid); BanEx(playerid,reason); return 1; } // // Send an message to all admins // public SendAdminMessage(message[]){ for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(IsPlayerAdmin(i)){ SendClientMessage(i, COLOR_GREEN, message); } } } } // // Find the ID of a name, in stead of the other way round // public GetPlayerID(name[]){ new stop = 0; for(new i = 0; i <= MAX_PLAYERS; i++){ if(stop == 0){ if(IsPlayerConnected(i)){ new playername[256]; GetPlayerName(i, playername, sizeof(playername)); if (strcmp(playername, name[0], true)==0){ return i; } } } } return 0; } // // Is the user id, part of name, or name online? Returns user ID // public GiveID(const string[]) { new results = 0, resultid; new id = strval(string); if(isNumeric(string)){ if(IsPlayerConnected(id)){ return id; } } else { for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ new name[256], message[256]; GetPlayerName(i, name, sizeof(name)); format(message, sizeof(message), "%s|%s", name, string); if (strfind(name, string, true) == -1){ } else { results++; resultid = i; } } } if(results == 1){ return resultid; } } return 0; } // // Is the user id, part of name, or name online? Returns true/false // public FindUser(const string[]) { new results = 0; new Float:id = floatstr(string); new round = floatround(id, floatround_floor); if(isNumeric(string)){ if(IsPlayerConnected(round)){ return 1; } } else { for(new i = 0; i <= MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ new name[256], message[256]; GetPlayerName(i, name, sizeof(name)); format(message, sizeof(message), "%s|%s", name, string); if (strfind(name, string, true) == -1){ } else { results++; } } } if(results == 1){ return 1; } } return 0; } // // Make a timestamp // public mktime(second,minute,hour,day,month,year) { new timestamp2; timestamp2 = second + (minute * 60) + (hour * 3600); new days_of_month[12]; if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) { days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; } else { days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; } new days_this_year = 0; days_this_year = day; if(month > 1) { for(new i=0; i 900.0) { SetPlayerInterior( i, 0 ); SetPlayerPos( i, players[ i ][ 0 ][ 0 ], players[ i ][ 0 ][ 1 ], players[ i ][ 0 ][ 2 ]); SendClientMessage( i, COLOR_ORANGE, "Your not allowed into any interior!"); GameTextForPlayer(i, "~r~GET OUT!", 2000, 3); TogglePlayerControllable(i, true); players[ i ][ 1 ] = players[ i ][ 0 ]; players[ i ][ 2 ] = players[ i ][ 0 ]; } else if( GetPlayerInterior ( i ) != 0){ } else { players[ i ][ 0 ] = players[ i ][ 1 ]; players[ i ][ 1 ] = players[ i ][ 2 ]; } } } } // // Our special function to set player's money. // public SetPlayerCash(playerid, cash){ if(IsPlayerConnected(playerid)){ ResetPlayerMoney(playerid); gMoney[playerid] = cash; GivePlayerMoney(playerid, cash); } } // // Our special function to give player money. // public GivePlayerCash(playerid, cash){ if(IsPlayerConnected(playerid)){ new money = GetPlayerMoney(playerid); new amount = money + cash; ResetPlayerMoney(playerid); gMoney[playerid] = amount; GivePlayerMoney(playerid, amount); } } // // Our special function to set player score // public SetPlayerPoint(playerid, points){ if(IsPlayerConnected(playerid)){ gScore[playerid] = points; SetPlayerScore(playerid, points); } } // // Our special function to give player score // public GivePlayerPoint(playerid, points){ if(IsPlayerConnected(playerid)){ new score = GetPlayerScore(playerid); new amount = score + points; gScore[playerid] = amount; SetPlayerScore(playerid, amount); } } // // Update world time // public updatetime(){ new string[256]; if(worldtime == 24){ worldtime = 00; } format(string, sizeof(string), "%i:00", worldtime); SetWorldTime(worldtime); GameTextForAll(string, 0, 1); worldtime = worldtime + 01; } // // Dont go away! // public boundry(){ for(new i = 0; i < MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(IsPlayerSpawned(i)){ new Float:x,Float:y,Float:z; GetPlayerPos(i, x, y, z); } } } } // // Calculating distance: player-vehicle // public PlayerToCar(playerid,vehicleid){ new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); GetVehiclePos(vehicleid,x2,y2,z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(tmpdis / 2); } // // Calculating distance: player-player // public PlayerToPlayer(playerid,targetid){ new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(targetid,x2,y2,z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(tmpdis / 2); } // // Calculating distance: player-coordinates // public PlayerToCoord(playerid,Float:x2,Float:y2,Float:z2){ new Float:x1,Float:y1,Float:z1; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(tmpdis / 2); } // // Checks certain parameters // 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; } // // Get out! // public interiorOut(playerid) { if(GetPlayerInterior(playerid) != 0){ SetPlayerInterior( playerid, 0 ); SetPlayerPos( playerid, players[ playerid ][ 0 ][ 0 ], players[ playerid ][ 0 ][ 1 ], players[ playerid ][ 0 ][ 2 ]); SendClientMessage( playerid, COLOR_ORANGE, "Your not allowed into any interior!"); GameTextForPlayer(playerid, "~r~GET OUT!", 2000, 3); TogglePlayerControllable(playerid, true); players[ playerid ][ 1 ] = players[ playerid ][ 0 ]; players[ playerid ][ 2 ] = players[ playerid ][ 0 ]; } } // // Check if something is numberic // stock isNumeric(const string[]) { new length=strlen(string); if (length==0) return false; for (new i = 0; i < length; i++) { if ( (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-' || (string[i]=='-' && i!=0) // A '-' but not at first. || (string[i]=='+' && i!=0) // A '+' but not at first. ) return false; } if (length==1 && (string[0]=='-' || string[0]=='+')) return false; return true; } // // Delete a player // public Delete(name[]){ new tmp[256], idx, filename[256]; tmp = strtok(name, idx); format(filename, sizeof(filename), "%s.txt", tmp); fremove(filename); } // // Change the level // public Level(name[], level){ new tmp[256], idx, filename[256], levelstring[256]; tmp = strtok(name, idx); format(filename, sizeof(filename), "%s_level.txt", tmp); format(levelstring, sizeof(levelstring), "%i", level); new File:gFile = fopen(filename, io_readwrite); fwrite(gFile, levelstring); fclose(gFile); } // // Get the level // public GetPlayerLevel(name[]){ new tmp[256], idx, filename[256], filerealcontents[256], level; tmp = strtok(name, idx); format(filename, sizeof(filename), "%s_level.txt", tmp); new File:gFile = fopen(filename, io_readwrite); fread(gFile, filerealcontents, sizeof(filerealcontents)); level = strval(filerealcontents); return level; } // // Team message ftw // public SendTeamMessage(playerid, text[]){ new string[256], name[256]; if(IsPlayerConnected(playerid)){ GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "[TEAM] %s: %s", name, text); for(new i = 0; i < MAX_PLAYERS; i++){ if(IsPlayerConnected(i)){ if(gTeam[i] == gTeam[playerid]){ SendClientMessage(i, COLOR_LIGHTBLUE, string); } } } } } // // Weather! // public weather(){ new rand = random(20); while(rand == 8 || rand == 16 || rand == 20){ rand = random(20); } SetWeather(rand); }