04.11.2011, 21:37
Hey, i have two issues in my samp script that i'm not sure in how to fix them the first one is when i open my server i go to the ip and on the gamemode tab it says "Unknown" Thats the first issue. then second issue is when i join in my server my temp ban system kicks me out and saying "Your ban has not expired" Here is my script
(OfCourse will rep)
pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define COLOR_RED 0xFF0000AA
#define MAX_TEMP_BANS 40
enum TempBanData
{
BannedName[24],
BannedIP[16],
UnbanDate
}
new TempBans[24][TempBanData]; // 24 = max bans
//================================================//
main()
{
print("\n----------------------------------");
print(" My Awesome GM is Loaded");
print("----------------------------------\n");
}
//===============================================//
public OnGameModeInit()
{
LoadTempBans();
TempBanUpdate();
print("Temporary Ban System Loaded...");
SetGameModeText("BBFR");
//LS
AddPlayerClass(105,2489.2844,-1667.8491,13.3438,290.0001,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(106,2287.7410,-1671.8228,14.8328,171.7165,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(107,2335.5703,-1524.6678,24.0000,294.8287,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(102,2392.6465,-1312.3546,25.4530,333.4391,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(103,2335.7136,-1227.7610,22.5000,112.5136,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(104,2421.6133,-1099.7621,41.0351,211.1407,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(114,2328.1191,-1055.6989,52.3516,225.2375,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(115,2006.1277,-989.5734,32.8915,314.2100,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(116,1854.1747,-1172.1088,23.8281,16.4959,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(108,1270.0078,-942.5543,42.4167,106.4168,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(110,862.9995,-1761.4177,13.5469,156.6048,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(109,1074.7749,-1861.8438,13.5469,200.1000,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(247,1288.8348,-1719.8531,13.5469,166.6725,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(111,910.6433,-1557.9584,13.5447,275.1982,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(1,844.2976,-1336.4966,13.5445,53.9809,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(2,688.5696,-639.8826,16.2941,280.6785,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(0,680.1245,-474.0266,16.5363,179.7175,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(3,757.6161,353.9121,20.5598,264.0447,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(4,1220.0699,294.5352,19.5547,9.0620,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(5,1679.4386,-2247.4988,13.5605,4.6311,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(6,1522.0571,-2446.8252,13.5547,271.8469,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(7,1755.4407,-2452.2451,13.5547,16.1777,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(8,1826.9677,-2623.8455,13.5469,197.6208,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(9,2173.8892,-2266.6001,13.3734,13.6793,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(10,2793.6250,-1086.5382,30.7188,272.2217,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(11,1839.2147,-1231.1052,16.8457,291.6410,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(12,1910.7659,-1126.0305,24.7500,2.5417,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(13,1940.3326,-1052.0975,24.1349,73.6690,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(14,1940.3326,-1052.0975,24.1349,73.6690,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(15,1713.9890,-1091.6088,24.0781,74.9442,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(16,1501.0782,-1167.4996,24.0781,300.0499,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(17,1250.9330,-1156.2253,23.8038,193.5711,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(18,1068.2109,-1298.0983,13.5469,99.1381,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(19,834.5793,-877.2789,68.6486,282.5377,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(20,733.3274,-1100.1780,20.3701,161.3907,0,0,0,0,0,0); // GuySpawn
AddPlayerClass(166,1568.9978,-1691.3159,5.8906,4.9080,0,0,0,0,0,0); // LS PD
AddPlayerClass(280,1568.9978,-1691.3159,5.8906,4.9080,0,0,0,0,0,0); // LS PD
AddPlayerClass(283,1568.9978,-1691.3159,5.8906,4.9080,0,0,0,0,0,0); // LS PD
AddPlayerClass(284,1568.9978,-1691.3159,5.8906,4.9080,0,0,0,0,0,0); // LS PD
AddPlayerClass(274,2034.1045,-1408.2339,17.1641,337.1174,0,0,0,0,0,0); // LS Hos
AddPlayerClass(21,1173.5562,-1323.5707,15.1953,84.7941,0,0,0,0,0,0); // AllSaints
AddPlayerClass(22,2900.9812,-1953.7476,2.9079,11.5261,0,0,0,0,0,0); // beacj
AddPlayerClass(23,1606.2683,-1237.2102,17.4762,194.1263,0,0,0,0,0,0); //
AddPlayerClass(24,1466.4496,-1741.7013,13.5469,0.0000,0,0,0,0,0,0); //
AddPlayerClass(25,1749.0125,-1861.8879,13.5770,126.9759,0,0,0,0,0,0); // unstat
AddPlayerClass(26,1672.4684,-2113.3723,13.5469,0.4019,0,0,0,0,0,0); //
AddPlayerClass(27,1951.4819,-2108.5867,13.5395,193.6894,0,0,0,0,0,0); //
AddPlayerClass(28,2115.9692,-2421.9153,13.5469,96.5186,0,0,0,0,0,0); //
AddPlayerClass(29,2076.4319,-1983.3776,13.5469,83.7770,0,0,0,0,0,0); //
AddPlayerClass(30,2066.8376,-1876.6831,13.5469,83.6448,0,0,0,0,0,0); //
AddPlayerClass(31,1697.1306,-1343.5433,17.4874,101.1743,0,0,0,0,0,0); //
AddPlayerClass(32,1490.5378,-1434.9319,13.5469,349.6328,0,0,0,0,0,0); //
AddPlayerClass(33,1324.3223,-1463.2415,13.5469,58.0112,0,0,0,0,0,0); //
AddPlayerClass(34,1224.8774,-1815.7888,16.5938,83.8770,0,0,0,0,0,0); //
AddPlayerClass(35,891.7466,-1827.0336,12.0307,97.7282,0,0,0,0,0,0); //
AddPlayerClass(36,374.9117,-1814.1251,7.8322,239.8746,0,0,0,0,0,0); //
AddPlayerClass(37,153.8223,-1941.9647,3.7734,0.7887,0,0,0,0,0,0); //
AddPlayerClass(38,131.2631,-1487.0621,18.6488,228.1991,0,0,0,0,0,0); //
AddPlayerClass(39,286.3221,-1216.3826,75.5167,314.6907,0,0,0,0,0,0); //
AddPlayerClass(40,808.7769,-1060.4734,24.9178,87.0525,0,0,0,0,0,0); //
AddPlayerClass(41,780.5983,-1327.9326,13.5469,140.0984,0,0,0,0,0,0); //
AddPlayerClass(42,790.4252,-1593.8353,13.3828,223.9670,0,0,0,0,0,0); //
AddPlayerClass(43,1074.0013,-1857.9094,13.5469,215.4429,0,0,0,0,0,0); //
AddPlayerClass(44,1508.3307,-1878.8199,13.5469,274.2740,0,0,0,0,0,0); //
AddPlayerClass(45,1542.5393,-1357.3777,329.4674,356.1984,0,0,0,0,0,0); //
AddPlayerClass(46,1585.5334,-1382.0453,242.8782,71.1544,0,0,0,0,0,0); //
AddPlayerClass(47,1450.1559,-1403.3518,13.3828,160.4492,0,0,0,0,0,0); //
AddPlayerClass(48,2488.6765,-1667.1779,13.3438,200.0000,0,0,0,0,0,0); //
AddPlayerClass(49,2488.6765,-1667.1779,13.3438,200.0000,0,0,0,0,0,0); //
AddPlayerClass(50,849.5922,-1833.7228,12.3706,176.4317,0,0,0,0,0,0); //
AddPlayerClass(51,813.4702,-1753.1901,13.3880,12.8204,0,0,0,0,0,0); //
AddPlayerClass(52,519.3303,-1603.1786,16.1797,193.0989,0,0,0,0,0,0); //
AddPlayerClass(53,438.4263,-1731.0173,9.5330,107.0259,0,0,0,0,0,0); //
AddPlayerClass(54,258.0966,-1746.5771,4.4509,97.8768,0,0,0,0,0,0); //
AddPlayerClass(55,99.7564,-1515.4213,6.8583,327.8404,0,0,0,0,0,0); //
AddPlayerClass(56,442.0837,-1309.8551,15.1600,321.1750,0,0,0,0,0,0); //
AddPlayerClass(57,605.3757,-1232.5039,18.2376,125.2076,0,0,0,0,0,0); //
AddPlayerClass(58,840.5631,-1039.2502,25.0392,278.3380,0,0,0,0,0,0); //
AddPlayerClass(59,424.4864,-1312.3840,38.0391,95.4029,0,0,0,0,0,0); // roof
AddPlayerClass(60,400.3937,-1311.8535,32.3516,267.1111,0,0,0,0,0,0); // front billboard
AddPlayerClass(277,1742.5408,-1460.8817,13.4999,135.5620,0,0,0,0,0,0); //fire lv
//SF
AddPlayerClass(279,-2026.1963,67.1659,28.6916,98.9013,0,0,0,0,0,0); //fireSF
AddPlayerClass(122,-1983.6216,138.2403,27.6875,268.1974,0,0,0,0,0,0); //
AddPlayerClass(123,-2034.5604,148.4059,28.8359,96.9694,0,0,0,0,0,0); //
AddPlayerClass(173,-1952.8749,305.0756,35.4688,343.2260,0,0,0,0,0,0); //
AddPlayerClass(174,-1969.0311,458.6726,35.1719,91.4765,0,0,0,0,0,0); //
AddPlayerClass(175,-1938.8132,689.5110,46.5683,89.3985,0,0,0,0,0,0); //
AddPlayerClass(191,-1754.1272,962.4977,24.8828,357.5562,0,0,0,0,0,0); // Girl Skin!
AddPlayerClass(118,-1550.8661,1168.6351,7.1875,267.1725,0,0,0,0,0,0); //
AddPlayerClass(120,-1664.4784,1207.9397,7.2546,170.6950,0,0,0,0,0,0); //
AddPlayerClass(248,-1686.2286,1325.3235,7.1875,144.3073,0,0,0,0,0,0); //
AddPlayerClass(112,-1954.0901,1345.1428,7.1875,356.9340,0,0,0,0,0,0); //
AddPlayerClass(276,-2654.8281,1383.5802,7.1873,245.2751,0,0,0,0,0,0); // SFHOS
AddPlayerClass(121,-2766.5708,789.1204,52.7813,345.1369,0,0,0,0,0,0); //
AddPlayerClass(117,-2652.3787,631.8398,14.4545,69.3558,0,0,0,0,0,0); //
AddPlayerClass(61,-2995.0015,484.2721,4.9141,31.4410,0,0,0,0,0,0); //
AddPlayerClass(62,-2764.4895,375.7810,6.3411,88.5136,0,0,0,0,0,0); //
AddPlayerClass(63,-2650.1982,376.7484,6.1563,164.7675,0,0,0,0,0,0); //
AddPlayerClass(64,-2667.6904,259.9423,4.6328,173.5664,0,0,0,0,0,0); //
AddPlayerClass(65,-2651.7668,-283.8928,7.5080,251.7616,0,0,0,0,0,0); //
AddPlayerClass(66,-2719.5774,-318.9872,7.8438,223.1814,0,0,0,0,0,0); //
AddPlayerClass(67,-2386.6418,-586.1445,132.1172,313.5888,0,0,0,0,0,0); //
AddPlayerClass(68,-2520.2290,-624.9509,132.7869,190.3495,0,0,0,0,0,0); //
AddPlayerClass(69,-2099.2612,-963.8467,32.1642,273.7162,0,0,0,0,0,0); //
AddPlayerClass(70,-2100.8743,-912.1003,32.1719,357.3771,0,0,0,0,0,0); //
AddPlayerClass(71,-2101.1257,-860.1820,32.1719,0.5104,0,0,0,0,0,0); //
AddPlayerClass(72,-2101.4692,-809.4716,32.1719,0.8238,0,0,0,0,0,0); //
AddPlayerClass(73,-2100.9231,-758.0336,32.1719,358.3171,0,0,0,0,0,0); //
AddPlayerClass(74,-1858.0690,-1192.0590,34.8594,278.0587,0,0,0,0,0,0); //
AddPlayerClass(75,-2112.5759,-443.9522,38.7344,264.8837,0,0,0,0,0,0); //
AddPlayerClass(76,-2219.1960,-341.8566,44.7984,178.8557,0,0,0,0,0,0); //
AddPlayerClass(77,-2197.9497,289.7631,35.3203,183.6249,0,0,0,0,0,0); //
AddPlayerClass(78,-1948.2048,488.5140,31.9688,263.8381,0,0,0,0,0,0); //
AddPlayerClass(79,-1899.2799,487.0378,35.1719,357.5981,0,0,0,0,0,0); //
AddPlayerClass(80,-2276.2781,533.7158,35.1509,178.6778,0,0,0,0,0,0); //
AddPlayerClass(81,-2178.5479,609.0171,35.1641,274.4626,0,0,0,0,0,0); //
AddPlayerClass(82,-2442.5674,753.4412,35.1719,357.9804,0,0,0,0,0,0); //
AddPlayerClass(83,-2666.7144,-1.8492,6.1328,178.2544,0,0,0,0,0,0); //
AddPlayerClass(84,-2786.7676,62.8870,10.0625,265.5973,0,0,0,0,0,0); //
AddPlayerClass(85,-2452.4075,503.7699,30.0821,88.3249,0,0,0,0,0,0); //
AddPlayerClass(86,-2486.7422,359.5532,35.1172,47.7025,0,0,0,0,0,0); //
AddPlayerClass(87,-2419.5276,334.0073,35.1787,54.4304,0,0,0,0,0,0); //
AddPlayerClass(88,-2379.1582,492.5540,29.7900,102.6077,0,0,0,0,0,0); //
AddPlayerClass(89,-1989.8101,1117.7816,54.4688,89.7447,0,0,0,0,0,0); //
AddPlayerClass(90,-1897.7164,1162.5658,45.4453,135.7722,0,0,0,0,0,0); //
AddPlayerClass(91,-1593.8093,716.5472,-5.2422,192.4169,0,0,0,0,0,0); //
AddPlayerClass(281,-1602.6230,748.6460,-5.2422,274.5221,0,0,0,0,0,0); // sfpd
AddPlayerClass(285,-1602.6230,748.6460,-5.2422,274.5221,0,0,0,0,0,0); // sfpd
AddPlayerClass(286,-1602.6230,748.6460,-5.2422,274.5221,0,0,0,0,0,0); // sfpd
AddPlayerClass(287,-1602.6230,748.6460,-5.2422,274.5221,0,0,0,0,0,0); // sfpd
AddPlayerClass(92,-1345.8994,-231.9196,14.1484,162.6086,0,0,0,0,0,0); // sfair
AddPlayerClass(93,-1352.0587,-226.4493,14.1440,342.6282,0,0,0,0,0,0); // sfair
AddPlayerClass(94,408.2444,2540.7280,16.5460,203.2652,0,0,0,0,0,0); // aa
AddPlayerClass(95,-2124.5581,217.7637,35.3203,317.2002,0,0,0,0,0,0); // build
AddPlayerClass(96,-2352.1726,996.7078,55.9219,282.7830,0,0,0,0,0,0); //
AddPlayerClass(97,-2070.6423,976.4476,62.9219,192.5246,0,0,0,0,0,0); //
AddPlayerClass(98,-1911.8507,896.3571,37.4577,90.0000,0,0,0,0,0,0); //
AddPlayerClass(99,-1613.4535,1002.4531,7.1875,28.0527,0,0,0,0,0,0); //
AddPlayerClass(100,-2524.3621,1216.6010,37.6218,92.4505,0,0,0,0,0,0); //
AddPlayerClass(101,-1469.4728,1489.6105,8.2578,91.2615,0,0,0,0,0,0); //
//LV
AddPlayerClass(254,1455.3480,751.1882,11.0234,331.9622,0,0,0,0,0,0); //
AddPlayerClass(113,2088.6863,1451.0962,10.8203,290.0869,0,0,0,0,0,0); //
AddPlayerClass(124,1958.7274,1342.9873,15.3746,1.6330,0,0,0,0,0,0); //
AddPlayerClass(125,2184.7676,1114.5514,12.6484,288.7765,0,0,0,0,0,0); //
AddPlayerClass(126,2022.6626,1007.9587,10.8203,92.4256,0,0,0,0,0,0); //
AddPlayerClass(127,1903.5992,965.2205,10.8203,14.0645,0,0,0,0,0,0); //
AddPlayerClass(119,2115.5149,951.5198,10.8203,48.6094,0,0,0,0,0,0); //
AddPlayerClass(128,2595.8054,724.4792,11.0234,172.4743,0,0,0,0,0,0); //
AddPlayerClass(129,2692.2229,826.4361,10.1813,141.9132,0,0,0,0,0,0); //
AddPlayerClass(130,2803.6167,940.2055,13.7707,172.5525,0,0,0,0,0,0); //
AddPlayerClass(131,2231.4697,2525.7856,10.8203,182.0921,0,0,0,0,0,0); //
AddPlayerClass(165,2268.0706,2447.1948,3.5313,269.0779,0,0,0,0,0,0); // lvpd
AddPlayerClass(282,2268.0706,2447.1948,3.5313,269.0779,0,0,0,0,0,0); // lvpd
AddPlayerClass(288,2268.0706,2447.1948,3.5313,269.0779,0,0,0,0,0,0); // lvpd
AddPlayerClass(287,2268.0706,2447.1948,3.5313,269.0779,0,0,0,0,0,0); // lvpd
AddPlayerClass(132,2314.9744,2353.3823,10.6641,247.3426,0,0,0,0,0,0); //
AddPlayerClass(133,2368.4175,2182.9521,10.8203,359.3395,0,0,0,0,0,0); //
AddPlayerClass(134,2602.1873,2145.4087,10.8203,353.9363,0,0,0,0,0,0); //
AddPlayerClass(135,2819.0415,2143.2705,13.5383,180.7004,0,0,0,0,0,0); //
AddPlayerClass(136,2861.8345,2431.0688,11.0690,86.8367,0,0,0,0,0,0); //
AddPlayerClass(137,2633.0442,2349.6787,10.6719,21.6178,0,0,0,0,0,0); //
AddPlayerClass(138,2441.0911,2290.0989,10.8203,260.2014,0,0,0,0,0,0); //
AddPlayerClass(139,2444.2292,2375.4255,12.0466,289.9218,0,0,0,0,0,0); //
AddPlayerClass(140,2634.7261,1823.8688,11.0234,240.9340,0,0,0,0,0,0); //
AddPlayerClass(141,2434.3262,1663.8855,15.5108,283.9662,0,0,0,0,0,0); //
AddPlayerClass(142,2212.3298,1839.4769,10.8203,270.7719,0,0,0,0,0,0); //
AddPlayerClass(143,2107.8005,2061.4602,10.8203,33.6930,0,0,0,0,0,0); //
AddPlayerClass(144,2164.5361,2164.4587,10.8203,285.1182,0,0,0,0,0,0); //
AddPlayerClass(145,2016.9771,1919.8131,12.3424,105.8247,0,0,0,0,0,0); //
AddPlayerClass(146,2002.5339,1543.3414,13.5859,108.6820,0,0,0,0,0,0); //
AddPlayerClass(147,2158.9719,2076.5237,10.8203,350.6939,0,0,0,0,0,0); //
AddPlayerClass(148,2107.8140,2259.0806,11.0234,146.3692,0,0,0,0,0,0); //
AddPlayerClass(149,2059.6309,2471.5642,10.8203,279.9785,0,0,0,0,0,0); //
AddPlayerClass(150,2159.0945,2471.1245,10.8203,147.1282,0,0,0,0,0,0); //
AddPlayerClass(151,1908.4084,2301.3223,10.8203,164.1404,0,0,0,0,0,0); //
AddPlayerClass(278,1768.9614,2080.2280,10.8203,290.8585,0,0,0,0,0,0); // fire lv
AddPlayerClass(275,1610.8734,1820.6338,10.8280,95.8085,0,0,0,0,0,0); // hosd lv
AddPlayerClass(152,1677.7888,1442.4459,10.7756,54.9255,0,0,0,0,0,0); //
AddPlayerClass(153,1338.4954,1268.1580,10.8203,37.2927,0,0,0,0,0,0); //
AddPlayerClass(154,2195.2195,1673.5110,12.3672,186.4614,0,0,0,0,0,0); //
AddPlayerClass(155,2367.7925,2062.4214,10.8203,337.6718,0,0,0,0,0,0); //
AddPlayerClass(156,2614.2971,1986.3228,10.8203,170.3035,0,0,0,0,0,0); //
AddPlayerClass(157,2521.9575,1464.4473,10.8203,94.3152,0,0,0,0,0,0); //
AddPlayerClass(158,2016.4036,1102.4392,10.8203,42.4792,0,0,0,0,0,0); //
AddPlayerClass(159,1856.0444,1089.2883,10.8203,118.0849,0,0,0,0,0,0); //
AddPlayerClass(160,2088.7544,1270.4943,10.8203,359.9998,0,0,0,0,0,0); //
AddPlayerClass(161,2595.3184,1684.2432,10.8203,173.2018,0,0,0,0,0,0); //
AddPlayerClass(162,2443.9446,1791.8867,10.8132,14.9875,0,0,0,0,0,0); //
AddPlayerClass(163,1945.3778,2649.1765,10.6719,77.4966,0,0,0,0,0,0); //
AddPlayerClass(164,1902.4214,2767.8398,10.6719,7.8211,0,0,0,0,0,0); //
AddPlayerClass(167,1708.7827,2707.0022,10.8203,168.0102,0,0,0,0,0,0); //
AddPlayerClass(168,1466.4586,2766.7488,10.6719,42.5577,0,0,0,0,0,0); // golf
AddPlayerClass(169,1627.4695,2827.4460,10.8203,342.2010,0,0,0,0,0,0); //
AddPlayerClass(170,1753.6827,2800.4368,10.8283,5.9679,0,0,0,0,0,0); //
AddPlayerClass(171,2153.9971,2788.2805,10.8203,281.2724,0,0,0,0,0,0); //
AddPlayerClass(172,2148.4275,2735.6858,11.1763,276.7089,0,0,0,0,0,0); //
AddPlayerClass(176,2359.9419,2752.0984,10.8203,358.8509,0,0,0,0,0,0); //
AddPlayerClass(177,2385.2004,2466.2595,10.8203,268.7393,0,0,0,0,0,0); //
AddPlayerClass(178,2363.6138,2377.5933,10.8203,322.7701,0,0,0,0,0,0); //
AddPlayerClass(179,2365.3533,1981.1188,10.8125,345.0216,0,0,0,0,0,0); //
AddPlayerClass(180,1889.5184,1592.2080,10.6641,38.3614,0,0,0,0,0,0); //
AddPlayerClass(181,1911.1627,1444.7025,10.8203,74.5224,0,0,0,0,0,0); //
AddPlayerClass(182,2323.6541,1283.2325,97.5999,162.6974,0,0,0,0,0,0); //
AddPlayerClass(183,1044.9711,1026.3987,11.0000,171.0797,0,0,0,0,0,0); //
AddPlayerClass(184,578.6763,881.1655,-43.9095,290.5493,0,0,0,0,0,0); //
AddPlayerClass(185,166.5406,1833.3707,17.6406,29.9986,0,0,0,0,0,0); //
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s has joined the server", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
new name[24],ip[16];
GetPlayerIp(playerid,ip,sizeof ip);
GetPlayerName(playerid,name,sizeof name);
for(new id; id < 24; id++)
{
if(!strcmp(name,TempBans[id][BannedName]))
{ // ban type is name
SendClientMessage(playerid,COLOR_RED,"Your ban has not expired!");
Kick(playerid);
return 1;
}
if(!strcmp(ip,TempBans[id][BannedIP]))
{ // ban type is ip !
SendClientMessage(playerid,COLOR_RED,"Your ban has not expired!");
Kick(playerid);
return 1;
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
switch(reason)
{
case 0: format(string, sizeof(string), "%s has left the server. (Lost Connection)", pname);
case 1: format(string, sizeof(string), "%s has left the server. (Left)", pname);
case 2: format(string, sizeof(string), "%s has left the server. (Kicked)", pname);
}
SendClientMessageToAll(0xAAAAAAAA, string);
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//TempBan System
CMD:tempbanip(playerid,params[])
{
if(!TempAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"You must be admin to use this command.");
new ip[16],days;
if(GetCurrentTempBanCount() == 24) return SendClientMessage(playerid,COLOR_RED,"Temp Ban Limit Reached.");
if(sscanf(params, "s[16]d",ip,days)) return SendClientMessage(playerid,COLOR_RED,"Usage: /tempbanip <ip> <amount of days ahead>");
new year,mon,d;
getdate(year,mon,d);
new i = GetTempBanSlot();
TempBans[i][BannedIP] = ip;
TempBans[i][UnbanDate] = d+days;
new str[100];
format(str,sizeof str,"** IP %s set to to unbanned on %d/%d/%d",mon,d+days,year);
SendClientMessage(playerid,COLOR_RED,str);
format(str,sizeof str,"banip %s",ip);
SendRconCommand(str);
return 1;
}
CMD:tbip(playerid,params[])
{
return cmd_tempbanip(playerid,params);
}
CMD:tbu(playerid,params[])
{
return cmd_tempbanname(playerid,params);
}
CMD:tb(playerid,params[])
{
return cmd_tempban(playerid,params);
}
CMD:tempbanname(playerid,params[])
{
if(!TempAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"You must be admin to use this command.");
new name[24],days;
if(GetCurrentTempBanCount() == 24) return SendClientMessage(playerid,COLOR_RED,"Temp Ban Limit Reached.");
if(sscanf(params, "s[24]d",name,days)) return SendClientMessage(playerid,COLOR_RED,"Usage: /tempbanname <Name> <amount of days ahead>");
new year,mon,d;
getdate(year,mon,d);
new i = GetTempBanSlot();
format(TempBans[i][BannedName],sizeof name,"%s",name);
TempBans[i][BannedName] = name;
TempBans[i][UnbanDate] = d+days;
new str[100];
format(str,sizeof str,"Name %s set to to unbanned on %d/%d/%d",mon,d+days,year);
SendClientMessage(playerid,COLOR_RED,str);
return 1;
}
CMD:tempban(playerid,params[])
{
if(!TempAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"You must be admin to use this command.");
new days,rsn[24],id,name[24];
if(GetCurrentTempBanCount() == 24) return SendClientMessage(playerid,COLOR_RED,"Temp Ban Limit Reached.");
if(sscanf(params, "uds[24]",id,days,rsn)) return SendClientMessage(playerid,COLOR_RED,"Usage: /tempban <PlayerID/Name> <Amount Of Days> <Reason>");
new year,mon,d;
getdate(year,mon,d);
new i = GetTempBanSlot();
new aname[24];
GetPlayerName(playerid,aname,sizeof aname);
GetPlayerName(id,name,sizeof name);
format(TempBans[i][BannedName],sizeof name,"%s",name);
TempBans[i][BannedName] = name;
TempBans[i][UnbanDate] = d+days;
new str[128];
GetPlayerName(id,name,sizeof name);
format(str,sizeof str,"%s (ID%d) has been temporary banned by Admin %s (ID:%d) (%s)",aname,playerid,name,id,rsn);
SendClientMessage(playerid,COLOR_RED,str);
Kick(id);
return 1;
}
CMD:tempunban(playerid,params[])
{
if(!TempAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"You must be admin to use this command.");
new ip[16];
if(GetCurrentTempBanCount() == 24) return SendClientMessage(playerid,COLOR_RED,"Temp Ban Limit Reached.");
if(sscanf(params, "s[16]",ip)) return SendClientMessage(playerid,COLOR_RED,"Usage: /tempunban <IPAddress>");
new i = GetBan(ip);
if(i == 0) return SendClientMessage(playerid,COLOR_RED,"Ban Entry could not be found! Try again.");
new str[100];
format(str,sizeof str,"IP %s unbanned!",ip);
SendClientMessage(playerid,COLOR_RED,str);
DeleteTempBanEntry(i);
return 1;
}
forward TempBanUpdate();
public TempBanUpdate()
{
new day,month,year,hour,minute,second,str[100];
gettime(hour,minute,second);
getdate(year,month,day);
for(new id; id < 24; id++)
{
if(TempBans[id][UnbanDate] >= day) // type 1 = day ban (unban on specific day)
{
if(strlen(TempBans[id][BannedIP]) > 0)
{
format(str,sizeof str,"unbanip %s",TempBans[id][BannedIP]);
SendRconCommand(str);
format(str,sizeof str,"Auto-Unban: IP %s was unbanned. (Ban Expired)",TempBans[id][BannedIP]);
print(str);
DeleteTempBanEntry(id);
return 1;
}
if(strlen(TempBans[id][BannedName]) > 0)
{
format(str,sizeof str,"Auto-Unban: Name %s was unbanned. (Ban Expired)",TempBans[id][BannedName]);
print(str);
DeleteTempBanEntry(id);
}
}
}
return 1;
}
DeleteTempBanEntry(id)
{
strdel(TempBans[id][BannedName],0,24);
strdel(TempBans[id][BannedIP],0,16);
TempBans[id][UnbanDate] = 0;
}
GetCurrentTempBanCount()
{
new loaded;
for(new id; id < MAX_TEMP_BANS; id++) //max of 24 temporary bans
{
if(strlen(TempBans[id][BannedName]) > 0 || strlen(TempBans[id][BannedIP]) > 0) loaded++;
}
return loaded;
}
GetTempBanSlot()
{
new loaded;
for(new id; id < MAX_TEMP_BANS; id++) //max of 24 temporary bans
{
if(strlen(TempBans[id][BannedName]) == 0 || strlen(TempBans[id][BannedIP]) == 0) loaded = id;
}
return loaded;
}
stock SaveTempBans()
{
new dat[100];
new File: file = fopen("tempbans.txt", io_write);
for(new id; id<MAX_TEMP_BANS; id++)
{
format(dat, 100, "%s,%s,%d\r\n",TempBans[id][BannedName],TempBans[id][BannedIP],TempBans[id][UnbanDate]);
fwrite(file, dat);
}
fclose(file);
}
LoadTempBans()
{
// load the bans
new loaded=0;
if(fexist("tempbans.txt"))
{
new dat[100];
new File: file = fopen("tempbans.txt", io_read);
if (file)
{
for(new id; id < MAX_TEMP_BANS; id++) //max of 24 temporary bans
{
fread(file,dat);
sscanf(dat,"p<,>s[24]s[16]d",TempBans[id][BannedName],TempBans[id][BannedIP],TempBans[id][UnbanDate]);
if(strlen(TempBans[id][BannedName]) > 0) loaded++;
}
fclose(file);
}
}
return 1;
}
GetBan(ip[])
{
for(new id; id < 24; id++)
{
if(!strcmp(ip,TempBans[id][BannedIP]))
{
return id;
}
}
return 0;
}
stock TempAdmin(playerid)
{
if(IsPlayerAdmin(playerid)) return true;
return false;
}