Advertisement
Guest User

Untitled

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