Guest User

Selfmade i.AIR

a guest
Jan 17th, 2012
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 71.66 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #include <Dudb>
  4. #include <ocmd>
  5.  
  6.  
  7. #define DIALOG_REGISTER (0)
  8. #define DIALOG_LOGIN (1)
  9.  
  10.  
  11.  
  12. #define FARBE_ROT 0xCD0000FF
  13. #define FARBE_DUNKELROT 0xAF0000FF
  14. #define FARBE_WEISS 0xFEFEFEFF
  15. #define FARBE_GRAU 0xB4B4B4FF
  16. #define FARBE_BRAUN 0xD4C0637D
  17. #define FARBE_GELB 0xFFFF00FF
  18. #define FARBE_BLAU 0x007DFFFF
  19. #define FARBE_HELLBLAU 0x00CDFFFF
  20. #define FARBE_DUNKELBLAU 0x002DFFFF
  21. #define FARBE_PINK 0xFF00C3FF
  22. #define FARBE_LILA 0xA000FFFF
  23. #define FARBE_GRÜN 0x11FF00FF
  24. #define FARBE_DUNKELGRÜN 0x119100FF
  25. #define FARBE_ORANGE 0xFF8C00FF
  26.  
  27.  
  28. enum SpielerDaten
  29. {
  30. pLevel,
  31. pGeld,
  32. pAdmin,
  33. pLeader,
  34. pMember,
  35. pFraktion,
  36. pStadt,
  37. pKills,
  38. pTode,
  39. }
  40.  
  41. enum Fraktionskassen
  42. {
  43. LSAirForce,
  44. LSRangers,
  45. LSTerroristen,
  46. LVAirForce,
  47. LVRangers,
  48. LVTerroristen,
  49. Sanitaeter
  50. }
  51.  
  52. enum Stadt
  53. {
  54. LS,
  55. LV
  56. }
  57.  
  58.  
  59. new FKassa[Fraktionskassen];
  60. new SpielerInfo[MAX_PLAYERS][SpielerDaten];
  61. new PunkteScore[Stadt];
  62. new Text:PointScoreTextdraw;
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. main()
  70. {
  71. print("\n----------------------------------");
  72. print(" Selfmade by iAIR");
  73. print("----------------------------------\n");
  74. }
  75.  
  76. public OnGameModeInit()
  77. {
  78. DisableInteriorEnterExits();
  79. UsePlayerPedAnims();
  80. EnableStuntBonusForAll(0);
  81. AllowInteriorWeapons(1);
  82.  
  83.  
  84. // Map
  85. CreateObject(4100, 2055, -2193.6999511719, 14.199999809265, 0, 0, 49.998779296875);
  86. CreateObject(6877, 1995.0999755859, -2247.5, 12.800000190735, 0, 0, 270);
  87. CreateObject(1238, 1985.4000244141, -2188, 12.89999961853, 0, 0, 0);
  88. CreateObject(1238, 1985.4000244141, -2191.6999511719, 13.10000038147, 0, 0, 0);
  89. CreateObject(1238, 1985.5, -2193.6000976563, 13.300000190735, 0, 0, 0);
  90. CreateObject(1238, 1985.5, -2195.6000976563, 13.39999961853, 0, 0, 0);
  91. CreateObject(1238, 1985.5, -2197.6999511719, 13.60000038147, 0, 0, 0);
  92. CreateObject(1238, 1985.5, -2199.8000488281, 13.699999809265, 0, 0, 0);
  93. CreateObject(1238, 1985.5, -2202.1000976563, 13.89999961853, 0, 0, 0);
  94. CreateObject(1238, 1985.5, -2204.1999511719, 14, 0, 0, 0);
  95. CreateObject(1238, 1985.5999755859, -2205.6999511719, 14.10000038147, 0, 0, 0);
  96. CreateObject(1238, 1985.5, -2207.3000488281, 14.300000190735, 0, 0, 0);
  97. CreateObject(1238, 1985.4000244141, -2189.8000488281, 13, 0, 0, 0);
  98. CreateObject(1238, 2004.8000488281, -2187.8999023438, 12.89999961853, 0, 0, 0);
  99. CreateObject(1238, 2004.8000488281, -2206.8999023438, 14.199999809265, 0, 0, 0);
  100. CreateObject(1238, 2004.8000488281, -2205.5, 14.10000038147, 0, 0, 0);
  101. CreateObject(1238, 2004.8000488281, -2204, 14, 0, 0, 0);
  102. CreateObject(1238, 2004.8000488281, -2202.5, 13.89999961853, 0, 0, 0);
  103. CreateObject(1238, 2004.8000488281, -2201, 13.800000190735, 0, 0, 0);
  104. CreateObject(1238, 2004.8000488281, -2199.3999023438, 13.699999809265, 0, 0, 0);
  105. CreateObject(1238, 2004.6999511719, -2197.8999023438, 13.60000038147, 0, 0, 0);
  106. CreateObject(1238, 2004.6999511719, -2196.3999023438, 13.5, 0, 0, 0);
  107. CreateObject(1238, 2004.6999511719, -2194.8000488281, 13.39999961853, 0, 0, 0);
  108. CreateObject(1238, 2004.6999511719, -2193.1000976563, 13.300000190735, 0, 0, 0);
  109. CreateObject(1238, 2004.6999511719, -2191.3000488281, 13.10000038147, 0, 0, 0);
  110. CreateObject(1238, 2004.6999511719, -2189.5, 13, 0, 0, 0);
  111. CreateObject(3749, 1961.7998046875, -2190, 18.39999961853, 0, 0, 0);
  112. CreateObject(1215, 1985.4000244141, -2287.8999023438, 14.5, 0, 0, 0);
  113. CreateObject(1215, 1985.1999511719, -2291.1999511719, 14.300000190735, 0, 0, 0);
  114. CreateObject(1215, 1985.1999511719, -2294.3999023438, 14, 0, 0, 0);
  115. CreateObject(1215, 2004.9000244141, -2288.3999023438, 14.5, 0, 0, 0);
  116. CreateObject(1215, 1985.1999511719, -2297.6999511719, 13.800000190735, 0, 0, 0);
  117. CreateObject(1215, 1985.1999511719, -2307.3000488281, 13.10000038147, 0, 0, 0);
  118. CreateObject(1215, 1985.1999511719, -2304.3000488281, 13.300000190735, 0, 0, 0);
  119. CreateObject(1215, 1985.1999511719, -2300.6999511719, 13.60000038147, 0, 0, 0);
  120. CreateObject(1215, 2004.9000244141, -2290.8999023438, 14.300000190735, 0, 0, 0);
  121. CreateObject(13758, 2029.5999755859, -2204, 30.5, 0, 0, 0);
  122. CreateObject(3928, 1851.06640625, -2388.056640625, 12.385338783264, 0, 0, 0);
  123. CreateObject(3928, 1881.783203125, -2374.275390625, 12.385338783264, 0, 0, 0);
  124. CreateObject(3934, 1998.478515625, -2444.044921875, 12.363854408264, 0, 0, 0);
  125. CreateObject(3816, 1947.0999755859, -2273.3999023438, 21.10000038147, 0, 0, 0);
  126. CreateObject(3881, 1987.3000488281, -2311.8000488281, 14.39999961853, 0, 0, 0);
  127. CreateObject(8251, 1875, -2463.5, 16.5, 0, 0, 0);
  128. CreateObject(8251, 1875, -2438.1000976563, 16.5, 0, 0, 0);
  129. CreateObject(8251, 1875.0999755859, -2412.8000488281, 16.5, 0, 0, 0);
  130. CreateObject(8251, 1875.1999511719, -2377.3999023438, 16.5, 0, 0, 0);
  131. CreateObject(2792, 1888.4000244141, -2463.8000488281, 19.5, 0, 0, 270);
  132. CreateObject(2793, 1888.4000244141, -2438.3000488281, 19.5, 0, 0, 270);
  133. CreateObject(2794, 1888.5, -2413, 19.39999961853, 0, 0, 270);
  134. CreateObject(2795, 1888.5999755859, -2377.6000976563, 19.10000038147, 0, 0, 270);
  135. CreateObject(5476, 2023.5999755859, -2383.1000976563, 20.39999961853, 0, 0, 270);
  136. CreateObject(1215, 1985.4000244141, -2188.8999023438, 13.199999809265, 0, 0, 0);
  137. CreateObject(1215, 1985.5, -2200.8000488281, 14, 0, 0, 0);
  138. CreateObject(1215, 2005, -2188.6000976563, 13.199999809265, 0, 0, 0);
  139. CreateObject(1215, 2004.8000488281, -2200.3000488281, 14, 0, 0, 0);
  140. CreateObject(1215, 1989.9000244141, -2315.1999511719, 13.10000038147, 0, 0, 0);
  141. CreateObject(4100, 2004.5, -2431.1999511719, 14.199999809265, 0, 0, 49.998779296875);
  142. CreateObject(4100, 2004.5, -2444.8999023438, 14.199999809265, 0, 0, 49.998779296875);
  143. CreateObject(4100, 2004.5, -2458.6000976563, 14.199999809265, 0, 0, 49.998779296875);
  144. CreateObject(4100, 2004.5, -2467.8000488281, 14.199999809265, 0, 0, 49.998779296875);
  145. CreateObject(4100, 2011.0999755859, -2474.8999023438, 14.199999809265, 0, 0, 139.99877929688);
  146. CreateObject(4100, 2024.8000488281, -2475, 14.199999809265, 0, 0, 139.99877929688);
  147. CreateObject(4100, 2038.4000244141, -2474.8999023438, 14.199999809265, 0, 0, 139.99877929688);
  148. CreateObject(4100, 2052.1000976563, -2474.8999023438, 14.199999809265, 0, 0, 139.99877929688);
  149. CreateObject(4100, 2065.8000488281, -2475, 14.199999809265, 0, 0, 139.99877929688);
  150. CreateObject(4100, 2079.5, -2475, 14.199999809265, 0, 0, 139.99877929688);
  151. CreateObject(4100, 2093.1999511719, -2475.1000976563, 14.199999809265, 0, 0, 139.99877929688);
  152. CreateObject(4100, 2106.8000488281, -2475.1999511719, 14.199999809265, 0, 0, 139.99877929688);
  153. CreateObject(4100, 2120.6000976563, -2475.3000488281, 14.199999809265, 0, 0, 139.99877929688);
  154. CreateObject(4100, 2134.3000488281, -2475.3999023438, 14.199999809265, 0, 0, 139.99877929688);
  155. CreateObject(4100, 2141.8999023438, -2475.3999023438, 14.199999809265, 0, 0, 139.99877929688);
  156. CreateObject(10808, 2882.6000976563, 1578.5, 12.89999961853, 0, 0, 272);
  157. CreateObject(10808, 2808.3999023438, 1785.6999511719, 12.89999961853, 0, 0, 206);
  158. CreateObject(10808, 2918, 1817.4000244141, 11.5, 0, 0, 78);
  159. CreateObject(3749, 2835, 1878.6999511719, 15.699999809265, 0, 0, 2);
  160. CreateObject(10402, 2930.1999511719, 1813.3000488281, 8.5, 0, 0, 322.75);
  161. CreateObject(1215, 2826.8999023438, 1886.0999755859, 10.39999961853, 0, 0, 0);
  162. CreateObject(1215, 2826.8999023438, 1909.5999755859, 10.39999961853, 0, 0, 0);
  163. CreateObject(1215, 2827.1999511719, 1924.5999755859, 10.39999961853, 0, 0, 0);
  164. CreateObject(1215, 2825.8000488281, 1938.6999511719, 10.39999961853, 0, 0, 0);
  165. CreateObject(1215, 2824.6000976563, 1954.4000244141, 10.39999961853, 0, 0, 0);
  166. CreateObject(1215, 2842.6999511719, 1886.5999755859, 10.39999961853, 0, 0, 0);
  167. CreateObject(1215, 2842.1999511719, 1907.5, 10.39999961853, 0, 0, 0);
  168. CreateObject(1215, 2846, 1923.4000244141, 10.39999961853, 0, 0, 0);
  169. CreateObject(1215, 2845.8000488281, 1936.8000488281, 10.39999961853, 0, 0, 0);
  170. CreateObject(1215, 2845.8999023438, 1953, 10.39999961853, 0, 0, 0);
  171. CreateObject(1215, 2845.1000976563, 1967.5999755859, 10.39999961853, 0, 0, 0);
  172. CreateObject(1215, 2823.3000488281, 1763.0999755859, 10.39999961853, 0, 0, 0);
  173. CreateObject(9241, 2821.3999023438, 1774.5999755859, 11.300000190735, 0, 0, 0);
  174. CreateObject(9241, 2821.6000976563, 1803.1999511719, 11.300000190735, 0, 0, 179.99987792969);
  175. CreateObject(987, 1157.5, -1847.0999755859, 12.60000038147, 0, 0, 0);
  176. CreateObject(987, 1169.4000244141, -1847.0999755859, 12.39999961853, 0, 0, 88);
  177. CreateObject(987, 1145.5999755859, -1847.0999755859, 12.5, 0, 0, 0);
  178. CreateObject(987, 1133.5, -1847.1999511719, 12.60000038147, 0, 0, 0);
  179. CreateObject(987, 1121.5999755859, -1847.1999511719, 12.60000038147, 0, 0, 0);
  180. CreateObject(987, 1109.6999511719, -1847.1999511719, 12.60000038147, 0, 0, 0);
  181. CreateObject(987, 1097.8000488281, -1847.1999511719, 12.60000038147, 0, 0, 0);
  182. CreateObject(987, 1085.9000244141, -1847.0999755859, 12.5, 0, 0, 0);
  183. CreateObject(987, 1073.9000244141, -1847.0999755859, 12.5, 0, 0, 0);
  184. CreateObject(987, 1066.1999511719, -1838, 12.60000038147, 0, 0, 310);
  185. CreateObject(987, 1060.4000244141, -1827.5, 12.699999809265, 0, 0, 298.74572753906);
  186. CreateObject(987, 1054.6999511719, -1817, 12.699999809265, 0, 0, 298.740234375);
  187. CreateObject(987, 1048.9000244141, -1806.5, 12.800000190735, 0, 0, 298.740234375);
  188. CreateObject(987, 1043, -1796, 12.89999961853, 0, 0, 298.740234375);
  189. CreateObject(987, 1043.0999755859, -1784.0999755859, 12.699999809265, 0, 0, 270.740234375);
  190. CreateObject(987, 1042.5, -1772.0999755859, 12.5, 0, 0, 272.73608398438);
  191. CreateObject(987, 1042.4000244141, -1760.1999511719, 12.39999961853, 0, 0, 270.73559570313);
  192. CreateObject(987, 1042.1999511719, -1748.3000488281, 12.39999961853, 0, 0, 270.73059082031);
  193. CreateObject(987, 1042.5, -1736.4000244141, 12.39999961853, 0, 0, 268.73059082031);
  194. CreateObject(987, 1042.6999511719, -1724.4000244141, 12.5, 0, 0, 268.7255859375);
  195. CreateObject(987, 1052.9000244141, -1718.3000488281, 12.5, 0, 0, 210.7255859375);
  196. CreateObject(987, 1064.8000488281, -1717.8000488281, 12.5, 0, 0, 182.72326660156);
  197. CreateObject(987, 1076.8000488281, -1718, 12.5, 0, 0, 178.71911621094);
  198. CreateObject(987, 1088.9000244141, -1718.0999755859, 12.5, 0, 0, 178.71459960938);
  199. CreateObject(987, 1100.9000244141, -1718.3000488281, 12.5, 0, 0, 178.71459960938);
  200. CreateObject(987, 1112.9000244141, -1718.4000244141, 12.5, 0, 0, 178.71459960938);
  201. CreateObject(987, 1124.8000488281, -1717.8000488281, 12.5, 0, 0, 182.71459960938);
  202. CreateObject(987, 1136.8000488281, -1717.5, 12.800000190735, 0, 0, 180.71362304688);
  203. CreateObject(987, 1148.6999511719, -1717.1999511719, 13, 0, 0, 180.70861816406);
  204. CreateObject(987, 1160.5999755859, -1717.1999511719, 12.89999961853, 0, 0, 180.70861816406);
  205. CreateObject(987, 1169.9000244141, -1717.3000488281, 12.699999809265, 0, 0, 180.70861816406);
  206. CreateObject(987, 1169.5999755859, -1729.0999755859, 12.800000190735, 0, 0, 88.708618164063);
  207. CreateObject(987, 1169.5999755859, -1760.4000244141, 12.60000038147, 0, 0, 88.70361328125);
  208. CreateObject(3749, 1168.0999755859, -1738.6999511719, 17.799999237061, 0, 0, 90);
  209. CreateObject(987, 1169.5, -1772.1999511719, 12.60000038147, 0, 0, 88.70361328125);
  210. CreateObject(987, 1169.6999511719, -1784.0999755859, 12.60000038147, 0, 0, 90.70361328125);
  211. CreateObject(987, 1169.8000488281, -1795.9000244141, 12.60000038147, 0, 0, 90.703125);
  212. CreateObject(987, 1169.8000488281, -1807.4000244141, 12.60000038147, 0, 0, 90.703125);
  213. CreateObject(987, 1169.8000488281, -1819.1999511719, 12.60000038147, 0, 0, 90.703125);
  214. CreateObject(987, 1169.8000488281, -1830.9000244141, 12.60000038147, 0, 0, 90.703125);
  215. CreateObject(987, 1169.9000244141, -1840.0999755859, 12.60000038147, 0, 0, 90.703125);
  216. CreateObject(1215, 1170, -1733.0999755859, 13.10000038147, 0, 0, 0);
  217. CreateObject(1215, 1170.1999511719, -1744.1999511719, 13, 0, 0, 0);
  218. CreateObject(1215, 1108.6999511719, -1752.0999755859, 13.5, 0, 0, 0);
  219. CreateObject(1215, 1098.1999511719, -1727.1999511719, 13.60000038147, 0, 0, 0);
  220. CreateObject(1215, 1055.4000244141, -1727.1999511719, 13.300000190735, 0, 0, 0);
  221. CreateObject(1215, 1050, -1757.4000244141, 13.199999809265, 0, 0, 0);
  222. CreateObject(1215, 1073.9000244141, -1797.5999755859, 13.60000038147, 0, 0, 0);
  223. CreateObject(1215, 1074, -1826.8000488281, 13.60000038147, 0, 0, 0);
  224. CreateObject(1215, 1143.9000244141, -1842.1999511719, 13.10000038147, 0, 0, 0);
  225. CreateObject(1215, 1169.5, -1807.8000488281, 13.10000038147, 0, 0, 0);
  226. CreateObject(1215, 1169.5, -1790.5, 13.10000038147, 0, 0, 0);
  227. CreateObject(3284, 2899.1999511719, 1663.9000244141, 11.800000190735, 0, 0, 4);
  228. CreateObject(11543, 2912.3000488281, 1698.4000244141, 17.10000038147, 0, 0, 266);
  229. CreateObject(1215, 2004, -2475.6000976563, 13.10000038147, 0, 0, 0);
  230. CreateObject(1215, 2004.0999755859, -2457.3999023438, 13.10000038147, 0, 0, 0);
  231. CreateObject(1215, 2004.5, -2438.3000488281, 13.10000038147, 0, 0, 0);
  232. CreateObject(1215, 1888.8000488281, -2476, 13.10000038147, 0, 0, 0);
  233. CreateObject(1215, 1861.4000244141, -2475.8999023438, 13.10000038147, 0, 0, 0);
  234. CreateObject(3666, 2825.1000976563, 1947.4000244141, 10.300000190735, 0, 0, 0);
  235. CreateObject(3666, 2845.8999023438, 1962.1999511719, 10.300000190735, 0, 0, 0);
  236. CreateObject(3666, 2846.1000976563, 1945.4000244141, 10.300000190735, 0, 0, 0);
  237. CreateObject(3666, 2826.8999023438, 1929.5999755859, 10.300000190735, 0, 0, 0);
  238. CreateObject(3666, 2846, 1929.3000488281, 10.300000190735, 0, 0, 0);
  239. CreateObject(3666, 2843.8999023438, 1914.4000244141, 10.300000190735, 0, 0, 0);
  240. CreateObject(3666, 2826.8000488281, 1916.3000488281, 10.300000190735, 0, 0, 0);
  241. CreateObject(3666, 2841, 1895.3000488281, 10.300000190735, 0, 0, 0);
  242. CreateObject(3666, 2826.5, 1895.9000244141, 10.300000190735, 0, 0, 0);
  243. CreateObject(987, 2451.6000976563, -2505.3999023438, 12.60000038147, 0, 0, 232);
  244. CreateObject(987, 2457.1999511719, -2498.3000488281, 12.60000038147, 0, 0, 231.99829101563);
  245. CreateObject(987, 2462.8999023438, -2491.1000976563, 12.800000190735, 0, 0, 231.99829101563);
  246. CreateObject(987, 2501.5, -2419.5, 12.60000038147, 0, 0, 225.99829101563);
  247. CreateObject(987, 2505.8999023438, -2414.8999023438, 12.60000038147, 0, 0, 225.99426269531);
  248. CreateObject(987, 2562.3999023438, -2458.8000488281, 12.60000038147, 0, 0, 87.991729736328);
  249. CreateObject(987, 2641.1000976563, -2447.3999023438, 12.60000038147, 0, 0, 268);
  250. CreateObject(987, 2641.1999511719, -2443.3000488281, 12.60000038147, 0, 0, 267.99499511719);
  251. CreateObject(987, 2624.1000976563, -2443.1999511719, 12.800000190735, 0, 0, 359.99499511719);
  252. CreateObject(987, 2616, -2374.1999511719, 12.60000038147, 0, 0, 271.99450683594);
  253. CreateObject(3749, 2619.8000488281, -2404.8999023438, 18.39999961853, 0, 0, 270);
  254. CreateObject(987, 2616.3999023438, -2386.1000976563, 12.60000038147, 0, 0, 279.99401855469);
  255. CreateObject(3749, 2268.6999511719, -2663.5, 18.299999237061, 0, 0, 90);
  256. CreateObject(987, 2266.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 0);
  257. CreateObject(987, 2278.6000976563, -2653.3000488281, 12.699999809265, 0, 0, 180);
  258. CreateObject(987, 2290.6000976563, -2653.3000488281, 12.699999809265, 0, 0, 179.99450683594);
  259. CreateObject(987, 2302.5, -2653.3000488281, 12.60000038147, 0, 0, 179.99450683594);
  260. CreateObject(987, 2314.5, -2653.3000488281, 12.60000038147, 0, 0, 179.99450683594);
  261. CreateObject(987, 2326.5, -2653.3000488281, 12.60000038147, 0, 0, 179.99450683594);
  262. CreateObject(987, 2338.5, -2653.3000488281, 12.60000038147, 0, 0, 179.99450683594);
  263. CreateObject(987, 2350.3999023438, -2653.3000488281, 12.60000038147, 0, 0, 179.99450683594);
  264. CreateObject(987, 2362.3999023438, -2653.3000488281, 12.60000038147, 0, 0, 179.99450683594);
  265. CreateObject(987, 2374.3999023438, -2653.1999511719, 12.60000038147, 0, 0, 179.99450683594);
  266. CreateObject(987, 2383.8999023438, -2653.1999511719, 12.699999809265, 0, 0, 179.99450683594);
  267. CreateObject(987, 2278.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.99450683594);
  268. CreateObject(987, 2290.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  269. CreateObject(987, 2302.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  270. CreateObject(987, 2314.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  271. CreateObject(987, 2326.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  272. CreateObject(987, 2338.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  273. CreateObject(987, 2350.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  274. CreateObject(987, 2362.8000488281, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  275. CreateObject(987, 2372.1999511719, -2673.3000488281, 12.699999809265, 0, 0, 359.98901367188);
  276. CreateObject(987, 2640.6999511719, -2458.8000488281, 12.60000038147, 0, 0, 357.98901367188);
  277. CreateObject(987, 2652.6000976563, -2459.1000976563, 12.60000038147, 0, 0, 357.98400878906);
  278. CreateObject(987, 2654.8000488281, -2459.1000976563, 12.60000038147, 0, 0, 357.98400878906);
  279. CreateObject(987, 2666.3000488281, -2459.6000976563, 12.60000038147, 0, 0, 270);
  280. CreateObject(987, 2666.3000488281, -2471.5, 12.60000038147, 0, 0, 270);
  281. CreateObject(987, 2666.3000488281, -2482.3999023438, 12.60000038147, 0, 0, 270);
  282. CreateObject(987, 2666, -2494.3000488281, 12.699999809265, 0, 0, 180);
  283. CreateObject(987, 2654, -2494.3000488281, 12.699999809265, 0, 0, 179.99450683594);
  284. CreateObject(987, 2642.1000976563, -2494.3999023438, 12.699999809265, 0, 0, 179.99450683594);
  285. CreateObject(987, 2630.1000976563, -2494.5, 12.699999809265, 0, 0, 179.99450683594);
  286. CreateObject(987, 2618.1999511719, -2494.6000976563, 12.699999809265, 0, 0, 179.99450683594);
  287. CreateObject(987, 2606.1999511719, -2494.3999023438, 12.699999809265, 0, 0, 179.99450683594);
  288. CreateObject(987, 2594.3000488281, -2494.3000488281, 12.699999809265, 0, 0, 179.99450683594);
  289. CreateObject(987, 2582.3000488281, -2494.3000488281, 12.699999809265, 0, 0, 179.99450683594);
  290. CreateObject(987, 2574.3999023438, -2494.1999511719, 12.699999809265, 0, 0, 179.99450683594);
  291. CreateObject(987, 2562.5, -2494.3000488281, 12.699999809265, 0, 0, 89.994506835938);
  292. CreateObject(987, 2562.3000488281, -2482.3999023438, 12.60000038147, 0, 0, 89.994506835938);
  293. CreateObject(987, 2562.3999023438, -2470.6999511719, 12.60000038147, 0, 0, 89.994506835938);
  294. CreateObject(987, 2616.1000976563, -2340.5, 12.60000038147, 0, 0, 270);
  295. CreateObject(987, 2616.1000976563, -2330.3999023438, 12.60000038147, 0, 0, 270);
  296. CreateObject(987, 2627.8999023438, -2330.6000976563, 12.60000038147, 0, 0, 180);
  297. CreateObject(987, 2639.8000488281, -2330.6000976563, 12.60000038147, 0, 0, 179.99450683594);
  298. CreateObject(987, 2651.6999511719, -2330.6999511719, 12.60000038147, 0, 0, 179.99450683594);
  299. CreateObject(987, 2663.6000976563, -2330.6999511719, 12.60000038147, 0, 0, 179.99450683594);
  300. CreateObject(987, 2680.8000488281, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  301. CreateObject(987, 2673.1000976563, -2330.6000976563, 12.60000038147, 0, 0, 179.99450683594);
  302. CreateObject(987, 2692.8000488281, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  303. CreateObject(987, 2704.8000488281, -2330.3999023438, 12.60000038147, 0, 0, 179.99450683594);
  304. CreateObject(987, 2716.6999511719, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  305. CreateObject(987, 2733.5, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  306. CreateObject(987, 2726.6000976563, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  307. CreateObject(987, 2745.5, -2330.3999023438, 12.60000038147, 0, 0, 179.99450683594);
  308. CreateObject(987, 2757.1000976563, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  309. CreateObject(987, 2768.3999023438, -2330.3999023438, 12.60000038147, 0, 0, 179.99450683594);
  310. CreateObject(987, 2780.3000488281, -2330.3999023438, 12.60000038147, 0, 0, 179.99450683594);
  311. CreateObject(987, 2792.1999511719, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  312. CreateObject(987, 2804.1000976563, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  313. CreateObject(987, 2810.8999023438, -2330.5, 12.60000038147, 0, 0, 179.99450683594);
  314. CreateObject(987, 2810.6000976563, -2342.3999023438, 12.60000038147, 0, 0, 89.994506835938);
  315. CreateObject(987, 2810.6000976563, -2354.3000488281, 12.60000038147, 0, 0, 89.994506835938);
  316. CreateObject(987, 2810.6000976563, -2366.1999511719, 12.60000038147, 0, 0, 89.994506835938);
  317. CreateObject(987, 2810.6000976563, -2378.1999511719, 12.60000038147, 0, 0, 89.994506835938);
  318. CreateObject(987, 2810.6999511719, -2390.1999511719, 12.60000038147, 0, 0, 89.994506835938);
  319. CreateObject(987, 2810.6999511719, -2402.1999511719, 12.60000038147, 0, 0, 89.994506835938);
  320. CreateObject(987, 2810.6999511719, -2414.1000976563, 12.60000038147, 0, 0, 89.994506835938);
  321. CreateObject(987, 2810.6999511719, -2426.1000976563, 12.60000038147, 0, 0, 89.994506835938);
  322. CreateObject(987, 2810.6000976563, -2438, 12.60000038147, 0, 0, 89.994506835938);
  323. CreateObject(987, 2810.6000976563, -2449.8999023438, 12.60000038147, 0, 0, 89.994506835938);
  324. CreateObject(987, 2810.6000976563, -2461.8000488281, 12.60000038147, 0, 0, 89.994506835938);
  325. CreateObject(987, 2810.6000976563, -2473.6999511719, 12.60000038147, 0, 0, 89.994506835938);
  326. CreateObject(987, 2810.6000976563, -2485.6000976563, 12.60000038147, 0, 0, 89.994506835938);
  327. CreateObject(987, 2810.5, -2497.5, 12.60000038147, 0, 0, 89.994506835938);
  328. CreateObject(987, 2810.5, -2509.3999023438, 12.60000038147, 0, 0, 89.994506835938);
  329. CreateObject(987, 2810.6000976563, -2521.3999023438, 12.60000038147, 0, 0, 89.994506835938);
  330. CreateObject(987, 2810.6000976563, -2533.3000488281, 12.60000038147, 0, 0, 89.994506835938);
  331. CreateObject(987, 2810.6999511719, -2545.3999023438, 12.60000038147, 0, 0, 89.994506835938);
  332. CreateObject(987, 2810.8000488281, -2557.3999023438, 12.60000038147, 0, 0, 89.994506835938);
  333. CreateObject(987, 2810.6999511719, -2565.8000488281, 12.60000038147, 0, 0, 89.994506835938);
  334. CreateObject(987, 2798.8999023438, -2565.3999023438, 12.60000038147, 0, 0, 357.99450683594);
  335. CreateObject(987, 2786.8999023438, -2565.1000976563, 12.60000038147, 0, 0, 357.98950195313);
  336. CreateObject(987, 2776.3999023438, -2565.1999511719, 12.60000038147, 0, 0, 359.98950195313);
  337. CreateObject(987, 2764.6000976563, -2565, 12.60000038147, 0, 0, 359.98901367188);
  338. CreateObject(987, 2752.6000976563, -2565, 12.60000038147, 0, 0, 359.98901367188);
  339. CreateObject(987, 2740.6000976563, -2565, 12.60000038147, 0, 0, 359.98901367188);
  340. CreateObject(987, 2728.6000976563, -2565, 12.60000038147, 0, 0, 359.98901367188);
  341. CreateObject(987, 2716.6999511719, -2564.8999023438, 12.60000038147, 0, 0, 359.98901367188);
  342. CreateObject(987, 2704.6999511719, -2565, 12.60000038147, 0, 0, 359.98901367188);
  343. CreateObject(987, 2692.6999511719, -2565, 12.60000038147, 0, 0, 359.98901367188);
  344. CreateObject(987, 2680.6999511719, -2565, 12.60000038147, 0, 0, 359.98901367188);
  345. CreateObject(987, 2668.6999511719, -2565, 12.60000038147, 0, 0, 359.98901367188);
  346. CreateObject(987, 2666.3000488281, -2565, 12.60000038147, 0, 0, 359.98901367188);
  347. CreateObject(987, 2666.3999023438, -2553.1999511719, 12.60000038147, 0, 0, 269.98901367188);
  348. CreateObject(987, 2666.5, -2541.3000488281, 12.60000038147, 0, 0, 269.98901367188);
  349. CreateObject(987, 2666.3999023438, -2529.3000488281, 12.60000038147, 0, 0, 269.98901367188);
  350. CreateObject(987, 2666.5, -2517.3999023438, 12.60000038147, 0, 0, 269.98901367188);
  351. CreateObject(987, 2666.5, -2514.1999511719, 12.60000038147, 0, 0, 269.98901367188);
  352. CreateObject(987, 2654.6000976563, -2514, 12.39999961853, 0, 0, 359.98901367188);
  353. CreateObject(987, 2642.6999511719, -2514, 12.300000190735, 0, 0, 359.98352050781);
  354. CreateObject(987, 2630.8000488281, -2514, 12.300000190735, 0, 0, 359.98352050781);
  355. CreateObject(987, 2618.8000488281, -2514, 12.300000190735, 0, 0, 359.98352050781);
  356. CreateObject(987, 2606.8000488281, -2514, 12.300000190735, 0, 0, 359.98352050781);
  357. CreateObject(987, 2594.8000488281, -2514, 12.300000190735, 0, 0, 359.98352050781);
  358. CreateObject(987, 2582.8000488281, -2514, 12.300000190735, 0, 0, 359.98352050781);
  359. CreateObject(987, 2570.8999023438, -2514, 12.300000190735, 0, 0, 359.98352050781);
  360. CreateObject(987, 2562.1000976563, -2514, 12.300000190735, 0, 0, 359.98352050781);
  361. CreateObject(987, 2562, -2525.8000488281, 12.199999809265, 0, 0, 89.983520507813);
  362. CreateObject(987, 2562.1000976563, -2537.8000488281, 12.300000190735, 0, 0, 89.983520507813);
  363. CreateObject(987, 2562.1999511719, -2549.8000488281, 12.39999961853, 0, 0, 89.983520507813);
  364. CreateObject(987, 2562.3999023438, -2561.6999511719, 12.60000038147, 0, 0, 89.983520507813);
  365. CreateObject(987, 2562.3000488281, -2568.6999511719, 12.60000038147, 0, 0, 89.983520507813);
  366. CreateObject(987, 2550.3999023438, -2568.6999511719, 12.60000038147, 0, 0, 359.98352050781);
  367. CreateObject(987, 2538.6999511719, -2568.6999511719, 12.60000038147, 0, 0, 359.97802734375);
  368. CreateObject(987, 2526.6999511719, -2568.6999511719, 12.60000038147, 0, 0, 359.97802734375);
  369. CreateObject(987, 2526.5, -2580.6999511719, 12.60000038147, 0, 0, 89.97802734375);
  370. CreateObject(987, 2526.3000488281, -2592.6000976563, 12.60000038147, 0, 0, 89.97802734375);
  371. CreateObject(987, 2526.3000488281, -2604.5, 12.60000038147, 0, 0, 89.97802734375);
  372. CreateObject(987, 2526.1999511719, -2616.3999023438, 12.60000038147, 0, 0, 89.97802734375);
  373. CreateObject(987, 2526.1999511719, -2628.3999023438, 12.60000038147, 0, 0, 89.97802734375);
  374. CreateObject(987, 2526.1999511719, -2640.3999023438, 12.60000038147, 0, 0, 89.97802734375);
  375. CreateObject(987, 2526.1999511719, -2652.3000488281, 12.60000038147, 0, 0, 89.97802734375);
  376. CreateObject(987, 2526.1000976563, -2664.1999511719, 12.60000038147, 0, 0, 89.97802734375);
  377. CreateObject(987, 2526.1000976563, -2676.1000976563, 12.60000038147, 0, 0, 89.97802734375);
  378. CreateObject(987, 2526, -2688, 12.60000038147, 0, 0, 89.97802734375);
  379. CreateObject(987, 2526.1000976563, -2697, 12.60000038147, 0, 0, 89.97802734375);
  380. CreateObject(987, 2514.3000488281, -2696.8999023438, 12.60000038147, 0, 0, 359.97802734375);
  381. CreateObject(987, 2502.3999023438, -2696.8000488281, 12.60000038147, 0, 0, 359.97802734375);
  382. CreateObject(987, 2490.5, -2696.6999511719, 12.60000038147, 0, 0, 359.97802734375);
  383. CreateObject(987, 2478.6000976563, -2696.6000976563, 12.60000038147, 0, 0, 359.97802734375);
  384. CreateObject(987, 2466.8000488281, -2696.5, 12.60000038147, 0, 0, 359.97802734375);
  385. CreateObject(987, 2454.8000488281, -2696.5, 12.60000038147, 0, 0, 359.97802734375);
  386. CreateObject(987, 2442.8999023438, -2696.3999023438, 12.60000038147, 0, 0, 359.97802734375);
  387. CreateObject(987, 2430.8999023438, -2696.3999023438, 12.60000038147, 0, 0, 359.97802734375);
  388. CreateObject(987, 2419, -2696.3000488281, 12.60000038147, 0, 0, 359.97802734375);
  389. CreateObject(987, 2407, -2696.3000488281, 12.60000038147, 0, 0, 359.97802734375);
  390. CreateObject(987, 2395, -2696.3000488281, 12.60000038147, 0, 0, 359.97802734375);
  391. CreateObject(987, 2383, -2696.3000488281, 12.60000038147, 0, 0, 359.97802734375);
  392. CreateObject(987, 2373.8999023438, -2696.5, 12.60000038147, 0, 0, 359.97802734375);
  393. CreateObject(987, 2374.1000976563, -2684.8000488281, 12.60000038147, 0, 0, 269.97802734375);
  394. CreateObject(987, 2373.8999023438, -2673.3000488281, 12.89999961853, 0, 0, 269.97802734375);
  395. CreateObject(987, 2374, -2641.1000976563, 12.60000038147, 0, 0, 269.97802734375);
  396. CreateObject(987, 2374.1999511719, -2629.3000488281, 12.60000038147, 0, 0, 269.97802734375);
  397. CreateObject(987, 2374.3000488281, -2617.3000488281, 12.60000038147, 0, 0, 269.97802734375);
  398. CreateObject(987, 2374.1999511719, -2605.3000488281, 12.60000038147, 0, 0, 269.97802734375);
  399. CreateObject(987, 2374.3000488281, -2604.1999511719, 12.60000038147, 0, 0, 269.97802734375);
  400. CreateObject(987, 2374.3999023438, -2592.3000488281, 12.60000038147, 0, 0, 269.97802734375);
  401. CreateObject(987, 2374.3999023438, -2580.3000488281, 12.60000038147, 0, 0, 269.97802734375);
  402. CreateObject(987, 2374.1999511719, -2568.3000488281, 12.60000038147, 0, 0, 269.97802734375);
  403. CreateObject(987, 2374.1999511719, -2556.3999023438, 12.60000038147, 0, 0, 269.97802734375);
  404. CreateObject(987, 2374.1999511719, -2544.3999023438, 12.60000038147, 0, 0, 269.97802734375);
  405. CreateObject(987, 2374.1999511719, -2532.3999023438, 12.60000038147, 0, 0, 269.97802734375);
  406. CreateObject(987, 2374.6000976563, -2520.6000976563, 11.800000190735, 0, 0, 269.97802734375);
  407. CreateObject(987, 2416.8999023438, -2514.6000976563, 12.699999809265, 0, 0, 179.97802734375);
  408. CreateObject(987, 2405, -2514.6000976563, 12.699999809265, 0, 0, 179.97253417969);
  409. CreateObject(987, 2393, -2514.6999511719, 12.60000038147, 0, 0, 179.97253417969);
  410. CreateObject(987, 2374.3000488281, -2514.5, 12.60000038147, 0, 0, 267.97253417969);
  411. CreateObject(987, 2386.1000976563, -2514.8000488281, 12.60000038147, 0, 0, 177.96752929688);
  412. CreateObject(987, 2506, -2415.1000976563, 16.10000038147, 0, 0, 38);
  413. CreateObject(987, 1877.3000488281, 723.09997558594, 9.8000001907349, 0, 0, 270);
  414. CreateObject(987, 1877.1999511719, 711.09997558594, 9.8000001907349, 0, 0, 270);
  415. CreateObject(987, 1877.5, 699.20001220703, 9.6999998092651, 0, 0, 270);
  416. CreateObject(987, 1877.4000244141, 693.20001220703, 9.8999996185303, 0, 0, 270);
  417. CreateObject(3749, 1975.0999755859, 703.09997558594, 15.699999809265, 0, 0, 90);
  418. CreateObject(5822, 1904, 739.20001220703, 13.10000038147, 0, 0, 94);
  419. CreateObject(1215, 1912.0999755859, 733.5, 10.39999961853, 0, 0, 0);
  420. CreateObject(1215, 1908.1999511719, 733.40002441406, 10.39999961853, 0, 0, 0);
  421. CreateObject(1215, 1911, 733.5, 10.39999961853, 0, 0, 0);
  422. CreateObject(1215, 1904.1999511719, 703.29998779297, 10.39999961853, 0, 0, 0);
  423. CreateObject(1215, 1946.9000244141, 703.29998779297, 10.39999961853, 0, 0, 0);
  424. CreateObject(1215, 1977.5, 709.5, 10.39999961853, 0, 0, 0);
  425. CreateObject(1215, 1977.4000244141, 697.09997558594, 10.39999961853, 0, 0, 0);
  426. CreateObject(8253, 1278.1999511719, 1386.9000244141, 13.699999809265, 0, 0, 0);
  427. CreateObject(8253, 1278.3000488281, 1412.1999511719, 13.699999809265, 0, 0, 0);
  428. CreateObject(3491, 1326.4000244141, 1451.6999511719, 18.39999961853, 0, 0, 0);
  429. CreateObject(3749, 1707.3000488281, 1607.4000244141, 14.89999961853, 0, 0, 72);
  430. CreateObject(1460, -1288.5859375, -184.96484375, 13.821246147156, 0, 0, 0);
  431. CreateObject(987, -1334, -445.29998779297, 13.10000038147, 0, 0, 206);
  432. CreateObject(987, -1323.3000488281, -440.10000610352, 13.10000038147, 0, 0, 205.99914550781);
  433. CreateObject(987, -1312.5999755859, -434.79998779297, 13.10000038147, 0, 0, 205.99914550781);
  434. CreateObject(987, -1319.4000244141, -480.10000610352, 13.10000038147, 0, 0, 27.998657226563);
  435. CreateObject(987, -1308.8000488281, -474.5, 13.10000038147, 0, 0, 27.998657226563);
  436. CreateObject(987, -1258.5999755859, -553.90002441406, 13.10000038147, 0, 0, 115.99865722656);
  437. CreateObject(987, -1307.5, -445.5, 13.10000038147, 0, 0, 115.99362182617);
  438. CreateObject(987, -1305.0999755859, -450.29998779297, 13.10000038147, 0, 0, 115.99362182617);
  439. CreateObject(987, -1284.6999511719, -496.39999389648, 13.10000038147, 0, 0, 115.99362182617);
  440. CreateObject(3749, -1302.4000244141, -459.79998779297, 19, 0, 0, 296);
  441. CreateObject(987, -1327.6999511719, -484.70001220703, 13.39999961853, 0, 0, 27.998657226563);
  442. CreateObject(3749, -1293.9000244141, -477.29998779297, 19, 0, 0, 295.99914550781);
  443. CreateObject(3749, -1276.8000488281, -517, 19, 0, 0, 295.99914550781);
  444. CreateObject(987, -1279.5, -507.20001220703, 13.10000038147, 0, 0, 115.99362182617);
  445. CreateObject(987, -1312.4000244141, -516.59997558594, 13.10000038147, 0, 0, 31.9931640625);
  446. CreateObject(987, -1317.5999755859, -505.89999389648, 13.10000038147, 0, 0, 295.99096679688);
  447. CreateObject(987, -1320, -501.10000610352, 13.300000190735, 0, 0, 295.98815917969);
  448. CreateObject(3749, -1268.3000488281, -534.5, 19, 0, 0, 295.99914550781);
  449. CreateObject(3749, -1166.5999755859, -220.5, 19, 0, 0, 311.99914550781);
  450. CreateObject(987, -1269.3000488281, -558.90002441406, 13.10000038147, 0, 0, 25.993621826172);
  451. CreateObject(987, -1253.4000244141, -582.79998779297, 13.10000038147, 0, 0, 71.993621826172);
  452. CreateObject(987, -1294.8000488281, -562.20001220703, 13.10000038147, 0, 0, 299.98718261719);
  453. CreateObject(987, -1300.6999511719, -551.79998779297, 13.10000038147, 0, 0, 299.98718261719);
  454. CreateObject(987, -1306.6999511719, -541.40002441406, 13.10000038147, 0, 0, 299.98718261719);
  455. CreateObject(987, -1312.5999755859, -531.09997558594, 13.10000038147, 0, 0, 299.98718261719);
  456. CreateObject(987, -1312.1999511719, -519.20001220703, 13.10000038147, 0, 0, 267.98718261719);
  457. CreateObject(987, -1312.4000244141, -516.79998779297, 13.10000038147, 0, 0, 267.98400878906);
  458. CreateObject(987, -1286.3000488281, -530.90002441406, 13.10000038147, 0, 0, 22);
  459. CreateObject(987, -1297.4000244141, -535.40002441406, 13.10000038147, 0, 0, 21.99462890625);
  460. CreateObject(987, -1307.9000244141, -539.70001220703, 13.10000038147, 0, 0, 21.99462890625);
  461. CreateObject(987, -1302.1999511719, -510.29998779297, 13.10000038147, 0, 0, 31.9921875);
  462. CreateObject(987, -1294.3000488281, -505.39999389648, 13.10000038147, 0, 0, 31.9921875);
  463. CreateObject(987, -1280.0999755859, -564.09997558594, 13.10000038147, 0, 0, 25.988159179688);
  464. CreateObject(987, -1290.3000488281, -569, 13.10000038147, 0, 0, 25.988159179688);
  465. CreateObject(3749, -1255.5, -563.20001220703, 19, 0, 0, 295.99914550781);
  466. CreateObject(987, -1263.5999755859, -588.70001220703, 13.10000038147, 0, 0, 29.993408203125);
  467. CreateObject(987, -1274.5999755859, -594.59997558594, 13.10000038147, 0, 0, 27.9931640625);
  468. CreateObject(987, -1284.6999511719, -583.79998779297, 13.10000038147, 0, 0, 311.9931640625);
  469. CreateObject(987, -1288.8000488281, -572.59997558594, 13.10000038147, 0, 0, 289.98779296875);
  470. CreateObject(987, -1282.4000244141, -585.59997558594, 13.10000038147, 0, 0, 311.98974609375);
  471. CreateObject(987, -1269.0999755859, -591.90002441406, 13.10000038147, 0, 0, 29.99267578125);
  472. CreateObject(987, -1227.4000244141, -108.80000305176, 13.10000038147, 0, 0, 46);
  473. CreateObject(987, -1235.6999511719, -117.30000305176, 13.10000038147, 0, 0, 45.999755859375);
  474. CreateObject(987, -1250.5, -69.599998474121, 13.10000038147, 0, 0, 223.99975585938);
  475. CreateObject(987, -1259.1999511719, -77.900001525879, 13.10000038147, 0, 0, 223.99475097656);
  476. CreateObject(987, -1267.5999755859, -85.699996948242, 13.10000038147, 0, 0, 265.99475097656);
  477. CreateObject(987, -1247.8000488281, -118, 13.10000038147, 0, 0, 1.9854736328125);
  478. CreateObject(987, -1256, -109.40000152588, 13.10000038147, 0, 0, 313.98303222656);
  479. CreateObject(987, -1210.9000244141, -116.40000152588, 13.199999809265, 0, 0, 121.97827148438);
  480. CreateObject(3749, -1262.4000244141, -101.80000305176, 19, 0, 0, 311.99523925781);
  481. CreateObject(3749, -1204.1999511719, -180.5, 19, 0, 0, 313.99475097656);
  482. CreateObject(987, -1220.3000488281, -166.60000610352, 13.10000038147, 0, 0, 313.97106933594);
  483. CreateObject(987, -1196.3000488281, -185.89999389648, 13.10000038147, 0, 0, 39.968139648438);
  484. CreateObject(987, -1187.3000488281, -178.19999694824, 13.10000038147, 0, 0, 39.962768554688);
  485. CreateObject(987, -1178.0999755859, -170.5, 13.10000038147, 0, 0, 41.962768554688);
  486. CreateObject(987, -1169.4000244141, -162.80000305176, 13.10000038147, 0, 0, 113.96228027344);
  487. CreateObject(987, -1174.3000488281, -151.80000305176, 13.10000038147, 0, 0, 141.96118164063);
  488. CreateObject(987, -1228.5, -158, 13.10000038147, 0, 0, 313.96728515625);
  489. CreateObject(987, -1236.9000244141, -149.39999389648, 13.10000038147, 0, 0, 313.96728515625);
  490. CreateObject(987, -1245.0999755859, -140.80000305176, 13.10000038147, 0, 0, 313.96728515625);
  491. CreateObject(987, -1247.0999755859, -129.10000610352, 13.10000038147, 0, 0, 279.96728515625);
  492. CreateObject(987, -1247.9000244141, -118.09999847412, 13.300000190735, 0, 0, 273.96459960938);
  493. CreateObject(987, -1217, -106.09999847412, 13.10000038147, 0, 0, 113.97570800781);
  494. CreateObject(987, -1275.5, -76.900001525879, 13.10000038147, 0, 0, 312);
  495. CreateObject(987, -1283.4000244141, -67.900001525879, 13.10000038147, 0, 0, 311.99523925781);
  496. CreateObject(987, -1291.5999755859, -59.299999237061, 13.10000038147, 0, 0, 313.99523925781);
  497. CreateObject(987, -1299.9000244141, -50.700000762939, 13.10000038147, 0, 0, 313.99475097656);
  498. CreateObject(987, -1291.5999755859, -42.200000762939, 13.10000038147, 0, 0, 225.99475097656);
  499. CreateObject(987, -1283.3000488281, -33.700000762939, 13.10000038147, 0, 0, 225.99426269531);
  500. CreateObject(987, -1260.8000488281, -12.10000038147, 13.10000038147, 0, 0, 225.99426269531);
  501. CreateObject(3749, -1275.3000488281, -28, 19, 0, 0, 223.99475097656);
  502. CreateObject(987, -1252.5, -3.7000000476837, 13.10000038147, 0, 0, 225.99426269531);
  503. CreateObject(987, -1249.3000488281, -0.69999998807907, 13.10000038147, 0, 0, 223.99426269531);
  504. CreateObject(987, -1215.1999511719, -34, 13.199999809265, 0, 0, 137.99426269531);
  505. CreateObject(987, -1224, -26.10000038147, 13.10000038147, 0, 0, 135.99377441406);
  506. CreateObject(987, -1232.5, -17.700000762939, 13.10000038147, 0, 0, 135.98876953125);
  507. CreateObject(987, -1241.0999755859, -9.3000001907349, 13.10000038147, 0, 0, 133.98876953125);
  508. CreateObject(987, -1198.9000244141, -188.69999694824, 13.39999961853, 0, 0, 314);
  509. CreateObject(987, -1190.5, -197, 13.10000038147, 0, 0, 313.99475097656);
  510. CreateObject(987, -1182.1999511719, -205.5, 13.10000038147, 0, 0, 313.99475097656);
  511. CreateObject(987, -1158.5999755859, -226.10000610352, 13.10000038147, 0, 0, 43.994750976563);
  512. CreateObject(987, -1150, -217.80000305176, 13.10000038147, 0, 0, 43.994262695313);
  513. CreateObject(987, -1141.4000244141, -209.5, 13.10000038147, 0, 0, 43.9892578125);
  514. CreateObject(987, -1132.8000488281, -201.30000305176, 13.10000038147, 0, 0, 133.9892578125);
  515. CreateObject(987, -1141.0999755859, -192.69999694824, 13.10000038147, 0, 0, 133.9892578125);
  516. CreateObject(987, -1149.4000244141, -184.10000610352, 13.10000038147, 0, 0, 133.9892578125);
  517. CreateObject(987, -1157.6999511719, -175.60000610352, 13.10000038147, 0, 0, 133.9892578125);
  518. CreateObject(987, -1161.5999755859, -171.69999694824, 13.10000038147, 0, 0, 133.9892578125);
  519. CreateObject(3749, -1305.6999511719, -58.900001525879, 19, 0, 0, 223.99475097656);
  520. CreateObject(987, -1314.0999755859, -64.5, 13.10000038147, 0, 0, 224);
  521. CreateObject(987, -1322.8000488281, -72.800003051758, 13.10000038147, 0, 0, 223.99475097656);
  522. CreateObject(987, -1331.4000244141, -81.099998474121, 13.10000038147, 0, 0, 275.99475097656);
  523. CreateObject(987, -1330.1999511719, -92.900001525879, 13.10000038147, 0, 0, 315.99304199219);
  524. CreateObject(987, -1321.5999755859, -101.19999694824, 13.10000038147, 0, 0, 315.98876953125);
  525. CreateObject(987, -1313, -109.5, 13.10000038147, 0, 0, 315.98876953125);
  526. CreateObject(987, -1304.5999755859, -117.80000305176, 13.10000038147, 0, 0, 43.98876953125);
  527. CreateObject(987, -1296, -109.5, 13.10000038147, 0, 0, 43.983764648438);
  528. CreateObject(987, -1287.4000244141, -101.30000305176, 13.10000038147, 0, 0, 43.983764648438);
  529. CreateObject(987, -1278.9000244141, -92.900001525879, 13.10000038147, 0, 0, 43.983764648438);
  530. CreateObject(987, -1278.1999511719, -92.099998474121, 13.10000038147, 0, 0, 43.983764648438);
  531. CreateObject(3749, -1474.3000488281, -611.79998779297, 19, 0, 0, 1.9947509765625);
  532. CreateObject(987, -1481.5999755859, -623.90002441406, 13.10000038147, 0, 0, 272);
  533. CreateObject(987, -1482, -612, 13.10000038147, 0, 0, 271.99951171875);
  534. CreateObject(987, -1454.6999511719, -635.40002441406, 13.10000038147, 0, 0, 91.995483398438);
  535. CreateObject(987, -1455.0999755859, -623.5, 13.10000038147, 0, 0, 91.994018554688);
  536. CreateObject(987, -1455.5, -611.5, 13.10000038147, 0, 0, 181.99401855469);
  537. CreateObject(3749, -1434.3000488281, -600.5, 19, 0, 0, 1.9940185546875);
  538. CreateObject(987, -1419.9000244141, -552.29998779297, 13.10000038147, 0, 0, 26);
  539. CreateObject(987, -1443.3000488281, -563.40002441406, 13.300000190735, 0, 0, 23.999145507813);
  540. CreateObject(987, -1437.0999755859, -638.5, 13.10000038147, 0, 0, 0);
  541. CreateObject(987, -1430.3000488281, -638.5, 13.10000038147, 0, 0, 0);
  542. CreateObject(987, -1455.8000488281, -599.5, 13.10000038147, 0, 0, 271.99609375);
  543. CreateObject(987, -1444.0999755859, -599.09997558594, 13.10000038147, 0, 0, 181.99401855469);
  544. CreateObject(987, -1412.4000244141, -599.09997558594, 13.10000038147, 0, 0, 181.98852539063);
  545. CreateObject(987, -1400.5, -598.70001220703, 13.10000038147, 0, 0, 181.98852539063);
  546. CreateObject(987, -1399.8000488281, -610.59997558594, 13.10000038147, 0, 0, 93.988525390625);
  547. CreateObject(987, -1399, -622.5, 13.10000038147, 0, 0, 93.988037109375);
  548. CreateObject(987, -1398.1999511719, -634.40002441406, 13.10000038147, 0, 0, 93.988037109375);
  549. CreateObject(987, -1398.0999755859, -636, 13.10000038147, 0, 0, 93.988037109375);
  550. CreateObject(3749, -1367, -608.59997558594, 19, 0, 0, 1.9940185546875);
  551. CreateObject(987, -1387.9000244141, -609, 13.10000038147, 0, 0, 188);
  552. CreateObject(987, -1376, -607.29998779297, 13.10000038147, 0, 0, 187.998046875);
  553. CreateObject(987, -1356.5999755859, -640.79998779297, 13.10000038147, 0, 0, 173.998046875);
  554. CreateObject(987, -1363.6999511719, -640.09997558594, 13.10000038147, 0, 0, 173.99597167969);
  555. CreateObject(987, -1354.3000488281, -622.20001220703, 13.10000038147, 0, 0, 103.99597167969);
  556. CreateObject(3749, -1347.4000244141, -607.90002441406, 19, 0, 0, 1.9940185546875);
  557. CreateObject(987, -1351.3000488281, -633.79998779297, 13.10000038147, 0, 0, 103.99108886719);
  558. CreateObject(987, -1351, -635.5, 13.10000038147, 0, 0, 103.99108886719);
  559. CreateObject(987, -1312.5999755859, -635, 13.10000038147, 0, 0, 94);
  560. CreateObject(987, -1313.5, -623.09997558594, 13.10000038147, 0, 0, 93.9990234375);
  561. CreateObject(987, -1325.6999511719, -605.40002441406, 13.10000038147, 0, 0, 181.9990234375);
  562. CreateObject(987, -1324.6999511719, -605.5, 13.10000038147, 0, 0, 181.99401855469);
  563. CreateObject(987, -1314.4000244141, -611.40002441406, 13.10000038147, 0, 0, 149.99401855469);
  564.  
  565.  
  566. SetGameModeText("LS vs. LV");
  567. AddPlayerClass(0,1207.3597,-918.7648,43.0647,233.3584,0,0,0,0,0,0); // Zivis
  568. return 1;
  569. }
  570.  
  571. public OnGameModeExit()
  572. {
  573. return 1;
  574. }
  575.  
  576. public OnPlayerRequestClass(playerid, classid)
  577. {
  578. SetPlayerPos(playerid, -1675.1726,536.4828+10,109.7131+10);
  579. SetPlayerCameraPos(playerid, -1675.1726,536.4828,109.7131);
  580. SetPlayerCameraLookAt(playerid, -1532.0005,687.2249,133.0514);
  581. if(GetPVarInt(playerid,"Eingeloggt") == 0)
  582. {
  583. new name[128], save[128];
  584. GetPlayerName(playerid,name,sizeof(name));
  585. format(save,sizeof(save),"Administration/Users/%s.ini",name);
  586. if(!dini_Exists(save))
  587. {
  588. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Herzlich Willkommen auf dem Server!\nDein Name wurde nicht wiedererkannt, du kannst jetzt\nein Wunschpasswort aussuchen und dich registrieren!","Registrieren","Exit");
  589. }
  590. if(dini_Exists(save))
  591. {
  592. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Herzlich Willkommen auf dem Server\nDein Name wurde wiedererkannt, du kannst dich nun einloggen\nund dein angefangenes Spiel fortsetzen!","Login","Abbrechen");
  593. }
  594. }
  595. return 1;
  596. }
  597.  
  598. public OnPlayerConnect(playerid)
  599. {
  600. PointScoreTextdraw = TextDrawCreate(575, 180,"LS: 0~n~LV: 0");
  601. TextDrawShowForAll(PointScoreTextdraw);
  602.  
  603. return 1;
  604. }
  605.  
  606. public OnPlayerDisconnect(playerid, reason)
  607. {
  608. SavePlayer(playerid);
  609. DeletePVar(playerid,"Eingeloggt");
  610. return 1;
  611. }
  612.  
  613. public OnPlayerSpawn(playerid)
  614. {
  615.  
  616. if(SpielerInfo[playerid][pFraktion] == 0)
  617. {
  618. SetPlayerPos(playerid,1207.3597,-918.7648,43.0647);
  619. SetPlayerColor(playerid, FARBE_WEISS);
  620. }
  621.  
  622. if(SpielerInfo[playerid][pFraktion] == 1)
  623. {
  624. SetPlayerPos(playerid,2002.5549,-2380.8521,13.5469 );
  625. GivePlayerWeapon(playerid, 24, 2500);
  626. GivePlayerWeapon(playerid, 29, 2500);
  627. GivePlayerWeapon(playerid, 34, 2500);
  628. SpielerInfo[playerid][pStadt] = 1;
  629. SetPlayerColor(playerid, FARBE_BLAU);
  630. }
  631.  
  632. if(SpielerInfo[playerid][pFraktion] == 2)
  633. {
  634. SetPlayerPos(playerid,1152.1340,-1770.7963,16.5992 );
  635. GivePlayerWeapon(playerid, 24, 2500);
  636. GivePlayerWeapon(playerid, 29, 2500);
  637. GivePlayerWeapon(playerid, 31, 2500);
  638. GivePlayerWeapon(playerid, 33, 2500);
  639. SpielerInfo[playerid][pStadt] = 1;
  640. SetPlayerColor(playerid, FARBE_GELB);
  641. }
  642.  
  643. if(SpielerInfo[playerid][pFraktion] == 3)
  644. {
  645. SetPlayerPos(playerid,2895.0066,1601.5931,10.8203);
  646. GivePlayerWeapon(playerid, 18, 2500);
  647. GivePlayerWeapon(playerid, 24, 2500);
  648. GivePlayerWeapon(playerid, 30, 2500);
  649. GivePlayerWeapon(playerid, 35, 2500);
  650. SpielerInfo[playerid][pStadt] = 1;
  651. SetPlayerColor(playerid, FARBE_DUNKELGRÜN);
  652. }
  653.  
  654. if(SpielerInfo[playerid][pFraktion] == 4)
  655. {
  656. SetPlayerPos(playerid,1319.0709,1251.2721,10.8203 );
  657. GivePlayerWeapon(playerid, 24, 2500);
  658. GivePlayerWeapon(playerid, 29, 2500);
  659. GivePlayerWeapon(playerid, 34, 2500);
  660. SpielerInfo[playerid][pStadt] = 2;
  661. SetPlayerColor(playerid, FARBE_GRAU);
  662. }
  663.  
  664. if(SpielerInfo[playerid][pFraktion] == 5)
  665. {
  666. SetPlayerPos(playerid,2593.6765,2790.4546,10.8203 );
  667. GivePlayerWeapon(playerid, 24, 2500);
  668. GivePlayerWeapon(playerid, 29, 2500);
  669. GivePlayerWeapon(playerid, 31, 2500);
  670. GivePlayerWeapon(playerid, 33, 2500);
  671. SpielerInfo[playerid][pStadt] = 2;
  672. SetPlayerColor(playerid, FARBE_GRÜN);
  673. }
  674.  
  675. if(SpielerInfo[playerid][pFraktion] == 6)
  676. {
  677. SetPlayerPos(playerid,2445.7761,-2548.0068,17.9107 );
  678. GivePlayerWeapon(playerid, 18, 2500);
  679. GivePlayerWeapon(playerid, 24, 2500);
  680. GivePlayerWeapon(playerid, 30, 2500);
  681. GivePlayerWeapon(playerid, 35, 2500);
  682. SpielerInfo[playerid][pStadt] = 2;
  683. SetPlayerColor(playerid, FARBE_BRAUN);
  684. }
  685.  
  686. if(SpielerInfo[playerid][pFraktion] == 7)
  687. {
  688. SetPlayerPos(playerid,1897.7091,729.0439,10.8198 );
  689. GivePlayerWeapon(playerid, 4, 2500);
  690. GivePlayerWeapon(playerid, 41, 2500);
  691. SetPlayerColor(playerid, FARBE_ROT);
  692. }
  693.  
  694. return 1;
  695. }
  696.  
  697. SpielerName(playerid)
  698. {
  699. new xname[MAX_PLAYER_NAME];
  700. GetPlayerName(playerid,xname,sizeof xname);
  701. return xname;
  702. }
  703.  
  704. public OnPlayerDeath(playerid, killerid, reason)
  705. {
  706. if(SpielerInfo[playerid][pStadt] == 1 && SpielerInfo[killerid][pStadt] == 2)
  707. {
  708. PunkteScore[LV] += 1;
  709. for(new p=0;p<MAX_PLAYERS;p++)
  710. {
  711. new Punkte[20];
  712. format(Punkte,sizeof(Punkte), "LS: %i~n~LV: %i", PunkteScore[LS],PunkteScore[LV]);
  713. TextDrawSetString(PointScoreTextdraw, Punkte);
  714. }
  715.  
  716.  
  717. if(SpielerInfo[killerid][pFraktion] == 4)
  718. {
  719. FKassa[LVAirForce] += 1000;
  720. }
  721.  
  722. if(SpielerInfo[killerid][pFraktion] == 5)
  723. {
  724. FKassa[LVRangers] += 1000;
  725. }
  726.  
  727.  
  728. if(SpielerInfo[killerid][pFraktion] == 6)
  729. {
  730. FKassa[LVTerroristen] += 1000;
  731. }
  732.  
  733. }
  734.  
  735. if(SpielerInfo[playerid][pStadt] == 2 && SpielerInfo[killerid][pStadt] == 1)
  736. {
  737. PunkteScore[LS] += 1;
  738.  
  739. for(new p=0;p<MAX_PLAYERS;p++)
  740. {
  741. new Punkte[20];
  742. format(Punkte,sizeof(Punkte), "LS: %i~n~LV: %i", PunkteScore[LS],PunkteScore[LV]);
  743. TextDrawSetString(PointScoreTextdraw, Punkte);
  744. }
  745.  
  746.  
  747. if(SpielerInfo[killerid][pFraktion] == 1)
  748. {
  749. FKassa[LSAirForce] += 1000;
  750. }
  751.  
  752. if(SpielerInfo[killerid][pFraktion] == 2)
  753. {
  754. FKassa[LSRangers] += 1000;
  755. }
  756.  
  757. if(SpielerInfo[killerid][pFraktion] == 3)
  758. {
  759. FKassa[LSTerroristen] += 1000;
  760. }
  761. }
  762.  
  763. if(SpielerInfo[playerid][pStadt] == 2 && SpielerInfo[killerid][pStadt] == 2)
  764. {
  765. PunkteScore[LV] -= 1;
  766. for(new p=0;p<MAX_PLAYERS;p++)
  767. {
  768. new Punkte[20];
  769. format(Punkte,sizeof(Punkte), "LS: %i~n~LV: %i", PunkteScore[LS],PunkteScore[LV]);
  770. TextDrawSetString(PointScoreTextdraw, Punkte);
  771. }
  772.  
  773. }
  774.  
  775. if(SpielerInfo[playerid][pStadt] == 1 && SpielerInfo[killerid][pStadt] == 1)
  776. {
  777. PunkteScore[LS] -= 1;
  778. for(new p=0;p<MAX_PLAYERS;p++)
  779. {
  780. new Punkte[20];
  781. format(Punkte,sizeof(Punkte), "LS: %i~n~LV: %i", PunkteScore[LS],PunkteScore[LV]);
  782. TextDrawSetString(PointScoreTextdraw, Punkte);
  783. }
  784.  
  785. }
  786.  
  787. return 1;
  788. }
  789.  
  790. public OnVehicleSpawn(vehicleid)
  791. {
  792. return 1;
  793. }
  794.  
  795. public OnVehicleDeath(vehicleid, killerid)
  796. {
  797. return 1;
  798. }
  799.  
  800. public OnPlayerText(playerid, text[])
  801. {
  802. return 1;
  803. }
  804.  
  805. ocmd:gmx(playerid,params[])
  806. {
  807. if(!isPlayerAdmin(playerid,1337))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Projektleiter !");
  808. for(new p=0;p<MAX_PLAYERS;p++)
  809. {
  810. if(IsPlayerConnected(p))
  811. {
  812. SavePlayer(p);
  813. }
  814. }
  815. SendRconCommand("GMX");
  816. return 1;
  817. }
  818.  
  819. ocmd:fkassa(playerid,params[])
  820. {
  821. new String[500];
  822. if(!isPlayerLeader(playerid))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Leader !");
  823. if(SpielerInfo[playerid][pLeader] == 1)
  824. {
  825. format(String,sizeof(String), "LS Air Force Fraktionskassa: %i ", FKassa[LSAirForce]);
  826. }
  827.  
  828. if(SpielerInfo[playerid][pLeader] == 2)
  829. {
  830. format(String,sizeof(String), "LS Rangers Fraktionskassa: %i ", FKassa[LSRangers]);
  831. }
  832.  
  833. if(SpielerInfo[playerid][pLeader] == 3)
  834. {
  835. format(String,sizeof(String), "LS Terroristen Fraktionskassa: %i ", FKassa[LSTerroristen]);
  836. }
  837.  
  838. if(SpielerInfo[playerid][pLeader] == 4)
  839. {
  840. format(String,sizeof(String), "LV Air Force Fraktionskassa: %i ", FKassa[LVAirForce]);
  841. }
  842.  
  843. if(SpielerInfo[playerid][pLeader] == 5)
  844. {
  845. format(String,sizeof(String), "LV Rangers Fraktionskassa: %i ", FKassa[LVRangers]);
  846. }
  847.  
  848. if(SpielerInfo[playerid][pLeader] == 6)
  849. {
  850. format(String,sizeof(String), "LV Terroristen Fraktionskassa: %i ", FKassa[LVTerroristen]);
  851. }
  852.  
  853. if(SpielerInfo[playerid][pLeader] == 7)
  854. {
  855. format(String,sizeof(String), "Sanitäter Fraktionskassa: %i ", FKassa[Sanitaeter]);
  856. }
  857. SendClientMessage(playerid, FARBE_GELB, String);
  858. return 1;
  859. }
  860.  
  861. // Chat - System //
  862. ocmd:r(playerid,params[])
  863. {
  864. new MSG[90],Text[100] ;
  865. if(SpielerInfo[playerid][pFraktion] == 0)return SendClientMessage(playerid,FARBE_ROT, "Error: Du bist Zivilist !");
  866. if(sscanf(params,"s",Text))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /r [TEXT]");
  867. format(MSG,sizeof(MSG),"[FRAKTION] %s: %s",SpielerName(playerid), Text);
  868. for(new i=0; i<GetMaxPlayers(); i++)
  869. {
  870. if(SpielerInfo[playerid][pFraktion] == SpielerInfo[i][pFraktion])
  871. {
  872. SendClientMessage(i,FARBE_HELLBLAU,MSG);
  873. }
  874. }
  875. return 1;
  876. }
  877.  
  878. ocmd:d(playerid,params[])
  879. {
  880. new MSG[90],Text[100] ;
  881. if(SpielerInfo[playerid][pFraktion] == 0 || SpielerInfo[playerid][pFraktion] == 7)return SendClientMessage(playerid,FARBE_ROT, "Error: Du bist neutral !");
  882. if(sscanf(params,"s",Text))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /d [TEXT]");
  883. if(SpielerInfo[playerid][pStadt] == 2)
  884. {
  885. format(MSG,sizeof(MSG),"[LAS VENTURAS] %s: %s",SpielerName(playerid), Text);
  886. for(new i=0; i<GetMaxPlayers(); i++)
  887. {
  888. if(SpielerInfo[playerid][pStadt] == SpielerInfo[i][pStadt])
  889. {
  890. SendClientMessage(i,FARBE_BLAU,MSG);
  891. }
  892. }
  893. }
  894.  
  895. if(SpielerInfo[playerid][pStadt] == 1)
  896. {
  897. format(MSG,sizeof(MSG),"[LOS SANTOS] %s: %s",SpielerName(playerid), Text);
  898. for(new i=0; i<GetMaxPlayers(); i++)
  899. {
  900. if(SpielerInfo[playerid][pStadt] == SpielerInfo[i][pStadt])
  901. {
  902. SendClientMessage(i,FARBE_BLAU,MSG);
  903. }
  904. }
  905. }
  906. return 1;
  907. }
  908.  
  909. // Fraktionen //
  910.  
  911.  
  912.  
  913.  
  914.  
  915. // Admin - System //
  916.  
  917. ocmd:a(playerid,params[])
  918. {
  919. new MSG[80],Text[100] ;
  920. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid,FARBE_ROT, "Error: Du bist kein Admin !");
  921. if(sscanf(params,"s",Text))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /a [TEXT]");
  922. format(MSG,sizeof(MSG),"[ADMIN] %s: %s",SpielerName(playerid), Text);
  923. for(new i=0; i<GetMaxPlayers(); i++)
  924. {
  925. if(isPlayerAdmin(i,1))
  926. {
  927. SendClientMessage(i,FARBE_GELB,MSG);
  928. }
  929. }
  930. return 1;
  931. }
  932.  
  933. ocmd:goto (playerid,params[])
  934. {
  935. new Float:x, Float:y, Float:z, MSG[160], MSG2[160],pID;
  936. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  937. if(sscanf(params,"u", pID))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /goto [Username/ID]");
  938. GetPlayerPos(pID,x,y,z);
  939. SetPlayerPos(playerid, x+1,y,z);
  940. format(MSG,sizeof(MSG), "%s hat sich zu dir geportet !", SpielerName(playerid));
  941. SendClientMessage(pID, FARBE_HELLBLAU, MSG);
  942. format(MSG2, sizeof(MSG2), "Du hast dich zu %s geportet !", SpielerName(pID));
  943. SendClientMessage(playerid, FARBE_HELLBLAU, MSG2);
  944. return 1;
  945. }
  946.  
  947. ocmd:gethere (playerid,params[])
  948. {
  949. new Float:x, Float:y, Float:z, MSG[160], MSG2[160],pID;
  950. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  951. if(sscanf(params,"u", pID))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /gethere [Username/ID]");
  952. GetPlayerPos(playerid,x,y,z);
  953. SetPlayerPos(pID, x+1,y,z);
  954. format(MSG,sizeof(MSG), "Du wurdest von %s geportet !", SpielerName(playerid));
  955. SendClientMessage(pID, FARBE_HELLBLAU, MSG);
  956. format(MSG2, sizeof(MSG2), "Du hast %s zu dir geportet !", SpielerName(pID));
  957. SendClientMessage(playerid, FARBE_HELLBLAU, MSG2);
  958. return 1;
  959. }
  960.  
  961. ocmd:kick (playerid,params[])
  962. {
  963. new MSG[145],Grund[20],TargetID;
  964. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  965. if(sscanf(params,"us",TargetID,Grund))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /kick [Username/ID] [Grund]");
  966. format(MSG,sizeof(MSG),"SERVER: %s wurde von %s gekickt ! Grund: %s", SpielerName(TargetID),SpielerName(playerid), Grund);
  967. SendClientMessageToAll(FARBE_ROT,MSG);
  968. Kick(TargetID);
  969. return 1;
  970. }
  971.  
  972. ocmd:ban (playerid,params[])
  973. {
  974. new MSG[145],Grund[20],TargetID;
  975. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  976. if(sscanf(params,"us",TargetID,Grund))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /ban [Username/ID] [Grund]");
  977. format(MSG,sizeof(MSG),"SERVER: %s wurde von %s gebannt ! Grund: %s", SpielerName(TargetID),SpielerName(playerid), Grund);
  978. SendClientMessageToAll(FARBE_ROT,MSG);
  979. Ban(TargetID);
  980. return 1;
  981. }
  982.  
  983. ocmd:slap (playerid,params[])
  984. {
  985. new MSG[50],TargetID, AdminMSG[50];
  986. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  987. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /slap [Username/ID]");
  988. new Float:x,y,z;
  989. GetPlayerPos(TargetID,Float:x,Float:y,Float:z);
  990. SetPlayerPos(TargetID,Float:x,Float:y,Float:z+15);
  991. format(MSG,sizeof(MSG),"Du wurdest von %s geslappt !", SpielerName(playerid));
  992. SendClientMessage(TargetID,FARBE_ROT, MSG);
  993. format(AdminMSG,sizeof(AdminMSG),"SERVER: ADMIN %s hat %s geslappt !", SpielerName(playerid), SpielerName(TargetID));
  994. for(new i=0; i<GetMaxPlayers(); i++)
  995. {
  996. if(isPlayerAdmin(i,1))
  997. {
  998. SendClientMessage(i,FARBE_ROT,AdminMSG);
  999. }
  1000. }
  1001. return 1;
  1002. }
  1003.  
  1004. ocmd:sethp (playerid,params[])
  1005. {
  1006. new MSG[125],TargetID, Float:Heal,AdminMSG[125];
  1007. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  1008. if(sscanf(params,"uf",TargetID, Heal))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /sethp [Username/ID] [HP]");
  1009. format(MSG,sizeof(MSG),"Dein Leben wurde von Admin %s auf %f gesetzt !", SpielerName(playerid), Heal);
  1010. SendClientMessage(TargetID,FARBE_ROT, MSG);
  1011. format(AdminMSG,sizeof(AdminMSG),"Du hast das Leben von %s auf %f gesetzt !", SpielerName(TargetID), Heal);
  1012. SendClientMessage(playerid, FARBE_ROT, AdminMSG);
  1013. SetPlayerHealth(TargetID,Heal);
  1014. return 1;
  1015. }
  1016.  
  1017. ocmd:freeze (playerid,params[])
  1018. {
  1019. new MSG[60],TargetID, AdminMSG[100];
  1020. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  1021. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid, FARBE_GRAU,"Fehler: /freeze [Username/ID]");
  1022. TogglePlayerControllable(TargetID,0);
  1023. format(MSG,sizeof(MSG),"Du wurdest von %s gefreezed !", SpielerName(playerid));
  1024. SendClientMessage(TargetID, FARBE_ROT, MSG);
  1025. format(AdminMSG,sizeof(AdminMSG),"SERVER: ADMIN %s hat %s gefreezed !", SpielerName(playerid), SpielerName(TargetID));
  1026. for(new i=0; i<GetMaxPlayers(); i++)
  1027. {
  1028. if(isPlayerAdmin(i,1))
  1029. {
  1030. SendClientMessage(i,FARBE_ROT,AdminMSG);
  1031. }
  1032. }
  1033. return 1;
  1034. }
  1035.  
  1036. ocmd:unfreeze (playerid,params[])
  1037. {
  1038. new MSG[60],TargetID, AdminMSG[100];
  1039. if(!isPlayerAdmin(playerid,1))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Admin !");
  1040. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid, FARBE_GRAU,"Fehler: /unfreeze [Username/ID]");
  1041. TogglePlayerControllable(TargetID,1);
  1042. format(MSG,sizeof(MSG),"Du wurdest von %s unfreezed !", SpielerName(playerid));
  1043. SendClientMessage(TargetID, FARBE_ROT, MSG);
  1044. format(AdminMSG,sizeof(AdminMSG),"SERVER: ADMIN %s hat %s unfreezed !", SpielerName(playerid), SpielerName(TargetID));
  1045. for(new i=0; i<GetMaxPlayers(); i++)
  1046. {
  1047. if(isPlayerAdmin(i,1))
  1048. {
  1049. SendClientMessage(i,FARBE_ROT,AdminMSG);
  1050. }
  1051. }
  1052. return 1;
  1053. }
  1054.  
  1055. ocmd:makeadmin (playerid,params[])
  1056. {
  1057. new TargetID;
  1058. if(!isPlayerAdmin(playerid,1337))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Projektleiter !");
  1059. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /makeadmin [Username/ID]");
  1060. if(TargetID != playerid)
  1061. {
  1062. SendClientMessage(TargetID, FARBE_ORANGE, "Du wurdest zum Admin ausgewählt. Missbrauche nicht dein Amt !");
  1063. SpielerInfo[TargetID][pAdmin] = 1;
  1064. }
  1065. else
  1066. {
  1067. SendClientMessage(playerid, FARBE_ORANGE, "Du bist doch schon Projektleiter !");
  1068. }
  1069. return 1;
  1070. }
  1071.  
  1072. ocmd:makeserverowner (playerid,params[])
  1073. {
  1074. new TargetID;
  1075. if(!isPlayerAdmin(playerid,1337))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Projektleiter !");
  1076. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /makeserverowner [Username/ID]");
  1077. if(TargetID != playerid)
  1078. {
  1079. SendClientMessage(TargetID, FARBE_ORANGE, "Du wurdest zum Projektleiter ausgewählt. Missbrauche nicht dein Amt !");
  1080. SpielerInfo[TargetID][pAdmin] = 1337;
  1081. }
  1082. else
  1083. {
  1084. SendClientMessage(playerid, FARBE_ORANGE, "Du bist doch schon Projektleiter !");
  1085. }
  1086. return 1;
  1087. }
  1088.  
  1089. ocmd:makeleader(playerid,params[])
  1090. {
  1091. if(!isPlayerAdmin(playerid,1337))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Projektleiter !");
  1092. new pID, fraktion, frak_string[128], string[128];
  1093. if(sscanf(params,"ui",pID,fraktion))return SendClientMessage(playerid,FARBE_GRAU,"Fehler: /makeleader [Username/ID] [Fraktions ID]");
  1094. switch(fraktion)
  1095. {
  1096. case 0:{frak_string="Zivilist";}
  1097. case 1:{frak_string="LS Air Force";}
  1098. case 2:{frak_string="LS Rangers";}
  1099. case 3:{frak_string="LS Terroristen";}
  1100. case 4:{frak_string="LV Air Force";}
  1101. case 5:{frak_string="LV Rangers";}
  1102. case 6:{frak_string="LV Terroristen";}
  1103. case 7:{frak_string="Sanitäter";}
  1104.  
  1105. }
  1106.  
  1107. SpielerInfo[pID][pFraktion] = fraktion;
  1108. SpielerInfo[pID][pLeader] = fraktion;
  1109. format(string,sizeof(string),"Du wurdest von %s geleadert ! Fraktion: %s",SpielerName(playerid),frak_string);
  1110. SendClientMessage(pID,FARBE_HELLBLAU,string);
  1111. SpawnPlayer(pID);
  1112. return 1;
  1113. }
  1114.  
  1115. // Leader Befehle //
  1116. ocmd:invite(playerid,params[]) // morgen arbeiten
  1117. {
  1118. new TargetID, MSG[150], LeaderMSG[150];
  1119. if(!isPlayerLeader(playerid))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Leader !");
  1120. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /invite [Username/ID]");
  1121. if(SpielerInfo[playerid][pFraktion] == 1)
  1122. {
  1123. SpielerInfo[TargetID][pFraktion] = 1;
  1124. }
  1125.  
  1126. if(SpielerInfo[playerid][pFraktion] == 2)
  1127. {
  1128. SpielerInfo[TargetID][pFraktion] = 2;
  1129. }
  1130.  
  1131. if(SpielerInfo[playerid][pFraktion] == 3)
  1132. {
  1133. SpielerInfo[TargetID][pFraktion] = 3;
  1134. }
  1135.  
  1136. if(SpielerInfo[playerid][pFraktion] == 4)
  1137. {
  1138. SpielerInfo[TargetID][pFraktion] = 4;
  1139. }
  1140.  
  1141. if(SpielerInfo[playerid][pFraktion] == 5)
  1142. {
  1143. SpielerInfo[TargetID][pFraktion] = 5;
  1144. }
  1145.  
  1146. if(SpielerInfo[playerid][pFraktion] == 6)
  1147. {
  1148. SpielerInfo[TargetID][pFraktion] = 6;
  1149. }
  1150.  
  1151. if(SpielerInfo[playerid][pFraktion] == 7)
  1152. {
  1153. SpielerInfo[TargetID][pFraktion] = 7;
  1154. }
  1155. SpawnPlayer(TargetID);
  1156. format(MSG,sizeof(MSG),"Du wurdest von %s eingestellt !", SpielerName(playerid));
  1157. SendClientMessage(TargetID, FARBE_HELLBLAU, MSG);
  1158. format(LeaderMSG,sizeof(LeaderMSG), "Du hast %s eingestellt !", SpielerName(TargetID));
  1159. SendClientMessage(playerid, FARBE_HELLBLAU, LeaderMSG);
  1160. return 1;
  1161. }
  1162.  
  1163.  
  1164. ocmd:uninvite(playerid,params[])
  1165. {
  1166. new TargetID,MSG[125], LeaderMSG[150];
  1167. if(!isPlayerLeader(playerid))return SendClientMessage(playerid, FARBE_ROT, "Error: Du bist kein Leader !");
  1168. if(sscanf(params,"u",TargetID))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /uninvite [Username/ID]");
  1169. if(TargetID == isPlayerLeader(TargetID))return SendClientMessage(playerid, FARBE_ROT, "Error: Du kannst keine Leader uninviten !");
  1170. format(MSG,sizeof(MSG), "Du wurdest von %s aus der Fraktion geworfen ! ", SpielerName(playerid));
  1171. SpawnPlayer(TargetID);
  1172. SendClientMessage(TargetID, FARBE_HELLBLAU, MSG);
  1173. format(LeaderMSG,sizeof(LeaderMSG), "Du hast %s aus der Fraktion geworfen ! ", SpielerName(TargetID));
  1174. SendClientMessage(playerid, FARBE_HELLBLAU, LeaderMSG);
  1175. SpielerInfo[TargetID][pFraktion] = 0;
  1176. return 1;
  1177. }
  1178.  
  1179. public OnPlayerCommandText(playerid, cmdtext[])
  1180. {
  1181. return 1;
  1182. }
  1183.  
  1184.  
  1185.  
  1186. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1187. {
  1188. return 1;
  1189. }
  1190.  
  1191. public OnPlayerExitVehicle(playerid, vehicleid)
  1192. {
  1193. return 1;
  1194. }
  1195.  
  1196. public OnPlayerStateChange(playerid, newstate, oldstate)
  1197. {
  1198. return 1;
  1199. }
  1200.  
  1201. public OnPlayerEnterCheckpoint(playerid)
  1202. {
  1203. return 1;
  1204. }
  1205.  
  1206. public OnPlayerLeaveCheckpoint(playerid)
  1207. {
  1208. return 1;
  1209. }
  1210.  
  1211. public OnPlayerEnterRaceCheckpoint(playerid)
  1212. {
  1213. return 1;
  1214. }
  1215.  
  1216. public OnPlayerLeaveRaceCheckpoint(playerid)
  1217. {
  1218. return 1;
  1219. }
  1220.  
  1221. public OnRconCommand(cmd[])
  1222. {
  1223. return 1;
  1224. }
  1225.  
  1226. public OnPlayerRequestSpawn(playerid)
  1227. {
  1228. return 1;
  1229. }
  1230.  
  1231. public OnObjectMoved(objectid)
  1232. {
  1233. return 1;
  1234. }
  1235.  
  1236. public OnPlayerObjectMoved(playerid, objectid)
  1237. {
  1238. return 1;
  1239. }
  1240.  
  1241. public OnPlayerPickUpPickup(playerid, pickupid)
  1242. {
  1243. return 1;
  1244. }
  1245.  
  1246. public OnVehicleMod(playerid, vehicleid, componentid)
  1247. {
  1248. return 1;
  1249. }
  1250.  
  1251. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1252. {
  1253. return 1;
  1254. }
  1255.  
  1256. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1257. {
  1258. return 1;
  1259. }
  1260.  
  1261. public OnPlayerSelectedMenuRow(playerid, row)
  1262. {
  1263. return 1;
  1264. }
  1265.  
  1266. public OnPlayerExitedMenu(playerid)
  1267. {
  1268. return 1;
  1269. }
  1270.  
  1271. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1272. {
  1273. return 1;
  1274. }
  1275.  
  1276. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1277. {
  1278. return 1;
  1279. }
  1280.  
  1281. public OnRconLoginAttempt(ip[], password[], success)
  1282. {
  1283. return 1;
  1284. }
  1285.  
  1286. public OnPlayerUpdate(playerid)
  1287. {
  1288. return 1;
  1289. }
  1290.  
  1291. public OnPlayerStreamIn(playerid, forplayerid)
  1292. {
  1293. return 1;
  1294. }
  1295.  
  1296. public OnPlayerStreamOut(playerid, forplayerid)
  1297. {
  1298. return 1;
  1299. }
  1300.  
  1301. public OnVehicleStreamIn(vehicleid, forplayerid)
  1302. {
  1303. return 1;
  1304. }
  1305.  
  1306. public OnVehicleStreamOut(vehicleid, forplayerid)
  1307. {
  1308. return 1;
  1309. }
  1310.  
  1311.  
  1312. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1313. {
  1314. switch(dialogid)
  1315. {
  1316. case DIALOG_REGISTER:
  1317. {
  1318. if(response)
  1319. {
  1320. if(strlen(inputtext) == 0)
  1321. {
  1322. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Kein Passwort angegeben!\nBitte gebe nun ein Passwort ein:","Registrieren","Abbrechen");
  1323. return 1;
  1324. }
  1325. else
  1326. {
  1327. CreateAccount(playerid, inputtext);
  1328. SpawnPlayer(playerid);
  1329. return 1;
  1330. }
  1331. }
  1332. else
  1333. {
  1334. Kick(playerid);
  1335. }
  1336. }
  1337. case DIALOG_LOGIN:
  1338. {
  1339. if(response)
  1340. {
  1341. if(strlen(inputtext) == 0)
  1342. {
  1343. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
  1344. return 1;
  1345. }
  1346. else
  1347. {
  1348. new Name[MAX_PLAYER_NAME],path[64];
  1349. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1350. format(path, sizeof(path),"Administration/Users/%s.ini", Name);
  1351. if(!strcmp(inputtext, dini_Get(path, "Passwort"), true))
  1352. {
  1353. SetPVarInt(playerid,"Eingeloggt",1);
  1354. LoadPlayer(playerid);
  1355. SpawnPlayer(playerid);
  1356. return 1;
  1357. }
  1358. else
  1359. {
  1360.  
  1361. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
  1362. return 1;
  1363. }
  1364. }
  1365. }
  1366. else
  1367. {
  1368. Kick(playerid);
  1369. }
  1370. }
  1371. }
  1372. return 1;
  1373. }
  1374.  
  1375. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1376. {
  1377. return 1;
  1378. }
  1379.  
  1380. stock CreateAccount(playerid, pass[])
  1381. {
  1382. new Name[MAX_PLAYER_NAME],path[64];
  1383. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1384. format(path, sizeof(path),"Administration/Users/%s.ini", Name);
  1385. dini_Create(path);
  1386. dini_Set(path,"Passwort",pass);
  1387. return true;
  1388. }
  1389.  
  1390. stock LoadPlayer(playerid)
  1391. {
  1392. if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  1393. {
  1394. new Name[MAX_PLAYER_NAME],path[64];
  1395. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1396. format(path, sizeof(path),"Administration/Users/%s.ini", Name);
  1397. SpielerInfo[playerid][pLevel] = dini_Int(path, "Level");
  1398. SpielerInfo[playerid][pGeld] = dini_Int(path, "Geld");
  1399. SpielerInfo[playerid][pAdmin] = dini_Int(path, "Admin");
  1400. SpielerInfo[playerid][pLeader] = dini_Int(path, "Leader" );
  1401. SpielerInfo[playerid][pMember] = dini_Int(path, "Member" );
  1402. SpielerInfo[playerid][pFraktion] = dini_Int(path, "Fraktion" );
  1403. SpielerInfo[playerid][pStadt] = dini_Int(path, "Stadt" );
  1404. SpielerInfo[playerid][pKills] = dini_Int(path, "Kills");
  1405. SpielerInfo[playerid][pTode] = dini_Int(path, "Tode");
  1406.  
  1407. }
  1408. return 1;
  1409. }
  1410.  
  1411. stock SavePlayer(playerid)
  1412. {
  1413. if(GetPVarInt(playerid,"Eingeloggt") == 1)
  1414. {
  1415. new Name[MAX_PLAYER_NAME],path[64];
  1416. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1417. format(path, sizeof(path),"Administration/Users/%s.ini", Name);
  1418. dini_IntSet(path,"Level", SpielerInfo[playerid][pLevel]);
  1419. dini_IntSet(path,"Geld", GetPlayerMoney(playerid));
  1420. dini_IntSet(path,"Admin", SpielerInfo[playerid][pAdmin]);
  1421. dini_IntSet(path, "Leader", SpielerInfo[playerid][pLeader]);
  1422. dini_IntSet(path, "Member", SpielerInfo[playerid][pMember]);
  1423. dini_IntSet(path, "Fraktion", SpielerInfo[playerid][pFraktion]);
  1424. dini_IntSet(path, "Stadt", SpielerInfo[playerid][pStadt]);
  1425. dini_IntSet(path,"Kills", SpielerInfo[playerid][pKills]);
  1426. dini_IntSet(path,"Tode", SpielerInfo[playerid][pTode]);
  1427. }
  1428. return 1;
  1429. }
  1430.  
  1431. stock isPlayerAdmin(playerid,Adminlevel)
  1432. {
  1433. if(SpielerInfo[playerid][pAdmin] >= Adminlevel)return 1;
  1434. return 0;
  1435. }
  1436.  
  1437. stock isPlayerLeader(playerid)
  1438. {
  1439. if(SpielerInfo[playerid][pLeader] >= 1)return 1;
  1440. return 0;
  1441. }
  1442.  
  1443. stock GetDistanceBetweenPlayers(playerid,id,range)
  1444. {
  1445. new Float:x,Float:y,Float:z;
  1446. GetPlayerPos(id,x,y,z);
  1447. if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)) return 1;
  1448. else return false;
  1449. }
  1450.  
  1451. stock sscanf(string[], format[], {Float,_}:...)
  1452. {
  1453. #if defined isnull
  1454. if (isnull(string))
  1455. #else
  1456. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1457. #endif
  1458. {
  1459. return format[0];
  1460. }
  1461. #pragma tabsize 4
  1462. new
  1463. formatPos = 0,
  1464. stringPos = 0,
  1465. paramPos = 2,
  1466. paramCount = numargs(),
  1467. delim = ' ';
  1468. while (string[stringPos] && string[stringPos] <= ' ')
  1469. {
  1470. stringPos++;
  1471. }
  1472. while (paramPos < paramCount && string[stringPos])
  1473. {
  1474. switch (format[formatPos++])
  1475. {
  1476. case '\0':
  1477. {
  1478. return 0;
  1479. }
  1480. case 'i', 'd':
  1481. {
  1482. new
  1483. neg = 1,
  1484. num = 0,
  1485. ch = string[stringPos];
  1486. if (ch == '-')
  1487. {
  1488. neg = -1;
  1489. ch = string[++stringPos];
  1490. }
  1491. do
  1492. {
  1493. stringPos++;
  1494. if ('0' <= ch <= '9')
  1495. {
  1496. num = (num * 10) + (ch - '0');
  1497. }
  1498. else
  1499. {
  1500. return -1;
  1501. }
  1502. }
  1503. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1504. setarg(paramPos, 0, num * neg);
  1505. }
  1506. case 'h', 'x':
  1507. {
  1508. new
  1509. num = 0,
  1510. ch = string[stringPos];
  1511. do
  1512. {
  1513. stringPos++;
  1514. switch (ch)
  1515. {
  1516. case 'x', 'X':
  1517. {
  1518. num = 0;
  1519. continue;
  1520. }
  1521. case '0' .. '9':
  1522. {
  1523. num = (num << 4) | (ch - '0');
  1524. }
  1525. case 'a' .. 'f':
  1526. {
  1527. num = (num << 4) | (ch - ('a' - 10));
  1528. }
  1529. case 'A' .. 'F':
  1530. {
  1531. num = (num << 4) | (ch - ('A' - 10));
  1532. }
  1533. default:
  1534. {
  1535. return -1;
  1536. }
  1537. }
  1538. }
  1539. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1540. setarg(paramPos, 0, num);
  1541. }
  1542. case 'c':
  1543. {
  1544. setarg(paramPos, 0, string[stringPos++]);
  1545. }
  1546. case 'f':
  1547. {
  1548.  
  1549. new changestr[16], changepos = 0, strpos = stringPos;
  1550. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1551. {
  1552. changestr[changepos++] = string[strpos++];
  1553. }
  1554. changestr[changepos] = '\0';
  1555. setarg(paramPos,0,_:floatstr(changestr));
  1556. }
  1557. case 'p':
  1558. {
  1559. delim = format[formatPos++];
  1560. continue;
  1561. }
  1562. case '\'':
  1563. {
  1564. new
  1565. end = formatPos - 1,
  1566. ch;
  1567. while ((ch = format[++end]) && ch != '\'') {}
  1568. if (!ch)
  1569. {
  1570. return -1;
  1571. }
  1572. format[end] = '\0';
  1573. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1574. {
  1575. if (format[end + 1])
  1576. {
  1577. return -1;
  1578. }
  1579. return 0;
  1580. }
  1581. format[end] = '\'';
  1582. stringPos = ch + (end - formatPos);
  1583. formatPos = end + 1;
  1584. }
  1585. case 'u':
  1586. {
  1587. new
  1588. end = stringPos - 1,
  1589. id = 0,
  1590. bool:num = true,
  1591. ch;
  1592. while ((ch = string[++end]) && ch != delim)
  1593. {
  1594. if (num)
  1595. {
  1596. if ('0' <= ch <= '9')
  1597. {
  1598. id = (id * 10) + (ch - '0');
  1599. }
  1600. else
  1601. {
  1602. num = false;
  1603. }
  1604. }
  1605. }
  1606. if (num && IsPlayerConnected(id))
  1607. {
  1608. setarg(paramPos, 0, id);
  1609. }
  1610. else
  1611. {
  1612. #if !defined foreach
  1613. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1614. #define __SSCANF_FOREACH__
  1615. #endif
  1616. string[end] = '\0';
  1617. num = false;
  1618. new
  1619. name[MAX_PLAYER_NAME];
  1620. id = end - stringPos;
  1621. foreach (Player, playerid)
  1622. {
  1623. GetPlayerName(playerid, name, sizeof (name));
  1624. if (!strcmp(name, string[stringPos], true, id))
  1625. {
  1626. setarg(paramPos, 0, playerid);
  1627. num = true;
  1628. break;
  1629. }
  1630. }
  1631. if (!num)
  1632. {
  1633. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1634. }
  1635. string[end] = ch;
  1636. #if defined __SSCANF_FOREACH__
  1637. #undef foreach
  1638. #undef __SSCANF_FOREACH__
  1639. #endif
  1640. }
  1641. stringPos = end;
  1642. }
  1643. case 's', 'z':
  1644. {
  1645. new
  1646. i = 0,
  1647. ch;
  1648. if (format[formatPos])
  1649. {
  1650. while ((ch = string[stringPos++]) && ch != delim)
  1651. {
  1652. setarg(paramPos, i++, ch);
  1653. }
  1654. if (!i)
  1655. {
  1656. return -1;
  1657. }
  1658. }
  1659. else
  1660. {
  1661. while ((ch = string[stringPos++]))
  1662. {
  1663. setarg(paramPos, i++, ch);
  1664. }
  1665. }
  1666. stringPos--;
  1667. setarg(paramPos, i, '\0');
  1668. }
  1669. default:
  1670. {
  1671. continue;
  1672. }
  1673. }
  1674. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1675. {
  1676. stringPos++;
  1677. }
  1678. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1679. {
  1680. stringPos++;
  1681. }
  1682. paramPos++;
  1683. }
  1684. do
  1685. {
  1686. if ((delim = format[formatPos++]) > ' ')
  1687. {
  1688. if (delim == '\'')
  1689. {
  1690. while ((delim = format[formatPos++]) && delim != '\'') {}
  1691. }
  1692. else if (delim != 'z')
  1693. {
  1694. return delim;
  1695. }
  1696. }
  1697. }
  1698. while (delim > ' ');
  1699. return 0;
  1700. }
Advertisement
Add Comment
Please, Sign In to add comment