#include #include #pragma dynamic 20480 #define GameModeText "SimpleDM v.0.3" main() {} forward AntiSpawnKill(playerid); forward LoggingTimeoutT(playerid); forward UnMutePlayerT(playerid); forward WorldTimeUpdate(); forward SaveAllPlayers(); forward AreasCheck(); forward IdleCheck(); forward MoneyCheck(); forward FloodCheck(); forward MoneyForPlay(); forward CountDown0(); forward CountDown1(); forward CountDown2(); forward CountDown3(); forward CountDown4(); forward CountDown5(); #define TimeCycle 1 //#define SolidColorChat 1 #define AllowBadSymbolsInNicks 1 #define PlayersDir "simpledm/players/" #define PlayersExt ".txt" #define AdminsFile "simpledm/admins.txt" #define AdminColor 0xFFFFFFFF #define GameModeLog "simpledm/simpledm.log" //#define CommandsLog "simpledm/commands.log" #define AdminsLog "simpledm/admins.log" #define MutesLog "simpledm/mutes.log" #define KicksLog "simpledm/kicks.log" #define BansLog "simpledm/bans.log" #define MaxLogFileSize 10485760 #define PrivateMsgColor 0xFF0000AA #define AdminChatColor 0xFFFF00AA #define SystemMsgColor 0xFFFF00AA #define ErrorMsgColor 0xFF0000AA #define HelpMsgColor 0x00FF00AA #define FreezeMsgColor 0xFF0000AA #define MuteMsgColor 0xFF0000AA #define KickMsgColor 0xFF0000AA #define BanMsgColor 0xFF0000AA #define MoneysForKill 1000 #define MoneysForPlaying 500 #define IdleTimeToKick 3 #define FloodInterval 2 #define FloodLines 3 #define LoggingTimeout 20 #define LoggingColor 0x22222200 #define AntiSpawnKillTime 5 #define LegalKillDistance 75 #define NoDriveBy 1 #define NoTeamKill 1 #define MaxMoneyIllegalIncrease 2000000 //#define InDoorWeapons 1 /*#define CheatWeapons 22 new CheatWeapon[CheatWeapons] = {1,2,6,7,9,10,11,12,13,14,15,16,17,18,22,26,28,32,33,37,38,41};*/ #define FlameCheatsToBan 3 #define DeathsFromCheatToBan 3 #define AdminLevelToIgnorePunishment 6 FixChars(string[]) for (new i=0;i MaxLogFileSize) { fclose(f); new tmp[MAX_STRING]; format(tmp,sizeof(tmp),"%s_%d.%d.%d.log",file,day,mon,year); fcopytextfile(file,tmp); fremove(file); f = fopen(file,io_append); } #endif fwrite(f,str); fwrite(f,"\r\n"); fclose(f); } WriteEcho(text[],playerid=INVALID_PLAYER_ID,color=SystemMsgColor) { new h,m,s; new str[MAX_STRING]; gettime(h,m,s); format(str,sizeof(str),"[%d:%d:%d] %s",h,m,s,text); if (playerid != INVALID_PLAYER_ID && IsPlayerConnected(playerid)) SendClientMessage(playerid,color,str); else SendClientMessageToAll(color,str); } #define Teams 10 #if defined Teams #define ModelsInTeam 9 enum TeamInfos { TeamName[20], TeamColor, TeamModels[ModelsInTeam], TeamClassStart, TeamClassEnd, TeamSpawnInterior, Float:TeamSpawnX, Float:TeamSpawnY, Float:TeamSpawnZ, Float:TeamSpawnA } new TeamInfo[Teams][TeamInfos] = { {"~g~Groove", 0x7CFC00FF, {105,106,107,195}, 0,0,3,2495.8093,-1701.4963,1014.7422,0.1684}, {"~p~Ballas", 0x800080FF, {102,103,104,226}, 0,0,15,2223.6843,-1147.2241,1025.7969,89.6632}, {"~y~Vagos", 0xFFD700FF, {108,109,110,190}, 0,0,0,2793.6311,-1537.5637,10.9219,219.4087}, {"~b~Aztecas", 0x00FFFFFF, {114,115,116,233}, 0,0,0,1779.4553,-1915.1685,13.3889,269.3371}, {"~b~Police", 0x4682B4FF, {280,281,282,283,284,285,286,287,191}, 0,0,0,1529.5922,-1677.9790,5.8906,268.7291}, {"~w~Goverment", 0x808080FF, {165,166,295,141}, 0,0,0,1249.7217,-2025.5818,59.7143,269.1162}, {"~y~Da Nang Boys", 0xF0E68CFF, {121,122,123,93}, 0,0,0,325.3652,-1798.3684,4.7008,269.4659}, {"~w~Rifa", 0xB0E0E6FF, {173,174,175,211}, 0,0,0,212.6294,-1442.5620,13.1636,222.5141}, {"~r~Triad", 0xB22222FF, {117,118,120,169}, 0,0,0,1313.5397,-865.3055,39.5781,267.5482}, {"~y~Criminals", 0xB8860BFF, {28,29,30,192}, 0,0,0,856.0395,-1520.4128,13.5547,265.0022} }; #endif #define Classes 259 new ClassInfo[Classes] = { 7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,70,71,72,73,75,76,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92, 93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125, 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156, 157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186, 187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,211,212,213,214,215,216,217, 218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247, 248,249,250,251,252,253,254,255,280,281,282,283,284,285,286,287,290,291,292,293,294,295,296,297,298,299 }; new DefaultPlayerColors[MAX_PLAYERS] = { 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xF0E68CFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF, 0xFFD720FF,0x8B4513FF,0x4949A0FF,0x148B8BFF,0x14FF7FFF,0x556B2FFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF, 0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF, 0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF, 0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF, 0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF, 0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF, 0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF, 0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF, 0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,0x3FE65CFF }; #define Vehicles 254 enum VehicleInfos { VehicleModelID, Float:VehicleSpawnX, Float:VehicleSpawnY, Float:VehicleSpawnZ, Float:VehicleSpawnA, VehicleColor1, VehicleColor2 } new VehicleInfo[Vehicles][VehicleInfos] = { {492,2488.168701,-1682.798095,13.335395,271.722106,86,1}, // Greenwood (ID: 1) // Groove Street {567,2508.157470,-1672.090942,13.378959,349.533935,86,-1}, // Savanna (ID: 2) // Groove Street {566,2482.753662,-1655.063964,13.309096,90.323776,86,-1}, // Tahoma (ID: 3) // Groove Street {482,2473.407958,-1699.544311,13.519279,359.456268,86,-1}, // Burrito (ID: 4) // Groove Street {475,2443.209716,-1642.994262,13.460376,180.146942,86,-1}, // Sabre (ID: 5) // Groove Street {566,2227.748779,-1173.421264,25.726562,91.503021,5,-1}, // Tahoma (ID: 6) // Motel Jefferson {567,2228.125732,-1162.914916,25.767463,90.980796,5,-1}, // Savanna (ID: 7) // Motel Jefferson {468,2217.522460,-1157.238159,25.726562,87.325241,5,-1}, // Sanchez (ID: 8) // Motel Jefferson {579,2205.773437,-1177.078857,25.726562,268.538085,5,-1}, // Huntley (ID: 9) // Motel Jefferson {482,2217.228515,-1166.083496,25.726562,90.273147,5,-1}, // Burrito (ID: 10) // Motel Jefferson {482,2796.360839,-1575.941040,10.927155,271.827880,6,-1}, // Burrito (ID: 11) // East Beach {475,2796.361083,-1567.129394,10.927155,269.216796,6,-1}, // Sabre (ID: 12) // East Beach {402,2807.477294,-1540.213378,10.921875,180.960388,6,-1}, // Buffalo (ID: 13) // East Beach {492,2822.060058,-1562.455444,10.927155,88.180908,6,1}, // Greenwood (ID: 14) // East Beach {567,2822.019042,-1553.378662,10.921875,91.137275,6,-1}, // Savanna (ID: 15) // East Beach {603,1795.320068,-1934.007202,13.274000,269.756439,51,-1}, // Phoenix (ID: 16) // Unity Station {534,1805.043579,-1921.249389,13.264128,0.720035,51,-1}, // Remington (ID: 17) // Unity Station {567,1793.350219,-1886.121093,13.269401,89.751121,51,-1}, // Savanna (ID: 18) // Unity Station {560,1775.841430,-1914.593750,13.258572,180.302734,51,-1}, // Sultan (ID: 19) // Unity Station {482,1838.001953,-1871.373168,13.255450,359.706909,51,-1}, // Burrito (ID: 20) // Unity Station {596,1535.970581,-1666.971801,13.188262,359.291046,-1,0}, // LSPD Police Car (ID: 21) // LSPD {596,1535.822998,-1678.474365,13.189436,359.291046,-1,0}, // LSPD Police Car (ID: 22) // LSPD {487,1561.646850,-1614.772460,13.559510,91.630447,0,1}, // Maverick (ID: 23) // LSPD {523,1601.414672,-1688.026367,5.696791,90.164779,0,-1}, // HPV1000 (ID: 24) // LSPD {523,1601.492065,-1691.986816,5.696719,91.491439,0,-1}, // HPV1000 (ID: 25) // LSPD {596,1587.453979,-1710.865600,5.695763,358.165405,-1,0}, // LSPD Police Car (ID: 26) // LSPD {596,1574.501342,-1710.236572,5.695737,359.649810,-1,0}, // LSPD Police Car (ID: 27) // LSPD {490,1530.038940,-1683.801269,5.697155,268.263702,0,-1}, // FBI Rancher (ID: 28) // LSPD {490,1545.517456,-1667.839477,5.694042,88.184928,0,-1}, // FBI Rancher (ID: 29) // LSPD {407,1751.650634,-1454.969604,13.351839,269.315338,-1,-1}, // Firetruck (ID: 30) // LSFD {407,1757.273925,-1484.091308,13.347614,247.498703,-1,-1}, // Firetruck (ID: 31) // LSFD {416,2020.521728,-1414.153808,16.797670,89.666770,-1,-1}, // Ambulance (ID: 32) // Hospital {416,2033.666503,-1431.295166,16.902194,358.661865,-1,-1}, // Ambulance (ID: 33) // Hospital {409,1244.272827,-2025.900878,59.659931,180.460601,0,0}, // Stretch (ID: 34) // Verdant Bluffs {490,1257.755371,-2010.788085,59.266197,180.460601,0,-1}, // FBI Rancher (ID: 35) // Verdant Bluffs {490,1267.860351,-2010.542358,58.977474,180.460601,0,-1}, // FBI Rancher (ID: 36) // Verdant Bluffs {426,1276.659301,-2030.210449,58.771591,89.707191,0,-1}, // Premier (ID: 37) // Verdant Bluffs {482,1276.537597,-2039.880126,58.810909,90.653999,0,-1}, // Burrito (ID: 38) // Verdant Bluffs {500,314.998229,-1788.702636,4.348239,180.305267,61,-1}, // Mesa (ID: 39) // Santa Maria Beach {587,324.641326,-1789.121826,4.501376,180.305267,61,-1}, // Euros (ID: 40) // Santa Maria Beach {405,347.111938,-1809.621582,4.234993,0.546290,61,-1}, // Sentinel (ID: 41) // Santa Maria Beach {542,334.075195,-1808.767578,4.221151,0.546290,61,-1}, // Clover (ID: 42) // Santa Maria Beach {579,321.201171,-1808.881347,4.208554,0.546290,61,-1}, // Huntley (ID: 43) // Santa Maria Beach {567,204.645416,-1444.406616,12.815665,318.328063,29,-1}, // Savanna (ID: 44) // Rodeo {475,200.009826,-1440.660522,12.803405,318.328063,29,-1}, // Sabre (ID: 45) // Rodeo {560,211.957931,-1423.395996,12.980006,134.051132,29,-1}, // Sultan (ID: 46) // Rodeo {405,218.385528,-1429.711669,12.996314,134.051132,29,-1}, // Sentinel (ID: 47) // Rodeo {521,214.204193,-1439.008666,12.926919,226.178039,29,-1}, // FCR-900 (ID: 48) // Rodeo {559,1311.380981,-856.143981,39.300998,177.522262,3,-1}, // Jester (ID: 49) // Mulholland {560,1321.721557,-856.712707,39.298252,177.522262,3,-1}, // Sultan (ID: 50) // Mulholland {506,1330.086059,-881.975463,39.298839,177.522262,3,-1}, // Super GT (ID: 51) // Mulholland {562,1319.317626,-873.059509,39.299736,177.522262,3,-1}, // Elegy (ID: 52) // Mulholland {522,1309.148193,-872.496093,39.298271,177.522262,3,-1}, // NRG500 (ID: 53) // Mulholland {492,871.714355,-1535.169677,13.214927,271.655426,55,-1}, // Greenwood (ID: 54) // Marina {603,884.036315,-1523.192993,13.215357,89.182685,55,-1}, // Phoenix (ID: 55) // Marina {482,855.193786,-1528.053588,13.013707,266.415924,55,-1}, // Burrito (ID: 56) // Marina {535,857.273193,-1512.742797,13.087572,266.415924,55,-1}, // Slamvan (ID: 57) // Marina {411,864.314453,-1500.947631,13.224195,177.197021,55,-1}, // Infernus (ID: 58) // Marina {514,2747.800048,-2465.335693,13.429963,269.006835,-1,-1}, // Tanker (ID: 59) // Docks {514,2748.372070,-2443.649658,13.425960,269.006835,-1,-1}, // Tanker (ID: 60) // Docks {406,2762.364990,-2394.942871,13.412092,177.454864,-1,-1}, // Dumper (ID: 61) // Docks {406,2779.589843,-2437.101074,13.414171,91.006835,-1,-1}, // Dumper (ID: 62) // Docks {487,2795.082763,-2545.983642,13.412330,177.454864,-1,-1}, // Maverick (ID: 63) // Docks {535,2785.703613,-1994.749389,13.163056,94.267616,-1,-1}, // Slamvan (ID: 64) // Playa Del Seville {566,2685.203857,-2017.712280,13.328207,358.753265,-1,-1}, // Tahoma (ID: 65) // Playa Del Seville {534,2662.252197,-2000.307250,13.165456,88.463493,-1,-1}, // Remington (ID: 66) // Playa Del Seville {567,2652.270019,-2035.403930,13.331976,41.777493,-1,-1}, // Savanna (ID: 67) // Playa Del Seville {444,2797.901855,-1875.848999,9.649276,359.544311,-1,-1}, // Monster (ID: 68) // Stadium {444,2787.847412,-1875.416748,9.610875,359.544311,-1,-1}, // Monster (ID: 69) // Stadium {444,2777.813476,-1875.198242,9.572721,359.544311,-1,-1}, // Monster (ID: 70) // Stadium {444,2767.774414,-1875.595703,9.523494,359.544311,-1,-1}, // Monster (ID: 71) // Stadium {494,2771.998291,-1842.478271,9.545600,200.137451,-1,-1}, // Hotring (ID: 72) // Stadium {494,2762.750244,-1846.010620,9.512990,200.137451,-1,-1}, // Hotring (ID: 73) // Stadium {494,2753.314941,-1849.223632,9.472146,199.192810,-1,-1}, // Hotring (ID: 74) // Stadium {494,2741.720947,-1851.832397,9.421898,179.380416,-1,-1}, // Hotring (ID: 75) // Stadium {487,1544.362426,-1353.175292,329.474548,90.522239,-1,-1}, // Maverick (ID: 76) // Highest Building {542,1013.543395,-1020.710021,31.762334,178.791854,-1,-1}, // Clover (ID: 77) // Temple {541,1096.994140,-1026.650512,31.849119,178.864196,-1,-1}, // Bullet (ID: 78) // Temple {429,1040.908813,-1052.341064,31.362176,0.864196,-1,-1}, // Banshee (ID: 79) // Temple {415,1028.227661,-1052.463989,31.307344,0.864196,-1,-1}, // Cheetah (ID: 80) // Temple {451,1016.122314,-1052.256835,31.022838,0.864196,-1,-1}, // Turismo (ID: 81) // Temple {480,1003.994445,-1052.958862,30.744747,0.864196,-1,-1}, // Comet (ID: 82) // Temple {506,989.683654,-919.843505,41.839294,181.591979,-1,-1}, // Super GT (ID: 83) // Temple {477,1000.786499,-1085.005737,23.489233,178.768478,-1,-1}, // ZR350 (ID: 84) // Temple {446,731.653076,-1497.972045,4.631143,181.861129,-1,-1}, // Squalo (ID: 85) // Market {487,1989.280395,-2249.075439,13.723354,90.048965,-1,-1}, // Maverick (ID: 86) // Airport {487,1989.216430,-2315.605712,13.724207,90.048965,-1,-1}, // Maverick (ID: 87) // Airport {487,1989.617675,-2382.604003,13.722428,90.048965,-1,-1}, // Maverick (ID: 88) // Airport {476,1823.287597,-2620.903564,13.546875,6.532232,-1,-1}, // Rustler (ID: 89) // Airport {476,1753.408813,-2621.539306,13.546875,2.522825,-1,-1}, // Rustler (ID: 90) // Airport {476,1682.046386,-2621.489501,13.546875,1.309966,-1,-1}, // Rustler (ID: 91) // Airport {476,1616.716186,-2623.020751,13.546875,2.691160,-1,-1}, // Rustler (ID: 92) // Airport {513,1565.795776,-2629.644531,13.546875,357.991119,-1,-1}, // Stuntplane (ID: 93) // Airport {513,1544.431884,-2628.521240,13.546875,357.991119,-1,-1}, // Stuntplane (ID: 94) // Airport {513,1526.430541,-2627.558349,13.546875,357.991119,-1,-1}, // Stuntplane (ID: 95) // Airport {513,1507.414672,-2626.932373,13.546875,357.991119,-1,-1}, // Stuntplane (ID: 96) // Airport {437,1665.962768,-2313.818847,13.329627,90.613891,-1,-1}, // Coach (ID: 97) // Airport {437,1699.231079,-2313.866455,13.329858,90.613891,-1,-1}, // Coach (ID: 98) // Airport {420,1560.797851,-2318.739501,13.416219,90.050659,-1,-1}, // Taxi (ID: 99) // Airport {500,1542.901000,-2361.018066,13.425674,359.819000,-1,-1}, // Mesa (ID: 100) // Airport {559,1454.505981,-2348.327636,13.414303,359.819000,-1,-1}, // Jester (ID: 101) // Airport {534,1404.678100,-2331.296142,13.419953,359.819000,-1,-1}, // Remington (ID: 102) // Airport {463,1365.557006,-2326.746093,13.417978,90.989105,-1,-1}, // Freeway (ID: 103) // Airport {542,1364.885009,-2246.154296,13.417449,269.052032,-1,-1}, // Clover (ID: 104) // Airport {475,1388.229125,-2225.669921,13.417157,0.328545,-1,-1}, // Sabre (ID: 105) // Airport {470,1408.144165,-2208.654785,13.409720,179.281478,-1,-1}, // Patriot (ID: 106) // Airport {451,1451.273437,-2224.511230,13.415595,179.281478,-1,-1}, // Turismo (ID: 107) // Airport {522,1512.114746,-2211.639404,13.422736,359.647491,-1,-1}, // NRG500 (ID: 108) // Airport {426,1560.190063,-2254.181152,13.416652,271.015991,-1,-1}, // Premier (ID: 109) // Airport {415,1681.843139,-2259.461181,13.300088,269.898681,-1,-1}, // Cheetah (ID: 110) // Airport {562,1951.140136,-2205.027099,13.417691,269.319335,-1,-1}, // Elegy (ID: 111) // Airport {468,1969.294189,-2184.720703,13.414156,359.800323,-1,-1}, // Sanchez (ID: 112) // Airport {510,1886.371582,-1360.628173,19.140625,90.731697,-1,-1}, // Mountain Bike (ID: 113) // Park {510,1886.252197,-1364.958374,19.140625,88.120559,-1,-1}, // Mountain Bike (ID: 114) // Park {510,1869.581054,-1364.902465,19.140625,268.996643,-1,-1}, // Mountain Bike (ID: 115) // Park {510,1869.607055,-1360.417968,19.140625,268.474365,-1,-1}, // Mountain Bike (ID: 116) // Park {510,1952.080322,-1380.445678,24.148437,359.864044,-1,-1}, // Mountain Bike (ID: 117) // Park {510,1956.610229,-1380.303588,24.148437,359.341827,-1,-1}, // Mountain Bike (ID: 118) // Park {510,1956.630249,-1363.743652,24.148437,178.987945,-1,-1}, // Mountain Bike (ID: 119) // Park {510,1952.154418,-1363.976928,24.148437,177.943496,-1,-1}, // Mountain Bike (ID: 120) // Park {510,1921.441406,-1418.123291,16.359375,93.157211,-1,-1}, // Mountain Bike (ID: 121) // Park {510,1913.456542,-1434.901855,16.366991,270.714477,-1,-1}, // Mountain Bike (ID: 122) // Park {411,1135.481201,-1466.869873,15.545242,40.920494,-1,-1}, // Infernus (ID: 123) // Verona Mall {415,1135.481201,-1461.869873,15.545242,40.920494,-1,-1}, // Cheetah (ID: 124) // Verona Mall {429,1135.481201,-1456.869873,15.545242,40.920494,-1,-1}, // Banshee (ID: 125) // Verona Mall {451,1135.481201,-1451.869873,15.545242,40.920494,-1,-1}, // Turismo (ID: 126) // Verona Mall {506,1135.481201,-1446.869873,15.545242,40.920494,-1,-1}, // Super GT (ID: 127) // Verona Mall {541,1135.481201,-1441.869873,15.545242,40.920494,-1,-1}, // Bullet (ID: 128) // Verona Mall {411,1122.481201,-1466.869873,15.545242,310.920494,-1,-1}, // Infernus (ID: 129) // Verona Mall {415,1122.481201,-1461.869873,15.545242,310.920494,-1,-1}, // Cheetah (ID: 130) // Verona Mall {429,1122.481201,-1456.869873,15.545242,310.920494,-1,-1}, // Banshee (ID: 131) // Verona Mall {451,1122.481201,-1451.869873,15.545242,310.920494,-1,-1}, // Turismo (ID: 132) // Verona Mall {506,1122.481201,-1446.869873,15.545242,310.920494,-1,-1}, // Super GT (ID: 133) // Verona Mall {541,1122.481201,-1441.869873,15.545242,310.920494,-1,-1}, // Bullet (ID: 134) // Verona Mall {409,668.889770,-1294.412719,13.242489,0.779876,-1,-1}, // Stretch (ID: 135) // Golf Club {409,1825.435424,-1682.812744,13.162638,0.978817,-1,-1}, // Stretch (ID: 136) // Alhambra Club {542,2416.276855,-1718.419677,13.529325,179.012817,-1,-1}, // Clover (ID: 137) // Groove Street {579,2497.724853,-1750.778442,13.233366,19.892271,-1,-1}, // Huntley (ID: 138) // Groove Street {475,2659.429687,-1425.874877,30.253877,0.312046,-1,-1}, // Sabre (ID: 139) // Eastside {402,2603.372314,-1250.774536,47.516540,90.312046,-1,-1}, // Buffalo (ID: 140) // Eastside {506,2430.125244,-1242.370727,24.037115,180.653350,-1,-1}, // Super GT (ID: 141) // Pig Pen {405,2270.338623,-1433.710205,23.612556,354.944854,-1,-1}, // Sentinel (ID: 142) // Eastside {534,2422.818115,-1106.193359,41.077373,4.864102,-1,-1}, // Remington (ID: 143) // Eastside {463,2751.363769,-1106.430053,69.360404,358.515625,-1,-1}, // Freeway (ID: 144) // Eastside {500,2743.434082,-1073.248291,69.324546,42.831970,-1,-1}, // Mesa (ID: 145) // Eastside {470,2816.528320,-1184.118408,25.115844,269.205902,-1,-1}, // Patriot (ID: 146) // Eastside {521,2390.796386,-1494.082519,23.537887,270.671630,-1,-1}, // FCR-900 (ID: 147) // Eastside Cluckin' Bell {420,2301.064697,-1638.187255,14.355358,204.079620,-1,-1}, // Taxi (ID: 148) // Groove Street Bar {429,2386.544921,-1927.515991,13.087308,1.484918,-1,-1}, // Banshee (ID: 149) // Ganton Cluckin' Bell {492,2502.870117,-2005.957397,12.985747,88.768928,-1,-1}, // Greenwood (ID: 150) // Willowfield {514,2437.250732,-2107.854980,13.254782,356.197235,-1,-1}, // Tanker (ID: 151) // Willowfield {468,2265.018798,-2122.640380,13.251161,42.138710,-1,-1}, // Sanchez (ID: 152) // Docks {603,1931.903564,-2151.721923,13.254512,179.011871,-1,-1}, // Phoenix (ID: 153) // Airport {415,1883.562866,-2022.473510,13.094923,179.906265,-1,-1}, // Cheetah (ID: 154) // El Corona {470,1922.774658,-1792.124389,13.087321,271.566925,-1,-1}, // Patriot (ID: 155) // El Corona {426,2095.775390,-1797.090087,13.165884,89.055381,-1,-1}, // Premier (ID: 156) // Idlewood {522,2159.146484,-1800.948608,13.153849,270.173706,-1,-1}, // NRG500 (ID: 157) // Idlewood {477,2092.460449,-1576.368774,13.005808,178.178710,-1,-1}, // ZR350 (ID: 158) // Idlewood {566,1825.292602,-1655.640380,13.163235,358.728363,-1,-1}, // Tahoma (ID: 159) // Alhambra Club {522,1825.332519,-1709.678344,13.163582,358.728363,-1,-1}, // NRG500 (ID: 160) // Alhambra Club {490,1125.806030,-1744.515014,13.178814,270.739562,0,-1}, // FBI Rancher (ID: 161) // Conference Center {405,1144.784057,-1744.501586,13.179642,270.739562,0,-1}, // Sentinel (ID: 162) // Conference Center {411,1080.781005,-1763.776489,13.152679,269.337951,-1,-1}, // Infernus (ID: 163) // Conference Center {506,1062.199218,-1743.167846,13.246815,90.171699,-1,-1}, // Super GT (ID: 164) // Conference Center {559,888.122985,-1669.256958,13.326845,179.932769,-1,-1}, // Jester (ID: 165) // Verona Beach {480,841.968078,-1802.136230,13.074001,0.501242,-1,-1}, // Comet (ID: 166) // Verona Beach Peer {579,639.531122,-1707.006704,14.369411,35302.261731,-1,-1}, // Huntley (ID: 167) // Verona Beach {522,447.087585,-1733.396362,9.526784,309.447814,-1,-1}, // NRG500 (ID: 168) // Verona Beach {541,107.669761,-1555.394042,7.145474,250.447814,-1,-1}, // Bullet (ID: 169) // Rodeo {429,336.078460,-1296.101684,54.005210,25.510961,-1,-1}, // Banshee (ID: 170) // Rodeo {500,404.925323,-1154.457763,77.213508,147.510961,-1,-1}, // Mesa (ID: 171) // Richman {562,564.611083,-1065.602050,73.474952,31.700830,-1,-1}, // Elegy (ID: 172) // Richman {405,1275.730224,-1558.857421,13.342744,90.362113,-1,-1}, // Sentinel (ID: 173) // Market {420,1304.286865,-1137.348999,23.438859,92.285606,-1,-1}, // Taxi (ID: 174) // Market {560,974.311645,-1304.160278,13.164890,179.460983,-1,-1}, // Sultan (ID: 175) // Market {579,746.687683,-1344.158081,13.300282,270.392517,-1,-1}, // Huntley (ID: 176) // Vinewood {480,834.464599,-925.766235,55.036350,242.148605,-1,-1}, // Comet (ID: 177) // Vinewood {587,724.647583,-994.253356,52.410949,59.031322,-1,-1}, // Euros (ID: 178) // Vinewood {470,792.086608,-849.858276,60.419754,171.635818,-1,-1}, // Patriot (ID: 179) // Vinewood {451,891.814514,-714.456726,108.325859,243.634704,-1,-1}, // Turismo (ID: 180) // Vinewood {415,1105.364379,-642.652221,112.454177,43.034236,-1,-1}, // Cheetah (ID: 181) // Vinewood {477,1358.613159,-615.489318,108.912948,76.262275,-1,-1}, // ZR350 (ID: 182) // Vinewood {429,1248.067993,-781.312622,90.462387,359.262275,-1,-1}, // Banshee (ID: 183) // Maddog's House {562,1251.299804,-812.692932,83.927108,141.262275,-1,-1}, // Elegy (ID: 184) // Maddog's House {487,1291.206298,-788.211303,96.460937,179.734359,-1,-1}, // Maverick (ID: 185) // Maddog's House {411,1524.090454,-882.923156,60.904850,49.207355,-1,-1}, // Infernus (ID: 186) // Vinewood {521,1685.356079,-1035.566650,23.690450,180.704605,-1,-1}, // FCR-900 (ID: 187) // Mulholland Intersection {587,1721.432983,-1007.263793,23.696136,352.521728,-1,-1}, // Euros (ID: 188) // Mulholland Intersection {541,1757.339355,-1037.625732,23.743011,179.695190,-1,-1}, // Bullet (ID: 189) // Mulholland Intersection {482,1788.991821,-1060.637084,23.744018,358.440948,-1,-1}, // Burrito (ID: 190) // Mulholland Intersection {468,1739.945434,-1084.709228,23.741813,358.440948,-1,-1}, // Sanchez (ID: 191) // Mulholland Intersection {470,1695.894042,-1069.324340,23.689058,358.440948,-1,-1}, // Patriot (ID: 192) // Mulholland Intersection {567,1658.602539,-1106.834716,23.690155,88.377090,-1,-1}, // Savanna (ID: 193) // Mulholland Intersection {429,1617.230590,-1128.288452,23.686874,88.377090,-1,-1}, // Banshee (ID: 194) // Mulholland Intersection {402,1581.666015,-1043.707275,23.688972,127.121681,-1,-1}, // Buffalo (ID: 195) // Mulholland Intersection {534,1910.453857,-1120.688232,25.493597,180.253845,-1,-1}, // Remington (ID: 196) // Park {426,1965.313110,-1210.967895,25.215663,185.093856,-1,-1}, // Premier (ID: 197) // Park {559,2084.050292,-1342.558471,23.768108,90.043258,-1,-1}, // Jester (ID: 198) // Mulholland {522,1585.928222,-1011.110290,23.687934,6.290105,-1,-1}, // NRG500 (ID: 199) // Mulholland Intersection {603,1636.306152,-1047.303100,23.687259,179.662826,-1,-1}, // Phoenix (ID: 200) // Mulholland Intersection {475,1431.105503,-1028.763811,23.547245,89.120421,-1,-1}, // Sabre (ID: 201) // Mulholland {492,1215.208129,-875.502014,42.690128,189.749923,-1,-1}, // Greenwood (ID: 202) // Vinewood {514,1147.334960,-1238.864746,15.860088,180.982284,-1,-1}, // Tanker (ID: 203) // Market {451,1282.760864,-1355.385253,13.253620,0.298043,-1,-1}, // Turismo (ID: 204) // Market {559,1560.973754,-1308.880615,16.777351,270.087646,-1,-1}, // Jester (ID: 205) // Highest Building {402,1533.991333,-1308.772094,15.604850,270.087646,-1,-1}, // Buffalo (ID: 206) // Highest Building {542,1730.300903,-1277.318481,13.432171,139.551971,-1,-1}, // Clover (ID: 207) // Near Park {562,2102.487548,-982.701477,53.715827,74.013938,-1,-1}, // Elegy (ID: 208) // Eastside {405,769.467895,-1128.637329,23.845144,218.737091,-1,-1}, // Sentinel (ID: 209) // Richman {521,872.521728,-1339.831665,13.422805,359.602630,-1,-1}, // FCR-900 (ID: 210) // Market {587,746.151428,-1647.853637,5.130365,179.769378,-1,-1}, // Euros (ID: 211) // Market {477,236.171966,-1566.026611,32.787525,163.647262,-1,-1}, // ZR350 (ID: 212) // Rodeo {426,398.119567,-1577.055664,27.922294,91.100753,-1,-1}, // Premier (ID: 213) // Rodeo {463,546.459821,-1477.241801,14.222844,3.921021,-1,-1}, // Freeway (ID: 214) // Rodeo {409,487.772308,-1515.493041,19.883850,5.185674,-1,-1}, // Stretch (ID: 215) // Rodeo {411,482.113616,-1489.037719,19.645090,184.543838,-1,-1}, // Infernus (ID: 216) // Rodeo {522,511.460700,-1597.633950,15.268744,270.319421,-1,-1}, // NRG500 (ID: 217) // Rodeo {415,609.892333,-1511.540771,14.555418,269.814208,-1,-1}, // Cheetah (ID: 218) // Rodeo {402,1269.080688,-1796.741088,13.186159,179.752624,-1,-1}, // Buffalo (ID: 219) // Conference Center {535,1034.401000,-2284.181396,12.799115,204.966705,-1,-1}, // Slamvan (ID: 220) // Near Airport {470,377.743591,-2034.954956,7.367589,43.895828,-1,-1}, // Patriot (ID: 221) // Santa Maria Beach {487,395.903717,-1858.933471,13.601562,0.681233,-1,-1}, // Maverick (ID: 222) // Santa Maria Beach {560,2337.197509,-1759.043457,13.331455,358.909698,-1,-1}, // Sultan (ID: 223) // Groove Street {480,2232.150146,-1937.669311,13.322902,88.823371,-1,-1}, // Comet (ID: 224) // Willowfield {587,2092.116455,-2094.257568,13.327116,177.526306,-1,-1}, // Euros (ID: 225) // Willowfield {603,1747.708129,-2099.114990,13.328202,179.969940,-1,-1}, // Phoenix (ID: 226) // Near Airport {541,1636.577148,-1902.174194,13.334104,300.834533,-1,-1}, // Bullet (ID: 227) // Verdant Bluffs {566,1373.253051,-1889.279663,13.279490,359.301208,-1,-1}, // Tahoma (ID: 228) // Verdant Bluffs {477,1025.350097,-1550.914672,13.332073,180.034439,-1,-1}, // ZR350 (ID: 229) // Market {463,441.789764,-1295.604858,14.972719,203.356765,-1,-1}, // Freeway (ID: 230) // Richman {480,399.930694,-1432.127807,32.826747,217.363891,-1,-1}, // Comet (ID: 231) // Rodeo {560,666.261657,-1418.682373,13.946446,357.971557,-1,-1}, // Sultan (ID: 232) // Market {420,996.153625,-1438.099121,13.328618,357.971557,-1,-1}, // Taxi (ID: 233) // Market {603,1459.093627,-1502.755615,13.331052,38.762462,-1,-1}, // Phoenix (ID: 234) // Market {480,1514.192749,-1462.814819,9.281811,181.656448,-1,-1}, // Comet (ID: 235) // Downtown {468,1523.681762,-1464.850219,9.283031,181.656448,-1,-1}, // Sanchez (ID: 236) // Downtown {521,1648.613159,-1343.982177,17.218912,181.656448,-1,-1}, // FCR-900 (ID: 237) // Downtown {477,2133.300537,-1132.668334,25.456342,44.821918,-1,-1}, // ZR350 (ID: 238) // Jefferson {463,2120.306640,-1136.523803,25.012439,306.459991,-1,-1}, // Freeway (ID: 239) // Jefferson {468,2148.018066,-1152.891723,23.724176,269.350891,-1,-1}, // Sanchez (ID: 240) // Jefferson {541,2161.433105,-1182.537719,23.601108,269.350891,-1,-1}, // Bullet (ID: 241) // Jefferson {420,1363.211425,-1643.393554,13.164815,269.703430,-1,-1}, // Taxi (ID: 242) // Commerce {592,2104.534221,-2450.372304,14.741810,127.896124,1,1}, // Andromada (ID: 243) // Airport {521,2470.294677,-1669.880371,13.096332,191.679702,86,-1}, // FCR-900 (ID: 244) // Groove Street {587,2206.342529,-1160.932495,25.512912,270.352844,5,-1}, // Euros (ID: 245) // Motel Jefferson {463,2796.455078,-1553.996337,10.704411,268.811889,6,-1}, // Freeway (ID: 246) // East Beach {468,1816.051269,-1902.948974,13.314620,178.052764,51,-1}, // Sanchez (ID: 247) // Unity Station {522,1250.838623,-2044.338134,59.429252,268.036926,0,-1}, // NRG500 (ID: 248) // Verdant Bluffs {487,1193.664428,-2053.663818,69.007812,275.950592,0,0}, // Maverick (ID: 249) // Verdant Bluffs {560,337.544464,-1788.788085,4.488074,178.447174,61,-1}, // Sultan (ID: 250) // Santa Maria Beach {566,240.217666,-1454.409057,13.280391,312.177062,29,-1}, // Tahoma (ID: 251) // Rodeo {480,1331.055786,-857.570800,39.454654,178.864349,3,-1}, // Comet (ID: 252) // Mulholland {468,872.113830,-1514.140869,13.259681,180.265335,55,-1}, // Sanchez (ID: 253) // Marina {470,893.968200,-1519.364746,12.898312,179.077041,55,-1} // Patriot (ID: 254) // Marina }; #define Pickups 3 enum PickupInfos { PickupModelID, PickupType, Float:PickupSpawnX, Float:PickupSpawnY, Float:PickupSpawnZ } new PickupInfo[Pickups][PickupInfos] = { {371,2,-2347.5498,-1607.7061,483.6420}, {371,2,1969.2869,-2187.5896,13.5469}, {371,2,1554.5847,-1365.5371,329.4535} }; new WeaponNames[55][20] = { "Hands","Brassknuckle","Golf Club","Nitestick","Knife","Baseball Bat","Shovel","Pool Cue", "Katana","Chainsaw","Purple Dildo","White Dildo","Long Vibrator","Vibrator","Flowers","Cane","Grenade", "Teargas","Molotov","","","","Pistol","Silenced Pistol","Desert Eagle","Shotgun", "Sawnoff Shotgun","Spas 12","Micro Uzi","MP5","AK-47","M4","Tec-9","Rifle","Sniper Rifle", "RPG-7","Heatseeker","Flamethrower","Minigun","Satchel","Detonator","Spray Can", "Fire Extinguisher","Camera","","","Parachute","","","Vehicle","","","","Drown","Collision" }; new SpawnWeapons[6] = {24,70,25,50,30,300}; #define Weapons 11 enum WeaponInfos { WeaponID, WeaponGroup, WeaponCost, bool:IsWeaponMelee } new WeaponInfo[Weapons][WeaponInfos] = { {3,0,1500,true}, {4,0,2000,true}, {5,0,1000,true}, {23,1,20,false}, {24,1,80,false}, {25,2,40,false}, {27,2,100,false}, {29,3,30,false}, {30,4,30,false}, {31,4,40,false}, {46,5,1000,true} }; #define WeaponGroups 6 enum PlayerInfos { Name[MAX_PLAYER_NAME], #if defined Teams Team, #endif Admin, bool:AdminColored, bool:HearAll, Query, bool:Ignores[MAX_PLAYERS], Moneys, WeaponIDs[WeaponGroups], WeaponAmmos[WeaponGroups], CheatKills, CheatDeaths, IdleTime, Float:LastPosX, Float:LastPosY, Float:LastPosZ, Messages, Mute, MuteTimer, #if defined AntiSpawnKillTime bool:CanBeKilled, AntiSpawnKillTimer, #endif bool:SafeDeath, bool:Logged, Password, WrongPasswords, Model, bool:ModelSet, Kills, MaxKillsForLife, CurrentKillsForLife, Deaths, Suicides } new PlayerInfo[MAX_PLAYERS][PlayerInfos]; EncodeName(playername[]) { new str[MAX_STRING]; set(str,strlower(playername)); #if defined AllowBadSymbolsInNicks str = strreplace("(","%L%",str); str = strreplace(")","%R%",str); str = strreplace("%L%","(40)",str); str = strreplace("%R%","(41)",str); str = strreplace("[","(91)",str); str = strreplace("]","(93)",str); str = strreplace("{","(123)",str); str = strreplace("}","(124)",str); str = strreplace("/","(47)",str); str = strreplace("\\","(92)",str); str = strreplace("-","(45)",str); str = strreplace("_","(95)",str); str = strreplace("!","(33)",str); str = strreplace("?","(63)",str); str = strreplace(",","(44)",str); str = strreplace(".","(46)",str); str = strreplace(";","(59)",str); str = strreplace(":","(58)",str); str = strreplace("'","(39)",str); str = strreplace("\"","(34)",str); str = strreplace("`","(96)",str); str = strreplace("~","(126)",str); str = strreplace("<","(60)",str); str = strreplace(">","(62)",str); str = strreplace("@","(64)",str); str = strreplace("#","(35)",str); str = strreplace("$","(36)",str); str = strreplace("%","(37)",str); str = strreplace("^","(94)",str); str = strreplace("&","(38)",str); str = strreplace("*","(42)",str); str = strreplace("=","(61)",str); str = strreplace("+","(43)",str); #endif return str; } PlayerFile(playername[]) { new str[MAX_STRING]; format(str,sizeof(str),"%s%s%s",PlayersDir,EncodeName(playername),PlayersExt); return str; } ClearPlayer(playerid) { PlayerInfo[playerid][Name][0] = 0; #if defined Teams PlayerInfo[playerid][Team] = -1; #endif PlayerInfo[playerid][Admin] = 0; PlayerInfo[playerid][AdminColored] = false; PlayerInfo[playerid][HearAll] = false; PlayerInfo[playerid][Query] = INVALID_PLAYER_ID; for (new i=0;i= AdminLevelToIgnorePunishment) return; new str[MAX_STRING]; format(str,sizeof(str),"%s (id: %d) muted by %s for %d minutes: %s",PlayerInfo[playerid][Name],playerid,muter,duration,reason); WriteToLog(str); #if defined MutesLog WriteToLog(str,MutesLog); #endif WriteEcho(str,INVALID_PLAYER_ID,MuteMsgColor); PlayerInfo[playerid][Mute] = duration; format(str,sizeof(str),"UnMutePlayer_%d",playerid); PlayerInfo[playerid][MuteTimer] = SetTimer(str,PlayerInfo[playerid][Mute]*60000,0); }*/ UnMutePlayer(playerid,unmuter[]="the server") { if (!IsPlayerConnected(playerid) || !PlayerInfo[playerid][Mute]) return; new str[MAX_STRING]; format(str,sizeof(str),"%s (id: %d) unmuted by %s",PlayerInfo[playerid][Name],playerid,unmuter); WriteToLog(str); #if defined MutesLog WriteToLog(str,MutesLog); #endif WriteEcho(str,INVALID_PLAYER_ID,MuteMsgColor); PlayerInfo[playerid][Mute] = 0; KillTimer(PlayerInfo[playerid][MuteTimer]); } public UnMutePlayerT(playerid) UnMutePlayer(playerid); KickPlayer(playerid,reason[],kicker[]="the server") { if (!IsPlayerConnected(playerid) || IsPlayerAdmin(playerid) || PlayerInfo[playerid][Admin] >= AdminLevelToIgnorePunishment) return; new str[MAX_STRING]; format(str,sizeof(str),"%s (id: %d) kicked by %s: %s",PlayerInfo[playerid][Name],playerid,kicker,reason); WriteToLog(str); #if defined KicksLog WriteToLog(str,KicksLog); #endif WriteEcho(str,INVALID_PLAYER_ID,KickMsgColor); Kick(playerid); } BanPlayer(playerid,reason[],banner[]="the server") { if (!IsPlayerConnected(playerid) || IsPlayerAdmin(playerid) || PlayerInfo[playerid][Admin] >= AdminLevelToIgnorePunishment) return; new str[MAX_STRING]; format(str,sizeof(str),"%s (id: %d) banned by %s: %s",PlayerInfo[playerid][Name],playerid,banner,reason); WriteToLog(str); #if defined BansLog WriteToLog(str,BansLog); #endif WriteEcho(str,INVALID_PLAYER_ID,BanMsgColor); Ban(playerid); } GiveMoney(playerid,amount) { PlayerInfo[playerid][Moneys] += amount; GivePlayerMoney(playerid,amount); } #if defined TimeCycle new WorldTime = 12; public WorldTimeUpdate() { WorldTime++; WorldTime %= 24; SetWorldTime(WorldTime); } #endif public SaveAllPlayers() { for (new i=0;i PlayerInfo[i][Moneys]) GivePlayerMoney(i,-GetPlayerMoney(i)+PlayerInfo[i][Moneys]); else if (GetPlayerMoney(i) < PlayerInfo[i][Moneys]) PlayerInfo[i][Moneys] = GetPlayerMoney(i); #if defined MaxMoneyIllegalIncrease if (GetPlayerMoney(i)-PlayerInfo[i][Moneys] > MaxMoneyIllegalIncrease) BanPlayer(i,"Cheating is bad: money cheat"); #endif } } } public MoneyForPlay() for (new i=0;i 0) modelids++; format(str,sizeof(str),"Vehicles: %d (Types: %d)",Vehicles,modelids); WriteToLog(str); for (new i=0;i 0) GivePlayerWeapon(playerid,WeaponInfo[PlayerInfo[playerid][WeaponIDs][i]][WeaponID],PlayerInfo[playerid][WeaponAmmos][i]); return 1; } public OnPlayerDeath(playerid,killerid,reason) { if (PlayerInfo[playerid][SafeDeath]) { PlayerInfo[playerid][SafeDeath] = false; return 1; } new str[MAX_STRING]; SendDeathMessage(killerid,playerid,reason); #if defined AntiSpawnKillTime KillTimer(PlayerInfo[playerid][AntiSpawnKillTimer]); #endif #if defined Teams if (PlayerInfo[playerid][Team] == -1) { new vehicleid = random(Vehicles); while (VehicleInfo[vehicleid][VehicleColor1] != -1 || VehicleInfo[vehicleid][VehicleColor2] != -1) vehicleid = random(Vehicles); SetSpawnInfo(playerid,0,ClassInfo[PlayerInfo[playerid][Model]],VehicleInfo[vehicleid][VehicleSpawnX]+3,VehicleInfo[vehicleid][VehicleSpawnY]+3,VehicleInfo[vehicleid][VehicleSpawnZ],VehicleInfo[vehicleid][VehicleSpawnA],SpawnWeapons[0],SpawnWeapons[1],SpawnWeapons[2],SpawnWeapons[3],SpawnWeapons[4],SpawnWeapons[5]); } #else new vehicleid = random(Vehicles); while (VehicleInfo[vehicleid][VehicleColor1] != -1 || VehicleInfo[vehicleid][VehicleColor2] != -1) vehicleid = random(Vehicles); SetSpawnInfo(playerid,0,ClassInfo[PlayerInfo[playerid][Model]],VehicleInfo[vehicleid][VehicleSpawnX]+3,VehicleInfo[vehicleid][VehicleSpawnY]+3,VehicleInfo[vehicleid][VehicleSpawnZ],VehicleInfo[vehicleid][VehicleSpawnA],SpawnWeapons[0],SpawnWeapons[1],SpawnWeapons[2],SpawnWeapons[3],SpawnWeapons[4],SpawnWeapons[5]); #endif if (killerid == INVALID_PLAYER_ID) { format(str,sizeof(str),"%s (id: %d) suicided",PlayerInfo[playerid][Name],playerid); WriteToLog(str); SetPlayerScore(playerid,GetPlayerScore(playerid)-1); PlayerInfo[playerid][Suicides]++; } else { format(str,sizeof(str),"%s (id: %d) killed %s (id: %d) with %s (id: %d)",PlayerInfo[killerid][Name],killerid,PlayerInfo[playerid][Name],playerid,WeaponNames[reason],reason); WriteToLog(str); new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(killerid,x2,y2,z2); #if defined InDoorWeapons if (reason != 0 && z1 > 700 && z2 > 700 && !IsPlayerInAnyVehicle(playerid) && !IsPlayerInAnyVehicle(killerid)) { KickPlayer(killerid,"Cheating is bad: possible indoor weapons"); return 1; } #endif new di