1
0

lfuncs.inc 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. /*
  2. ====================================================================
  3. . \ / .__. . __. ,
  4. | . . >< [__] _|._ _ (__ _.._.*._ -+-
  5. |___(_|/ \ | |(_][ | ).__)(_.[ |[_) |
  6. |
  7. LuX AdminScript System v1.6 Beta
  8. ---------------------------
  9. Functions Include 4.0
  10. (c)LuxurioN
  11. ====================================================================
  12. */
  13. #if defined _lfuncs_included
  14. #endinput
  15. #endif
  16. #define _lfuncs_included
  17. #include <a_samp>
  18. #define MAX_FORBIDDEN_WEAPONS 20
  19. #define MAX_WEAPONS 47
  20. #define MAX_CTELES 100
  21. #define CTELE_LINE 10
  22. #define CTELE_TIMER 1800000
  23. #define RED 0xFB0000AA
  24. new WeaponForbiddenForPlayer[MAX_PLAYERS][MAX_WEAPONS];
  25. new ForbiddenWeapons[MAX_FORBIDDEN_WEAPONS];
  26. new ForbiddenWeaponsCount;
  27. enum CreatedTeles
  28. {
  29. Float:PosX,
  30. Float:PosY,
  31. Float:PosZ,
  32. Float:PosA,
  33. PosInt[30],
  34. TName[30],
  35. TValid,
  36. }
  37. enum MainZone
  38. {
  39. Zone_Name[28],
  40. Float:Zone_Area[6]
  41. };
  42. enum MainCity
  43. {
  44. City_Name[28],
  45. Float:City_Area[6]
  46. };
  47. static const SanAndreasCities[][MainCity] = {
  48. {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  49. {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  50. {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  51. {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  52. {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  53. {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  54. {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  55. {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  56. {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  57. };
  58. static const SanAndreasZones[][MainZone] = {
  59. {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  60. {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  61. {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  62. {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  63. {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  64. {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  65. {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  66. {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  67. {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  68. {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  69. {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  70. {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  71. {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  72. {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  73. {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  74. {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  75. {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  76. {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  77. {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  78. {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  79. {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  80. {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  81. {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  82. {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}},
  83. {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  84. {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  85. {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  86. {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  87. {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  88. {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  89. {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  90. {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  91. {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  92. {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  93. {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  94. {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  95. {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  96. {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  97. {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  98. {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  99. {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  100. {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  101. {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  102. {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  103. {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  104. {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  105. {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  106. {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  107. {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  108. {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  109. {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  110. {"Downtown LS", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  111. {"Downtown LS", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  112. {"Downtown LS", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  113. {"Downtown LS", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  114. {"Downtown LS", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  115. {"Downtown LS", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  116. {"Downtown LS", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  117. {"Downtown LS", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  118. {"Downtown LS", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  119. {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  120. {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  121. {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  122. {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  123. {"East LS", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  124. {"East LS", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  125. {"East LS", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  126. {"East LS", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  127. {"East LS", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  128. {"East LS", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  129. {"East LS", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  130. {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  131. {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  132. {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  133. {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  134. {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  135. {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  136. {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  137. {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  138. {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  139. {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  140. {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  141. {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  142. {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  143. {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  144. {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  145. {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  146. {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  147. {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  148. {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  149. {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  150. {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  151. {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  152. {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  153. {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  154. {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  155. {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}},
  156. {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  157. {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  158. {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  159. {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  160. {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  161. {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  162. {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  163. {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  164. {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  165. {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  166. {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  167. {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  168. {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  169. {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  170. {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  171. {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  172. {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  173. {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  174. {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  175. {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  176. {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  177. {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  178. {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  179. {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  180. {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  181. {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  182. {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}},
  183. {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  184. {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  185. {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  186. {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  187. {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  188. {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  189. {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  190. {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  191. {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  192. {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  193. {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  194. {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  195. {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  196. {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  197. {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  198. {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  199. {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  200. {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  201. {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  202. {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  203. {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  204. {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  205. {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  206. {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  207. {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  208. {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  209. {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  210. {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  211. {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  212. {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  213. {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  214. {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  215. {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  216. {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  217. {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  218. {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  219. {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  220. {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  221. {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  222. {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  223. {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  224. {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  225. {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  226. {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  227. {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  228. {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  229. {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  230. {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  231. {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  232. {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  233. {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  234. {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  235. {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  236. {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  237. {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  238. {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  239. {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  240. {"LV Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  241. {"LV Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  242. {"LV Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  243. {"LV Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  244. {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  245. {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  246. {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  247. {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  248. {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  249. {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  250. {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  251. {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  252. {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  253. {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  254. {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  255. {"LS International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  256. {"LS International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  257. {"LS International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  258. {"LS International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  259. {"LS International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  260. {"LS International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  261. {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  262. {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  263. {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  264. {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  265. {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  266. {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  267. {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  268. {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  269. {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  270. {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  271. {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  272. {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  273. {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  274. {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  275. {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  276. {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  277. {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  278. {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  279. {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  280. {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  281. {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  282. {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  283. {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  284. {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  285. {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  286. {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  287. {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  288. {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  289. {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  290. {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  291. {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  292. {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  293. {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  294. {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  295. {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  296. {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  297. {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  298. {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  299. {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  300. {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  301. {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  302. {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  303. {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  304. {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  305. {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  306. {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  307. {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  308. {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  309. {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  310. {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  311. {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  312. {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  313. {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  314. {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  315. {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  316. {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  317. {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  318. {"Randolph Industrial", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  319. {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  320. {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  321. {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  322. {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  323. {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  324. {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  325. {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  326. {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  327. {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  328. {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  329. {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  330. {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  331. {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  332. {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  333. {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  334. {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  335. {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  336. {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  337. {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  338. {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  339. {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  340. {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  341. {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  342. {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  343. {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  344. {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  345. {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  346. {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  347. {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  348. {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  349. {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  350. {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  351. {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  352. {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  353. {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  354. {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  355. {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  356. {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  357. {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  358. {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  359. {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  360. {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  361. {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  362. {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  363. {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  364. {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  365. {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  366. {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  367. {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  368. {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  369. {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  370. {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  371. {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  372. {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  373. {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  374. {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  375. {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  376. {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  377. {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  378. {"Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  379. {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  380. {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  381. {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  382. {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  383. {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  384. {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  385. {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  386. {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  387. {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  388. {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  389. {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  390. {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  391. {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  392. {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  393. {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  394. {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  395. {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  396. {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  397. {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  398. {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  399. {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  400. {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  401. {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  402. {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  403. {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  404. {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  405. {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  406. {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  407. {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  408. {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  409. {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  410. {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  411. {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  412. {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  413. {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  414. {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  415. // Citys Zones
  416. {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  417. {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  418. {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  419. {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  420. {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  421. {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  422. {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  423. {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  424. {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  425. };
  426. new CTeleInfo[MAX_CTELES][CreatedTeles];
  427. stock PlayerName2(playerid)
  428. {
  429. new name[MAX_PLAYER_NAME];
  430. GetPlayerName(playerid, name, sizeof(name));
  431. return name;
  432. }
  433. stock pName(playerid)
  434. {
  435. new name[MAX_PLAYER_NAME];
  436. GetPlayerName(playerid, name, sizeof(name));
  437. return name;
  438. }
  439. stock PlayerSoundForAll(SoundID)
  440. {
  441. for(new i = 0; i < MAX_PLAYERS; i++)
  442. PlayerPlaySound(i, SoundID, 0.0, 0.0, 0.0);
  443. }
  444. stock TimeStamp()
  445. {
  446. new time = GetTickCount() / 1000;
  447. return time;
  448. }
  449. stock GetWeaponIDFromName(WeaponName[])
  450. {
  451. if(strfind("molotov",WeaponName,true)!=-1)
  452. return 18;
  453. for(new i = 0; i <= 46; i++)
  454. {
  455. switch(i)
  456. {
  457. case 0,19,20,21,44,45: continue;
  458. default:
  459. {
  460. new name[32]; GetWeaponName(i,name,32);
  461. if(strfind(name,WeaponName,true) != -1)
  462. return i;
  463. }
  464. }
  465. }
  466. return -1;
  467. }
  468. stock IsPlayerLAdmin(playerid)
  469. {
  470. new name[MAX_PLAYER_NAME];
  471. GetPlayerName(playerid, name, sizeof(name));
  472. new file[256], tmp, tmp2;
  473. format(file,256,"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  474. tmp = dini_Int(file,"level");
  475. tmp2 = dini_Int(file,"loggedin");
  476. if( (IsPlayerConnected(playerid)) && (tmp > 0) && (tmp2 == 1))
  477. return true;
  478. else return false;
  479. }
  480. stock IsPlayerAdminLevel(playerid, level)
  481. {
  482. new name[MAX_PLAYER_NAME];
  483. GetPlayerName(playerid, name, sizeof(name));
  484. new file[256], tmp, tmp2;
  485. format(file,256,"/LuxAdmin/Accounts/%s.sav",udb_encode(name));
  486. tmp = dini_Int(file,"level");
  487. tmp2 = dini_Int(file,"loggedin");
  488. printf("tmp = %d, tmp2(logged) = %d, level = %d", tmp, tmp2, level);
  489. if( (IsPlayerConnected(playerid)) && (tmp >= level) && (tmp2 != 0))
  490. return true;
  491. else return false;
  492. }
  493. stock IsValidWeapon(weaponid)
  494. {
  495. if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
  496. return 0;
  497. }
  498. //--------------------------
  499. stock IsForbiddenWeapon(weaponid)
  500. {
  501. if(weaponid)
  502. {
  503. for(new i=0;i<ForbiddenWeaponsCount;i++)
  504. if(ForbiddenWeapons[i]==weaponid)
  505. return true;
  506. }
  507. return false;
  508. }
  509. stock ForbidWeaponForPlayer(playerid,weaponid,forbid)
  510. {
  511. if(IsPlayerConnected(playerid))
  512. {
  513. WeaponForbiddenForPlayer[playerid][weaponid]=forbid;
  514. return 1;
  515. }
  516. return 0;
  517. }
  518. stock ResetForbiddenWeaponsForPlayer(playerid)
  519. {
  520. if(IsPlayerConnected(playerid))
  521. {
  522. for(new i=0;i<MAX_WEAPONS;i++)
  523. ForbidWeaponForPlayer(playerid,i,false);
  524. for(new i=0;i<MAX_FORBIDDEN_WEAPONS;i++)
  525. ForbidWeaponForPlayer(playerid,ForbiddenWeapons[i],true);
  526. return 1;
  527. }
  528. return 0;
  529. }
  530. stock L_NewLine(string[])
  531. {
  532. new len = strlen(string);
  533. if (string[0]==0) return ;
  534. if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
  535. string[len - 1] = 0;
  536. if (string[0]==0) return ;
  537. if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
  538. }
  539. }
  540. //----------------------------------------------------
  541. stock TempBanCheck(playerid)
  542. {
  543. new ip[15];
  544. new str[128];
  545. new load[4][32];
  546. new ban_day, ban_month, ban_year, ban_ip[15];
  547. GetPlayerIp(playerid, ip, sizeof ip);
  548. new year, month, day;
  549. getdate(year, month, day);
  550. new File:file = fopen("LuxAdmin/Config/TempBans.ban",io_read);
  551. if (file)
  552. {
  553. while (fread(file, str, sizeof str))
  554. {
  555. split(str, load, '|');
  556. ban_day = strval(load[0]);
  557. ban_month = strval(load[1]);
  558. ban_year = strval(load[2]);
  559. strmid(ban_ip, load[3], 0, strlen(load[3])-1, 15);
  560. if (!(year >= ban_year && month >= ban_month && day >= ban_day) && !strcmp(ban_ip, ip, true))
  561. {
  562. format(str, sizeof str, "|- You are temporarily banned from this server until: %d/%d/%d -|", ban_day, ban_month, ban_year);
  563. SendClientMessage(playerid, RED, str);
  564. return Kick(playerid);
  565. }
  566. }
  567. }
  568. return true;
  569. }
  570. stock IsMonth31(month)
  571. {
  572. switch (month)
  573. {
  574. case 1: return 1;
  575. case 3: return 1;
  576. case 5: return 1;
  577. case 7: return 1;
  578. case 8: return 1;
  579. case 10: return 1;
  580. case 12: return 1;
  581. default: return 0;
  582. }
  583. return 0;
  584. }
  585. stock IsMonth29(year)
  586. {
  587. new y = 2000;
  588. for(new i = 4; i < 3000; i += 4) if ((y+i) == year) return 1;
  589. return 0;
  590. }
  591. stock strtok2(const string[], &idx)
  592. {
  593. new length = strlen(string);
  594. while ((idx < length) && (string[idx] <= ' '))
  595. {
  596. idx++;
  597. }
  598. new offset = idx;
  599. new result[128];
  600. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  601. {
  602. result[idx - offset] = string[idx];
  603. idx++;
  604. }
  605. result[idx - offset] = EOS;
  606. return result;
  607. }
  608. //----------------------------------------------------
  609. stock ReturnPlayerID(PlayerName[])
  610. {
  611. for(new i = 0; i < MAX_PLAYERS; i++)
  612. {
  613. if(IsPlayerConnected(i))
  614. {
  615. if(strfind(pName(i),PlayerName,true)!=-1)
  616. return i;
  617. }
  618. }
  619. return INVALID_PLAYER_ID;
  620. }
  621. stock CheckFolders()
  622. {
  623. if(!fexist("LuxAdmin/"))
  624. {
  625. print("\n ERROR!");
  626. print(" Folder 'LuxAdmin' not localized!\n");
  627. return 1;
  628. }
  629. if(!fexist("LuxAdmin/Logs/")){
  630. print("\n ERROR!");
  631. print(" Folder 'Logs' not localized!\n");
  632. }
  633. if(!fexist("LuxAdmin/Config/")){
  634. print("\n ERROR!");
  635. print(" Folder 'Config' not localized!\n");
  636. }
  637. if(!fexist("LuxAdmin/Accounts/")){
  638. print("\n ERROR!");
  639. print(" Folder 'Accounts' not localized!\n");
  640. return 1;
  641. }
  642. return 1;
  643. }
  644. stock IsNumeric(string[])
  645. {
  646. for (new i = 0, j = strlen(string);
  647. i < j; i++)
  648. {
  649. if (string[i] > '9' || string[i] < '0')
  650. return 0;
  651. }
  652. return 1;
  653. }
  654. //==============================================================================
  655. // Zone
  656. //==============================================================================
  657. stock GetPlayerInZone(playerid, zone[], len)
  658. {
  659. new Float:x, Float:y, Float:z;
  660. GetPlayerPos(playerid, x, y, z);
  661. for(new i = 0; i != sizeof(SanAndreasZones); i++ ){
  662. if(x >= SanAndreasZones[i][Zone_Area][0] && x <= SanAndreasZones[i][Zone_Area][3] && y >= SanAndreasZones[i][Zone_Area][1] && y <= SanAndreasZones[i][Zone_Area][4]){
  663. return format(zone, len, SanAndreasZones[i][Zone_Name], 0);}
  664. }
  665. return 0;
  666. }
  667. stock GetPlayerInCity(playerid, zone[], len)
  668. {
  669. new Float:x, Float:y, Float:z;
  670. GetPlayerPos(playerid, x, y, z);
  671. for(new i = 0; i != sizeof(SanAndreasCities); i++ ){
  672. if(x >= SanAndreasCities[i][City_Area][0] && x <= SanAndreasCities[i][City_Area][3] && y >= SanAndreasCities[i][City_Area][1] && y <= SanAndreasCities[i][City_Area][4]) {
  673. return format(zone, len, SanAndreasCities[i][City_Name], 0); }
  674. }
  675. return 0;
  676. }
  677. //==============================================================================
  678. stock SendMessageToCMD(playerid)
  679. {
  680. SendClientMessage(playerid,0xFF9900AA, " Created by: LuxurioN");
  681. return 1;
  682. }
  683. //==============================================================================
  684. stock IsValidSkin(SkinID)
  685. {
  686. if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  687. else return false;
  688. }
  689. stock LoadCreatedTeles()
  690. {
  691. if(fexist("LuxAdmin/Config/CreatedTeles.cfg"))
  692. {
  693. new File:TPFile = fopen("LuxAdmin/Config/CreatedTeles.cfg", io_read);
  694. new tpstring[256];
  695. new Field[6][128];
  696. new NbTP = 0;
  697. while(fread(TPFile, tpstring, sizeof(tpstring)))
  698. {
  699. if(NbTP >= MAX_CTELES) break;
  700. if(split(tpstring, Field, ',') == 6)
  701. {
  702. strmid(CTeleInfo[NbTP][TName], Field[0],0,strlen(Field[0]),30);
  703. CTeleInfo[NbTP][PosX] = floatstr(Field[1]);
  704. CTeleInfo[NbTP][PosY] = floatstr(Field[2]);
  705. CTeleInfo[NbTP][PosZ] = floatstr(Field[3]);
  706. CTeleInfo[NbTP][PosA] = floatstr(Field[4]);
  707. CTeleInfo[NbTP][PosInt] = strlen(Field[5]);
  708. CTeleInfo[NbTP][TValid] = 1;
  709. NbTP++;
  710. }
  711. }
  712. fclose(TPFile);
  713. print("\n");
  714. }
  715. else printf("\nERROR: File 'CreatedTeleports' NOT Loaded!\n");
  716. return 1;
  717. }
  718. //==============================================================================
  719. //==============================================================================
  720. //-------- SPLIT Function - Not by Me ---------------
  721. split(const strsrc[], strdest[][], delimiter)
  722. {
  723. new i, li,aNum,len;
  724. while(i <= strlen(strsrc))
  725. {
  726. if(strsrc[i]==delimiter || i==strlen(strsrc))
  727. {
  728. len = strmid(strdest[aNum], strsrc, li, i, 128);
  729. strdest[aNum][len] = 0;
  730. li = i+1;
  731. aNum++;
  732. }
  733. i++;
  734. }
  735. return aNum;
  736. }
  737. stock SplitIP(ip_string[])
  738. {
  739. new ip[4],string[16];
  740. format(string,sizeof(string),ip_string);
  741. for(new i=0;i<strlen(string);i++)
  742. if(string[i]=='.')
  743. string[i]=' ';
  744. new idx,tmp[32];
  745. for(new i=0;i<4;i++)
  746. {
  747. tmp=L_strtok(string,idx);
  748. if(tmp[0]=='*')
  749. ip[i]=-1;
  750. else
  751. ip[i]=strval(tmp);
  752. }
  753. return ip;
  754. }
  755. stock L_strtok(const string[], &index,seperator=' ')
  756. {
  757. new length = strlen(string);
  758. new offset = index;
  759. new result[32];
  760. while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  761. {
  762. result[index - offset] = string[index];
  763. index++;
  764. }
  765. result[index - offset] = EOS;
  766. if ((index < length) && (string[index] == seperator))
  767. {
  768. index++;
  769. }
  770. return result;
  771. }