encrusted

Untitled

Sep 12th, 2015
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 84.74 KB | None | 0 0
  1. /* Includes */
  2. #include <a_samp>
  3. #include <dini>
  4. #include <ocmd>
  5.  
  6. /*** Denkzettel ***
  7.  
  8. Job 1 = Gärtner
  9. Job 2 = Müllmann
  10. Job 3 = Straßenreiniger
  11.  
  12. Frak 1 = LSPD
  13. Frak 2 =
  14.  
  15.  
  16. */
  17.  
  18. /* Farben */
  19. #define color_lspd 0x00AFFFFF
  20. /* Enums */
  21. enum SpielerDaten
  22. {
  23. Level,
  24. Skin,
  25. Geld,
  26. Bank,
  27. Fraktion,
  28. Rang,
  29. Fraktionslohn,
  30. Adminlevel,
  31. Personalausweis,
  32. Job,
  33. Lohn,
  34. Payday,
  35. Autoschein,
  36. Motorradschein,
  37. Waffenschein,
  38. Wanteds
  39. };
  40. new sDaten[MAX_PLAYERS][SpielerDaten];
  41. /* Object Variablen */
  42. new CHILLIADS[27];
  43.  
  44. /* Auto Variablen */
  45. new FS_CAR[5];
  46. new FS_BIKE[2];
  47. new SR_CAR[5];
  48. new LSPD_CAR[10];
  49. /* Temoräre Spielervariablen */
  50. /* Frak Variablen */
  51. new imDienst[MAX_PLAYERS];
  52. /* Job Variablen */
  53. new amarbeiten[MAX_PLAYERS];
  54. /* LSPD Variablen */
  55. new wantedID;
  56. new isCuffed[MAX_PLAYERS];
  57. /* Bank Variablen */
  58. new bankID;
  59. /* Admin Variablen */
  60. new isViewing[MAX_PLAYERS];
  61. /* Gärtner Variablen */
  62. new CP_VIERTEL1[MAX_PLAYERS];
  63. new CP_VIERTEL2[MAX_PLAYERS];
  64. /* Stadtreinigung Variablen */
  65. new CP_SR_ROUTE1[MAX_PLAYERS];
  66. /* Fahrschul Variablen */
  67. new inFahrstundeAuto[MAX_PLAYERS];
  68. new inFahrstundeMotorrad[MAX_PLAYERS];
  69. new FS_AUTO_CP[MAX_PLAYERS];
  70. new FS_RAD_CP[MAX_PLAYERS];
  71. /* TimerVariablen */
  72. new fraklohntimer;
  73. new PayDayTimer[MAX_PLAYERS];
  74. /* Defines */
  75. #define dialog_register 1
  76. #define dialog_login 2
  77. #define dialog_neulinghilfe 3
  78. #define dialog_stadtplan 4
  79. #define dialog_perso 5
  80. #define dialog_bainfo 6
  81. #define dialog_bajobs 7
  82. #define dialog_jobauswahl 8
  83. #define dialog_gajob 9
  84. #define dialog_abbjob 10
  85. #define dialog_viertel1_finished 11
  86. #define dialog_stats 12
  87. #define dialog_fahrschule 13
  88. #define dialog_autogeschafft 14
  89. #define dialog_srjob 15
  90. #define dialog_wanteds 16
  91. #define dialog_lspdequip 17
  92. #define dialog_bankmenu 18
  93. #define dialog_bankein 19
  94. #define dialog_bankaus 20
  95. #define dialog_bankueber 21
  96. #define dialog_bankueber2 22
  97.  
  98. /* Pickups */
  99. new pu_neulinghilfe, pu_neulingbike;
  100. new ba_enter, ba_exit, ba_perso, ba_jobs, ba_info;
  101. new ga_enter, ga_exit, ga_shop, ga_job;
  102. new fs_enter, fs_exit, fs_schein;
  103. new lspd_enter, lspd_exit, lspd_dienst, lspd_equip;
  104. new sr_job;
  105. new bank_enter, bank_exit, bank_bank;
  106.  
  107. /* Forwards */
  108. forward payday(playerid);
  109. forward fraklohn(playerid);
  110. forward srcpTimer(playerid);
  111.  
  112. main()
  113. {
  114. print("\n----------------------------------");
  115. print(" Blank Gamemode by your name here");
  116. print("----------------------------------\n");
  117. }
  118.  
  119. public OnGameModeInit()
  120. {
  121. UsePlayerPedAnims();
  122. DisableInteriorEnterExits();
  123.  
  124.  
  125. /* LSPD Car */
  126. LSPD_CAR[0] = AddStaticVehicle(596,1570.4399,-1710.4949,5.6113,0.6949,0,1); // LSPD_CAR 1
  127. LSPD_CAR[1] = AddStaticVehicle(596,1574.5834,-1710.3934,5.6109,359.9300,0,1); // LSPD_CAR 2
  128. LSPD_CAR[2] = AddStaticVehicle(596,1578.6793,-1710.3669,5.6107,0.5482,0,1); // LSPD_CAR 3
  129. LSPD_CAR[3] = AddStaticVehicle(596,1583.2538,-1710.3811,5.6117,359.3189,0,1); // LSPD_CAR 4
  130. LSPD_CAR[4] = AddStaticVehicle(599,1595.3761,-1710.5403,6.0824,0.0282,0,1); // LSPD_CAR 5
  131. LSPD_CAR[5] = AddStaticVehicle(599,1591.6516,-1710.5305,6.0796,358.1169,0,1); // LSPD_CAR 6
  132. LSPD_CAR[6] = AddStaticVehicle(523,1566.8954,-1709.0963,5.4587,2.0923,0,0); // LSPD_BIKE 1
  133. LSPD_CAR[7] = AddStaticVehicle(523,1566.9788,-1712.8610,5.4599,0.6398,0,0); // LSPD_BIKE 2
  134. LSPD_CAR[8] = AddStaticVehicle(523,1561.8364,-1709.2552,5.4626,1.2495,0,0); // LSPD_BIKE 3
  135. LSPD_CAR[9] = AddStaticVehicle(523,1561.8599,-1712.5659,5.4606,0.6423,0,0); // LSPD_BIKE 4
  136.  
  137. /* Stadtreinigung Fahrzeuge */
  138. SR_CAR[0] = AddStaticVehicle(413,2320.8635,-1999.5011,13.6421,359.7327,44,44); // SR_CAR_1
  139. SR_CAR[1] = AddStaticVehicle(413,2316.7712,-1999.4099,13.6431,359.9455,44,44); // SR_CAR_2
  140. SR_CAR[2] = AddStaticVehicle(413,2311.9761,-1999.2805,13.6442,0.5401,44,44); // SR_CAR_3
  141. SR_CAR[3] = AddStaticVehicle(413,2308.1292,-1999.3521,13.6451,359.7598,44,44); // SR_CAR_4
  142.  
  143. /* Fahrschule Fahrzeuge */
  144. FS_CAR[0] = AddStaticVehicle(436,760.2780,-1432.0837,13.2911,181.2780,6,6); // FS_CAR 1
  145. FS_CAR[1] = AddStaticVehicle(436,756.4385,-1432.1337,13.2915,182.2894,6,6);// FS_CAR 2
  146. FS_CAR[2] = AddStaticVehicle(436,752.8109,-1432.2362,13.2918,178.8172,6,6); // FS_CAR 3***
  147. FS_CAR[3] = AddStaticVehicle(436,749.1583,-1432.2531,13.2907,180.1466,6,6); // FS_CAR 4
  148. FS_BIKE[0] = AddStaticVehicle(586,735.1213,-1430.4324,13.0450,180.0353,6,6); // FS_BIKE 1
  149. FS_BIKE[1] = AddStaticVehicle(586,730.9035,-1430.4359,13.0429,174.8516,6,6); // FS_BIKE 2
  150.  
  151. /* Chillias
  152. CreatePlayerObject(playerid,18862, 2298.78223, -1756.74158, 12.54582, 0.00000, 0.00000, 0.00000);
  153. CreatePlayerObject(playerid,18862, 2298.76855, -1767.70886, 12.54582, 0.00000, 0.00000, 0.00000);
  154. CreatePlayerObject(playerid,18862, 2290.51465, -1763.76501, 12.54582, 0.00000, 0.00000, 0.00000);
  155. CreatePlayerObject(playerid,18862, 2292.35547, -1766.26440, 12.54582, 0.00000, 0.00000, 0.00000);
  156. CreatePlayerObject(playerid,18862, 2307.45605, -1757.44897, 12.54582, 0.00000, 0.00000, 0.00000);
  157. CreatePlayerObject(playerid,18862, 2353.14819, -1695.64795, 12.24963, 0.00000, 0.00000, -1.02000);
  158. CreatePlayerObject(playerid,18862, 2350.25513, -1692.04382, 12.24963, 0.00000, 0.00000, -1.02000);
  159. CreatePlayerObject(playerid,18862, 2362.61816, -1694.53796, 12.24963, 0.00000, 0.00000, -1.02000);
  160. CreatePlayerObject(playerid,18862, 2324.69360, -1538.46826, 24.45744, 0.00000, 0.00000, 0.00000);
  161. CreatePlayerObject(playerid,18862, 2321.38037, -1539.66394, 24.45744, 0.00000, 0.00000, 0.00000);
  162. CreatePlayerObject(playerid,18862, 2322.88501, -1535.01697, 24.45744, 0.00000, 0.00000, 0.00000);
  163. CreatePlayerObject(playerid,18862, 2357.41504, -1474.85095, 22.81994, 0.00000, 0.00000, 0.00000);
  164. CreatePlayerObject(playerid,18862, 2358.99731, -1477.73926, 22.81994, 0.00000, 0.00000, 0.00000);
  165. CreatePlayerObject(playerid,18862, 2352.91626, -1469.04272, 22.81994, 0.00000, 0.00000, 0.00000);
  166. CreatePlayerObject(playerid,18862, 2383.32861, -1345.04858, 23.12592, 0.00000, 0.00000, 0.00000);
  167. CreatePlayerObject(playerid,18862, 2383.43799, -1338.94067, 23.12592, 0.00000, 0.00000, 0.00000);
  168. CreatePlayerObject(playerid,18862, 2379.52100, -1328.16638, 22.91676, 0.00000, 0.00000, 0.00000);
  169. CreatePlayerObject(playerid,18862, 2358.08423, -1195.54578, 26.96398, 0.00000, 0.00000, 0.00000);
  170. CreatePlayerObject(playerid,18862, 2354.54712, -1196.10986, 26.96398, 0.00000, 0.00000, 0.00000);
  171. CreatePlayerObject(playerid,18862, 2355.06714, -1205.93848, 26.96398, 0.00000, 0.00000, 0.00000);
  172. CreatePlayerObject(playerid,18862, 2356.03882, -1208.63916, 26.96398, 0.00000, 0.00000, 0.00000);
  173. CreatePlayerObject(playerid,18862, 2418.58057, -1099.80493, 39.58134, 0.00000, 0.00000, 0.00000);
  174. CreatePlayerObject(playerid,18862, 2415.21387, -1098.00464, 39.58134, 0.00000, 0.00000, 0.00000);
  175. CreatePlayerObject(playerid,18862, 2418.14966, -1102.69763, 39.58134, 0.00000, 0.00000, 0.00000);
  176. CreatePlayerObject(playerid,18862, 2217.94067, -1149.27380, 24.80481, 0.00000, 0.00000, 0.00000);
  177. CreatePlayerObject(playerid,18862, 2204.91699, -1138.19141, 24.80481, 0.00000, 0.00000, 0.00000);
  178. CreatePlayerObject(playerid,18862, 2206.57666, -1136.48352, 24.80481, 0.00000, 0.00000, 0.00000); */
  179.  
  180. /* Bürgeramt */
  181. CreateObject(1280, 1319.01855, -1372.92139, 13.16078, 0.00000, 0.00000, 0.00000);
  182. CreateObject(1280, 1318.86743, -1378.87659, 13.15875, 0.00000, 0.00000, 0.30709);
  183. CreateObject(1280, 1318.97290, -1383.49866, 13.26178, 0.00000, 0.00000, 0.00000);
  184. CreateObject(1280, 1301.33191, -1383.81335, 13.16279, 0.00000, 0.00000, 179.40587);
  185. CreateObject(1280, 1301.31226, -1378.77466, 13.15977, 0.00000, 0.00000, 179.40587);
  186. CreateObject(1280, 1301.26978, -1373.24561, 13.06279, 0.00000, 0.00000, 179.40587);
  187. CreateObject(1359, 1301.37451, -1376.10779, 13.34958, 0.00000, 0.00000, 0.00000);
  188. CreateObject(1359, 1301.40393, -1381.27222, 13.34656, 0.00000, 0.00000, 0.00000);
  189. CreateObject(1359, 1318.88696, -1381.48059, 13.52825, 0.00000, 0.00000, 0.00000);
  190. CreateObject(1359, 1318.97485, -1376.32593, 13.52319, 0.00000, 0.00000, 0.00000);
  191. CreateObject(673, 1298.98462, -1373.21326, 12.54076, 0.00000, 0.00000, 0.00000);
  192. CreateObject(673, 1298.93787, -1378.65967, 12.54076, 0.00000, 0.00000, 0.00000);
  193. CreateObject(673, 1299.06238, -1383.90637, 12.54076, 0.00000, 0.00000, 0.00000);
  194. CreateObject(673, 1290.97778, -1383.90027, 12.54076, 0.00000, 0.00000, 0.00000);
  195. CreateObject(673, 1290.96277, -1378.46838, 12.54076, 0.00000, 0.00000, 0.00000);
  196. CreateObject(673, 1291.01038, -1373.24329, 12.54076, 0.00000, 0.00000, 0.00000);
  197. CreateObject(673, 1290.77637, -1378.47192, 15.02396, 0.00000, 0.00000, 0.00000);
  198. CreateObject(673, 1321.35767, -1383.50256, 12.54076, 0.00000, 0.00000, 0.00000);
  199. CreateObject(673, 1321.23962, -1378.62476, 12.54076, 0.00000, 0.00000, 0.00000);
  200. CreateObject(673, 1321.30273, -1372.70105, 12.54076, 0.00000, 0.00000, 0.00000);
  201. CreateObject(673, 1329.13318, -1372.69470, 12.54076, 0.00000, 0.00000, 0.00000);
  202. CreateObject(673, 1329.48596, -1378.55237, 12.54076, 0.00000, 0.00000, 0.00000);
  203. CreateObject(673, 1329.34998, -1383.66980, 12.54076, 0.00000, 0.00000, 0.00000);
  204. CreateObject(970, 1312.77429, -1369.58716, 13.09613, 0.00000, 0.00000, 90.04203);
  205. CreateObject(970, 1307.43640, -1369.72485, 13.09613, 0.00000, 0.00000, 90.04203);
  206. CreateObject(970, 1317.34619, -1369.62292, 13.09613, 0.00000, 0.00000, 90.04203);
  207. CreateObject(970, 1302.90454, -1369.71692, 13.09613, 0.00000, 0.00000, 90.04203);
  208. CreateObject(970, 1277.19653, -1385.00317, 12.89513, 0.00000, 0.00000, 181.99702);
  209. CreateObject(970, 1281.27051, -1384.88696, 12.89513, 0.00000, 0.00000, 181.99702);
  210. CreateObject(970, 1284.98328, -1384.80249, 12.89513, 0.00000, 0.00000, 180.15036);
  211. CreateObject(8406, 1270.26807, -1340.35522, 17.53358, 0.00000, 0.00000, 89.89646);
  212. CreateObject(4641, 1269.88074, -1347.30554, 13.86698, 0.00000, 0.00000, 0.00000);
  213. CreateObject(970, 1277.19653, -1385.00317, 12.89513, 0.00000, 0.00000, 181.99702);
  214. CreateObject(970, 1273.04919, -1385.08862, 12.89513, 0.00000, 0.00000, 180.21056);
  215. CreateObject(970, 1273.03687, -1290.78528, 12.99714, 0.00000, 0.00000, 180.21056);
  216. CreateObject(970, 1277.17810, -1290.74329, 12.99714, 0.00000, 0.00000, 180.21056);
  217. CreateObject(970, 1281.32288, -1290.69971, 12.99714, 0.00000, 0.00000, 180.21056);
  218. CreateObject(970, 1285.46313, -1290.70288, 12.99714, 0.00000, 0.00000, 180.21056);
  219. CreateObject(4239, 1407.90625, -1407.39844, 33.98438, 356.85840, 0.00000, -3.14159);
  220. CreateObject(955, 1288.00964, -1367.81140, 12.92504, 0.00000, 0.00000, 0.00000);
  221.  
  222.  
  223. SetGameModeText("Blank Script");
  224. AddPlayerClass(0, 403.5814,-1537.6340,32.2734,225.8538, 0, 0, 0, 0, 0, 0);
  225.  
  226. /* Textlabel */
  227. Create3DTextLabel("/neulinghilfe",-1,404.8203,-1545.2534,32.2734,50,0,0);
  228. Create3DTextLabel("/getabike",-1,410.5297,-1540.1823,32.2734,50,0,0);
  229. Create3DTextLabel("Gärtner\n/job",-1,-19.2129,-52.2126,1003.5469,50,0,0);
  230.  
  231. Create3DTextLabel("Bürgeramt\nDrücke 'ENTER'",-1,1310.1595,-1367.9177,13.5423,50,0,0);
  232. Create3DTextLabel("Bürgeramt\nDrücke 'ENTER'",-1,389.3670,173.7937,1008.3828,50,0,0);
  233. Create3DTextLabel("Bürgeramt Information\n'ENTER'",-1,362.6432,173.5178,1008.3828,50,0);
  234. Create3DTextLabel("Personalausweis beantragen\n/beantragen",-1,359.7191,163.3947,1008.3828,50,0);
  235. Create3DTextLabel("Jobangebote\n/jobs",-1,359.2031,186.5015,1008.3828,50,0);
  236.  
  237. Create3DTextLabel("Gärtnerei\n'ENTER'",-1,2129.5630,-1211.9393,23.9636,50,0);
  238. Create3DTextLabel("Gärtnerei\n'ENTER'",-1,-27.3445,-57.4062,1003.5469,50,0);
  239.  
  240. Create3DTextLabel("Fahrschule\n'ENTER'",-1,725.5923,-1439.5819,13.5318,50,0);
  241. Create3DTextLabel("Fahrschule\n'ENTER'",-1,1494.4595,1304.2950,1093.2891,50,0);
  242. Create3DTextLabel("Scheine kaufen\n/scheine",-1,1491.1119,1305.6390,1093.2964,50,0);
  243.  
  244. Create3DTextLabel("Los Santos Police Departement\n'ENTER'",-1,1554.2347,-1675.6572,16.1953,50,0);
  245. Create3DTextLabel("Los Santos Police Departement\n'ENTER'",-1,246.7731,62.9349,1003.6406,50,0);
  246. Create3DTextLabel("/dienst\num dich in Dienst zu melden",-1,253.3742,63.3675,1003.6406,50,0);
  247. Create3DTextLabel("Drücke 'N'\num den Waffenschrank zu öffnen",-1,254.3358,76.8351,1003.6406,50,0);
  248.  
  249. Create3DTextLabel("Los Santos Bank\n'ENTER'",-1,1467.2634,-1011.1531,26.8438,50,0);
  250. Create3DTextLabel("Los Santos Bank\n'ENTER'",-1,2315.5583,-0.2925,26.7422,50,0);
  251. Create3DTextLabel("Drücke 'N'\num auf dein Konto zu zugreifen",-1,2316.2898,-10.0276,26.7422,50,0);
  252.  
  253. /* Pickups */
  254. pu_neulinghilfe = CreatePickup(1239,19,404.8203,-1545.2534,32.2734,0);
  255. pu_neulingbike = CreatePickup(1239,19,410.5297,-1540.1823,32.2734,0);
  256.  
  257. ba_enter = CreatePickup(1318,19,1310.1595,-1367.9177,13.5423,0);
  258. ba_exit = CreatePickup(1318,19,389.3670,173.7937,1008.3828,0);
  259. ba_info = CreatePickup(1239,19,362.6432,173.5178,1008.3828,0);
  260. ba_perso = CreatePickup(1239,19,359.7191,163.3947,1008.3828,0);
  261. ba_jobs = CreatePickup(1239,19,359.2031,186.5015,1008.3828,0);
  262.  
  263. ga_enter = CreatePickup(1318,19,2129.5630,-1211.9393,23.9636,0);
  264. ga_exit = CreatePickup(1318,19,-27.3445,-57.4062,1003.5469,0);
  265. ga_job = CreatePickup(1239,19,-19.2129,-52.2126,1003.5469,0);
  266.  
  267. fs_enter = CreatePickup(1318,19,725.5923,-1439.5819,13.5318,0);
  268. fs_exit = CreatePickup(1318,19,1494.4595,1304.2950,1093.2891,0);
  269. fs_schein = CreatePickup(1239,19,1491.1119,1305.6390,1093.2964,0);
  270.  
  271. lspd_enter = CreatePickup(1318,19,1554.2347,-1675.6572,16.1953,0);
  272. lspd_exit = CreatePickup(1318,19,246.7731,62.9349,1003.6406,0);
  273. lspd_dienst = CreatePickup(1247,19,253.3742,63.3675,1003.6406,0);
  274. lspd_equip = CreatePickup(1275,19,254.3358,76.8351,1003.6406,0);
  275.  
  276. sr_job = CreatePickup(1239,19,2305.8481,-1985.5208,13.5630,0);
  277.  
  278. bank_enter = CreatePickup(1318,19,1467.2634,-1011.1531,26.8438,0);
  279. bank_exit = CreatePickup(1318,19,2315.5583,-0.2925,26.7422,0);
  280. bank_bank = CreatePickup(1274,19,2316.2898,-10.0276,26.7422,0);
  281.  
  282. return 1;
  283. }
  284.  
  285. public OnGameModeExit()
  286. {
  287. return 1;
  288. }
  289.  
  290. public OnPlayerRequestClass(playerid, classid)
  291. {
  292. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  293. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  294. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  295. return 1;
  296. }
  297.  
  298. public OnPlayerConnect(playerid)
  299. {
  300. SetPlayerColor(playerid,-1);
  301. new pfad[128];
  302. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  303. if(dini_Exists(pfad))
  304. {
  305. ShowPlayerDialog(playerid,dialog_login,DIALOG_STYLE_INPUT,"Login","Loginpasswort:","Weiter","Abbrechen");
  306. return 1;
  307. }
  308. else
  309. {
  310. ShowPlayerDialog(playerid,dialog_register,DIALOG_STYLE_INPUT,"Registrierung","Registrierungspasswort:","Weiter","Abbrechen");
  311. }
  312. return 1;
  313. }
  314.  
  315. public OnPlayerDisconnect(playerid, reason)
  316. {
  317. KillTimer(PayDayTimer[playerid]);
  318. SavePlayer(playerid);
  319. ResetPlayerVars(playerid);
  320. return 1;
  321. }
  322.  
  323. public OnPlayerSpawn(playerid)
  324. {
  325. new pfad[128];
  326. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  327. SetPlayerSkin(playerid,dini_Int(pfad,"Skin"));
  328. return 1;
  329. }
  330.  
  331. public OnPlayerDeath(playerid, killerid, reason)
  332. {
  333. if(sDaten[killerid][Fraktion] == 1)
  334. {
  335. new wanteds, str[20];
  336. wanteds = GetPlayerWantedLevel(playerid);
  337. format(str,sizeof(str),"~g~+%i$",wanteds*100);
  338. GivePlayerMoney(killerid,wanteds*100);
  339. return 1;
  340. }
  341. return 1;
  342. }
  343.  
  344. public OnVehicleSpawn(vehicleid)
  345. {
  346. return 1;
  347. }
  348.  
  349. public OnVehicleDeath(vehicleid, killerid)
  350. {
  351. return 1;
  352. }
  353.  
  354. public OnPlayerText(playerid, text[])
  355. {
  356. return 1;
  357. }
  358. /* OCMD */
  359. /* Fahrschule OCMD */
  360. ocmd:scheine(playerid,params[])
  361. {
  362. if(IsPlayerInRangeOfPoint(playerid,3,1491.1119,1305.6390,1093.2964))
  363. {
  364. ShowPlayerDialog(playerid,dialog_fahrschule,DIALOG_STYLE_LIST,"Fahrschule","Autoführerschein [1700$]\nMotorradführerschein [1900$]","Weiter","Abbrechen");
  365. return 1;
  366. }
  367. else
  368. {
  369. SendClientMessage(playerid,-1,"Du musst in der Fahrschule sein. /stadtplan");
  370. }
  371. return 1;
  372. }
  373.  
  374. /* Gärtnerei OCMD */
  375. ocmd:job(playerid,params[])
  376. {
  377. if(sDaten[playerid][Job] == 0)return SendClientMessage(playerid,-1,"Du hast keinen Job. Im Bürgeramt kannst du dir einen aussuchen.");
  378. if(sDaten[playerid][Job] == 1)
  379. {
  380. if(IsPlayerInRangeOfPoint(playerid,3.0,-19.2129,-52.2126,1003.5469))
  381. {
  382. if(amarbeiten[playerid] == 0)
  383. {
  384. ShowPlayerDialog(playerid,dialog_gajob,DIALOG_STYLE_LIST,"Gärtnerei",".::Wähle ein Viertel::.\n1. Viertel\n2. Viertel","Wählen","Abbrechen");
  385. return 1;
  386. }
  387. else
  388. {
  389. ShowPlayerDialog(playerid,dialog_abbjob,DIALOG_STYLE_LIST,"Gärtnerei","Willst du deine Schicht beenden?","Ja","Nein");
  390. return 1;
  391. }
  392. }
  393. }
  394. if(sDaten[playerid][Job] == 3)
  395. {
  396. if(IsPlayerInRangeOfPoint(playerid,3.0,2305.8481,-1985.5208,13.5630))
  397. {
  398. if(amarbeiten[playerid] == 0)
  399. {
  400. ShowPlayerDialog(playerid,dialog_srjob,DIALOG_STYLE_LIST,"Stadtreinigung",".::Wähle deine Route::.\nRoute 1","Wählen","Abbrechen");
  401. return 1;
  402. }
  403. else
  404. {
  405. ShowPlayerDialog(playerid,dialog_abbjob,DIALOG_STYLE_LIST,"Stadtreinigung","Willst du deine Schicht beenden?","Ja","Nein");
  406. return 1;
  407. }
  408. }
  409. }
  410. return 1;
  411. }
  412. /* Bürgeramt OCMD */
  413. ocmd:jobs(playerid,params[])
  414. {
  415. if(IsPlayerInRangeOfPoint(playerid,3.0,359.2031,186.5015,1008.3828))
  416. {
  417. if(sDaten[playerid][Personalausweis] == 1)
  418. {
  419. ShowPlayerDialog(playerid,dialog_jobauswahl,DIALOG_STYLE_LIST,"Jobkatalog",".::Wähle ein Job aus::.\nGärtner\nMüllmann\nStadtreinigung\nJob kündigen","Weiter","Abbrechen");
  420. return 1;
  421. }
  422. else
  423. {
  424. SendClientMessage(playerid,-1,"Du brauchst erst ein Personalausweis bevor du dir ein Job zulegst.");
  425. return 1;
  426. }
  427. }
  428. else
  429. {
  430. SendClientMessage(playerid,-1,"Du musst im Bürgeramt sein.");
  431. }
  432. return 1;
  433. }
  434. ocmd:beantragen(playerid,params[])
  435. {
  436. if(IsPlayerInRangeOfPoint(playerid,3.0,359.7191,163.3947,1008.3828))
  437. {
  438. if(sDaten[playerid][Personalausweis] == 1)
  439. {
  440. SendClientMessage(playerid,-1,"Du hast bereits ein Personalausweis.");
  441. return 1;
  442. }
  443. else
  444. {
  445. ShowPlayerDialog(playerid,dialog_perso,DIALOG_STYLE_MSGBOX,"Personalausweis beantragen","Möchtest du ein Personalausweis für 160$ beantragen?\nDieser ermöglicht dir den Erwerb von Autos, Häuser, u.s.w.","Ja","Nein");
  446. return 1;
  447. }
  448. }
  449. else
  450. {
  451. SendClientMessage(playerid,-1,"Du musst im Bürgeramt sein um ein Personalausweis beantragen zu können! /stadtplan");
  452. }
  453. return 1;
  454. }
  455. /* LSPD OCMD */
  456. ocmd:cuff(playerid,params[])
  457. {
  458. if(sDaten[playerid][Fraktion] == 1)
  459. {
  460. new Float:x, Float:y, Float:z, pid;
  461. if(sscanf(params,"i",pid))return SendClientMessage(playerid,-1,"/cuff [SpielerID]");
  462. GetPlayerPos(playerid,x,y,z);
  463. if(!IsPlayerInRangeOfPoint(pid,5,x,y,z))return SendClientMessage(playerid,-1,"Der angegebene Spieler ist nicht in deiner Nähe");
  464. if(isCuffed[playerid] == 0){
  465. SetPlayerSpecialAction(pid,SPECIAL_ACTION_CUFFED);
  466. isCuffed[playerid] = 1;
  467. return 1;
  468. }
  469. if(isCuffed[playerid] == 1){
  470. ClearAnimations(playerid);
  471. isCuffed[playerid] = 0;
  472. return 1;
  473. }
  474. }
  475. return 1;
  476. }
  477. ocmd:inthebau(playerid,params[])
  478. {
  479. SetPlayerPos(playerid,270.0000,77.5641,1001.0391);
  480. return 1;
  481. }
  482. ocmd:arrest(playerid,params[])
  483. {
  484. new pid, Float:x, Float:y, Float:z;
  485. GetPlayerPos(playerid,x,y,z);
  486. if(sscanf(params,"i",pid))return SendClientMessage(playerid,-1,"/arrest [SpielerID]");
  487. if(GetPlayerWantedLevel(pid) == 0)return SendClientMessage(playerid,-1,"Der Spieler hat keine Wanteds.");
  488. if(!IsPlayerInRangeOfPoint(pid,10,x,y,z))return SendClientMessage(playerid,-1,"Der Spieler muss in deine Nähe sein.");
  489. return 1;
  490. }
  491. ocmd:wantedlist(playerid,params[])
  492. {
  493. return 1;
  494. }
  495. ocmd:w(playerid,params[])
  496. {
  497. if(sDaten[playerid][Fraktion] == 1)
  498. {
  499. new pid;
  500. if(sscanf(params,"i",pid))return SendClientMessage(playerid,-1,"/w [SpielerID]");
  501. pid = wantedID;
  502. ShowPlayerDialog(playerid,dialog_wanteds,DIALOG_STYLE_LIST,"Wantedvergabe","Mord\nAngriff (Schusswaffe)\nAngriff (Fahrzeug)\nFlucht\nBeihilfe zur Flucht\nVersuchten Mordes","Ok","Abbrechen");
  503. return 1;
  504. }
  505. return 1;
  506. }
  507. /* Fraktion OCMD */
  508. ocmd:dienst(playerid,params[])
  509. {
  510. switch(sDaten[playerid][Fraktion])
  511. {
  512. case 0:{SendClientMessage(playerid,-1,"Du bist kein Member einer Fraktion!");}
  513. case 1:{
  514. if(IsPlayerInRangeOfPoint(playerid,3,253.3742,63.3675,1003.6406)){
  515. if(imDienst[playerid] == 0)
  516. {
  517. SetPlayerColor(playerid,color_lspd);
  518. switch(sDaten[playerid][Rang])
  519. {
  520. case 1:{
  521. imDienst[playerid] = 1;
  522. ResetPlayerWeapons(playerid);
  523. SetPlayerSkin(playerid,280);
  524. SendClientMessage(playerid,-1,"Du bist nun im Dienst als Praktikant.");
  525. fraklohntimer = SetTimer("fraklohn",60000,true);
  526. return 1;
  527. }
  528. case 2:{
  529. imDienst[playerid] = 1;
  530. ResetPlayerWeapons(playerid);
  531. SetPlayerSkin(playerid,281);
  532. SendClientMessage(playerid,-1,"Du bist nun im Dienst als Azubi.");
  533. fraklohntimer = SetTimer("fraklohn",60000,true);
  534. return 1;
  535. }
  536. case 3:{
  537. imDienst[playerid] = 1;
  538. ResetPlayerWeapons(playerid);
  539. SetPlayerSkin(playerid,281);
  540. SendClientMessage(playerid,-1,"Du bist nun im Dienst als Offizer.");
  541. fraklohntimer = SetTimer("fraklohn",60000,true);
  542. return 1;
  543. }
  544. case 4:{
  545. imDienst[playerid] = 1;
  546. ResetPlayerWeapons(playerid);
  547. SetPlayerSkin(playerid,282);
  548. SendClientMessage(playerid,-1,"Du bist nun im Dienst als Kommissar.");
  549. fraklohntimer = SetTimer("fraklohn",60000,true);
  550. return 1;
  551. }
  552. case 5:{
  553. imDienst[playerid] = 1;
  554. ResetPlayerWeapons(playerid);
  555. SetPlayerSkin(playerid,282);
  556. SendClientMessage(playerid,-1,"Du bist nun im Dienst als Haupt-Kommissar.");
  557. fraklohntimer = SetTimer("fraklohn",60000,true);
  558. return 1;
  559. }
  560. case 6:{
  561. imDienst[playerid] = 1;
  562. ResetPlayerWeapons(playerid);
  563. SetPlayerSkin(playerid,283);
  564. SendClientMessage(playerid,-1,"Du bist nun im Dienst als Sheriff.");
  565. fraklohntimer = SetTimer("fraklohn",60000,true);
  566. return 1;
  567. }
  568. }
  569. return 1;
  570. }
  571. else
  572. {
  573. SetPlayerSkin(playerid,sDaten[playerid][Skin]);
  574. SetPlayerColor(playerid,-1);
  575. ResetPlayerWeapons(playerid);
  576. imDienst[playerid] = 0;
  577. SendClientMessage(playerid,-1,"Du bist nun nicht mehr im Dienst.");
  578. KillTimer(fraklohntimer);
  579. return 1;
  580. }
  581. }
  582. else
  583. {
  584. SendClientMessage(playerid,-1,"Du bist nicht im Police Departement.");
  585. return 1;
  586. }
  587. }
  588. }
  589. return 1;
  590. }
  591. /* (normal) User-OCMD */
  592. ocmd:bank(playerid,params[])
  593. {
  594. new str[128];
  595. format(str,sizeof(str),"Du hast %i$ auf der Bank",sDaten[playerid][Bank]);
  596. SendClientMessage(playerid,-1,str);
  597. return 1;
  598. }
  599. ocmd:setfrak(playerid,params[])
  600. {
  601. new pid;
  602. if(sscanf(params,"i",pid))
  603. sDaten[pid][Fraktion] = 1;
  604. sDaten[pid][Rang] = 1;
  605. SendClientMessage(pid,-1,"Du bist nun LSPD - Praktikant (Rang 1)");
  606. return 1;
  607. }
  608. ocmd:setrang(playerid,params[])
  609. {
  610. new rang;
  611. if(sscanf(params,"i",rang))return SendClientMessage(playerid,-1,"/setrang [Rang]");
  612. sDaten[playerid][Rang] = rang;
  613. return 1;
  614. }
  615. ocmd:stats(playerid,params[])
  616. {
  617. if(sDaten[playerid][Personalausweis] == 1)
  618. {
  619. new jobname[64];
  620. switch(sDaten[playerid][Job])
  621. {
  622. case 0:{jobname="Keinen";}
  623. case 1:{jobname="Gärtner";}
  624. case 2:{jobname="Müllmann";}
  625. case 3:{jobname="Stadtreinigung";}
  626. }
  627. new frakname[64];
  628. switch(sDaten[playerid][Fraktion])
  629. {
  630. case 0:{frakname="Keine";}
  631. case 1:{frakname="Los Santos Police Departement";}
  632. }
  633.  
  634. new autoschein[5];
  635. switch(sDaten[playerid][Autoschein])
  636. {
  637. case 0:{autoschein="Nein";}
  638. case 1:{autoschein="Ja";}
  639. }
  640. new motorradschein[5];
  641. switch(sDaten[playerid][Motorradschein])
  642. {
  643. case 0:{motorradschein="Nein";}
  644. case 1:{motorradschein="Ja";}
  645. }
  646. new zeile1[200];
  647. format(zeile1,sizeof(zeile1),"Name: %s\nGeld: %i$\nBank: %i$\nLevel: %i\nPayday: %i Minuten\nLohn: %i$\nJob: %s\nFraktion: %s\nRang: %i/6\nFraktionslohn: %i$\nAutoschein: %s\nMotorradschein: %s",getPlayerName(playerid),GetPlayerMoney(playerid),sDaten[playerid][Bank],GetPlayerScore(playerid),sDaten[playerid][Payday],sDaten[playerid][Lohn],jobname,frakname,sDaten[playerid][Rang],sDaten[playerid][Fraktionslohn],autoschein,motorradschein);
  648. ShowPlayerDialog(playerid,dialog_stats,DIALOG_STYLE_MSGBOX,"Deine Statistiken",zeile1,"Ok","");
  649. return 1;
  650. }
  651. else
  652. {
  653. SendClientMessage(playerid,-1,"Du brauchst erst einen Personalausweis.");
  654. }
  655. return 1;
  656. }
  657. ocmd:stadtplan(playerid,params[])
  658. {
  659. ShowPlayerDialog(playerid,dialog_stadtplan,DIALOG_STYLE_LIST,"Stadtplan","Checkpoint entfernen\nMein Job\nBürgeramt\nFahrschule","Weiter","Abbrechen");
  660. return 1;
  661. }
  662. /* Neuling-OCMD */
  663. ocmd:getabike(playerid,params[])
  664. {
  665. if(IsPlayerInRangeOfPoint(playerid,3,410.5297,-1540.1823,32.2734))
  666. {
  667. new Float:x, Float:y, Float:z, Float:r, bike;
  668. GetPlayerPos(playerid,x,y,z);
  669. GetPlayerFacingAngle(playerid,r);
  670. bike = CreateVehicle(510,x,y,z,r,-1,-1,-1);
  671. PutPlayerInVehicle(playerid,bike,0);
  672. return 1;
  673. }
  674. return 1;
  675. }
  676. ocmd:neulinghilfe(playerid,params[])
  677. {
  678. ShowPlayerDialog(playerid,dialog_neulinghilfe,DIALOG_STYLE_MSGBOX,"Neulinghilfe","Zuerst solltest du dir einen Personalausweis und ein Führerschein zulegen.\nDanach kannst du einen Job annehmen und Geld verdienen.\nWeiteres findest du unter /stadtplan","Ok","");
  679. return 1;
  680. }
  681. /**************************** Admin-OCMD *****************************/
  682. ocmd:getdeagle(playerid,params[])
  683. {
  684. GivePlayerWeapon(playerid,24,5000);
  685. return 1;
  686. }
  687. ocmd:makeadmin(playerid,params[])
  688. {
  689. if(sDaten[playerid][Adminlevel] == 4)
  690. {
  691. new pid, adminlevel, str[128];
  692. if(sscanf(params,"ii",pid,adminlevel))return SendClientMessage(playerid,-1,"/makeadmin [SpielerID] [Adminlevel]");
  693. format(str,sizeof(str),"%s wurde zum Adminrang %i ernannt!",getPlayerName(pid),adminlevel);
  694. sDaten[pid][Adminlevel] = adminlevel;
  695. SendClientMessageToAll(-1,str);
  696. return 1;
  697. }
  698. else
  699. {
  700. SendClientMessage(playerid,-1,"Dein Adminrang reicht nicht aus.");
  701. }
  702. return 1;
  703. }
  704.  
  705. ocmd:kick(playerid,params[])
  706. {
  707. if(sDaten[playerid][Adminlevel] == 1)
  708. {
  709. new pid, reason[20], str[128];
  710. if(sscanf(params,"iu",pid,reason))return SendClientMessage(playerid,-1,"/kick [SpielerID] [Grund]");
  711. format(str,sizeof(str),"%s wurde von Admin %s aus folgendem Grund gekickt: %d",getPlayerName(pid),getPlayerName(playerid),reason);
  712. Kick(pid);
  713. return 1;
  714. }
  715. return 1;
  716. }
  717.  
  718. ocmd:ban(playerid,params[])
  719. {
  720. if(sDaten[playerid][Adminlevel] == 1)
  721. {
  722. new pid, reason[20], str[128];
  723. if(sscanf(params,"iu",pid,reason))return SendClientMessage(playerid,-1,"/ban [SpielerID] [Grund]");
  724. format(str,sizeof(str),"%s wurde von Admin %s aus folgendem Grund gebannt: %d",getPlayerName(pid),getPlayerName(playerid),reason);
  725. Ban(playerid);
  726. return 1;
  727. }
  728. return 1;
  729. }
  730.  
  731. ocmd:view(playerid,params[])
  732. {
  733. if(sDaten[playerid][Adminlevel] == 1)
  734. {
  735. if(isViewing[playerid] == 0)
  736. {
  737. new pid;
  738. if(sscanf(params,"i",pid))return SendClientMessage(playerid,-1,"/view [SpielerID]");
  739. isViewing[playerid] = 1;
  740. SetCameraBehindPlayer(pid);
  741. return 1;
  742. }
  743. else
  744. {
  745. isViewing[playerid] = 0;
  746. SetCameraBehindPlayer(playerid);
  747. return 1;
  748. }
  749. }
  750. else
  751. {
  752. SendClientMessage(playerid,-1,"Du bist kein Admin.");
  753. }
  754. return 1;
  755. }
  756.  
  757.  
  758. ocmd:getcash(playerid,params[])
  759. {
  760. GivePlayerMoney(playerid,10000);
  761. return 1;
  762. }
  763. ocmd:setpaydayone(playerid,params[])
  764. {
  765. sDaten[playerid][Payday] = 1;
  766. SendClientMessage(playerid,-1,"Dein Payday wurde auf 1 gestellt.");
  767. return 1;
  768. }
  769. ocmd:lookpayday(playerid,params[])
  770. {
  771. new str[128];
  772. format(str,sizeof(str),"Du musst noch %i Minuten warten.",sDaten[playerid][Payday]);
  773. SendClientMessage(playerid,-1,str);
  774. return 1;
  775. }
  776.  
  777. ocmd:gmx(playerid,params[])
  778. {
  779. SendRconCommand("gmx");
  780. return 1;
  781. }
  782.  
  783. ocmd:getacar(playerid,params[])
  784. {
  785. new str[128], vehid, car, Float:x, Float:y, Float:z, Float:r;
  786. GetPlayerPos(playerid,x,y,z),
  787. GetPlayerFacingAngle(playerid,r);
  788. if(sscanf(params,"i",vehid))return SendClientMessage(playerid,-1,"/getacar [CarID]");
  789. car = CreateVehicle(vehid,x,y,z,r,-1,-1,-1,0);
  790. PutPlayerInVehicle(playerid,car,0);
  791. format(str,sizeof(str),"Du hast dir die AutoID %i gespawnt",vehid);
  792. SendClientMessage(playerid,-1,str);
  793. return 1;
  794. }
  795.  
  796. public OnPlayerCommandText(playerid, cmdtext[])
  797. {
  798. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  799. {
  800. return 1;
  801. }
  802. return 0;
  803. }
  804.  
  805. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  806. {
  807. return 1;
  808. }
  809.  
  810. public OnPlayerExitVehicle(playerid, vehicleid)
  811. {
  812. return 1;
  813. }
  814.  
  815. public OnPlayerStateChange(playerid, newstate, oldstate)
  816. {
  817. if(newstate == PLAYER_STATE_DRIVER)
  818. {
  819. for(new car = 0; car<sizeof(FS_CAR); car++)
  820. {
  821. if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == FS_CAR[car])
  822. {
  823. if(inFahrstundeAuto[playerid] == 0)
  824. {
  825. RemovePlayerFromVehicle(playerid);
  826. SendClientMessage(playerid,-1,"Du bist in keiner Fahrstunde.");
  827. return 1;
  828. }
  829. }
  830. }
  831. }
  832. if(newstate == PLAYER_STATE_DRIVER)
  833. {
  834. for(new car = 0; car<sizeof(FS_BIKE); car++)
  835. {
  836. if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == FS_BIKE[car])
  837. {
  838. if(inFahrstundeMotorrad[playerid] == 0)
  839. {
  840. RemovePlayerFromVehicle(playerid);
  841. SendClientMessage(playerid,-1,"Du bist in keiner Fahrstunde.");
  842. return 1;
  843. }
  844. }
  845. }
  846. }
  847. if(newstate == PLAYER_STATE_DRIVER)
  848. {
  849. for(new car = 0; car<sizeof(LSPD_CAR); car++)
  850. {
  851. if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == LSPD_CAR[car])
  852. {
  853. if(sDaten[playerid][Fraktion] != 1)
  854. {
  855. RemovePlayerFromVehicle(playerid);
  856. SendClientMessage(playerid,-1,"Du darfst dieses Auto nicht fahren!");
  857. return 1;
  858. }
  859. }
  860. }
  861. }
  862. if(newstate == PLAYER_STATE_DRIVER)
  863. {
  864. if(sDaten[playerid][Autoschein] == 0)return SendClientMessage(playerid,-1,"Du hast kein Führerschein! Pass auf das du nicht erwischt wirst.");
  865. return 1;
  866. }
  867. return 1;
  868. }
  869.  
  870. public OnPlayerEnterCheckpoint(playerid)
  871. {
  872. DisablePlayerCheckpoint(playerid);
  873. /* stadtreinigung */
  874. if(CP_SR_ROUTE1[playerid] == 1)
  875. {
  876. FreezePlayer(playerid);
  877. SetTimer("srcpTimer",2000,false);
  878. CP_SR_ROUTE1[playerid] = 2;
  879. SetPlayerCheckpoint(playerid,2292.3831,-1763.7070,13.5469,1);
  880. return 1;
  881. }
  882. if(CP_SR_ROUTE1[playerid] == 2)
  883. {
  884. FreezePlayer(playerid);
  885. SetTimer("srcpTimer",2000,false);
  886. CP_SR_ROUTE1[playerid] = 3;
  887. SetPlayerCheckpoint(playerid,2291.8525,-1764.2328,13.5469,1);
  888. return 1;
  889. }
  890. if(CP_SR_ROUTE1[playerid] == 3)
  891. {
  892. FreezePlayer(playerid);
  893. SetTimer("srcpTimer",2000,false);
  894. CP_SR_ROUTE1[playerid] = 4;
  895. SetPlayerCheckpoint(playerid,2305.3979,-1755.5901,13.5872,1);
  896. return 1;
  897. }
  898. if(CP_SR_ROUTE1[playerid] == 4)
  899. {
  900. FreezePlayer(playerid);
  901. SetTimer("srcpTimer",2000,false);
  902. CP_SR_ROUTE1[playerid] = 5;
  903. SetPlayerCheckpoint(playerid,2300.6379,-1756.5129,13.5469,1);
  904. return 1;
  905. }
  906. if(CP_SR_ROUTE1[playerid] == 5)
  907. {
  908. FreezePlayer(playerid);
  909. SetTimer("srcpTimer",2000,false);
  910. CP_SR_ROUTE1[playerid] = 6;
  911. SetPlayerCheckpoint(playerid,2305.5359,-1757.3994,13.6478,1);
  912. return 1;
  913. }
  914. if(CP_SR_ROUTE1[playerid] == 6)
  915. {
  916. FreezePlayer(playerid);
  917. SetTimer("srcpTimer",2000,false);
  918. CP_SR_ROUTE1[playerid] = 7;
  919. SetPlayerCheckpoint(playerid,2305.5359,-1757.3994,13.6478,1);
  920. return 1;
  921. }
  922. /* Fahrschule */
  923. if(FS_RAD_CP[playerid] == 1)
  924. {
  925. FS_RAD_CP[playerid] = 2;
  926. SetPlayerCheckpoint(playerid,784.5012,-1402.7208,12.8889,4);
  927. return 1;
  928. }
  929. if(FS_RAD_CP[playerid] == 2)
  930. {
  931. FS_RAD_CP[playerid] = 3;
  932. SetPlayerCheckpoint(playerid,799.0596,-1357.6122,12.9045,4);
  933. return 1;
  934. }
  935. if(FS_RAD_CP[playerid] == 3)
  936. {
  937. FS_RAD_CP[playerid] = 4;
  938. SetPlayerCheckpoint(playerid,799.5233,-1212.8206,15.9248,4);
  939. return 1;
  940. }
  941. if(FS_RAD_CP[playerid] == 4)
  942. {
  943. FS_RAD_CP[playerid] = 5;
  944. SetPlayerCheckpoint(playerid,797.4531,-1068.6191,24.0211,4);
  945. return 1;
  946. }
  947. if(FS_RAD_CP[playerid] == 5)
  948. {
  949. FS_RAD_CP[playerid] = 6;
  950. SetPlayerCheckpoint(playerid,883.6904,-993.6688,35.3768,4);
  951. return 1;
  952. }
  953. if(FS_RAD_CP[playerid] == 6)
  954. {
  955. FS_RAD_CP[playerid] = 7;
  956. SetPlayerCheckpoint(playerid,1027.4548,-962.9062,41.8745,4);
  957. return 1;
  958. }
  959. if(FS_RAD_CP[playerid] == 7)
  960. {
  961. FS_RAD_CP[playerid] = 8;
  962. SetPlayerCheckpoint(playerid,1220.1786,-940.6635,42.1528,4);
  963. return 1;
  964. }
  965. if(FS_RAD_CP[playerid] == 8)
  966. {
  967. FS_RAD_CP[playerid] = 9;
  968. SetPlayerCheckpoint(playerid,1360.1007,-952.7680,33.7109,4);
  969. return 1;
  970. }
  971. if(FS_RAD_CP[playerid] == 9)
  972. {
  973. FS_RAD_CP[playerid] = 10;
  974. SetPlayerCheckpoint(playerid,1343.0305,-1103.4272,23.3440,4);
  975. return 1;
  976. }
  977. if(FS_RAD_CP[playerid] == 10)
  978. {
  979. FS_RAD_CP[playerid] = 11;
  980. SetPlayerCheckpoint(playerid,1294.9023,-1278.2041,12.9045,4);
  981. return 1;
  982. }
  983. if(FS_RAD_CP[playerid] == 11)
  984. {
  985. FS_RAD_CP[playerid] = 12;
  986. SetPlayerCheckpoint(playerid,1254.8167,-1313.8020,12.5294,4);
  987. return 1;
  988. }
  989. if(FS_RAD_CP[playerid] == 12)
  990. {
  991. FS_RAD_CP[playerid] = 13;
  992. SetPlayerCheckpoint(playerid,1254.5127,-1386.1479,12.6802,4);
  993. return 1;
  994. }
  995. if(FS_RAD_CP[playerid] == 13)
  996. {
  997. FS_RAD_CP[playerid] = 14;
  998. SetPlayerCheckpoint(playerid,1112.1006,-1393.2954,12.9485,4);
  999. return 1;
  1000. }
  1001. if(FS_RAD_CP[playerid] == 14)
  1002. {
  1003. FS_RAD_CP[playerid] = 15;
  1004. SetPlayerCheckpoint(playerid,920.2059,-1393.3992,12.8689,4);
  1005. return 1;
  1006. }
  1007. if(FS_RAD_CP[playerid] == 15)
  1008. {
  1009. FS_RAD_CP[playerid] = 16;
  1010. SetPlayerCheckpoint(playerid,733.6464,-1398.1433,12.8889,4);
  1011. return 1;
  1012. }
  1013. if(FS_RAD_CP[playerid] == 16)
  1014. {
  1015. FS_RAD_CP[playerid] = 17;
  1016. SetPlayerCheckpoint(playerid,710.3171,-1415.1403,13.0499,4);
  1017. return 1;
  1018. }
  1019. if(FS_RAD_CP[playerid] == 17)
  1020. {
  1021. FreezePlayer(playerid);
  1022. RemovePlayerFromVehicle(playerid);
  1023. UnfreezePlayer(playerid);
  1024. SendClientMessage(playerid,-1,"Gehe nun in die Fahrschule um dein Ergebnis zu sehen.");
  1025. return 1;
  1026. }
  1027.  
  1028. /* Fahrschule Auto */
  1029. if(FS_AUTO_CP[playerid] == 1)
  1030. {
  1031. FS_AUTO_CP[playerid] = 2;
  1032. SetPlayerCheckpoint(playerid,789.7192,-1408.3018,12.9450,4);
  1033. return 1;
  1034. }
  1035. if(FS_AUTO_CP[playerid] == 2)
  1036. {
  1037. FS_AUTO_CP[playerid] = 3;
  1038. SetPlayerCheckpoint(playerid,786.9307,-1498.5112,12.9484,4);
  1039. return 1;
  1040. }
  1041. if(FS_AUTO_CP[playerid] == 3)
  1042. {
  1043. FS_AUTO_CP[playerid] = 4;
  1044. SetPlayerCheckpoint(playerid,769.3239,-1580.5205,12.9389,4);
  1045. return 1;
  1046. }
  1047. if(FS_AUTO_CP[playerid] == 4)
  1048. {
  1049. FS_AUTO_CP[playerid] = 5;
  1050. SetPlayerCheckpoint(playerid,788.7555,-1611.5762,12.9491,4);
  1051. return 1;
  1052. }
  1053. if(FS_AUTO_CP[playerid] == 5)
  1054. {
  1055. FS_AUTO_CP[playerid] = 6;
  1056. SetPlayerCheckpoint(playerid,809.7073,-1648.4342,12.9458,4);
  1057. return 1;
  1058. }
  1059. if(FS_AUTO_CP[playerid] == 6)
  1060. {
  1061. FS_AUTO_CP[playerid] = 7;
  1062. SetPlayerCheckpoint(playerid,807.7097,-1761.4139,12.9513,4);
  1063. return 1;
  1064. }
  1065. if(FS_AUTO_CP[playerid] == 7)
  1066. {
  1067. FS_AUTO_CP[playerid] = 8;
  1068. SetPlayerCheckpoint(playerid,697.6055,-1745.4331,13.0028,4);
  1069. return 1;
  1070. }
  1071. if(FS_AUTO_CP[playerid] == 8)
  1072. {
  1073. FS_AUTO_CP[playerid] = 9;
  1074. SetPlayerCheckpoint(playerid,573.5630,-1718.5990,12.9201,4);
  1075. return 1;
  1076. }
  1077. if(FS_AUTO_CP[playerid] == 9)
  1078. {
  1079. FS_AUTO_CP[playerid] = 10;
  1080. SetPlayerCheckpoint(playerid,457.6791,-1703.6221,10.3789,4);
  1081. return 1;
  1082. }
  1083. if(FS_AUTO_CP[playerid] == 10)
  1084. {
  1085. FS_AUTO_CP[playerid] = 11;
  1086. SetPlayerCheckpoint(playerid,268.7990,-1679.5962,8.0691,4);
  1087. return 1;
  1088. }
  1089. if(FS_AUTO_CP[playerid] == 11)
  1090. {
  1091. FS_AUTO_CP[playerid] = 12;
  1092. SetPlayerCheckpoint(playerid,158.5753,-1563.2067,11.1186,4);
  1093. return 1;
  1094. }
  1095. if(FS_AUTO_CP[playerid] == 12)
  1096. {
  1097. FS_AUTO_CP[playerid] = 13;
  1098. SetPlayerCheckpoint(playerid,184.7442,-1522.1766,11.9910,4);
  1099. return 1;
  1100. }
  1101. if(FS_AUTO_CP[playerid] == 13)
  1102. {
  1103. FS_AUTO_CP[playerid] = 14;
  1104. SetPlayerCheckpoint(playerid,244.7342,-1497.7042,22.8925,4);
  1105. return 1;
  1106. }
  1107. if(FS_AUTO_CP[playerid] == 14)
  1108. {
  1109. FS_AUTO_CP[playerid] = 15;
  1110. SetPlayerCheckpoint(playerid,286.8775,-1492.5691,32.1859,4);
  1111. return 1;
  1112. }
  1113. if(FS_AUTO_CP[playerid] == 15)
  1114. {
  1115. FS_AUTO_CP[playerid] = 16;
  1116. SetPlayerCheckpoint(playerid,369.2208,-1431.3070,33.7949,4);
  1117. return 1;
  1118. }
  1119. if(FS_AUTO_CP[playerid] == 16)
  1120. {
  1121. FS_AUTO_CP[playerid] = 17;
  1122. SetPlayerCheckpoint(playerid,402.3969,-1432.1740,32.4295,4);
  1123. return 1;
  1124. }
  1125. if(FS_AUTO_CP[playerid] == 17)
  1126. {
  1127. FS_AUTO_CP[playerid] = 18;
  1128. SetPlayerCheckpoint(playerid,493.2474,-1435.9327,15.8411,4);
  1129. return 1;
  1130. }
  1131. if(FS_AUTO_CP[playerid] == 18)
  1132. {
  1133. FS_AUTO_CP[playerid] = 19;
  1134. SetPlayerCheckpoint(playerid,617.5936,-1407.8630,12.9708,4);
  1135. return 1;
  1136. }
  1137. if(FS_AUTO_CP[playerid] == 19)
  1138. {
  1139. FS_AUTO_CP[playerid] = 20;
  1140. SetPlayerCheckpoint(playerid,709.9662,-1432.1512,13.1086,4);
  1141. return 1;
  1142. }
  1143. if(FS_AUTO_CP[playerid] == 20)
  1144. {
  1145. FreezePlayer(playerid);
  1146. RemovePlayerFromVehicle(playerid);
  1147. UnfreezePlayer(playerid);
  1148. SendClientMessage(playerid,-1,"Gehe nun in die Fahrschule um dein Ergebnis zu sehen.");
  1149. return 1;
  1150. }
  1151.  
  1152.  
  1153. /* Gärtner Viertel 2 */
  1154. if(CP_VIERTEL2[playerid] == 1)
  1155. {
  1156. sDaten[playerid][Lohn] += 19;
  1157. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1158. CP_VIERTEL2[playerid] = 2;
  1159. SetPlayerCheckpoint(playerid,2128.5957,-1336.2367,25.5447,1);
  1160. return 1;
  1161. }
  1162. if(CP_VIERTEL2[playerid] == 2)
  1163. {
  1164. sDaten[playerid][Lohn] += 19;
  1165. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1166. CP_VIERTEL2[playerid] = 3;
  1167. SetPlayerCheckpoint(playerid,2106.6960,-1335.8170,25.5446,1);
  1168. return 1;
  1169. }
  1170. if(CP_VIERTEL2[playerid] == 3)
  1171. {
  1172. sDaten[playerid][Lohn] += 19;
  1173. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1174. CP_VIERTEL2[playerid] = 4;
  1175. SetPlayerCheckpoint(playerid,2129.2771,-1368.4631,25.5391,1);
  1176. return 1;
  1177. }
  1178. if(CP_VIERTEL2[playerid] == 4)
  1179. {
  1180. sDaten[playerid][Lohn] += 19;
  1181. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1182. CP_VIERTEL2[playerid] = 5;
  1183. SetPlayerCheckpoint(playerid,2145.9883,-1351.3156,25.5391,1);
  1184. return 1;
  1185. }
  1186. if(CP_VIERTEL2[playerid] == 5)
  1187. {
  1188. sDaten[playerid][Lohn] += 19;
  1189. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1190. CP_VIERTEL2[playerid] = 6;
  1191. SetPlayerCheckpoint(playerid,2186.7461,-1371.1499,25.5929,1);
  1192. return 1;
  1193. }
  1194. if(CP_VIERTEL2[playerid] == 6)
  1195. {
  1196. sDaten[playerid][Lohn] += 19;
  1197. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1198. CP_VIERTEL2[playerid] = 7;
  1199. SetPlayerCheckpoint(playerid,2203.3503,-1368.7877,25.6815,1);
  1200. return 1;
  1201. }
  1202. if(CP_VIERTEL2[playerid] == 7)
  1203. {
  1204. sDaten[playerid][Lohn] += 19;
  1205. GameTextForPlayer(playerid,"~g~+$19",2000,6);
  1206. CP_VIERTEL2[playerid] = 0;
  1207. SendClientMessage(playerid,-1,"Du hast alle Viertel abarbeitet.");
  1208. SendClientMessage(playerid,-1,"Gehe zurück zur Gärtnerei wenn du weiter es nochmal machen möchtest.");
  1209. return 1;
  1210. }
  1211.  
  1212. /* Gärtner Viertel 1 */
  1213. if(CP_VIERTEL1[playerid] == 1)
  1214. {
  1215. sDaten[playerid][Lohn] += 18;
  1216. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1217. CP_VIERTEL1[playerid] = 2;
  1218. SetPlayerCheckpoint(playerid,2209.5403,-1253.7681,23.8762,1);
  1219. return 1;
  1220. }
  1221. if(CP_VIERTEL1[playerid] == 2)
  1222. {
  1223. sDaten[playerid][Lohn] += 18;
  1224. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1225. CP_VIERTEL1[playerid] = 3;
  1226. SetPlayerCheckpoint(playerid,2230.2864,-1254.6710,25.4087,1);
  1227. return 1;
  1228. }
  1229. if(CP_VIERTEL1[playerid] == 3)
  1230. {
  1231. sDaten[playerid][Lohn] += 18;
  1232. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1233. CP_VIERTEL1[playerid] = 4;
  1234. SetPlayerCheckpoint(playerid,2249.4995,-1253.1533,25.4445,1);
  1235. return 1;
  1236. }
  1237. if(CP_VIERTEL1[playerid] == 4)
  1238. {
  1239. sDaten[playerid][Lohn] += 18;
  1240. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1241. CP_VIERTEL1[playerid] = 5;
  1242. SetPlayerCheckpoint(playerid,2248.2468,-1267.0186,25.3594,1);
  1243. return 1;
  1244. }
  1245. if(CP_VIERTEL1[playerid] == 5)
  1246. {
  1247. sDaten[playerid][Lohn] += 18;
  1248. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1249. CP_VIERTEL1[playerid] = 6;
  1250. SetPlayerCheckpoint(playerid,2230.2786,-1266.9408,25.3672,1);
  1251. return 1;
  1252. }
  1253. if(CP_VIERTEL1[playerid] == 6)
  1254. {
  1255. sDaten[playerid][Lohn] += 18;
  1256. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1257. CP_VIERTEL1[playerid] = 7;
  1258. SetPlayerCheckpoint(playerid,2211.4417,-1267.1066,24.5748,1);
  1259. return 1;
  1260. }
  1261. if(CP_VIERTEL1[playerid] == 7)
  1262. {
  1263. sDaten[playerid][Lohn] += 18;
  1264. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1265. CP_VIERTEL1[playerid] = 8;
  1266. SetPlayerCheckpoint(playerid,2188.5569,-1264.3751,24.6297,1);
  1267. return 1;
  1268. }
  1269. if(CP_VIERTEL1[playerid] == 8)
  1270. {
  1271. sDaten[playerid][Lohn] += 18;
  1272. GameTextForPlayer(playerid,"~g~+$18",2000,6);
  1273. CP_VIERTEL1[playerid] = 0;
  1274. ShowPlayerDialog(playerid,dialog_viertel1_finished,DIALOG_STYLE_MSGBOX,"Gärtnerei","Du hast Viertel 1 fertig!\nMöchtest du direkt mit Viertel 2 weiter machen?\n\nWenn du 'Nein' drückst wird deine Schicht automatisch abgebrochen.","Ja","Nein");
  1275. return 1;
  1276. }
  1277. return 1;
  1278. }
  1279.  
  1280. public OnPlayerLeaveCheckpoint(playerid)
  1281. {
  1282. return 1;
  1283. }
  1284.  
  1285. public OnPlayerEnterRaceCheckpoint(playerid)
  1286. {
  1287. return 1;
  1288. }
  1289.  
  1290. public OnPlayerLeaveRaceCheckpoint(playerid)
  1291. {
  1292. return 1;
  1293. }
  1294.  
  1295. public OnRconCommand(cmd[])
  1296. {
  1297. return 1;
  1298. }
  1299.  
  1300. public OnPlayerRequestSpawn(playerid)
  1301. {
  1302. return 1;
  1303. }
  1304.  
  1305. public OnObjectMoved(objectid)
  1306. {
  1307. return 1;
  1308. }
  1309.  
  1310. public OnPlayerObjectMoved(playerid, objectid)
  1311. {
  1312. return 1;
  1313. }
  1314.  
  1315. public OnPlayerPickUpPickup(playerid, pickupid)
  1316. {
  1317. if(pickupid == pu_neulinghilfe || pu_neulingbike)return 1;
  1318. if(pickupid == ba_enter || ba_exit || ba_perso || ba_info || ba_jobs)return 1;
  1319. if(pickupid == ga_enter || ga_exit || ga_shop || ga_job)return 1;
  1320. if(pickupid == fs_enter || fs_exit || fs_schein)return 1;
  1321. if(pickupid == lspd_enter || lspd_exit || lspd_dienst || lspd_equip)return 1;
  1322. if(pickupid == sr_job)return 1;
  1323. if(pickupid == bank_enter || bank_exit || bank_bank)return 1;
  1324. return 1;
  1325. }
  1326.  
  1327. public OnVehicleMod(playerid, vehicleid, componentid)
  1328. {
  1329. return 1;
  1330. }
  1331.  
  1332. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1333. {
  1334. return 1;
  1335. }
  1336.  
  1337. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1338. {
  1339. return 1;
  1340. }
  1341.  
  1342. public OnPlayerSelectedMenuRow(playerid, row)
  1343. {
  1344. return 1;
  1345. }
  1346.  
  1347. public OnPlayerExitedMenu(playerid)
  1348. {
  1349. return 1;
  1350. }
  1351.  
  1352. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1353. {
  1354. return 1;
  1355. }
  1356.  
  1357. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1358. {
  1359. if(newkeys == KEY_NO)
  1360. {
  1361. // LSPD_EQUIP
  1362. if(IsPlayerInRangeOfPoint(playerid,3,254.3358,76.8351,1003.6406))
  1363. {
  1364. if(imDienst[playerid] == 1)
  1365. {
  1366. ResetPlayerWeapons(playerid);
  1367. ShowPlayerDialog(playerid,dialog_lspdequip,DIALOG_STYLE_LIST,"Equip","Desert Eagle\nMP5\nSchrotflinte\nBrustpanzer","Auswählen","Abbrechen");
  1368. return 1;
  1369. }
  1370. else
  1371. {
  1372. SendClientMessage(playerid,-1,"Melde dich erst in Dienst bevor du dich ausrüstest.");
  1373. return 1;
  1374. }
  1375. }
  1376. // BANK_BANK
  1377. if(IsPlayerInRangeOfPoint(playerid,3,2316.2898,-10.0276,26.7422))
  1378. {
  1379. ShowPlayerDialog(playerid,dialog_bankmenu,DIALOG_STYLE_LIST,"Los Santos Bankmenü","Einzahlen\nAuszahlen\nÜberweisen\nKredit aufnehmen","Weiter","Abbrechen");
  1380. return 1;
  1381. }
  1382. return 1;
  1383. }
  1384. if(newkeys == KEY_SECONDARY_ATTACK)
  1385. {
  1386. // Bank Exit
  1387. if(IsPlayerInRangeOfPoint(playerid,3,2315.5583,-0.2925,26.7422))
  1388. {
  1389. SetPlayerInterior(playerid,0);
  1390. SetPlayerPos(playerid,1467.2325,-1012.9465,26.8438);
  1391. SetPlayerFacingAngle(playerid,180.7131);
  1392. SetCameraBehindPlayer(playerid);
  1393. return 1;
  1394. }
  1395. // BANK Enter
  1396. if(IsPlayerInRangeOfPoint(playerid,3,1467.2634,-1011.1531,26.8438))
  1397. {
  1398. SetPlayerInterior(playerid,0);
  1399. SetPlayerPos(playerid,2315.5242,-1.0609,26.7422);
  1400. SetPlayerFacingAngle(playerid,180.5399);
  1401. SetCameraBehindPlayer(playerid);
  1402. return 1;
  1403. }
  1404. // LSPD-Exit
  1405. if(IsPlayerInRangeOfPoint(playerid,3,246.7731,62.9349,1003.6406))
  1406. {
  1407. SetPlayerInterior(playerid,0);
  1408. SetPlayerPos(playerid,1552.6244,-1675.5859,16.1953);
  1409. SetPlayerFacingAngle(playerid,91.6032);
  1410. SetCameraBehindPlayer(playerid);
  1411. return 1;
  1412. }
  1413. // LSPD-Enter
  1414. if(IsPlayerInRangeOfPoint(playerid,3,1554.2347,-1675.6572,16.1953))
  1415. {
  1416. SetPlayerInterior(playerid,6);
  1417. SetPlayerPos(playerid,246.5936,64.4311,1003.6406);
  1418. SetPlayerFacingAngle(playerid,359.8594);
  1419. SetCameraBehindPlayer(playerid);
  1420. return 1;
  1421. }
  1422. // Fahrschule-Exit
  1423. if(IsPlayerInRangeOfPoint(playerid,3,1494.4595,1304.2950,1093.2891))
  1424. {
  1425. SetPlayerInterior(playerid,0);
  1426. SetPlayerPos(playerid,725.4014,-1437.8381,13.5318);
  1427. SetPlayerFacingAngle(playerid,0.3331);
  1428. SetCameraBehindPlayer(playerid);
  1429. return 1;
  1430. }
  1431. // Fahrschule-Enter
  1432. if(IsPlayerInRangeOfPoint(playerid,3,725.5923,-1439.5819,13.5318))
  1433. {
  1434. if(FS_AUTO_CP[playerid] == 20)
  1435. {
  1436. SetPlayerInterior(playerid,3);
  1437. SetPlayerPos(playerid,1494.4763,1305.8405,1093.2891);
  1438. SetPlayerFacingAngle(playerid,0.1038);
  1439. SetCameraBehindPlayer(playerid);
  1440. sDaten[playerid][Autoschein] = 1;
  1441. ShowPlayerDialog(playerid,dialog_autogeschafft,DIALOG_STYLE_MSGBOX,"Fahrschule","Du hast dein Autoführerschein erfolgreich geschafft!","Ok","");
  1442. FS_AUTO_CP[playerid] = 0;
  1443. inFahrstundeAuto[playerid] = 0;
  1444. return 1;
  1445. }
  1446. else
  1447. {
  1448. SetPlayerInterior(playerid,3);
  1449. SetPlayerPos(playerid,1494.4763,1305.8405,1093.2891);
  1450. SetPlayerFacingAngle(playerid,0.1038);
  1451. SetCameraBehindPlayer(playerid);
  1452. }
  1453. if(FS_RAD_CP[playerid] == 17)
  1454. {
  1455. SetPlayerInterior(playerid,3);
  1456. SetPlayerPos(playerid,1494.4763,1305.8405,1093.2891);
  1457. SetPlayerFacingAngle(playerid,0.1038);
  1458. SetCameraBehindPlayer(playerid);
  1459. sDaten[playerid][Motorradschein] = 1;
  1460. ShowPlayerDialog(playerid,dialog_autogeschafft,DIALOG_STYLE_MSGBOX,"Fahrschule","Du hast dein Motorradführerschein erfolgreich geschafft!","Ok","");
  1461. FS_RAD_CP[playerid] = 0;
  1462. inFahrstundeMotorrad[playerid] = 0;
  1463. return 1;
  1464. }
  1465. }
  1466. // Gärtnerei-Exit
  1467. if(IsPlayerInRangeOfPoint(playerid,3,-27.3445,-57.4062,1003.5469))
  1468. {
  1469. SetPlayerInterior(playerid,0);
  1470. SetPlayerPos(playerid,2130.6458,-1213.1388,23.9653);
  1471. SetPlayerFacingAngle(playerid,215.6720);
  1472. SetCameraBehindPlayer(playerid);
  1473. return 1;
  1474. }
  1475. // Gärtnerei-Enter
  1476. if(IsPlayerInRangeOfPoint(playerid,3,2129.5630,-1211.9393,23.9636))
  1477. {
  1478. SetPlayerInterior(playerid,6);
  1479. SetPlayerPos(playerid,-27.5732,-56.5426,1003.5469);
  1480. SetPlayerFacingAngle(playerid,359.9862);
  1481. SetCameraBehindPlayer(playerid);
  1482. return 1;
  1483. }
  1484. // Bürgeramt-Info
  1485. if(IsPlayerInRangeOfPoint(playerid,3,362.6432,173.5178,1008.3828))
  1486. {
  1487. ShowPlayerDialog(playerid,dialog_bainfo,DIALOG_STYLE_MSGBOX,"Bürgeramt Infos","Willkommen im Bürgeramt von Los Santos!\nLinks kannst du dir einen Personalausweis machen lassen, falls du es noch nicht getan hast.\nRechts hast du die Möglichkeit dir Jobs anzugucken.","Ok","");
  1488. return 1;
  1489. }
  1490. // Bürgeramt-Enter
  1491. if(IsPlayerInRangeOfPoint(playerid,3,1310.1595,-1367.9177,13.5423))
  1492. {
  1493. SetPlayerInterior(playerid,3);
  1494. SetPlayerPos(playerid,386.0829,173.6895,1008.3828);
  1495. SetPlayerFacingAngle(playerid,86.2698);
  1496. SetCameraBehindPlayer(playerid);
  1497. return 1;
  1498. }
  1499. //Bürgeramt-Exit
  1500. if(IsPlayerInRangeOfPoint(playerid,3,389.3670,173.7937,1008.3828))
  1501. {
  1502. SetPlayerInterior(playerid,0);
  1503. SetPlayerPos(playerid,1310.1746,-1371.3385,13.5874);
  1504. SetPlayerFacingAngle(playerid,178.8771);
  1505. SetCameraBehindPlayer(playerid);
  1506. return 1;
  1507. }
  1508. return 1;
  1509. }
  1510. return 1;
  1511. }
  1512.  
  1513. public OnRconLoginAttempt(ip[], password[], success)
  1514. {
  1515. return 1;
  1516. }
  1517.  
  1518. public OnPlayerUpdate(playerid)
  1519. {
  1520. return 1;
  1521. }
  1522.  
  1523. public OnPlayerStreamIn(playerid, forplayerid)
  1524. {
  1525. return 1;
  1526. }
  1527.  
  1528. public OnPlayerStreamOut(playerid, forplayerid)
  1529. {
  1530. return 1;
  1531. }
  1532.  
  1533. public OnVehicleStreamIn(vehicleid, forplayerid)
  1534. {
  1535. return 1;
  1536. }
  1537.  
  1538. public OnVehicleStreamOut(vehicleid, forplayerid)
  1539. {
  1540. return 1;
  1541. }
  1542.  
  1543. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1544. {
  1545. switch(dialogid)
  1546. {
  1547. case dialog_bankmenu:
  1548. {
  1549. if(response == 1)
  1550. {
  1551. if(listitem == 0)
  1552. {
  1553. ShowPlayerDialog(playerid,dialog_bankein,DIALOG_STYLE_INPUT,"Los Santos Bank - Einzahlen","Willkommen in der Bank von Los Santos!\nWie viel Geld möchtest du einzahlen?","Weiter","Abbrechen");
  1554. return 1;
  1555. }
  1556. if(listitem == 1)
  1557. {
  1558. ShowPlayerDialog(playerid,dialog_bankaus,DIALOG_STYLE_INPUT,"Los Santos Bank - Auszahlen","Willkommen in der Bank von Los Santos!\nWie viel Geld möchtest du auszahlen?","Weiter","Abbrechen");
  1559. return 1;
  1560. }
  1561. if(listitem == 2)
  1562. {
  1563. ShowPlayerDialog(playerid,dialog_bankueber,DIALOG_STYLE_INPUT,"Los Santos Bank - Überweisen","Willkommen in der Bank von Los Santos!\nGebe bitte die SpielerID des betroffenen Spielers an:","Weiter","Abbrechen");
  1564. return 1;
  1565. }
  1566. }
  1567. }
  1568. case dialog_bankueber:
  1569. {
  1570. if(response == 1)
  1571. {
  1572. bankID = strval(inputtext);
  1573. if(!IsPlayerConnected(bankID)){
  1574. SendClientMessage(playerid,-1,"Der angegebene Spieler ist nicht online.");
  1575. ShowPlayerDialog(playerid,dialog_bankueber,DIALOG_STYLE_INPUT,"Los Santos Bank - Überweisen","Willkommen in der Bank von Los Santos!\nGebe bitte die SpielerID des betroffenen Spielers an:","Weiter","Abbrechen");
  1576. return 1;
  1577. }
  1578. new str[200];
  1579. format(str,sizeof(str),"Gebe nun den Betrag an, den du %s überweisen möchtest:",getPlayerName(bankID));
  1580. ShowPlayerDialog(playerid,dialog_bankueber2,DIALOG_STYLE_INPUT,"Los Santos Bank - Überweisen",str,"Weiter","Abbrechen");
  1581. }
  1582. }
  1583. case dialog_bankueber2:
  1584. {
  1585. if(response == 1)
  1586. {
  1587. new ueberweisen = strval(inputtext);
  1588. if(GetPlayerMoney(playerid) < ueberweisen)
  1589. {
  1590. SendClientMessage(playerid,-1,"So viel Geld hast du nicht auf der Bank.");
  1591. return 1;
  1592. }
  1593. sDaten[playerid][Bank] -= ueberweisen;
  1594. sDaten[bankID][Bank] += ueberweisen;
  1595. new str[128], str2[128];
  1596. format(str,sizeof(str),"BANK: %s hat dir %i$ überwiesen.",getPlayerName(playerid),ueberweisen);
  1597. format(str2,sizeof(str2),"BANK: Du hast %s erfolgreich %i$ überwiesen.",getPlayerName(bankID),ueberweisen);
  1598. SendClientMessage(playerid,-1,str2);
  1599. SendClientMessage(bankID,-1,str);
  1600. return 1;
  1601. }
  1602. }
  1603. case dialog_bankein:
  1604. {
  1605. if(response == 1)
  1606. {
  1607. new einzahlen = strval(inputtext);
  1608. if(GetPlayerMoney(playerid) < einzahlen)
  1609. {
  1610. SendClientMessage(playerid,-1,"So viel Geld hast du nicht auf der Hand.");
  1611. return 1;
  1612. }
  1613. sDaten[playerid][Bank] += einzahlen;
  1614. GivePlayerMoney(playerid,-einzahlen);
  1615. new str[100];
  1616. format(str,sizeof(str),"Du hast %i$ eingezahlt und hast nun %i$ auf deinem Konto.",einzahlen,sDaten[playerid][Bank]);
  1617. SendClientMessage(playerid,-1,str);
  1618. return 1;
  1619. }
  1620. }
  1621. case dialog_bankaus:
  1622. {
  1623. if(response == 1)
  1624. {
  1625. new auszahlen = strval(inputtext);
  1626. if(sDaten[playerid][Bank] < auszahlen)
  1627. {
  1628. SendClientMessage(playerid,-1,"So viel Geld hast du nicht auf der Bank.");
  1629. return 1;
  1630. }
  1631. sDaten[playerid][Bank] -= auszahlen;
  1632. GivePlayerMoney(playerid,auszahlen);
  1633. new str[100];
  1634. format(str,sizeof(str),"Du hast %i$ abgehoben und hast nun %i$ auf deinem Konto.",auszahlen,sDaten[playerid][Bank]);
  1635. SendClientMessage(playerid,-1,str);
  1636. return 1;
  1637. }
  1638. }
  1639. case dialog_lspdequip:
  1640. {
  1641. if(response == 1)
  1642. {
  1643. if(listitem == 0)
  1644. {
  1645. GivePlayerWeapon(playerid,24,120);
  1646. ShowPlayerDialog(playerid,dialog_lspdequip,DIALOG_STYLE_LIST,"Equip","Desert Eagle\nMP5\nSchrotflinte\nBrustpanzer","Auswählen","Abbrechen");
  1647. return 1;
  1648. }
  1649. if(listitem == 1)
  1650. {
  1651. GivePlayerWeapon(playerid,29,300);
  1652. ShowPlayerDialog(playerid,dialog_lspdequip,DIALOG_STYLE_LIST,"Equip","Desert Eagle\nMP5\nSchrotflinte\nBrustpanzer","Auswählen","Abbrechen");
  1653. return 1;
  1654. }
  1655. if(listitem == 2)
  1656. {
  1657. GivePlayerWeapon(playerid,25,100);
  1658. ShowPlayerDialog(playerid,dialog_lspdequip,DIALOG_STYLE_LIST,"Equip","Desert Eagle\nMP5\nSchrotflinte\nBrustpanzer","Auswählen","Abbrechen");
  1659. return 1;
  1660. }
  1661. if(listitem == 3)
  1662. {
  1663. SetPlayerArmour(playerid,100);
  1664. ShowPlayerDialog(playerid,dialog_lspdequip,DIALOG_STYLE_LIST,"Equip","Desert Eagle\nMP5\nSchrotflinte\nBrustpanzer","Auswählen","Abbrechen");
  1665. return 1;
  1666. }
  1667. }
  1668. }
  1669. case dialog_wanteds:
  1670. {
  1671. if(response == 1)
  1672. {
  1673. if(listitem == 0)
  1674. {
  1675. new rangname[16];
  1676. switch(sDaten[playerid][Rang])
  1677. {
  1678. case 1:{rangname="Praktikant";}
  1679. case 2:{rangname="Azubi";}
  1680. case 3:{rangname="Offizier";}
  1681. case 4:{rangname="Kommissar";}
  1682. case 5:{rangname="Haupt-Kommissar";}
  1683. case 6:{rangname="Sheriff";}
  1684. }
  1685. new pid, string[128], string2[128], insWanted, string3[50];
  1686. wantedID = pid;
  1687. format(string,sizeof(string),"LSPD: %s %s hat dir 5 Wanteds wegen Mord gegeben!",rangname,getPlayerName(playerid));
  1688. format(string2,sizeof(string2),"LSPD: Du hast %s 5 Wanteds wegen Mord gegeben!",getPlayerName(pid));
  1689. SetPlayerWantedLevel(pid,GetPlayerWantedLevel(pid) + 5);
  1690. insWanted = GetPlayerWantedLevel(pid);
  1691. format(string3,sizeof(string3),"%s hat nun %i Wanteds",getPlayerName(pid),insWanted);
  1692. SendClientMessage(pid,-1,string);
  1693. SendClientMessage(playerid,-1,string2);
  1694. SendClientMessage(playerid,-1,string3);
  1695. return 1;
  1696. }
  1697. if(listitem == 1)
  1698. {
  1699. new rangname[16];
  1700. switch(sDaten[playerid][Rang])
  1701. {
  1702. case 1:{rangname="Praktikant";}
  1703. case 2:{rangname="Azubi";}
  1704. case 3:{rangname="Offizier";}
  1705. case 4:{rangname="Kommissar";}
  1706. case 5:{rangname="Haupt-Kommissar";}
  1707. case 6:{rangname="Sheriff";}
  1708. }
  1709. new pid, string[128], string2[128], insWanted, string3[50];
  1710. wantedID = pid;
  1711. format(string,sizeof(string),"LSPD: %s %s hat dir 4 Wanteds wegen Angriff (Schusswaffe) gegeben!",rangname,getPlayerName(playerid));
  1712. format(string2,sizeof(string2),"LSPD: Du hast %s 4 Wanteds wegen Angriff (Schusswaffe) gegeben!",getPlayerName(pid));
  1713. SetPlayerWantedLevel(pid,GetPlayerWantedLevel(pid) + 4);
  1714. insWanted = GetPlayerWantedLevel(pid);
  1715. format(string3,sizeof(string3),"%s hat nun %i Wanteds",getPlayerName(pid),insWanted);
  1716. SendClientMessage(pid,-1,string);
  1717. SendClientMessage(playerid,-1,string2);
  1718. SendClientMessage(playerid,-1,string3);
  1719. return 1;
  1720. }
  1721. if(listitem == 2)
  1722. {
  1723. new rangname[16];
  1724. switch(sDaten[playerid][Rang])
  1725. {
  1726. case 1:{rangname="Praktikant";}
  1727. case 2:{rangname="Azubi";}
  1728. case 3:{rangname="Offizier";}
  1729. case 4:{rangname="Kommissar";}
  1730. case 5:{rangname="Haupt-Kommissar";}
  1731. case 6:{rangname="Sheriff";}
  1732. }
  1733. new pid, string[128], string2[128], insWanted, string3[50];
  1734. wantedID = pid;
  1735. format(string,sizeof(string),"LSPD: %s %s hat dir 2 Wanteds wegen Angriff (Fahrzeug) gegeben!",rangname,getPlayerName(playerid));
  1736. format(string2,sizeof(string2),"LSPD: Du hast %s 2 Wanteds wegen Angriff (Fahrzeug) gegeben!",getPlayerName(pid));
  1737. SetPlayerWantedLevel(pid,GetPlayerWantedLevel(pid) + 2);
  1738. insWanted = GetPlayerWantedLevel(pid);
  1739. format(string3,sizeof(string3),"%s hat nun %i Wanteds",getPlayerName(pid),insWanted);
  1740. SendClientMessage(pid,-1,string);
  1741. SendClientMessage(playerid,-1,string2);
  1742. SendClientMessage(playerid,-1,string3);
  1743. return 1;
  1744. }
  1745. if(listitem == 3)
  1746. {
  1747. new rangname[16];
  1748. switch(sDaten[playerid][Rang])
  1749. {
  1750. case 1:{rangname="Praktikant";}
  1751. case 2:{rangname="Azubi";}
  1752. case 3:{rangname="Offizier";}
  1753. case 4:{rangname="Kommissar";}
  1754. case 5:{rangname="Haupt-Kommissar";}
  1755. case 6:{rangname="Sheriff";}
  1756. }
  1757. new pid, string[128], string2[128], insWanted, string3[50];
  1758. wantedID = pid;
  1759. format(string,sizeof(string),"LSPD: %s %s hat dir 1 Wanted wegen Flucht gegeben!",rangname,getPlayerName(playerid));
  1760. format(string2,sizeof(string2),"LSPD: Du hast %s 1 Wanted wegen Flucht gegeben!",getPlayerName(pid));
  1761. SetPlayerWantedLevel(pid,GetPlayerWantedLevel(pid) + 1);
  1762. insWanted = GetPlayerWantedLevel(pid);
  1763. format(string3,sizeof(string3),"%s hat nun %i Wanteds",getPlayerName(pid),insWanted);
  1764. SendClientMessage(pid,-1,string);
  1765. SendClientMessage(playerid,-1,string2);
  1766. SendClientMessage(playerid,-1,string3);
  1767. return 1;
  1768. }
  1769. if(listitem == 4)
  1770. {
  1771. new rangname[16];
  1772. switch(sDaten[playerid][Rang])
  1773. {
  1774. case 1:{rangname="Praktikant";}
  1775. case 2:{rangname="Azubi";}
  1776. case 3:{rangname="Offizier";}
  1777. case 4:{rangname="Kommissar";}
  1778. case 5:{rangname="Haupt-Kommissar";}
  1779. case 6:{rangname="Sheriff";}
  1780. }
  1781. new pid, string[128], string2[128], insWanted, string3[50];
  1782. wantedID = pid;
  1783. format(string,sizeof(string),"LSPD: %s %s hat dir 1 Wanted wegen Beihilfe zur Flucht gegeben!",rangname,getPlayerName(playerid));
  1784. format(string2,sizeof(string2),"LSPD: Du hast %s 1 Wanted wegen Beihilfe zur Flucht gegeben!",getPlayerName(pid));
  1785. SetPlayerWantedLevel(pid,GetPlayerWantedLevel(pid) + 1);
  1786. insWanted = GetPlayerWantedLevel(pid);
  1787. format(string3,sizeof(string3),"%s hat nun %i Wanteds",getPlayerName(pid),insWanted);
  1788. SendClientMessage(pid,-1,string);
  1789. SendClientMessage(playerid,-1,string2);
  1790. SendClientMessage(playerid,-1,string3);
  1791. return 1;
  1792. }
  1793. if(listitem == 5)
  1794. {
  1795. new rangname[16];
  1796. switch(sDaten[playerid][Rang])
  1797. {
  1798. case 1:{rangname="Praktikant";}
  1799. case 2:{rangname="Azubi";}
  1800. case 3:{rangname="Offizier";}
  1801. case 4:{rangname="Kommissar";}
  1802. case 5:{rangname="Haupt-Kommissar";}
  1803. case 6:{rangname="Sheriff";}
  1804. }
  1805. new pid, string[128], string2[128], string3[50], insWanted;
  1806. wantedID = pid;
  1807. format(string,sizeof(string),"LSPD: %s %s hat dir 4 Wanteds wegen versuchten Mordes gegeben!",rangname,getPlayerName(playerid));
  1808. format(string2,sizeof(string2),"LSPD: Du hast %s 4 Wanteds wegen versuchten Mordes gegeben!",getPlayerName(pid));
  1809. SetPlayerWantedLevel(pid,GetPlayerWantedLevel(pid) + 4);
  1810. insWanted = GetPlayerWantedLevel(pid);
  1811. format(string3,sizeof(string3),"%s hat nun %i Wanteds",getPlayerName(pid),insWanted);
  1812. SendClientMessage(pid,-1,string);
  1813. SendClientMessage(playerid,-1,string2);
  1814. SendClientMessage(playerid,-1,string3);
  1815. return 1;
  1816. }
  1817. }
  1818. }
  1819. case dialog_fahrschule:
  1820. {
  1821. if(response == 1)
  1822. {
  1823. if(listitem == 0)
  1824. {
  1825. if(sDaten[playerid][Personalausweis] == 0)
  1826. {
  1827. SendClientMessage(playerid,-1,"Du brauchst einen Personalausweis. Gehe zum Bürgeramt.");
  1828. return 1;
  1829. }
  1830. else
  1831. {
  1832. if(inFahrstundeAuto[playerid] == 1)return SendClientMessage(playerid,-1,"Du bist bereits in einer Fahrstunde!");
  1833. if(sDaten[playerid][Autoschein] == 1)
  1834. {
  1835. SendClientMessage(playerid,-1,"Du hast schon einen Autoführerschein.");
  1836. ShowPlayerDialog(playerid,dialog_fahrschule,DIALOG_STYLE_LIST,"Fahrschule","Autoführerschein [1700$]\nMotorradführerschein [1900$]","Weiter","Abbrechen");
  1837. return 1;
  1838. }
  1839. else
  1840. {
  1841. if(GetPlayerMoney(playerid) < 1700)return SendClientMessage(playerid,-1,"Du hast zuwenig Geld bei dir.");
  1842. GivePlayerMoney(playerid,-1700);
  1843. GameTextForPlayer(playerid,"~r~$-1700",1000,1);
  1844. inFahrstundeAuto[playerid] = 1;
  1845. SendClientMessage(playerid,-1," ");
  1846. SendClientMessage(playerid,-1," ");
  1847. SendClientMessage(playerid,-1," ");
  1848. SendClientMessage(playerid,-1," ");
  1849. SendClientMessage(playerid,-1," ");
  1850. SendClientMessage(playerid,-1," ");
  1851. SendClientMessage(playerid,-1,"Du hast deine Fahrstunde begonnen!");
  1852. SendClientMessage(playerid,-1,"Gehe raus, steig in ein Fahrschul-Auto und fahre die Route ab.");
  1853. SendClientMessage(playerid,-1,"Achte jedoch darauf, nicht schneller als 100km/h zu fahren.");
  1854. SendClientMessage(playerid,-1,"Baue auch keine Unfälle und achte auf den Verkehr.");
  1855. SendClientMessage(playerid,-1,"Viel Glück!");
  1856. FS_AUTO_CP[playerid] = 1;
  1857. SetPlayerCheckpoint(playerid,708.7768,-1409.9763,12.9611,4);
  1858. return 1;
  1859. }
  1860. }
  1861. }
  1862. if(listitem == 1)
  1863. {
  1864. if(sDaten[playerid][Personalausweis] == 0)
  1865. {
  1866. SendClientMessage(playerid,-1,"Du brauchst einen Personalausweis. Gehe zum Bürgeramt.");
  1867. return 1;
  1868. }
  1869. else
  1870. {
  1871. if(inFahrstundeMotorrad[playerid] == 1)return SendClientMessage(playerid,-1,"Du bist bereits in einer Fahrstunde!");
  1872. if(sDaten[playerid][Motorradschein] == 1)
  1873. {
  1874. SendClientMessage(playerid,-1,"Du hast schon einen Motorradführerschein.");
  1875. ShowPlayerDialog(playerid,dialog_fahrschule,DIALOG_STYLE_LIST,"Fahrschule","Autoführerschein [1700$]\nMotorradführerschein [1900$]","Weiter","Abbrechen");
  1876. return 1;
  1877. }
  1878. else
  1879. {
  1880. if(GetPlayerMoney(playerid) < 1900)return SendClientMessage(playerid,-1,"Du hast zuwenig Geld bei dir.");
  1881. GivePlayerMoney(playerid,-1900);
  1882. GameTextForPlayer(playerid,"~r~$-1900",1000,1);
  1883. inFahrstundeMotorrad[playerid] = 1;
  1884. SendClientMessage(playerid,-1," ");
  1885. SendClientMessage(playerid,-1," ");
  1886. SendClientMessage(playerid,-1," ");
  1887. SendClientMessage(playerid,-1," ");
  1888. SendClientMessage(playerid,-1," ");
  1889. SendClientMessage(playerid,-1," ");
  1890. SendClientMessage(playerid,-1,"Du hast deine Fahrstunde begonnen!");
  1891. SendClientMessage(playerid,-1,"Gehe raus, steig in ein Fahrschul-Motorrad und fahre die Route ab.");
  1892. SendClientMessage(playerid,-1,"Achte jedoch darauf, nicht schneller als 100km/h zu fahren.");
  1893. SendClientMessage(playerid,-1,"Baue auch keine Unfälle und achte auf den Verkehr.");
  1894. SendClientMessage(playerid,-1,"Viel Glück!");
  1895. FS_RAD_CP[playerid] = 1;
  1896. SetPlayerCheckpoint(playerid,708.5368,-1416.6692,13.0575,4);
  1897. return 1;
  1898. }
  1899. }
  1900. }
  1901. }
  1902. }
  1903. case dialog_viertel1_finished:
  1904. {
  1905. if(response == 1)
  1906. {
  1907. amarbeiten[playerid] = 1;
  1908. SendClientMessage(playerid,-1,"Du hast deine Schicht begonnen und Viertel 2 ausgewählt.");
  1909. SendClientMessage(playerid,-1,"Gehe nach draußen und laufe deine zugeteilten Gärten ab.");
  1910. CP_VIERTEL2[playerid] = 1;
  1911. SetPlayerCheckpoint(playerid,2145.9817,-1334.5001,25.5443,1);
  1912. return 1;
  1913. }
  1914. else
  1915. {
  1916. amarbeiten[playerid] = 0;
  1917. SendClientMessage(playerid,-1,"Du hast deine Schicht beendet.");
  1918. SendClientMessage(playerid,-1,"Dein Gehalt wirst du an deinem Payday bekommen.");
  1919. DisablePlayerCheckpoint(playerid);
  1920. return 1;
  1921. }
  1922. }
  1923. case dialog_gajob:
  1924. {
  1925. if(response == 1)
  1926. {
  1927. if(listitem == 0)return ShowPlayerDialog(playerid,dialog_gajob,DIALOG_STYLE_LIST,"Gärtnerei",".::Wähle ein Viertel::.\n1. Viertel\n2. Viertel","Wählen","Abbrechen");
  1928. if(listitem == 1)
  1929. {
  1930. amarbeiten[playerid] = 1;
  1931. SendClientMessage(playerid,-1,"Du hast deine Schicht begonnen und Viertel 1 ausgewählt.");
  1932. SendClientMessage(playerid,-1,"Gehe nach draußen und laufe deine zugeteilten Gärten ab.");
  1933. CP_VIERTEL1[playerid] = 1;
  1934. SetPlayerCheckpoint(playerid,2188.2070,-1252.9636,23.9507,1);
  1935. return 1;
  1936. }
  1937. if(listitem == 2)
  1938. {
  1939. amarbeiten[playerid] = 1;
  1940. SendClientMessage(playerid,-1,"Du hast deine Schicht begonnen und Viertel 2 ausgewählt.");
  1941. SendClientMessage(playerid,-1,"Gehe nach draußen und laufe deine zugeteilten Gärten ab.");
  1942. CP_VIERTEL2[playerid] = 1;
  1943. SetPlayerCheckpoint(playerid,2145.9817,-1334.5001,25.5443,1);
  1944. return 1;
  1945. }
  1946. }
  1947. return 1;
  1948. }
  1949. case dialog_srjob:
  1950. {
  1951. if(response == 1)
  1952. {
  1953. if(listitem == 0)return ShowPlayerDialog(playerid,dialog_srjob,DIALOG_STYLE_LIST,"Stadtreinigung",".::Wähle deine Route::.\nRoute 1","Wählen","Abbrechen");
  1954. if(listitem == 1)
  1955. {
  1956. amarbeiten[playerid] = 1;
  1957. CHILLIADS[0] = CreatePlayerObject(playerid,18862, 2298.78223, -1756.74158, 12.54582, 0.00000, 0.00000, 0.00000);
  1958. CHILLIADS[1] = CreatePlayerObject(playerid,18862, 2298.76855, -1767.70886, 12.54582, 0.00000, 0.00000, 0.00000);
  1959. CHILLIADS[2] = CreatePlayerObject(playerid,18862, 2290.51465, -1763.76501, 12.54582, 0.00000, 0.00000, 0.00000);
  1960. CHILLIADS[3] = CreatePlayerObject(playerid,18862, 2292.35547, -1766.26440, 12.54582, 0.00000, 0.00000, 0.00000);
  1961. CHILLIADS[4] = CreatePlayerObject(playerid,18862, 2307.45605, -1757.44897, 12.54582, 0.00000, 0.00000, 0.00000);
  1962. CHILLIADS[5] = CreatePlayerObject(playerid,18862, 2353.14819, -1695.64795, 12.24963, 0.00000, 0.00000, -1.02000);
  1963. CHILLIADS[6] = CreatePlayerObject(playerid,18862, 2350.25513, -1692.04382, 12.24963, 0.00000, 0.00000, -1.02000);
  1964. CHILLIADS[7] = CreatePlayerObject(playerid,18862, 2362.61816, -1694.53796, 12.24963, 0.00000, 0.00000, -1.02000);
  1965. CHILLIADS[8] = CreatePlayerObject(playerid,18862, 2324.69360, -1538.46826, 24.45744, 0.00000, 0.00000, 0.00000);
  1966. CHILLIADS[9] = CreatePlayerObject(playerid,18862, 2321.38037, -1539.66394, 24.45744, 0.00000, 0.00000, 0.00000);
  1967. CHILLIADS[10] = CreatePlayerObject(playerid,18862, 2322.88501, -1535.01697, 24.45744, 0.00000, 0.00000, 0.00000);
  1968. CHILLIADS[11] = CreatePlayerObject(playerid,18862, 2357.41504, -1474.85095, 22.81994, 0.00000, 0.00000, 0.00000);
  1969. CHILLIADS[12] = CreatePlayerObject(playerid,18862, 2358.99731, -1477.73926, 22.81994, 0.00000, 0.00000, 0.00000);
  1970. CHILLIADS[13] = CreatePlayerObject(playerid,18862, 2352.91626, -1469.04272, 22.81994, 0.00000, 0.00000, 0.00000);
  1971. CHILLIADS[14] = CreatePlayerObject(playerid,18862, 2383.32861, -1345.04858, 23.12592, 0.00000, 0.00000, 0.00000);
  1972. CHILLIADS[15] = CreatePlayerObject(playerid,18862, 2383.43799, -1338.94067, 23.12592, 0.00000, 0.00000, 0.00000);
  1973. CHILLIADS[16] = CreatePlayerObject(playerid,18862, 2379.52100, -1328.16638, 22.91676, 0.00000, 0.00000, 0.00000);
  1974. CHILLIADS[17] = CreatePlayerObject(playerid,18862, 2358.08423, -1195.54578, 26.96398, 0.00000, 0.00000, 0.00000);
  1975. CHILLIADS[18] = CreatePlayerObject(playerid,18862, 2354.54712, -1196.10986, 26.96398, 0.00000, 0.00000, 0.00000);
  1976. CHILLIADS[19] = CreatePlayerObject(playerid,18862, 2355.06714, -1205.93848, 26.96398, 0.00000, 0.00000, 0.00000);
  1977. CHILLIADS[20] = CreatePlayerObject(playerid,18862, 2356.03882, -1208.63916, 26.96398, 0.00000, 0.00000, 0.00000);
  1978. CHILLIADS[21] = CreatePlayerObject(playerid,18862, 2418.58057, -1099.80493, 39.58134, 0.00000, 0.00000, 0.00000);
  1979. CHILLIADS[22] = CreatePlayerObject(playerid,18862, 2415.21387, -1098.00464, 39.58134, 0.00000, 0.00000, 0.00000);
  1980. CHILLIADS[23] = CreatePlayerObject(playerid,18862, 2418.14966, -1102.69763, 39.58134, 0.00000, 0.00000, 0.00000);
  1981. CHILLIADS[24] = CreatePlayerObject(playerid,18862, 2217.94067, -1149.27380, 24.80481, 0.00000, 0.00000, 0.00000);
  1982. CHILLIADS[25] = CreatePlayerObject(playerid,18862, 2204.91699, -1138.19141, 24.80481, 0.00000, 0.00000, 0.00000);
  1983. CHILLIADS[26] = CreatePlayerObject(playerid,18862, 2206.57666, -1136.48352, 24.80481, 0.00000, 0.00000, 0.00000);
  1984. SendClientMessage(playerid,-1,"Du hast deine Schicht begonnen und Route 1 ausgewählt.");
  1985. SendClientMessage(playerid,-1,"Steige nun in eines der Vans und erledige deinen Job.");
  1986. CP_SR_ROUTE1[playerid] = 1;
  1987. SetPlayerCheckpoint(playerid,2300.3911,-1765.8107,13.6207,1);
  1988. return 1;
  1989. }
  1990. }
  1991. return 1;
  1992. }
  1993. case dialog_abbjob:
  1994. {
  1995. if(response == 1)
  1996. {
  1997. amarbeiten[playerid] = 0;
  1998. SendClientMessage(playerid,-1,"Du hast deine Schicht beendet.");
  1999. SendClientMessage(playerid,-1,"Dein Gehalt bekommst du an deinem Payday.");
  2000. CP_VIERTEL1[playerid] = 0;
  2001. CP_VIERTEL2[playerid] = 0;
  2002. CP_SR_ROUTE1[playerid] = 0;
  2003. DisablePlayerCheckpoint(playerid);
  2004. return 1;
  2005. }
  2006. return 1;
  2007. }
  2008. case dialog_jobauswahl:
  2009. {
  2010. if(response == 1)
  2011. {
  2012. if(listitem == 0)
  2013. {
  2014. ShowPlayerDialog(playerid,dialog_jobauswahl,DIALOG_STYLE_LIST,"Jobkatalog",".::Wähle ein Job aus::.\nGärtner\nMüllmann\nJob kündigen","Weiter","Abbrechen");
  2015. return 1;
  2016. }
  2017. if(listitem == 1)
  2018. {
  2019. if(sDaten[playerid][Job] == 0)
  2020. {
  2021. sDaten[playerid][Job] = 1;
  2022. SendClientMessage(playerid,-1,"Glückwunsch! Du bist nun Gärtner!");
  2023. SendClientMessage(playerid,-1,"Gucke im Stadtplan (/stadtplan) nach, wo deine Arbeitsstelle ist.");
  2024. return 1;
  2025. }
  2026. else
  2027. {
  2028. SendClientMessage(playerid,-1,"Du hast schon einen Job!");
  2029. SendClientMessage(playerid,-1,"Du kannst deinen aktuellen Job hier kündigen.");
  2030. return 1;
  2031. }
  2032. }
  2033. if(listitem == 2)
  2034. {
  2035. if(sDaten[playerid][Job] == 0)
  2036. {
  2037. sDaten[playerid][Job] = 2;
  2038. SendClientMessage(playerid,-1,"Glückwunsch! Du bist nun Müllmann!");
  2039. SendClientMessage(playerid,-1,"Gucke im Stadtplan (/stadtplan) nach, wo deine Arbeitsstelle ist.");
  2040. return 1;
  2041. }
  2042. else
  2043. {
  2044. SendClientMessage(playerid,-1,"Du hast schon einen Job!");
  2045. SendClientMessage(playerid,-1,"Du kannst deinen aktuellen Job hier kündigen.");
  2046. return 1;
  2047. }
  2048. }
  2049. if(listitem == 3)
  2050. {
  2051. if(sDaten[playerid][Job] == 0)
  2052. {
  2053. sDaten[playerid][Job] = 3;
  2054. SendClientMessage(playerid,-1,"Glückwunsch! Du arbeitest nun bei der Stadtreinigung.");
  2055. SendClientMessage(playerid,-1,"Gucke im Stadtplan (/stadtplan) nach, wo deine Arbeitsstelle ist.");
  2056. return 1;
  2057. }
  2058. }
  2059. if(listitem == 4)
  2060. {
  2061. if(sDaten[playerid][Job] == 0)
  2062. {
  2063. SendClientMessage(playerid,-1,"Du kannst deinen Job nicht kündigen, weil du keinen hast.");
  2064. ShowPlayerDialog(playerid,dialog_jobauswahl,DIALOG_STYLE_LIST,"Jobkatalog",".::Wähle ein Job aus::.\nGärtner\nMüllmann\nStadtreinigung\nJob kündigen","Weiter","Abbrechen");
  2065. return 1;
  2066. }
  2067. else
  2068. {
  2069. sDaten[playerid][Job] = 0;
  2070. SendClientMessage(playerid,-1,"Du hast deinen Job gekündigt und bist somit Arbeitslos.");
  2071. return 1;
  2072. }
  2073. }
  2074. }
  2075. return 1;
  2076. }
  2077. case dialog_perso:
  2078. {
  2079. if(response == 1)
  2080. {
  2081. GivePlayerMoney(playerid,-160);
  2082. GameTextForPlayer(playerid,"~r~$-160",1000,1);
  2083. sDaten[playerid][Personalausweis] = 1;
  2084. SendClientMessage(playerid,-1,"Du hast nun ein Personalausweis! Du kannst ihn mit /stats aufrufen.");
  2085. return 1;
  2086. }
  2087. }
  2088. case dialog_stadtplan:
  2089. {
  2090. if(response == 1)
  2091. {
  2092. if(listitem == 0)
  2093. {
  2094. DisablePlayerCheckpoint(playerid);
  2095. return 1;
  2096. }
  2097. if(listitem == 1)
  2098. {
  2099. switch(sDaten[playerid][Job])
  2100. {
  2101. case 0:{SendClientMessage(playerid,-1,"Du hast kein Job. Im Bürgeramt kannst du dir einen aussuchen.");}
  2102. case 1:
  2103. {
  2104. SetPlayerCheckpoint(playerid,2129.5630,-1211.9393,23.9636,4);
  2105. SendClientMessage(playerid,-1,"Die Gärtnerei wurde dir auf der Karte markiert.");
  2106. return 1;
  2107. }
  2108. case 2:
  2109. {
  2110. return 1;
  2111. }
  2112. case 3:
  2113. {
  2114. SetPlayerCheckpoint(playerid,2305.8481,-1985.5208,13.5630,3);
  2115. SendClientMessage(playerid,-1,"Die Stadtreinigung wurde dir auf der Karte markiert.");
  2116. return 1;
  2117. }
  2118. }
  2119. }
  2120. if(listitem == 2)
  2121. {
  2122. SetPlayerCheckpoint(playerid,1310.1572,-1378.0017,13.6753,5);
  2123. SendClientMessage(playerid,-1,"Das Bürgeramt wurde auf deiner Karte markiert.");
  2124. return 1;
  2125. }
  2126. if(listitem == 3)
  2127. {
  2128. SetPlayerCheckpoint(playerid,708.4684,-1416.7673,13.5391,5);
  2129. SendClientMessage(playerid,-1,"Die Fahrschule wurde auf deiner Karte markiert.");
  2130. return 1;
  2131. }
  2132. }
  2133. }
  2134. case dialog_register:
  2135. {
  2136. if(response == 1)
  2137. {
  2138. new pfad[128];
  2139. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2140. GivePlayerMoney(playerid,320);
  2141. SetPlayerSkin(playerid,5);
  2142. SetPlayerScore(playerid,1);
  2143. RegistPlayer(playerid,inputtext);
  2144. return 1;
  2145. }
  2146. if(response == 0)
  2147. {
  2148. Kick(playerid);
  2149. return 1;
  2150. }
  2151. }
  2152. case dialog_login:
  2153. {
  2154. if(response == 1)
  2155. {
  2156. new pfad[128];
  2157. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2158. LoginPlayer(playerid,inputtext);
  2159. return 1;
  2160. }
  2161. if(response == 0)
  2162. {
  2163. Kick(playerid);
  2164. return 1;
  2165. }
  2166. }
  2167. }
  2168. return 1;
  2169. }
  2170.  
  2171. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  2172. {
  2173. return 1;
  2174. }
  2175.  
  2176. /* Selbsterstelle Publics */
  2177. public srcpTimer(playerid)
  2178. {
  2179. UnfreezePlayer(playerid);
  2180. switch(CP_SR_ROUTE1[playerid])
  2181. {
  2182. case 1:{DestroyPlayerObject(playerid,CHILLIADS[0]);}
  2183. case 2:{DestroyPlayerObject(playerid,CHILLIADS[1]);}
  2184. case 3:{DestroyPlayerObject(playerid,CHILLIADS[2]);}
  2185. case 4:{DestroyPlayerObject(playerid,CHILLIADS[3]);}
  2186. case 5:{DestroyPlayerObject(playerid,CHILLIADS[4]);}
  2187. case 6:{DestroyPlayerObject(playerid,CHILLIADS[5]);}
  2188. case 7:{DestroyPlayerObject(playerid,CHILLIADS[6]);}
  2189. case 8:{DestroyPlayerObject(playerid,CHILLIADS[7]);}
  2190. case 9:{DestroyPlayerObject(playerid,CHILLIADS[8]);}
  2191. case 10:{DestroyPlayerObject(playerid,CHILLIADS[9]);}
  2192. case 11:{DestroyPlayerObject(playerid,CHILLIADS[10]);}
  2193. }
  2194. return 1;
  2195. }
  2196.  
  2197. public fraklohn(playerid)
  2198. {
  2199. switch(sDaten[playerid][Rang])
  2200. {
  2201. case 1:{sDaten[playerid][Fraktionslohn] += 20;}
  2202. case 2:{sDaten[playerid][Fraktionslohn] += 24;}
  2203. case 3:{sDaten[playerid][Fraktionslohn] += 30;}
  2204. case 4:{sDaten[playerid][Fraktionslohn] += 40;}
  2205. case 5:{sDaten[playerid][Fraktionslohn] += 52;}
  2206. case 6:{sDaten[playerid][Fraktionslohn] += 70;}
  2207. }
  2208. return 1;
  2209. }
  2210. public payday(playerid)
  2211. {
  2212. sDaten[playerid][Payday] -= 1;
  2213. if(sDaten[playerid][Payday] == 0)
  2214. {
  2215. new str[40],str2[10],str3[100],str4[100], altbank;
  2216. altbank = sDaten[playerid][Bank];
  2217. new gesamtlohn=sDaten[playerid][Lohn]+sDaten[playerid][Fraktionslohn];
  2218. sDaten[playerid][Bank] += gesamtlohn;
  2219. format(str2,sizeof(str2),"~g~+$%i",gesamtlohn);
  2220. format(str3,sizeof(str3),"Alter Kontostand: %i$",altbank);
  2221. format(str,sizeof(str)," +%i$",gesamtlohn);
  2222. format(str4,sizeof(str4),"Neuer Kontostand: %i$",sDaten[playerid][Bank]);
  2223. SendClientMessage(playerid,-1," ");
  2224. SendClientMessage(playerid,-1," ");
  2225. SendClientMessage(playerid,-1," ");
  2226. SendClientMessage(playerid,-1," ");
  2227. SendClientMessage(playerid,-1," ");
  2228. SendClientMessage(playerid,-1," ");
  2229. SendClientMessage(playerid,-1," ");
  2230. SendClientMessage(playerid,-1," ");
  2231. SendClientMessage(playerid,-1,"Du hast Payday!");
  2232. SendClientMessage(playerid,-1,str3);
  2233. SendClientMessage(playerid,-1,str);
  2234. SendClientMessage(playerid,-1,str4);
  2235. GameTextForPlayer(playerid,str2,2000,1);
  2236. sDaten[playerid][Lohn] = 0;
  2237. sDaten[playerid][Fraktionslohn] = 0;
  2238. sDaten[playerid][Payday] = 60;
  2239. return 1;
  2240. }
  2241. return 1;
  2242. }
  2243.  
  2244. /* Stocks */
  2245. stock FreezePlayer(playerid)
  2246. {
  2247. TogglePlayerControllable(playerid,0);
  2248. return 1;
  2249. }
  2250.  
  2251. stock UnfreezePlayer(playerid)
  2252. {
  2253. TogglePlayerControllable(playerid,1);
  2254. return 1;
  2255. }
  2256.  
  2257. stock LoginPlayer(playerid,key[])
  2258. {
  2259. new pfad[128];
  2260. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2261. if(!strcmp(key,dini_Get(pfad,"Passwort"),false))
  2262. {
  2263. LoadPlayer(playerid);
  2264. return 1;
  2265. }
  2266. return 1;
  2267. }
  2268.  
  2269. stock RegistPlayer(playerid,key[])
  2270. {
  2271. new pfad[128];
  2272. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2273. dini_Create(pfad);
  2274. dini_Set(pfad,"Passwort",key);
  2275. dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
  2276. dini_IntSet(pfad,"Bank",400);
  2277. dini_IntSet(pfad,"Skin",GetPlayerSkin(playerid));
  2278. dini_IntSet(pfad,"Level",GetPlayerScore(playerid));
  2279. dini_IntSet(pfad,"Fraktion",0);
  2280. dini_IntSet(pfad,"Rang",0);
  2281. dini_IntSet(pfad,"Fraktionslohn",0);
  2282. dini_IntSet(pfad,"Adminlevel",0);
  2283. dini_IntSet(pfad,"Personalausweis",0);
  2284. dini_IntSet(pfad,"Job",0);
  2285. dini_IntSet(pfad,"Lohn",0);
  2286. dini_IntSet(pfad,"Payday",60);
  2287. sDaten[playerid][Payday] = 60;
  2288. dini_IntSet(pfad,"Autoschein",0);
  2289. dini_IntSet(pfad,"Motorradschein",0);
  2290. dini_IntSet(pfad,"Waffenschein",0);
  2291. dini_IntSet(pfad,"Wanteds",GetPlayerWantedLevel(playerid));
  2292.  
  2293. PayDayTimer[playerid] = SetTimerEx("payday",60000,true,"i",playerid);
  2294.  
  2295. new str[64];
  2296. format(str,sizeof(str),"Der Account %s wurde erstellt.",getPlayerName(playerid));
  2297. SendClientMessage(playerid,-1,str);
  2298. return 1;
  2299. }
  2300.  
  2301. stock LoadPlayer(playerid)
  2302. {
  2303. new pfad[128], str[64];
  2304. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2305. GivePlayerMoney(playerid,dini_Int(pfad,"Geld"));
  2306. sDaten[playerid][Bank] = dini_Int(pfad,"Bank");
  2307. SetPlayerSkin(playerid,dini_Int(pfad,"Skin"));
  2308. SetPlayerScore(playerid,dini_Int(pfad,"Level"));
  2309. sDaten[playerid][Fraktion] = dini_Int(pfad,"Fraktion");
  2310. sDaten[playerid][Rang] = dini_Int(pfad,"Rang");
  2311. sDaten[playerid][Fraktionslohn] = dini_Int(pfad,"Fraktionslohn");
  2312. sDaten[playerid][Adminlevel] = dini_Int(pfad,"Adminlevel");
  2313. sDaten[playerid][Personalausweis] = dini_Int(pfad,"Personalausweis");
  2314. sDaten[playerid][Job] = dini_Int(pfad,"Job");
  2315. sDaten[playerid][Lohn] = dini_Int(pfad,"Lohn");
  2316. sDaten[playerid][Payday] = dini_Int(pfad,"Payday");
  2317. sDaten[playerid][Autoschein] = dini_Int(pfad,"Autoschein");
  2318. sDaten[playerid][Motorradschein] = dini_Int(pfad,"Motorradschein");
  2319. sDaten[playerid][Waffenschein] = dini_Int(pfad,"Waffenschein");
  2320. SetPlayerWantedLevel(playerid,dini_Int(pfad,"Wanteds"));
  2321.  
  2322. PayDayTimer[playerid] = SetTimerEx("payday",60000,true,"i",playerid);
  2323.  
  2324. format(str,sizeof(str),"Der Account %s wurde geladen.",getPlayerName(playerid));
  2325. SendClientMessage(playerid,-1,str);
  2326. return 1;
  2327. }
  2328.  
  2329. stock ResetPlayerVars(playerid)
  2330. {
  2331. new pfad[128];
  2332. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2333. sDaten[playerid][Geld] = 0;
  2334. sDaten[playerid][Bank] = 0;
  2335. sDaten[playerid][Fraktion] = 0;
  2336. sDaten[playerid][Rang] = 0;
  2337. sDaten[playerid][Fraktionslohn] = 0;
  2338. sDaten[playerid][Skin] = 0;
  2339. sDaten[playerid][Adminlevel] = 0;
  2340. sDaten[playerid][Level] = 0;
  2341. sDaten[playerid][Personalausweis] = 0;
  2342. sDaten[playerid][Job] = 0;
  2343. sDaten[playerid][Lohn] = 0;
  2344. sDaten[playerid][Payday] = 0;
  2345. sDaten[playerid][Autoschein] = 0;
  2346. sDaten[playerid][Motorradschein] = 0;
  2347. sDaten[playerid][Waffenschein] = 0;
  2348. sDaten[playerid][Wanteds] = 0;
  2349. return 1;
  2350. }
  2351. stock SavePlayer(playerid)
  2352. {
  2353. new pfad[128];
  2354. format(pfad,sizeof(pfad),"/Spieler/%s.txt",getPlayerName(playerid));
  2355. dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
  2356. dini_IntSet(pfad,"Bank",sDaten[playerid][Bank]);
  2357. dini_IntSet(pfad,"Skin",GetPlayerSkin(playerid));
  2358. dini_IntSet(pfad,"Level",GetPlayerScore(playerid));
  2359. dini_IntSet(pfad,"Fraktion",sDaten[playerid][Fraktion]);
  2360. dini_IntSet(pfad,"Fraktionslohn",sDaten[playerid][Fraktionslohn]);
  2361. dini_IntSet(pfad,"Rang",sDaten[playerid][Rang]);
  2362. dini_IntSet(pfad,"Adminlevel",sDaten[playerid][Adminlevel]);
  2363. dini_IntSet(pfad,"Personalausweis",sDaten[playerid][Personalausweis]);
  2364. dini_IntSet(pfad,"Job",sDaten[playerid][Job]);
  2365. dini_IntSet(pfad,"Lohn",sDaten[playerid][Lohn]);
  2366. dini_IntSet(pfad,"Payday",sDaten[playerid][Payday]);
  2367. dini_IntSet(pfad,"Autoschein",sDaten[playerid][Autoschein]);
  2368. dini_IntSet(pfad,"Motorradschein",sDaten[playerid][Motorradschein]);
  2369. dini_IntSet(pfad,"Waffenschein",sDaten[playerid][Waffenschein]);
  2370. dini_IntSet(pfad,"Wanteds",GetPlayerWantedLevel(playerid));
  2371. return 1;
  2372. }
  2373.  
  2374.  
  2375. stock getPlayerName(playerid)
  2376. {
  2377. new name[MAX_PLAYER_NAME];
  2378. GetPlayerName(playerid,name,sizeof(name));
  2379. return name;
  2380. }
  2381.  
  2382. /* SSCANF CODE */
  2383. stock sscanf(string[], format[], {Float,_}:...)
  2384. {
  2385. #if defined isnull
  2386. if (isnull(string))
  2387. #else
  2388. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  2389. #endif
  2390. {
  2391. return format[0];
  2392. }
  2393. #pragma tabsize 4
  2394. new
  2395. formatPos = 0,
  2396. stringPos = 0,
  2397. paramPos = 2,
  2398. paramCount = numargs(),
  2399. delim = ' ';
  2400. while (string[stringPos] && string[stringPos] <= ' ')
  2401. {
  2402. stringPos++;
  2403. }
  2404. while (paramPos < paramCount && string[stringPos])
  2405. {
  2406. switch (format[formatPos++])
  2407. {
  2408. case '\0':
  2409. {
  2410. return 0;
  2411. }
  2412. case 'i', 'd':
  2413. {
  2414. new
  2415. neg = 1,
  2416. num = 0,
  2417. ch = string[stringPos];
  2418. if (ch == '-')
  2419. {
  2420. neg = -1;
  2421. ch = string[++stringPos];
  2422. }
  2423. do
  2424. {
  2425. stringPos++;
  2426. if ('0' <= ch <= '9')
  2427. {
  2428. num = (num * 10) + (ch - '0');
  2429. }
  2430. else
  2431. {
  2432. return -1;
  2433. }
  2434. }
  2435. while ((ch = string[stringPos]) > ' ' && ch != delim);
  2436. setarg(paramPos, 0, num * neg);
  2437. }
  2438. case 'h', 'x':
  2439. {
  2440. new
  2441. num = 0,
  2442. ch = string[stringPos];
  2443. do
  2444. {
  2445. stringPos++;
  2446. switch (ch)
  2447. {
  2448. case 'x', 'X':
  2449. {
  2450. num = 0;
  2451. continue;
  2452. }
  2453. case '0' .. '9':
  2454. {
  2455. num = (num << 4) | (ch - '0');
  2456. }
  2457. case 'a' .. 'f':
  2458. {
  2459. num = (num << 4) | (ch - ('a' - 10));
  2460. }
  2461. case 'A' .. 'F':
  2462. {
  2463. num = (num << 4) | (ch - ('A' - 10));
  2464. }
  2465. default:
  2466. {
  2467. return -1;
  2468. }
  2469. }
  2470. }
  2471. while ((ch = string[stringPos]) > ' ' && ch != delim);
  2472. setarg(paramPos, 0, num);
  2473. }
  2474. case 'c':
  2475. {
  2476. setarg(paramPos, 0, string[stringPos++]);
  2477. }
  2478. case 'f':
  2479. {
  2480.  
  2481. new changestr[16], changepos = 0, strpos = stringPos;
  2482. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  2483. {
  2484. changestr[changepos++] = string[strpos++];
  2485. }
  2486. changestr[changepos] = '\0';
  2487. setarg(paramPos,0,_:floatstr(changestr));
  2488. }
  2489. case 'p':
  2490. {
  2491. delim = format[formatPos++];
  2492. continue;
  2493. }
  2494. case '\'':
  2495. {
  2496. new
  2497. end = formatPos - 1,
  2498. ch;
  2499. while ((ch = format[++end]) && ch != '\'') {}
  2500. if (!ch)
  2501. {
  2502. return -1;
  2503. }
  2504. format[end] = '\0';
  2505. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  2506. {
  2507. if (format[end + 1])
  2508. {
  2509. return -1;
  2510. }
  2511. return 0;
  2512. }
  2513. format[end] = '\'';
  2514. stringPos = ch + (end - formatPos);
  2515. formatPos = end + 1;
  2516. }
  2517. case 'u':
  2518. {
  2519. new
  2520. end = stringPos - 1,
  2521. id = 0,
  2522. bool:num = true,
  2523. ch;
  2524. while ((ch = string[++end]) && ch != delim)
  2525. {
  2526. if (num)
  2527. {
  2528. if ('0' <= ch <= '9')
  2529. {
  2530. id = (id * 10) + (ch - '0');
  2531. }
  2532. else
  2533. {
  2534. num = false;
  2535. }
  2536. }
  2537. }
  2538. if (num && IsPlayerConnected(id))
  2539. {
  2540. setarg(paramPos, 0, id);
  2541. }
  2542. else
  2543. {
  2544. #if !defined foreach
  2545. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  2546. #define __SSCANF_FOREACH__
  2547. #endif
  2548. string[end] = '\0';
  2549. num = false;
  2550. new
  2551. name[MAX_PLAYER_NAME];
  2552. id = end - stringPos;
  2553. foreach (Player, playerid)
  2554. {
  2555. GetPlayerName(playerid, name, sizeof (name));
  2556. if (!strcmp(name, string[stringPos], true, id))
  2557. {
  2558. setarg(paramPos, 0, playerid);
  2559. num = true;
  2560. break;
  2561. }
  2562. }
  2563. if (!num)
  2564. {
  2565. setarg(paramPos, 0, INVALID_PLAYER_ID);
  2566. }
  2567. string[end] = ch;
  2568. #if defined __SSCANF_FOREACH__
  2569. #undef foreach
  2570. #undef __SSCANF_FOREACH__
  2571. #endif
  2572. }
  2573. stringPos = end;
  2574. }
  2575. case 's', 'z':
  2576. {
  2577. new
  2578. i = 0,
  2579. ch;
  2580. if (format[formatPos])
  2581. {
  2582. while ((ch = string[stringPos++]) && ch != delim)
  2583. {
  2584. setarg(paramPos, i++, ch);
  2585. }
  2586. if (!i)
  2587. {
  2588. return -1;
  2589. }
  2590. }
  2591. else
  2592. {
  2593. while ((ch = string[stringPos++]))
  2594. {
  2595. setarg(paramPos, i++, ch);
  2596. }
  2597. }
  2598. stringPos--;
  2599. setarg(paramPos, i, '\0');
  2600. }
  2601. default:
  2602. {
  2603. continue;
  2604. }
  2605. }
  2606. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  2607. {
  2608. stringPos++;
  2609. }
  2610. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  2611. {
  2612. stringPos++;
  2613. }
  2614. paramPos++;
  2615. }
  2616. do
  2617. {
  2618. if ((delim = format[formatPos++]) > ' ')
  2619. {
  2620. if (delim == '\'')
  2621. {
  2622. while ((delim = format[formatPos++]) && delim != '\'') {}
  2623. }
  2624. else if (delim != 'z')
  2625. {
  2626. return delim;
  2627. }
  2628. }
  2629. }
  2630. while (delim > ' ');
  2631. return 0;
  2632. }
Advertisement
Add Comment
Please, Sign In to add comment