Advertisement
Guest User

gamemode

a guest
Jan 22nd, 2016
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 60.06 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3.  
  4. #include <a_samp>
  5. #include <streamer>
  6. #include <Desk>
  7. #include <float>
  8. #include <utils>
  9. #include <morphinc>
  10. #include <Dini>
  11. #include <a_objects>
  12. #pragma tabsize 0
  13. #include <a_mysql>
  14.  
  15. //static gTeam[MAX_PLAYERS];
  16. #undef MAX_PLAYERS
  17. #define MAX_PLAYERS 500
  18. #undef MAX_OBJECTS
  19. #define MAX_OBJECTS 1000
  20.  
  21. #define MYSQL_HOST "127.0.0.1"
  22. #define MYSQL_USER "root"
  23. #define MYSQL_PASS "hexatriagonal661"
  24. #define MYSQL_DBSE "world"
  25.  
  26. #define DIALOG_REGISTER 1
  27. #define DIALOG_LOGIN 2
  28. #define Autokauf1 3
  29. #define EC-Autokauf1 4
  30. #define DIALOG_STATS 5
  31. #define DIALOG_ATM 6
  32. #define DIALOG_ATM_ABHEBEN 7
  33. #define DIALOG_ATM_EINZAHLEN 8
  34. #define DIALOG_ATM_STAND 9
  35. #define DIALOG_ATM_STAND_1 10
  36.  
  37. #define outside 0
  38. #define vosaID 1
  39. #define lspdID 2
  40. #define sfpdID 3
  41. #define lvpdID 4
  42.  
  43. #define COLOR_CYAN 0x2EFEF7FF
  44. #define COLOR_WHITE 0xFFFFFFFF
  45. #define COLOR_RED 0xFF0000FF
  46. #define COLOR_ERROR 0xDF0101FF
  47. #define COLOR_YELLOW 0xD7DF01FF
  48. #define COLOR_ORANGE 0xFF8000FF
  49. #define COLOR_GREEN 0x01DF01FF
  50. #define COLOR_MONEY 0x04B404FF
  51. #define COLOR_BLUE 0x0000FFFF
  52. #define COLOR_L_BLUE 0x2E64FEFF
  53. #define COLOR_PINK 0xFF00FFFF
  54. #define COLOR_PURPLE 0x8000FFFF
  55. #define COLOR_WHISPER 0xD358F7FF
  56. #define COLOR_GREY 0xBDBDBDFF
  57. #define COLOR_CIVILIAN 0xFFFFFFFF
  58. #define COLOR_COP 0x2E9AFEFF
  59. #define COLOR_AGENT 0x2E2EFEFF
  60. #define COLOR_DOCTOR 0xFA5858FF
  61. #define COLOR_OAMT 0x2EFEF7FF
  62.  
  63. #define respawntime 120
  64.  
  65. #define MAX_FRAC_VEHICLES 15
  66. enum fracVehEnum {
  67. e_modelID,
  68. Float:e_x,
  69. Float:e_y,
  70. Float:e_z,
  71. Float:e_a,
  72. e_color1,
  73. e_color2,
  74. e_fracID,
  75. e_vID
  76. };
  77. new KhTimer;
  78. //new gOoc[MAX_PLAYERS];
  79. new gNews[MAX_PLAYERS];
  80. new fracVehicle[MAX_FRAC_VEHICLES][fracVehEnum];
  81. new giveplayerid;
  82. new handle;
  83. new CopGate;
  84. new barrierTurn;
  85. new ModeName;
  86. new restrictedarea1;
  87. new AdminCar[1];
  88. new GrottiCar[1];
  89. //new State;
  90. //new motor;
  91. //new vid;
  92. new JobMedicLVCar[14];
  93. new VosaCar[3];
  94. new VosaEnter;
  95. new VosaExit;
  96. new LSPDEnter;
  97. new LSPDExit;
  98. new sirenID[MAX_VEHICLES] = {-1, ...};
  99. new VaultDoor;
  100.  
  101. enum pDataEnum
  102. {
  103. p_id,
  104. bool:pLoggedIn,
  105. pName[MAX_PLAYER_NAME],
  106. pLevel,
  107. pShealth,
  108. pCash,
  109. pBank,
  110. pKills,
  111. pDeaths,
  112. pRP,
  113. pJob,
  114. pFrac,
  115. pAdminLevel,
  116. pPaycheck,
  117. pPayminutes,
  118. pSkin,
  119. pSpawnAmmo1,
  120. pSpawnAmmo2,
  121. pSpawnWeapon1,
  122. pSpawnWeapon2,
  123. pSpawnArmor,
  124. pLeader,
  125. pMute,
  126. pFRank,
  127. pInt,
  128. pRob,
  129. pRobTotal,
  130. pKh,
  131. pKhZeit,
  132. pRobMoney
  133. }
  134. new PlayerInfo[MAX_PLAYERS][pDataEnum];
  135.  
  136. public OnGameModeInit()
  137. {
  138. mysql_log(LOG_ALL);
  139. SetTimer("SaveAllFracVehs", 60000, true);
  140. LoadFracVehicles();
  141. EnableStuntBonusForAll(0);
  142. DisableInteriorEnterExits();
  143. // VOSA
  144. print("\n--------------------------------------");
  145. print(" Vault of San Andreas - Anti");
  146. print("--------------------------------------\n");
  147. VosaEnter = CreatePickup(1559, 1, -553.0568,2593.8389,53.9348, -1);
  148. VosaExit = CreatePickup(1559, 1, 390.3706,173.7297,1008.3828, -1);
  149. LSPDEnter = CreatePickup(1559, 1, 1554.6573,-1675.6886,16.1953, -1);
  150. LSPDExit = CreatePickup(1559, 1, 246.783996,63.900199,1003.640625, -1);
  151. CreateObject(19324, 1973.73499, 1403.48596, 8.89510, 0.00000, 0.00000, 90.00000);
  152. CreateObject(1502, 1174.32947, -1333.88733, -15.76170, 0.00000, 0.00000, 89.91660);
  153. CreateObject(1502, 1174.21411, -1347.63696, -15.76170, 0.00000, 0.00000, 89.91660);
  154. CreateObject(2603, 1176.23193, -1331.42236, -15.31230, 0.00000, 0.00000, 0.00000);
  155. CreateObject(2603, 1181.49768, -1331.42236, -15.31230, 0.00000, 0.00000, 0.00000);
  156. VaultDoor = CreateObject(19799, 2143.20142, 1626.91272, 994.26593, 0.00000, 0.00000, 180.00000);
  157. CreateObject(2886, 2145.86304, 1626.91455, 993.88879, 0.00000, 0.00000, 0.00000);
  158. CreateObject(2927, 2144.09692, 1606.83459, 993.68671, 0.00000, 0.00000, 0.00000);
  159. CreateObject(1502, 1155.97827, -1323.30005, -15.76170, 0.00000, 0.00000, 89.91660);
  160. CreateObject(2395, 1179.47156, -1319.48975, -9.68610, 0.00000, 90.00000, 0.00000);
  161. CreateObject(2395, 1179.47156, -1319.48975, -13.40755, 0.00000, 90.00000, 0.00000);
  162. CreateObject(14598, 1169.03857, -1322.54431, -11.77046, 0.00000, 0.00000, 89.91660);
  163. CreateObject(1502, 1174.32947, -1333.88733, -15.76170, 0.00000, 0.00000, 89.91660);
  164. CreateObject(1502, 1174.21411, -1347.63696, -15.76170, 0.00000, 0.00000, 89.91660);
  165. CreateObject(2603, 1176.23193, -1331.42236, -15.31230, 0.00000, 0.00000, 0.00000);
  166. CreateObject(2603, 1181.49768, -1331.42236, -15.31230, 0.00000, 0.00000, 0.00000);
  167. CreateObject(19799, 2143.20142, 1626.91272, 994.26593, 0.00000, 0.00000, 180.00000);
  168. CreateObject(2886, 2145.86304, 1626.91455, 993.88879, 0.00000, 0.00000, 0.00000);
  169. CreateObject(2927, 2144.09692, 1606.83459, 993.68671, 0.00000, 0.00000, 0.00000);
  170. CreateObject(14595, 1169.07520, -1322.54138, 12.19619, 0.00000, 0.00000, 89.91663);
  171. CreateObject(974, -510.80389, 2547.42847, 55.11270, 0.00000, 0.00000, 0.00000);
  172. CreateObject(974, -517.49622, 2547.42847, 55.11270, 0.00000, 0.00000, 0.00000);
  173. CreateObject(974, -524.17401, 2547.42847, 55.11270, 0.00000, 0.00000, 0.00000);
  174. CreateObject(974, -530.87042, 2547.42847, 55.11270, 0.00000, 0.00000, 0.00000);
  175. CreateObject(974, -537.57330, 2547.42847, 55.11270, 0.00000, 0.00000, 0.00000);
  176. CreateObject(974, -541.69537, 2550.64258, 55.11270, 0.10000, 0.00000, 283.00000);
  177. CreateObject(974, -542.40540, 2557.24243, 55.11270, 0.00000, 0.00000, 89.14000);
  178. CreateObject(974, -542.34540, 2563.93262, 55.11270, 0.00000, 0.00000, 90.00000);
  179. CreateObject(3279, -535.82532,2553.60083, 52.22110, 0.00000, 0.00000, 0.00000);
  180. CreateObject(974, -544.82440, 2569.51465, 55.11270, 0.00000, 0.00000, 317.17401);
  181. CreateObject(974, -549.69421, 2574.05322, 55.11270, 0.00000, 0.00000, 317.17401);
  182. CreateObject(2614, -548.37958, 2593.90259, 58.37840, 0.00000, 0.00000, 90.00000);
  183. CreateObject(7092, -548.56598, 2609.70581, 60.91220, 0.00000, 0.00000, 180.00000);
  184. CreateObject(974, -507.41290, 2550.81812, 55.11270, 0.00000, 0.00000, 88.58000);
  185. CreateObject(974, -507.23291, 2557.51465, 55.11270, 0.00000, 0.00000, 88.34630);
  186. CreateObject(974, -507.05499, 2564.21802, 55.11270, 0.00000, 0.00000, 88.76000);
  187. CreateObject(974, -506.88989, 2570.86719, 55.11270, 0.00000, 0.00000, 88.41170);
  188. CreateObject(974, -506.56729, 2577.49536, 55.11270, 0.00000, 0.00000, 86.02880);
  189. CreateObject(974, -506.28729, 2584.16772, 55.11270, 0.00000, 0.00000, 88.81430);
  190. CopGate = CreateObject(980, -506.24438, 2592.89111, 55.09300, 0.00000, 0.00000, 270.00000);
  191. CreateObject(974, -506.28729, 2601.67798, 55.11270, 0.00000, 0.00000, 90.00000);
  192. CreateObject(974, -506.22147, 2608.32153, 55.11270, 0.00000, 0.00000, 88.11953);
  193. CreateObject(974, -505.98151, 2614.97852, 55.11270, 0.00000, 0.00000, 87.34410);
  194. CreateObject(967, -499.13611, 2588.46777, 52.51210, 0.00000, 0.00000, 0.00000);
  195. CreateObject(966, -498.63690, 2589.46973, 52.51950, 0.00000, 0.00000, 270.00000);
  196. barrierTurn = CreateObject(968, -498.63690, 2589.46973, 53.41950, 0.00000, 90.00000, 90.00000);
  197. CreateObject(974, -505.72150, 2621.59033, 55.11270, 0.00000, 0.00000, 88.00960);
  198. CreateObject(974, -505.58151, 2628.30688, 55.11270, 0.00000, 0.00000, 89.06990);
  199. CreateObject(974, -505.48151, 2634.97290, 55.11270, 0.00000, 0.00000, 89.06990);
  200. CreateObject(974, -508.70041, 2638.70483, 55.11270, 0.00000, 0.00000, 353.05951);
  201. CreateObject(974, -515.38428, 2639.10474, 55.11270, 0.00000, 0.00000, 0.00000);
  202. CreateObject(974, -522.09308, 2639.10474, 55.11270, 0.00000, 0.00000, 0.00000);
  203. CreateObject(974, -528.77173, 2639.10474, 55.11270, 0.00000, 0.00000, 0.00000);
  204. CreateObject(974, -535.47693, 2639.10474, 55.11270, 0.00000, 0.00000, 0.00000);
  205. CreateObject(974, -539.76129, 2635.94189, 55.11270, 0.00000, 0.00000, 74.89670);
  206. CreateObject(974, -540.63788, 2629.38452, 55.13270, 0.00000, 0.00000, 90.00000);
  207. CreateObject(974, -540.63788, 2622.69092, 55.13270, 0.00000, 0.00000, 90.00000);
  208. CreateObject(974, -543.36462, 2617.45483, 55.13270, 0.00000, 0.00000, 34.33770);
  209. CreateObject(974, -548.65448, 2613.43188, 55.13270, 0.00000, 0.00000, 39.97280);
  210. CreateObject(974, -554.51349, 2610.60352, 55.13270, 0.00000, 0.00000, 11.73040);
  211. CreateObject(3279, -513.53082, 2633.97900, 52.24680, 0.00000, 0.00000, 0.00000);
  212. // VOSA ENDE
  213. // +++ Job Krankenwagen
  214. JobMedicLVCar[0] = AddStaticVehicleEx(416,1588.8213,1849.4082,10.9695,180.0036,1,3,respawntime); // Ambulance 1
  215. JobMedicLVCar[1] = AddStaticVehicleEx(416,1595.3253,1849.1686,10.9689,180.5072,1,3,respawntime); // Ambulance 2
  216. JobMedicLVCar[2] = AddStaticVehicleEx(416,1624.5693,1818.4874,10.9696,2.6670,1,3,respawntime); // Ambulance 3
  217. JobMedicLVCar[3] = AddStaticVehicleEx(416,1630.3860,1797.2507,10.9694,0.8655,1,3,respawntime); // Ambulance 4
  218. JobMedicLVCar[4] = AddStaticVehicleEx(416,1641.9818,1814.9865,10.8915,180.5573,1,3,respawntime); // Ambulance 5
  219. JobMedicLVCar[5] = AddStaticVehicleEx(416,1642.0996,1795.0107,10.8873,180.2838,1,3,respawntime); // Ambulance 6
  220. JobMedicLVCar[6] = AddStaticVehicleEx(416,1595.1847,1840.1555,10.9693,359.9989,1,3,respawntime); // Ambulance 7
  221. JobMedicLVCar[7] = AddStaticVehicleEx(416,1592.3219,1818.7832,10.9692,359.7769,1,3,respawntime); // Ambulance 8
  222. JobMedicLVCar[8] = AddStaticVehicleEx(416,1617.2343,1830.4701,10.9698,178.9775,1,3,respawntime); // Ambulance 9
  223. JobMedicLVCar[9] = AddStaticVehicleEx(416,1573.1053,1814.9865,10.8992,179.7276,1,3,respawntime); // Ambulance 10
  224. JobMedicLVCar[10] = AddStaticVehicleEx(416,1572.9689,1797.1656,10.8948,179.2666,1,3,respawntime); // Ambulance 11
  225. JobMedicLVCar[11] = AddStaticVehicleEx(416,1584.7556,1743.7776,10.9742,179.3265,1,3,respawntime); // Ambulance 12
  226. JobMedicLVCar[12] = AddStaticVehicleEx(416,1608.7765,1718.7253,10.8943,269.9508,1,3,respawntime); // Ambulance 13
  227. JobMedicLVCar[13] = AddStaticVehicleEx(416,1626.7153,1718.9386,10.9027,268.1441,1,3,respawntime); // Ambulance 14
  228. // ++
  229. // +++ Vosa Cars
  230. VosaCar[0] = AddStaticVehicleEx(428,-537.9599,2580.1624,53.5631,270.4475,0,0,respawntime);
  231. VosaCar[1] = AddStaticVehicleEx(427,-529.0220,2615.4236,53.5632,89.2030,194,0,respawntime); // Eskorte VOSA 1
  232. VosaCar[2] = AddStaticVehicleEx(427,-519.0294,2564.7927,53.5631,267.0086,194,0,respawntime); // Eskorte VOSA 2
  233. SetVehicleHealth(VosaCar[0], 12000);
  234. SetVehicleHealth(VosaCar[1], 6000);
  235. SetVehicleHealth(VosaCar[2], 6000);
  236. AdminCar[0] = AddStaticVehicleEx(411,2025.5825,1338.0015,10.8203, 234.9653, 1, 1, respawntime);
  237. GrottiCar[0] = AddStaticVehicleEx(411,562.6365,-1290.5151,16.9753,359.9723,1,1, respawntime);
  238. SetVehicleNumberPlate(AdminCar[0], "Admin");
  239. SetVehicleNumberPlate(GrottiCar[0], "Grotti's");
  240. SetTimer("unmute", 60000, false);
  241. restrictedarea1 = GangZoneCreate(-605, 2536.5, -493, 2659.5);
  242. MySQL_SetupConnection();
  243. ModeName = TextDrawCreate(628.000000,427.000000,"American Madness Reallife");
  244. SetGameModeText("A-M Reallife Roleplay [GER]");
  245. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  246. return 1;
  247. }
  248.  
  249. public OnGameModeExit()
  250. {
  251. SaveAllFracVehs();
  252. mysql_close(handle);
  253. return 1;
  254. }
  255.  
  256. public OnPlayerRequestClass(playerid, classid)
  257. {
  258. //Wenn der Spieler die Class-Selection betritt prüfe, ob er bereits eingeloggt ist
  259. if(!PlayerInfo[playerid][pLoggedIn])
  260. {
  261. //Wenn nicht, dann prüfe ob der Spieler ein Konto hat
  262. //Dazu wird ein Query gesendet und ein neues Callback aufgerufen
  263. //%e steht für einen geprüften String (sollte anstatt %s in Queries verwendet werden)
  264. new query[128];
  265. mysql_format(handle, query, sizeof(query), "SELECT id FROM accounts WHERE name = '%e'", PlayerInfo[playerid][pName]);
  266.  
  267. //Das Query wird abgesendet und die playerid an OnUserCheck übergeben
  268. mysql_pquery(handle, query, "OnUserCheck", "d", playerid);
  269. }
  270. return 1;
  271. }
  272.  
  273. public OnPlayerConnect(playerid)
  274. {
  275. RemoveBuildingForPlayer(playerid, 14636, 2172.1250, 1611.3125, 1000.4219, 0.25);
  276. GangZoneShowForPlayer(playerid, restrictedarea1, 0xFF000088);
  277. PlayerInfo[playerid][p_id] = 0;
  278. PlayerInfo[playerid][pLoggedIn] = false;
  279. PlayerInfo[playerid][pLevel] = 0;
  280. PlayerInfo[playerid][pCash] = 0;
  281. PlayerInfo[playerid][pBank] = 0;
  282. PlayerInfo[playerid][pKills] = 0;
  283. PlayerInfo[playerid][pDeaths] = 0;
  284. PlayerInfo[playerid][pRP] = 0;
  285. PlayerInfo[playerid][pShealth] = 50;
  286. PlayerInfo[playerid][pJob] = 0;
  287. PlayerInfo[playerid][pFrac] = 0;
  288. PlayerInfo[playerid][pAdminLevel] = 0;
  289. PlayerInfo[playerid][pPaycheck] = 0;
  290. PlayerInfo[playerid][pPayminutes] = 0;
  291. PlayerInfo[playerid][pSpawnWeapon1] = 0;
  292. PlayerInfo[playerid][pSpawnAmmo1] = 0;
  293. PlayerInfo[playerid][pSpawnWeapon2] = 0;
  294. PlayerInfo[playerid][pSpawnAmmo2] = 0;
  295. PlayerInfo[playerid][pSpawnArmor] = 0;
  296. PlayerInfo[playerid][pLeader] = 0;
  297. PlayerInfo[playerid][pMute] = 0;
  298. PlayerInfo[playerid][pSkin] = 0;
  299. PlayerInfo[playerid][pRob] = 0;
  300. PlayerInfo[playerid][pRobTotal] = 0;
  301. PlayerInfo[playerid][pKh] = 0;
  302. PlayerInfo[playerid][pKhZeit] = 0;
  303. GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
  304. return 1;
  305. }
  306.  
  307. public OnPlayerDisconnect(playerid, reason)
  308. {
  309. //Speichere den Spieler wenn er der Server verlässt
  310. SaveUserStats(playerid);
  311. return 1;
  312. }
  313.  
  314. public OnPlayerSpawn(playerid)
  315. {
  316. if(PlayerInfo[playerid][pKh] == 1)
  317. {
  318. SetTimer("KHStart", 250, false);
  319. return 1;
  320. }
  321. if(IsPlayerConnected(playerid))
  322. {
  323. SetPlayerHealth(playerid, PlayerInfo[playerid][pShealth]);
  324. SetPlayerArmour(playerid, PlayerInfo[playerid][pSpawnArmor]);
  325. GivePlayerWeapon(playerid, PlayerInfo[playerid][pSpawnWeapon1], PlayerInfo[playerid][pSpawnAmmo1]);
  326. GivePlayerWeapon(playerid, PlayerInfo[playerid][pSpawnWeapon2], PlayerInfo[playerid][pSpawnAmmo2]);
  327. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  328. }
  329. return 1;
  330. }
  331.  
  332. public OnPlayerDeath(playerid, killerid, reason)
  333. {
  334. if(killerid != INVALID_PLAYER_ID)
  335. {
  336. PlayerInfo[killerid][pKills]++;
  337. GivePlayerMoney(killerid, 350);
  338. PlayerInfo[killerid][pCash] += 350;
  339. if(PlayerInfo[killerid][pKills] > 3)
  340. {
  341. PlayerInfo[killerid][pLevel] = 1;
  342. }
  343. }
  344. SetTimer("KHStart", 3150, false);
  345. PlayerInfo[playerid][pDeaths]++;
  346. return 1;
  347. }
  348.  
  349. public OnVehicleSpawn(vehicleid)
  350. {
  351. return 1;
  352. }
  353.  
  354. public OnVehicleDeath(vehicleid, killerid)
  355. {
  356. return 1;
  357. }
  358.  
  359. public OnPlayerText(playerid, text[])
  360. {
  361. return 1;
  362. }
  363.  
  364. public OnPlayerCommandText(playerid, cmdtext[])
  365. {
  366. new string[256];
  367. new idx;
  368. new cmd[256];
  369. new tmp[256];
  370. new pname[MAX_PLAYERS];
  371. cmd = strtok(cmdtext, idx);
  372. GetPlayerName(playerid,pname,sizeof(pname));
  373. if(PlayerInfo[playerid][pLoggedIn] = false)
  374. {
  375. SendClientMessage(playerid, COLOR_ERROR,"Du musst dich zuerst einloggen um alle Befehle nutzen zu können!");
  376. return 0;
  377. }
  378. if(strcmp(cmd, "/stats", true) == 0)
  379. {
  380. new namestring[256];
  381. format(namestring, sizeof(namestring), "%s", pname);
  382. new stats[256];
  383. format(stats, sizeof(stats), "Level: [%d] Respektpunkte: [%d]\nBeruf: %d Fraktion: %d\nBargeld: $%d\nKonto: $%d\nMorde: %d\nTode: %d", PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pRP], PlayerInfo[playerid][pJob], PlayerInfo[playerid][pFrac], PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths]);
  384. if(!IsPlayerConnected(playerid)) return 1;
  385. ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, namestring, stats, "Ok", "Abbruch");
  386. return 1;
  387. }
  388. if(strcmp(cmd, "/hack", true) == 0)
  389. {
  390. if(IsPlayerConnected(playerid))
  391. {
  392. if(IsPlayerInRangeOfPoint(playerid, 2, 2144.2336,1625.7877,993.6882))
  393. {
  394. SendClientMessage(playerid, COLOR_CYAN, "* Hacken gestartet, die Tür wird sich in 60 Sekunden öffnen!");
  395. OOCNews(COLOR_YELLOW, "Breaking News: Es wurde ein Hackangriff auf das Vault of San Andreas gestartet!");
  396. SetTimer("VaultDoorOpen", 60000, false);
  397. }
  398. }
  399. }
  400. if(strcmp(cmd, "/rob", true) == 0)
  401. {
  402. if(!IsPlayerConnected(playerid)) return 1;
  403. if(IsPlayerInRangeOfPoint(playerid, 12, 2144.2869,1635.0681,993.5761))
  404. {
  405. SendClientMessage(playerid, COLOR_CYAN, "Du hast den Vault of San Andreas Raub gestartet, überlebe ihn besser.");
  406. SetTimerEx("VosaRob", 5000, false, "d", playerid);
  407. PlayerInfo[playerid][pRob] = 0;
  408. return 1;
  409. }
  410. }
  411. if(!strcmp(cmdtext, "/sirene", true, 7))
  412. {
  413. new vehicleid = GetPlayerVehicleID(playerid);
  414. if(IsACop(playerid))
  415. {
  416. if(strlen(cmdtext) == 7) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /sirene [an/aus]");
  417. else if(cmdtext[7] == ' ')
  418. {
  419. if(!strlen(cmdtext[8])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /sirene [an/aus]");
  420. if(!strcmp(cmdtext[8], "an", true))
  421. {
  422. sirenID[vehicleid] = CreateObject(18646, 0, 0, 0, 0, 0, 0, 0);
  423. AttachObjectToVehicle(sirenID[vehicleid], vehicleid, 0, 0, 0, 0, 0, 0);
  424. }
  425. else if(!strcmp(cmdtext[8], "aus", true))
  426. {
  427. DestroyObject(sirenID[vehicleid]);
  428. sirenID[vehicleid] = -1;
  429. }
  430. else return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /sirene [an/aus]");
  431. return 1;
  432. }
  433. }
  434. else
  435. {
  436. SendClientMessage(playerid, COLOR_ERROR, "* Du bist kein Polizist!");
  437. }
  438. }
  439.  
  440. if(strcmp(cmd, "/heilen", true) == 0)
  441. {
  442. tmp = strtok (cmdtext, idx);
  443. giveplayerid = ReturnUser(tmp);
  444. if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_CYAN, "Benutze: /heilen [ID]");
  445. if(PlayerInfo[playerid][pJob] != 2) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Sanitäter");
  446. //if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_RED, "Du kannst dich nicht selber heilen!");
  447. new Float:hp;
  448. GetPlayerHealth(giveplayerid,hp);
  449. if(hp >= 124) return SendClientMessage(playerid, COLOR_RED, "Der Spieler hat bereits über 125 Gesundheit.");
  450. if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(giveplayerid)) return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht in deinem Fahrzeug!");
  451. for(new i = 0; i < sizeof(JobMedicLVCar); i++)
  452. {
  453. if(GetPlayerVehicleID(playerid) != JobMedicLVCar[i]) continue; // Also eben.. Ich habe /sethp 0 25 gemacht, dann bin ich in den Wagen gestiegen und habe 125 HP bekommen ohne ein Befehl einzugeben ich glaub ich weiß woran es liegt
  454. new pname2[MAX_PLAYER_NAME];
  455. GetPlayerName(giveplayerid, pname2, sizeof(pname2));
  456. SetPlayerHealth(giveplayerid, 125);
  457. GivePlayerMoney(giveplayerid, -50);
  458. GivePlayerMoney(playerid, 50);
  459. new receiver[256];
  460. new sender[256];
  461. format(receiver, sizeof(receiver), "Du wurdest von %s auf 125 Gesundheit geheilt", pname);
  462. format(sender, sizeof(sender), "Du hast Patient %s für $50 auf 125 Gesundheit geheilt, außerdem werden dir $150 gutgeschrieben.", pname2);
  463. SendClientMessage(giveplayerid, COLOR_CYAN, receiver);
  464. SendClientMessage(playerid, COLOR_CYAN, sender);
  465. SendClientMessage(playerid, COLOR_CYAN, "Gesamtlohn: {04B404}+$200");
  466. mysql_pquery(handle, "UPDATE accounts SET paycheck = paycheck + 150 WHERE id = '%d'", PlayerInfo[playerid][p_id]);
  467. return 1;
  468. }
  469. return 1;
  470. }
  471. if(strcmp(cmd, "/gotovosa", true) == 0)
  472. {
  473. if(!IsPlayerConnected(playerid)) return 1;
  474. if(PlayerInfo[playerid][pAdminLevel] >= 2)
  475. {
  476. SetPlayerPos(playerid, 2144.11,1637.08,994.65);
  477. SetPlayerInterior(playerid, 1);
  478. SetPlayerVirtualWorld(playerid, vosaID);
  479. PlayerInfo[playerid][pInt] = 1;
  480. return 1;
  481. }
  482. else
  483. {
  484. SendClientMessage(playerid, COLOR_ERROR, "Du bist kein Admin der Stufe 2!");
  485. return 1;
  486. }
  487. }
  488. if(strcmp(cmd, "/gotovault", true) == 0)
  489. {
  490. if(!IsPlayerConnected(playerid)) return 1;
  491. if(PlayerInfo[playerid][pAdminLevel] >= 2)
  492. {
  493. SetPlayerPos(playerid, 2143.80,1622.44,994.17);
  494. SetPlayerInterior(playerid, 1);
  495. SetPlayerVirtualWorld(playerid, vosaID);
  496. PlayerInfo[playerid][pInt] = 1;
  497. return 1;
  498. }
  499. else
  500. {
  501. SendClientMessage(playerid, COLOR_ERROR, "Du bist kein Admin der Stufe 2!");
  502. return 1;
  503. }
  504. }/*
  505. if(strcmp(cmd, "/ainvite", true) == 0)
  506. {
  507. new invited;
  508. invited = ReturnUser(tmp);
  509. new frac;
  510. frac = strval(tmp);
  511. if(!ReturnUser(tmp) return SendClientMessage(playerid, COLOR_CYAN, "* Benutze: /ainvite [id] [fraktion]");
  512. if(PlayerInfo[playerid][pAdminLevel] >= 3)
  513. if(IsPlayerConnected(playerid))
  514. {
  515. mysql_pquery(handle, "UPDATE accounts SET fracID = %d WHERE id = %d", frac, PlayerInfo[playerid][p_id]);
  516. }
  517. }*/
  518. if(strcmp(cmd, "/uninvite", true) == 0 || strcmp(cmd, "/f", true) == 0)
  519. {
  520. new uninvited;
  521. uninvited = ReturnUser(tmp);
  522. if(IsPlayerConnected(playerid))
  523. {
  524. if(PlayerInfo[playerid][pLeader] == 1)
  525. {
  526. if(!PlayerInfo[playerid][pFrac] && PlayerInfo[uninvited][pFrac]) return SendClientMessage(playerid, COLOR_ERROR, "Der Spieler ist nicht in deiner Fraktion!");
  527. if(PlayerInfo[uninvited][pLeader] == 1) return SendClientMessage(playerid, COLOR_ERROR, "Du kannst keine anderen Leader rauswerfen!");
  528. if(!IsPlayerConnected(uninvited)) return SendClientMessage(playerid, COLOR_ERROR, "Der Spieler ist nicht online!");
  529. SpawnPlayer(uninvited);
  530. SetPlayerSkin(uninvited, 230);
  531. PlayerInfo[uninvited][pFrac] = 0;
  532. new kickname[MAX_PLAYERS];
  533. GetPlayerName(playerid,kickname,sizeof(kickname));
  534. new uninvitemsg[256];
  535. format(string, sizeof(string), "Du wurdest von %s aus der Fraktion entlassen.", pname);
  536. SendClientMessage(playerid, COLOR_CYAN, uninvitemsg);
  537. new funinvitemsg[256];
  538. format(string, sizeof(string), "{DF0101}Uninvite:{2EFEF7} %s hat soeben %s aus der Fraktion entlassen.", pname, kickname);
  539. SendFamilyMessage(PlayerInfo[playerid][pFrac], COLOR_CYAN, funinvitemsg);
  540. }
  541. }
  542. }
  543. if(strcmp(cmd, "/family", true) == 0 || strcmp(cmd, "/f", true) == 0)
  544. {
  545. if(IsPlayerConnected(playerid))
  546. {
  547. if(PlayerInfo[playerid][pMute] == 1)
  548. {
  549. SendClientMessage(playerid, COLOR_ERROR, "Du kannst nicht sprechen, du wurdest gemutet!");
  550. return 1;
  551. }
  552. new length = strlen(cmdtext);
  553. while ((idx < length) && (cmdtext[idx] <= ' '))
  554. {
  555. idx++;
  556. }
  557. new offset = idx;
  558. new result[64];
  559. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  560. {
  561. result[idx - offset] = cmdtext[idx];
  562. idx++;
  563. }
  564. result[idx - offset] = EOS;
  565. if(!strlen(result))
  566. {
  567. SendClientMessage(playerid, COLOR_CYAN, " (/f)amily [familien chat]");
  568. return 1;
  569. }
  570. new member = PlayerInfo[playerid][pFrac];
  571. if(member==1) // LSPD
  572. {
  573. if(PlayerInfo[playerid][pFRank] == 9) { format(string, sizeof(string), "** Polizeidirektor %s: %s. )) **", pname, result); }
  574. else if(PlayerInfo[playerid][pFRank] == 8) { format(string, sizeof(string), "** Stellv. Polizeidirektor %s: %s. )) **", pname, result); }
  575. else if(PlayerInfo[playerid][pFRank] == 7) { format(string, sizeof(string), "** Polizeioberkomissar %s: %s. )) **", pname, result); }
  576. else if(PlayerInfo[playerid][pFRank] == 6) { format(string, sizeof(string), "** Polizeikommissar %s: %s. )) **", pname, result); }
  577. else if(PlayerInfo[playerid][pFRank] == 5) { format(string, sizeof(string), "** S.W.A.T. Einsatzleitung %s: %s. )) **", pname, result); }
  578. else if(PlayerInfo[playerid][pFRank] == 4) { format(string, sizeof(string), "** LV Dienst %s: %s. )) **", pname, result); }
  579. else if(PlayerInfo[playerid][pFRank] == 3) { format(string, sizeof(string), "** SF Dienst %s: %s. )) **", pname, result); }
  580. else if(PlayerInfo[playerid][pFRank] == 2) { format(string, sizeof(string), "** Polizeimeisteranwärter %s: %s. )) **", pname, result); }
  581. else if(PlayerInfo[playerid][pFRank] == 1) { format(string, sizeof(string), "** Polizeianwärter %s: %s. )) **", pname, result); }
  582. else { format(string, sizeof(string), "** Rangloser %s: %s. )) **", pname, result); }
  583. SendFamilyMessage(PlayerInfo[playerid][pFrac], COLOR_CYAN, string);
  584. }
  585. else if(member==2) // FBI
  586. {
  587. if(PlayerInfo[playerid][pFRank] == 6) { format(string, sizeof(string), "** Director %s: %s. )) **", pname, result); }
  588. else if(PlayerInfo[playerid][pFRank] == 5) { format(string, sizeof(string), "** Deputy Director %s: %s. )) **", pname, result); }
  589. else if(PlayerInfo[playerid][pFRank] == 4) { format(string, sizeof(string), "** Special Agent in Charge %s: %s. )) **", pname, result); }
  590. else if(PlayerInfo[playerid][pFRank] == 3) { format(string, sizeof(string), "** Supervisory Special Agent %s: %s. )) **", pname, result); }
  591. else if(PlayerInfo[playerid][pFRank] == 2) { format(string, sizeof(string), "** Special Agent %s: %s. )) **", pname, result); }
  592. else if(PlayerInfo[playerid][pFRank] == 1) { format(string, sizeof(string), "** New Agent %s: %s. )) **", pname, result); }
  593. SendFamilyMessage(PlayerInfo[playerid][pFrac], COLOR_CYAN, string);
  594. }
  595. else if(member==3) // Krankenhaus
  596. {
  597. if(PlayerInfo[playerid][pFRank] == 6) { format(string, sizeof(string), "** Chefarzt %s: %s. )) **", pname, result); }
  598. else if(PlayerInfo[playerid][pFRank] == 5) { format(string, sizeof(string), "** Oberarzt %s: %s. )) **", pname, result); }
  599. else if(PlayerInfo[playerid][pFRank] == 4) { format(string, sizeof(string), "** Facharzt %s: %s. )) **", pname, result); }
  600. else if(PlayerInfo[playerid][pFRank] == 3) { format(string, sizeof(string), "** Assistenzarzt %s: %s. )) **", pname, result); }
  601. else if(PlayerInfo[playerid][pFRank] == 2) { format(string, sizeof(string), "** Sanitäter %s: %s. )) **", pname, result); }
  602. else if(PlayerInfo[playerid][pFRank] == 1) { format(string, sizeof(string), "** Praktikant %s: %s. )) **", pname, result); }
  603. else { format(string, sizeof(string), "** Rangloser %s: %s. )) **", pname, result); }
  604. SendFamilyMessage(PlayerInfo[playerid][pFrac], COLOR_CYAN, string);
  605. }
  606. else if(member==4) // Ordnungsamt
  607. {
  608. if(PlayerInfo[playerid][pFRank] == 6) { format(string, sizeof(string), "** Network Producer %s: %s. )) **", pname, result); }
  609. else if(PlayerInfo[playerid][pFRank] == 5) { format(string, sizeof(string), "** Network Editor %s: %s. )) **", pname, result); }
  610. else if(PlayerInfo[playerid][pFRank] == 4) { format(string, sizeof(string), "** Network Anchor %s: %s. )) **", pname, result); }
  611. else if(PlayerInfo[playerid][pFRank] == 3) { format(string, sizeof(string), "** Local Editor %s: %s. )) **", pname, result); }
  612. else if(PlayerInfo[playerid][pFRank] == 2) { format(string, sizeof(string), "** Local Reporter %s: %s. )) **", pname, result); }
  613. else if(PlayerInfo[playerid][pFRank] == 1) { format(string, sizeof(string), "** Intern %s: %s. )) **", pname, result); }
  614. else { format(string, sizeof(string), "** Rangloser %s: %s. )) **", pname, result); }
  615. SendFamilyMessage(PlayerInfo[playerid][pFrac], COLOR_CYAN, string);
  616. }
  617. else if(PlayerInfo[playerid][pFrac] == 7) // Regierung
  618. {
  619. if(PlayerInfo[playerid][pFRank] == 12) { format(string, sizeof(string), "** Präsident %s: %s. )) **", pname, result); }
  620. else if(PlayerInfo[playerid][pFRank] == 11) { format(string, sizeof(string), "** Vize-Präsident %s: %s. )) **", pname, result); }
  621. else if(PlayerInfo[playerid][pFRank] == 10) { format(string, sizeof(string), "** Außenminister %s: %s. )) **", pname, result); }
  622. else if(PlayerInfo[playerid][pFRank] == 9) { format(string, sizeof(string), "** Innenminister %s: %s. )) **", pname, result); }
  623. else if(PlayerInfo[playerid][pFRank] == 8) { format(string, sizeof(string), "** Finanzminister %s: %s. )) **", pname, result); }
  624. else if(PlayerInfo[playerid][pFRank] == 7) { format(string, sizeof(string), "** Pressesprecher %s: %s. )) **", pname, result); }
  625. else if(PlayerInfo[playerid][pFRank] == 6) { format(string, sizeof(string), "** Justizminister %s: %s. )) **", pname, result); }
  626. else if(PlayerInfo[playerid][pFRank] == 5) { format(string, sizeof(string), "** Secret Service Leiter %s: %s. )) **", pname, result); }
  627. else if(PlayerInfo[playerid][pFRank] == 4) { format(string, sizeof(string), "** Secret Service %s: %s. )) **", pname, result); }
  628. else if(PlayerInfo[playerid][pFRank] == 3) { format(string, sizeof(string), "** Secret Service in Ausbildung %s: %s. )) **", pname, result); }
  629. else if(PlayerInfo[playerid][pFRank] == 2) { format(string, sizeof(string), "** Chaffeur %s: %s. )) **", pname, result); }
  630. else if(PlayerInfo[playerid][pFRank] == 1) { format(string, sizeof(string), "** Chaffeur in Ausbldung %s: %s. )) **", pname, result); }
  631. else if(PlayerInfo[playerid][pFRank] == 0) { format(string, sizeof(string), "** Praktikant %s: %s. )) **", pname, result); }
  632. SendFamilyMessage(PlayerInfo[playerid][pFrac], COLOR_CYAN, string);
  633. }
  634. printf("%s", string);
  635. return 1;
  636. }
  637. return 1;
  638. }
  639. return 1;
  640. }
  641.  
  642. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  643. {
  644. if(IsPlayerConnected(playerid))
  645. {
  646. if(GetPlayerVehicleID(playerid) == GrottiCar[0])
  647. {
  648. ShowPlayerDialog(playerid, Autokauf1, DIALOG_STYLE_MSGBOX, "Autokauf", "Möchtest Du dieses Fahrzeug für $325.000 kaufen?", "Ja", "Nein");
  649. }
  650. }
  651. return 1;
  652. }
  653.  
  654. public OnPlayerExitVehicle(playerid, vehicleid)
  655. {
  656. return 1;
  657. }
  658.  
  659. public OnPlayerStateChange(playerid, newstate, oldstate)
  660. {
  661. return 1;
  662. }
  663.  
  664. public OnPlayerEnterCheckpoint(playerid)
  665. {
  666. return 1;
  667. }
  668.  
  669. public OnPlayerLeaveCheckpoint(playerid)
  670. {
  671. return 1;
  672. }
  673.  
  674. public OnPlayerEnterRaceCheckpoint(playerid)
  675. {
  676. return 1;
  677. }
  678.  
  679. public OnPlayerLeaveRaceCheckpoint(playerid)
  680. {
  681. return 1;
  682. }
  683.  
  684. public OnRconCommand(cmd[])
  685. {
  686. return 1;
  687. }
  688.  
  689. public OnPlayerRequestSpawn(playerid)
  690. {
  691. return 1;
  692. }
  693.  
  694. public OnObjectMoved(objectid)
  695. {
  696. return 1;
  697. }
  698.  
  699. public OnPlayerObjectMoved(playerid, objectid)
  700. {
  701. return 1;
  702. }
  703.  
  704. public OnPlayerPickUpPickup(playerid, pickupid)
  705. {
  706. if(pickupid == VosaEnter)
  707. {
  708. GameTextForPlayer(playerid, "Enter", 2000, 3);
  709. return 1;
  710. }
  711. if(pickupid == VosaExit)
  712. {
  713. GameTextForPlayer(playerid, "Enter", 2000, 3);
  714. return 1;
  715. }
  716. return 1;
  717. }
  718.  
  719. public OnVehicleMod(playerid, vehicleid, componentid)
  720. {
  721. return 1;
  722. }
  723.  
  724. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  725. {
  726. return 1;
  727. }
  728.  
  729. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  730. {
  731. return 1;
  732. }
  733.  
  734. public OnPlayerSelectedMenuRow(playerid, row)
  735. {
  736. return 1;
  737. }
  738.  
  739. public OnPlayerExitedMenu(playerid)
  740. {
  741. return 1;
  742. }
  743.  
  744. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  745. {
  746. return 1;
  747. }
  748.  
  749. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  750. {
  751. if(newkeys == 16 || newkeys == 16)
  752. {
  753. if(PlayerToPoint(3.0, playerid,1974.3573,1403.5143,9.2578))
  754. {
  755. if(PlayerToPoint(3.0, playerid,1974.3573,1403.5143,9.2578))
  756. {
  757. ShowPlayerDialog(playerid, DIALOG_ATM, DIALOG_STYLE_LIST, "Bankautomat", "Geld einzahlen\nGeld abheben\nKontostand", "Ok", "Abbruch");
  758. return 1;
  759. }
  760. }
  761. if(PlayerToPoint(3.0, playerid,-553.0568,2593.8389,53.9348)) // VOSA Enter
  762. {
  763. if(PlayerToPoint(3.0, playerid,-553.0568,2593.8389,53.9348))
  764. {
  765. SetPlayerPos(playerid,390.3706,173.7297,1008.3828);
  766. SetPlayerFacingAngle(playerid, 0.00);
  767. SetPlayerInterior(playerid,3);//Interior
  768. PlayerInfo[playerid][pInt] = 3;//interior
  769. SetPlayerVirtualWorld(playerid, vosaID);//Virtuele Welt
  770. }
  771. else
  772. {
  773. SetPlayerVirtualWorld(playerid, 0);//Virtuele Welt
  774. }
  775. }
  776. if(PlayerToPoint(3.0, playerid,390.3706,173.7297,1008.3828)) // VOSA EXIT
  777. {
  778. if(PlayerToPoint(3.0, playerid,390.3706,173.7297,1008.3828))
  779. {
  780. SetPlayerPos(playerid,-553.0568,2593.8389,53.9348);
  781. SetPlayerFacingAngle(playerid, 0.00);
  782. SetPlayerInterior(playerid,0);//Interior
  783. PlayerInfo[playerid][pInt] = 0;//interior
  784. SetPlayerVirtualWorld(playerid, 0);//Virtuele Welt
  785. }
  786. else
  787. {
  788. SetPlayerVirtualWorld(playerid, 0);//Virtuele Welt
  789. }
  790. }
  791. if(PlayerToPoint(3.0, playerid,1554.6573,-1675.6886,16.1953)) // LSPD Enter
  792. {
  793. if(PlayerToPoint(3.0, playerid,1554.6573,-1675.6886,16.1953))
  794. {
  795. SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
  796. SetPlayerFacingAngle(playerid, 274.4534);
  797. SetPlayerInterior(playerid,6);//Interior
  798. PlayerInfo[playerid][pInt] = 6;//interior
  799. SetPlayerVirtualWorld(playerid, lspdID);//Virtuele Welt
  800. }
  801. else
  802. {
  803. SetPlayerVirtualWorld(playerid, 0);//Virtuele Welt
  804. }
  805. }
  806. if(PlayerToPoint(3.0, playerid,246.783996,63.900199,1003.640625)) // LSPD Exit
  807. {
  808. if(PlayerToPoint(3.0, playerid,246.783996,63.900199,1003.640625))
  809. {
  810. SetPlayerPos(playerid,1554.6573,-1675.6886,16.1953);
  811. SetPlayerFacingAngle(playerid, 0);
  812. SetPlayerInterior(playerid,0);//Interior
  813. PlayerInfo[playerid][pInt] = 0;//interior
  814. SetPlayerVirtualWorld(playerid, 0);//Virtuele Welt
  815. }
  816. else
  817. {
  818. SetPlayerVirtualWorld(playerid, 0);//Virtuele Welt
  819. }
  820. }
  821. }
  822. return 1;
  823. }
  824.  
  825. public OnRconLoginAttempt(ip[], password[], success)
  826. {
  827. return 1;
  828. }
  829.  
  830. public OnPlayerUpdate(playerid)
  831. {
  832. return 1;
  833. }
  834.  
  835. public OnPlayerStreamIn(playerid, forplayerid)
  836. {
  837. return 1;
  838. }
  839.  
  840. public OnPlayerStreamOut(playerid, forplayerid)
  841. {
  842. return 1;
  843. }
  844.  
  845. public OnVehicleStreamIn(vehicleid, forplayerid)
  846. {
  847. return 1;
  848. }
  849.  
  850. public OnVehicleStreamOut(vehicleid, forplayerid)
  851. {
  852. return 1;
  853. }
  854.  
  855. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  856. {
  857. if(dialogid == DIALOG_ATM)
  858. {
  859. if(!IsPlayerConnected(playerid)) return 1;
  860. if(listitem == 1)
  861. { // ShowPlayerDialog(playerid, DIALOG_ATM, DIALOG_STYLE_LIST, "Bankautomat", "Geld abheben\nGeld einzahlen\nÜberweisung\nÜbersicht", "Auswählen", "Abbruch");
  862. new atminfo[256];
  863. format(atminfo, sizeof(atminfo), "Kontostand: $%d\nWie viel Geld möchtest du abheben?", PlayerInfo[playerid][pBank]);
  864. ShowPlayerDialog(playerid, DIALOG_ATM_ABHEBEN, 1, "Geld Abheben", atminfo, "Ok", "Abbruch");
  865. }
  866. if(listitem == 2)
  867. {
  868. new atminfo[256];
  869. format(atminfo, sizeof(atminfo), "Kontostand: $%d\nWie viel Geld möchtest du einzahlen?", PlayerInfo[playerid][pBank]);
  870. ShowPlayerDialog(playerid, DIALOG_ATM_EINZAHLEN, 1, "Geld Einzahlen", atminfo, "Ok", "Abbruch");
  871. }
  872. if(listitem == 3)
  873. {
  874. new atminfo[256];
  875. format(atminfo, sizeof(atminfo), "Kontostand: $%d", PlayerInfo[playerid][pBank]);
  876. ShowPlayerDialog(playerid, DIALOG_ATM_STAND, 1, "Kontostand", atminfo, "Ok", "Abbruch");
  877. }
  878. }
  879. if(dialogid == DIALOG_ATM_ABHEBEN)
  880. {
  881. if(!IsPlayerConnected(playerid)) return 1;
  882. if(response)
  883. {
  884. new betrag = strval(inputtext);
  885. if(betrag > PlayerInfo[playerid][pBank] || betrag > 100000000 || betrag <= 0)
  886. {
  887. new atminfo[256];
  888. SendClientMessage(playerid, COLOR_YELLOW, "Nicht unter $0 oder über $100.000.000");
  889. format(atminfo, sizeof(atminfo), "Kontostand: %d$\nGib den Betrag ein, den du abheben möchtest", PlayerInfo[playerid][pBank]);
  890. ShowPlayerDialog(playerid, DIALOG_ATM_ABHEBEN, DIALOG_STYLE_INPUT, "Abheben", atminfo, "Abheben", "Abbrechen");
  891. }
  892. else
  893. {
  894. new atminfo[256];
  895. PlayerInfo[playerid][pCash] += betrag;
  896. PlayerInfo[playerid][pBank] -= betrag;
  897. GivePlayerMoney(playerid, betrag);
  898. format(atminfo, sizeof(atminfo), "Alter Kontostand: %d $\nAbgehoben: %d $\nNeuer Kontostand: %d $", PlayerInfo[playerid][pBank]+betrag, betrag, PlayerInfo[playerid][pBank]);
  899. SendClientMessage(playerid, COLOR_WHITE, atminfo);
  900. }
  901. }
  902. else if(!response)
  903. {
  904. ShowPlayerDialog(playerid, DIALOG_ATM, DIALOG_STYLE_LIST, "Bankautomat", "Geld abheben\nGeld einzahlen\nKontostand", "Ok", "Abbruch");
  905. }
  906. }
  907. if(dialogid == DIALOG_ATM_EINZAHLEN)
  908. {
  909. if(!IsPlayerConnected(playerid)) return 1;
  910. if(response)
  911. {
  912. new betrag = strval(inputtext);
  913. if(betrag > PlayerInfo[playerid][pCash] || betrag > 99999999 || betrag <= 0)
  914. {
  915. new atminfo[256];
  916. SendClientMessage(playerid, COLOR_YELLOW, "So viel Geld hast du nicht");
  917. format(atminfo, sizeof(atminfo), "Kontostand: %d $\nGib den Betrag ein, den du einzahlen möchtest", PlayerInfo[playerid][pBank]);
  918. ShowPlayerDialog(playerid, DIALOG_ATM_EINZAHLEN, DIALOG_STYLE_INPUT, "Einzahlen", atminfo, "Einzahlen", "Abbrechen");
  919. }
  920. else if(betrag < GetPlayerMoney(playerid) && betrag < PlayerInfo[playerid][pCash])
  921. {
  922. new atminfo[256];
  923. PlayerInfo[playerid][pCash] -= betrag;
  924. PlayerInfo[playerid][pBank] += betrag;
  925. GivePlayerMoney(playerid, -betrag);
  926. format(atminfo, sizeof(atminfo), "Alter Kontostand: %d $\nEingezahlt: %d $\nNeuer Kontostand: %d $", PlayerInfo[playerid][pBank]-betrag, betrag, PlayerInfo[playerid][pBank]);
  927. SendClientMessage(playerid, COLOR_WHITE, atminfo);
  928. }
  929. }
  930. else if(!response)
  931. {
  932. ShowPlayerDialog(playerid, DIALOG_ATM, DIALOG_STYLE_LIST, "Bankautomat", "Geld abheben\nGeld einzahlen\nKontostand", "Ok", "Abbruch");
  933. }
  934. }
  935. if(dialogid == DIALOG_ATM_STAND)
  936. {
  937. if(!IsPlayerConnected(playerid)) return 1;
  938. if(response)
  939. {
  940. new atminfo[256];
  941. format(atminfo, sizeof(atminfo), "Kontostand: $%d", PlayerInfo[playerid][pBank]);
  942. ShowPlayerDialog(playerid, DIALOG_ATM_STAND_1, DIALOG_STYLE_MSGBOX, "Kontostand", atminfo, "Ok", "Abbruch");
  943. }
  944. else if(!response)
  945. {
  946. ShowPlayerDialog(playerid, DIALOG_ATM, DIALOG_STYLE_LIST, "Bankautomat", "Geld abheben\nGeld einzahlen\nKontostand", "Ok", "Abbruch");
  947. }
  948. }
  949. if(dialogid == Autokauf1)
  950. {
  951. if(IsPlayerConnected(playerid))
  952. {
  953. if(!response) return RemovePlayerFromVehicle(playerid);
  954. if(response)
  955. {
  956. new kaufstring[256];
  957. format(kaufstring, sizeof(kaufstring), "Du hast nicht genug Geld dabei.\nMöchtest du elektronisch zahlen?\nKonto: %d", PlayerInfo[playerid][pBank]);
  958. if(!GetPlayerMoney(playerid) > 325000) return ShowPlayerDialog(playerid, EC-Autokauf1, DIALOG_STYLE_MSGBOX, "EC-Zahlung", kaufstring, "Ja", "Nein");
  959. SendClientMessage(playerid, COLOR_CYAN, "Du hast den Infernus von Grotti für $325.000 gekauft!");
  960. GivePlayerMoney(playerid, -325000);
  961. }
  962. }
  963. }
  964. if(dialogid == EC-Autokauf1)
  965. {
  966. if(IsPlayerConnected(playerid))
  967. {
  968. if(!response) return RemovePlayerFromVehicle(playerid);
  969. if(response)
  970. {
  971. if(!PlayerInfo[playerid][pBank] > 325000) return SendClientMessage(playerid, COLOR_ERROR, "Du hast auch nicht genug Geld auf deinem Konto.");
  972. PlayerInfo[playerid][pBank] -= 325000;
  973. SendClientMessage(playerid, COLOR_CYAN, "Du hast den Infernus von Grotti mit EC-Zahlung gekauft!");
  974. SendClientMessage(playerid, COLOR_CYAN, "$325.000 wurden von deinem Konto abgebucht.");
  975. }
  976. }
  977. }
  978. if(dialogid == DIALOG_REGISTER)
  979. {
  980. //Spieler hat Abbrechen gewählt
  981. if(!response) return Kick(playerid);
  982.  
  983. //Wenn der Spieler kein, oder ein zu kurzes, Passwort eingegeben hat
  984. if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", "Bitte registriere Dich:\n{FF0000}Mindestens 3 Zeichen!", "Ok", "Abbrechen");
  985.  
  986. //Wenn alles passt wird der Spieler in der Datenbank angelegt
  987. //Als Verschlüsselung für das Passwort wird MD5 verwendet
  988. new query[256];
  989. mysql_format(handle, query, sizeof(query), "INSERT INTO accounts (name, password) VALUES ('%e', MD5('%e'))", PlayerInfo[playerid][pName], inputtext);
  990.  
  991. //Das Query wird abgesendet und die playerid an OnUserRegister übergeben
  992. mysql_pquery(handle, query, "OnUserRegister", "d", playerid);
  993. return 1;
  994. }
  995. if(dialogid == DIALOG_LOGIN)
  996. {
  997. //Spieler hat Abbrechen gewählt
  998. if(!response) return Kick(playerid);
  999. //Wenn der Spieler kein, oder ein zu kurzes, Passwort eingegeben hat
  1000. if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Mindestens 3 Zeichen!", "Ok", "Abbrechen");
  1001. //Wenn alles passt wird die Datenbank ausgelesen
  1002. new query[256];
  1003. mysql_format(handle, query, sizeof(query), "SELECT * FROM accounts WHERE name = '%e' AND password = MD5('%e')", PlayerInfo[playerid][pName], inputtext);
  1004. //Das Query wird abgesendet und die playerid an OnUserLogin übergeben
  1005. mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
  1006. return 1;
  1007. }
  1008. return 0;
  1009. }
  1010.  
  1011. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1012. {
  1013. return 1;
  1014. }
  1015.  
  1016. forward SetPlayerSpawn(playerid);
  1017. public SetPlayerSpawn(playerid)
  1018. {
  1019. if(IsPlayerConnected(playerid))
  1020. {
  1021. if(PlayerInfo[playerid][pFrac] == 1)
  1022. {
  1023.  
  1024. }
  1025. }
  1026. return 1;
  1027. }
  1028.  
  1029. stock MySQL_SetupConnection(ttl = 3)
  1030. {
  1031. print("[MySQL] Verbindungsaufbau...");
  1032. //mysql_log(LOG_ALL); //<- Kommentar vor mysql_log entfernen um den MySQL Debug-Modus zu aktivieren
  1033.  
  1034. handle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DBSE, MYSQL_PASS);
  1035.  
  1036. //Prüfen und gegebenenfalls wiederholen
  1037. if(mysql_errno(handle) != 0)
  1038. {
  1039. //Fehler im Verbindungsaufbau, prüfe ob ein weiterer Versuch gestartet werden soll
  1040. if(ttl > 1)
  1041. {
  1042. //Versuche erneut eine Verbindung aufzubauen
  1043. print("[MySQL] Es konnte keine Verbindung zur Datenbank hergestellt werden.");
  1044. printf("[MySQL] Starte neuen Verbindungsversuch (TTL: %d).", ttl-1);
  1045. return MySQL_SetupConnection(ttl-1);
  1046. }
  1047. else
  1048. {
  1049. //Abbrechen und Server schließen
  1050. print("[MySQL] Es konnte keine Verbindung zur Datenbank hergestellt werden.");
  1051. print("[MySQL] Bitte prüfen Sie die Verbindungsdaten.");
  1052. print("[MySQL] Der Server wird heruntergefahren.");
  1053. return SendRconCommand("exit");
  1054. }
  1055. }
  1056. printf("[MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: %d", handle);
  1057. return 1;
  1058. }
  1059.  
  1060. forward OnUserCheck(playerid);
  1061. public OnUserCheck(playerid)
  1062. {
  1063. //Query wurde ausgeführt und das Ergebnis im Cache gespeichert
  1064. if(cache_get_row_count() == 0)
  1065. {
  1066. //Der Spieler konnte nicht gefunden werden, er muss sich registrieren
  1067. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", "Bitte registriere Dich:", "Ok", "Abbrechen");
  1068. }
  1069. else
  1070. {
  1071. //Es existiert ein Ergebnis, das heißt der Spieler ist registriert und muss sich einloggen
  1072. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:", "Ok", "Abbrechen");
  1073. }
  1074. return 1;
  1075. }
  1076.  
  1077. forward OnUserRegister(playerid);
  1078. public OnUserRegister(playerid)
  1079. {
  1080. //Der Spieler wurde in die Datenbank eingetragen, es wird die id ausgelesen
  1081. PlayerInfo[playerid][p_id] = cache_insert_id();
  1082. SendClientMessage(playerid, 0x00FF00FF, "[Konto] Registration erfolgreich.");
  1083. return 1;
  1084. }
  1085.  
  1086.  
  1087. stock SaveUserStats(playerid)
  1088. {
  1089. //Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
  1090. //if(!PlayerInfo[playerid][pLoggedIn]) return 1;
  1091. new usermessage[256];
  1092. format(usermessage,sizeof(usermessage),"Saving user %s...", PlayerInfo[playerid][p_id]);
  1093. printf(usermessage);
  1094. new query[2048];
  1095. format(query,sizeof(query),"UPDATE accounts");
  1096. format(query,sizeof(query),"%s SET level = '%d', kills = '%d', deaths = '%d',", query, PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths]);
  1097. format(query,sizeof(query),"%s cash = '%d', bank = '%d', rp = '%d',", query, PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pRP]);
  1098. format(query,sizeof(query),"%s spawnhealth = '%d', jobID = '%d', fracID = '%d',", query, PlayerInfo[playerid][pShealth], PlayerInfo[playerid][pJob], PlayerInfo[playerid][pFrac]);
  1099. format(query,sizeof(query),"%s adminlevel = '%d', paycheck = '%d', payminutes = '%d',", query, PlayerInfo[playerid][pAdminLevel], PlayerInfo[playerid][pPaycheck], PlayerInfo[playerid][pPayminutes]);
  1100. format(query,sizeof(query),"%s adminlevel = '%d', paycheck = '%d', payminutes = '%d',", query, PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pFRank], PlayerInfo[playerid][pMute]);
  1101. format(query,sizeof(query),"%s Kh = '%d', KhZeit = '%d', Interior = '%d'", query, PlayerInfo[playerid][pKh], PlayerInfo[playerid][pKhZeit], PlayerInfo[playerid][pInt]);
  1102. format(query,sizeof(query),"%s WHERE id = '%d';", query, PlayerInfo[playerid][p_id]);
  1103.  
  1104. //Das Query wird abgesendet
  1105. mysql_pquery(handle, query);
  1106. new usermessage2[256];
  1107. format(usermessage2,sizeof(usermessage2),"%s saved sucessfull.", PlayerInfo[playerid][p_id]);
  1108. printf(usermessage2);
  1109. return 1;
  1110. }
  1111.  
  1112.  
  1113. forward OnUserLogin(playerid);
  1114. public OnUserLogin(playerid)
  1115. {
  1116. //Query wurde ausgeführt und das Ergebnis im Cache gespeichert
  1117. if(cache_get_row_count() == 0)
  1118. {
  1119. //Der Spieler hat ein falsches Passwort eingegeben
  1120. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Falsches Passwort!", "Ok", "Abbrechen");
  1121. }
  1122. else
  1123. {
  1124. //Es existiert ein Ergebnis, das heißt der Spieler hat das richtige Passwort eingegeben
  1125. //Wir lesen nun die erste Zeile des Caches aus (ID 0)
  1126. PlayerInfo[playerid][p_id] = cache_get_field_content_int(0, "id", handle);
  1127. PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "level", handle);
  1128. PlayerInfo[playerid][pKills] = cache_get_field_content_int(0, "kills", handle);
  1129. PlayerInfo[playerid][pDeaths] = cache_get_field_content_int(0, "deaths", handle);
  1130. PlayerInfo[playerid][pCash] = cache_get_field_content_int(0, "cash", handle);
  1131. PlayerInfo[playerid][pBank] = cache_get_field_content_int(0, "bank", handle);
  1132. PlayerInfo[playerid][pRP] = cache_get_field_content_int(0, "rp", handle);
  1133. PlayerInfo[playerid][pShealth] = cache_get_field_content_int(0, "spawnhealth", handle);
  1134. PlayerInfo[playerid][pJob] = cache_get_field_content_int(0, "jobID", handle);
  1135. PlayerInfo[playerid][pFrac] = cache_get_field_content_int(0, "fracID", handle);
  1136. PlayerInfo[playerid][pAdminLevel] = cache_get_field_content_int(0, "adminlevel", handle);
  1137. PlayerInfo[playerid][pPaycheck] = cache_get_field_content_int(0, "paycheck", handle);
  1138. PlayerInfo[playerid][pPayminutes] = cache_get_field_content_int(0, "payminutes", handle);
  1139. PlayerInfo[playerid][pSkin] = cache_get_field_content_int(0, "SkinID", handle);
  1140. PlayerInfo[playerid][pSpawnWeapon1] = cache_get_field_content_int(0, "SpawnWeapon1", handle);
  1141. PlayerInfo[playerid][pSpawnAmmo1] = cache_get_field_content_int(0, "SpawnAmmo1", handle);
  1142. PlayerInfo[playerid][pSpawnWeapon2] = cache_get_field_content_int(0, "SpawnWeapon2", handle);
  1143. PlayerInfo[playerid][pSpawnAmmo2] = cache_get_field_content_int(0, "SpawnAmmo2", handle);
  1144. PlayerInfo[playerid][pSpawnArmor] = cache_get_field_content_int(0, "SpawnArmor", handle);
  1145. PlayerInfo[playerid][pLeader] = cache_get_field_content_int(0, "leader", handle);
  1146. PlayerInfo[playerid][pFRank] = cache_get_field_content_int(0, "fRank", handle);
  1147. PlayerInfo[playerid][pMute] = cache_get_field_content_int(0, "mute", handle);
  1148. PlayerInfo[playerid][pKh] = cache_get_field_content_int(0, "Kh", handle);
  1149. PlayerInfo[playerid][pKhZeit] = cache_get_field_content_int(0, "KhZeit", handle);
  1150. PlayerInfo[playerid][pInt] = cache_get_field_content_int(0, "Interior", handle);
  1151. PlayerInfo[playerid][pLoggedIn] = true;
  1152. SpawnPlayer(playerid);
  1153. SendClientMessage(playerid, 0x00FF00FF, "Willkommen zurück auf American Madness Reallife!");
  1154. GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
  1155. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  1156. LoginSetColor(playerid);
  1157. }
  1158. return 1;
  1159. }
  1160.  
  1161. forward IsAnAdminCar(carid);
  1162. public IsAnAdminCar(carid)
  1163. {
  1164. for(new i = 0; i < sizeof(AdminCar); i++)
  1165. {
  1166. if(carid == AdminCar[i])
  1167. {
  1168. return 1;
  1169. }
  1170. }
  1171. return 0;
  1172. }
  1173.  
  1174. forward IsAGrottiCar(carid);
  1175. public IsAGrottiCar(carid)
  1176. {
  1177. for(new i = 0; i < sizeof(GrottiCar); i++)
  1178. {
  1179. if(carid == GrottiCar[i])
  1180. {
  1181. return 1;
  1182. }
  1183. }
  1184. return 0;
  1185. }
  1186.  
  1187. forward LoginSetColor(playerid);
  1188. public LoginSetColor(playerid)
  1189. {
  1190. if(IsPlayerConnected(playerid))
  1191. {
  1192. new member = PlayerInfo[playerid][pFrac];
  1193. if(member == 0)
  1194. {
  1195. SetPlayerColor(playerid, COLOR_CIVILIAN);
  1196. return 1;
  1197. }
  1198. if(member == 1)
  1199. {
  1200. SetPlayerColor(playerid, COLOR_COP);
  1201. return 1;
  1202. }
  1203. if(member == 2)
  1204. {
  1205. SetPlayerColor(playerid, COLOR_AGENT);
  1206. return 1;
  1207. }
  1208. if(member == 3)
  1209. {
  1210. SetPlayerColor(playerid, COLOR_DOCTOR);
  1211. return 1;
  1212. }
  1213. if(member == 4)
  1214. {
  1215. SetPlayerColor(playerid, COLOR_OAMT);
  1216. return 1;
  1217. }
  1218. }
  1219. return 1;
  1220. }
  1221. forward KHStart(playerid);
  1222. public KHStart(playerid)
  1223. {
  1224. if(IsPlayerConnected(playerid))
  1225. {
  1226. FreezePlayer(playerid);
  1227. PlayerInfo[playerid][pKhZeit] += 29;
  1228. SendClientMessage(playerid, COLOR_WHITE, "");
  1229. SendClientMessage(playerid, COLOR_WHITE, "");
  1230. SendClientMessage(playerid, COLOR_WHITE, "");
  1231. SendClientMessage(playerid, COLOR_WHITE, "");
  1232. SendClientMessage(playerid, COLOR_WHITE, "");
  1233. SendClientMessage(playerid, COLOR_WHITE, "");
  1234. SendClientMessage(playerid, COLOR_WHITE, "");
  1235. SendClientMessage(playerid, COLOR_WHITE, "");
  1236. SendClientMessage(playerid, COLOR_WHITE, "");
  1237. SendClientMessage(playerid, COLOR_WHITE, "");
  1238. SendClientMessage(playerid, COLOR_WHITE, "");
  1239. SendClientMessage(playerid, COLOR_WHITE, "");
  1240. SendClientMessage(playerid, COLOR_WHITE, "");
  1241. SendClientMessage(playerid, COLOR_WHITE, "");
  1242. SetPlayerPos(playerid, 1178.22, -1336.75, -14.77);
  1243. SetPlayerCameraPos(playerid, 1216.56,-1354.55,34.57);
  1244. SetPlayerCameraLookAt(playerid, 1216.56,-1354.55,34.57, CAMERA_CUT);
  1245. KhTimer=SetTimer("KHTime", 1000, true);
  1246. }
  1247. return 1;
  1248. }
  1249.  
  1250. forward KHTime(playerid);
  1251. public KHTime(playerid)
  1252. {
  1253. if(PlayerInfo[playerid][pKhZeit] > 0)
  1254. {
  1255. PlayerInfo[playerid][pKhZeit] -= 1;
  1256. return 1;
  1257. }
  1258. else
  1259. {
  1260. KillTimer(KhTimer);
  1261. SetTimer("KHEnd", 1000, false);
  1262. if(GetPlayerMoney(playerid) < 0)
  1263. {
  1264. PlayerInfo[playerid][pBank] -= 200;
  1265. SendClientMessage(playerid, COLOR_CYAN, "* Da du nicht genug Bargeld bei dir hast, werden dir $200 Behandlungskosten vom Konto abgebucht");
  1266. return 1;
  1267. }
  1268. else
  1269. {
  1270. GivePlayerMoney(playerid, -200);
  1271. SendClientMessage(playerid, COLOR_CYAN, "* Du wirst jetzt aus dem Krankenhaus entlassen, $200 Behandlungskosten werden abgezogen");
  1272. return 1;
  1273. }
  1274. }
  1275. }
  1276.  
  1277. forward KHEnd(playerid);
  1278. public KHEnd(playerid)
  1279. {
  1280. if(IsPlayerConnected(playerid))
  1281. {
  1282. UnfreezePlayer(playerid);
  1283. SpawnPlayer(playerid);
  1284. }
  1285. }
  1286.  
  1287.  
  1288.  
  1289. forward VosaRob(playerid);
  1290. public VosaRob(playerid)
  1291. {
  1292. new str[145], money;
  1293. if(GetPlayerHealth(playerid) < 1) return SendClientMessage(playerid, COLOR_ERROR, "Du bist gestorben, Raub abgebrochen!");
  1294. if(PlayerInfo[playerid][pRob] >= 12)
  1295. {
  1296. SendClientMessage(playerid, COLOR_CYAN, "60 Sekunden sind vorüber, jetzt schnell weg hier!");
  1297. format(str, sizeof(str), "Beute: $%d", PlayerInfo[playerid][pRobTotal]);
  1298. SendClientMessage(playerid, COLOR_CYAN, str);//nach 12 wiederholungen stoppt der timer
  1299. return 1;
  1300. }
  1301. else
  1302. {
  1303. if(IsPlayerInRangeOfPoint(playerid, 12,2144.2869,1635.0681,993.5761))
  1304. {
  1305. money = random(60001) + 60000;
  1306. format(str, sizeof(str), "5 Sekunden sind vorüber, Beute: $%d", money);
  1307. GivePlayerMoney(playerid, money);
  1308. PlayerInfo[playerid][pCash] += money;
  1309. print(str);
  1310. SendClientMessage(playerid, COLOR_CYAN, str);
  1311. SetTimerEx("VosaRob", 5000, false, "d", playerid);
  1312. PlayerInfo[playerid][pRob] ++;
  1313. PlayerInfo[playerid][pRobTotal] += money;
  1314. printf("pRob: %i",PlayerInfo[playerid][pRob]);
  1315. return 1;
  1316. }
  1317. else
  1318. {
  1319. SendClientMessage(playerid, COLOR_ERROR, "Raub abgebrochen, Du hast den Raum verlassen.");
  1320. GetPlayerName(playerid,str,sizeof(str));
  1321. format(str, sizeof(str), "Der Raub auf das Vault of San Andreas wurde abgebrochen, %s hat den Raum verlassen", str);
  1322. for(new i = 0; i < MAX_PLAYERS; i++)
  1323. {
  1324. SendClientMessage(i, COLOR_CYAN, str);
  1325. }
  1326. return 1;
  1327. }
  1328. }
  1329. }
  1330.  
  1331.  
  1332. forward unmute(playerid);
  1333. public unmute(playerid)
  1334. {
  1335. new query[256];
  1336. for(new i = 0; i < MAX_PLAYERS; i++)
  1337. {
  1338. if(PlayerInfo[i][pMute] > 0)
  1339. {
  1340. mysql_format(handle, query, sizeof(query), "UPDATE accounts SET mute = mute -1");
  1341. mysql_pquery(handle, query);
  1342. SetTimer("unmute", 60000, false);
  1343. return 1;
  1344. }
  1345. else
  1346. {
  1347. SetTimer("unmute", 60000, false);
  1348. return 1;
  1349. }
  1350. }
  1351. return 1;
  1352. }
  1353.  
  1354. forward SendFamilyMessage(family, color, string1[]);
  1355. public SendFamilyMessage(family, color, string1[])
  1356. {
  1357. for(new i = 0; i < MAX_PLAYERS; i++)
  1358. {
  1359. if(IsPlayerConnected(i))
  1360. {
  1361. if(PlayerInfo[i][pFrac] == family)
  1362. {
  1363. SendClientMessage(i, color, string1);
  1364. }
  1365. }
  1366. }
  1367. }
  1368. forward PlayerToPoint(Float:radi, playerid, Float:x1, Float:y1, Float:z1);
  1369. public PlayerToPoint(Float:radi, playerid, Float:x1, Float:y1, Float:z1)
  1370. {
  1371. if(IsPlayerConnected(playerid))
  1372. {
  1373. new Float:oldposx, Float:oldposy, Float:oldposz;
  1374. new Float:tempposx, Float:tempposy, Float:tempposz;
  1375. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1376. tempposx = (oldposx -x1);
  1377. tempposy = (oldposy -y1);
  1378. tempposz = (oldposz -z1);
  1379. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  1380. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  1381. {
  1382. return 1;
  1383. }
  1384. }
  1385. return 0;
  1386. }
  1387.  
  1388. forward OOCNews(color,const string1[]);
  1389. public OOCNews(color,const string1[])
  1390. {
  1391. for(new i = 0; i < MAX_PLAYERS; i++)
  1392. {
  1393. if(IsPlayerConnected(i))
  1394. {
  1395. if(!gNews[i])
  1396. {
  1397. SendClientMessage(i, color, string1);
  1398. }
  1399. }
  1400. }
  1401. }
  1402.  
  1403. forward VaultDoorOpen();
  1404. public VaultDoorOpen()
  1405. {
  1406. MoveObject(VaultDoor, 2145.22046, 1626.89270, 994.26593, 0.00000, 0.00000, 180.00000);
  1407. SetTimer("VaultDoorClose", 300000, false);
  1408. OOCNews(COLOR_YELLOW, "Reporter: Der Angriff auf das Vault of San Andreas verschärft sich! Die erste Tür wurde gehackt!");
  1409. OOCNews(COLOR_YELLOW, "Reporter: Die Polizei ist dabei die Tür zu wieder zu schließen, dies dauert 5 Minuten!");
  1410. return 1;
  1411. }
  1412.  
  1413. forward VaultDoorClose();
  1414. public VaultDoorClose()
  1415. {
  1416. MoveObject(VaultDoor, 2143.20142, 1626.91272, 994.26593, 0.00000, 0.00000, 180.00000);
  1417. return 1;
  1418. }
  1419.  
  1420. strtok(const string1[], &index)
  1421. {
  1422. new length = strlen(string1);
  1423. while ((index < length) && (string1[index] <= ' '))
  1424. {
  1425. index++;
  1426. }
  1427.  
  1428. new offset = index;
  1429. new result[20];
  1430. while ((index < length) && (string1[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1431. {
  1432. result[index - offset] = string1[index];
  1433. index++;
  1434. }
  1435. result[index - offset] = EOS;
  1436. return result;
  1437. }
  1438.  
  1439. forward LoadFracVehicles_Data();
  1440. public LoadFracVehicles_Data()
  1441. {
  1442. //Deklaration neuer temporärer Variablen:
  1443. new rows, id, createdVehs;
  1444. //Anzahl der gelesenen Datensätze abfragen:
  1445. rows = cache_num_rows();
  1446. //Schleife durch alle Datensätze:
  1447. for(new i=0; i<rows; i++)
  1448. {
  1449. //Fahrzeug existiert in der Datenbank, wir laden die Daten jetzt aus dem Cache.
  1450. id = cache_get_field_content_int(i, "ID");
  1451.  
  1452. //Um Fehler bei der Verarbeitung zu vermeiden:
  1453. if(id < 0 || id >= MAX_FRAC_VEHICLES) continue;
  1454.  
  1455. //Danach die restlichen Daten laden. Unser Index (der Wert mit dem wir auf das
  1456. //Fahrzeug in der Datenbank zugreifen) ist die "ID".
  1457. fracVehicle[id][e_modelID] = cache_get_field_content_int(i, "ModelID");
  1458. fracVehicle[id][e_x] = cache_get_field_content_float(i, "x-pos");
  1459. fracVehicle[id][e_y] = cache_get_field_content_float(i, "y-pos");
  1460. fracVehicle[id][e_z] = cache_get_field_content_float(i, "z-pos");
  1461. fracVehicle[id][e_a] = cache_get_field_content_float(i, "orientation");
  1462. fracVehicle[id][e_color1] = cache_get_field_content_int(i, "color1");
  1463. fracVehicle[id][e_color2] = cache_get_field_content_int(i, "color2");
  1464. fracVehicle[id][e_fracID] = cache_get_field_content_int(i, "fracID");
  1465.  
  1466. //Zur Sicherheit fragen wir hier nun ab, ob das angegebene Modell auch existiert,
  1467. //sollte das nicht der Fall sein, dann wird das Fahrzeug nicht erstellt.
  1468. if(fracVehicle[id][e_modelID] >= 400 && fracVehicle[id][e_modelID] <= 611)
  1469. {
  1470. //Nachdem das Fahrzeug geladen wurde, wird es erstellt.
  1471. fracVehicle[id][e_vID] = CreateVehicle(fracVehicle[id][e_modelID], fracVehicle[id][e_x], fracVehicle[id][e_y], fracVehicle[id][e_z], fracVehicle[id][e_a], fracVehicle[id][e_color1], fracVehicle[id][e_color2], -1);
  1472. }
  1473. else
  1474. {
  1475. //Falls eine nicht existierende Model-ID angegeben wurde, geben wir eine Information aus.
  1476. printf("[Error] Model-ID %d existiert nicht (ID: %d).", fracVehicle[id][e_modelID], id);
  1477. }
  1478.  
  1479. //Zur Sicherheit fragen wir noch ab, ob das Fahrzeug-Limit noch nicht überschritten wurde.
  1480. //Existiert ein Fahrzeug mit der höchsten ID, dann kann kein weiteres mehr erstellt werden.
  1481. if(GetVehicleModel(MAX_VEHICLES-1) != 0) return print("Es können keine weiteren Fahrzeuge geladen werden, Limit (MAX_VEHICLES) erreicht.");
  1482.  
  1483. //Zur weiteren Sicherheit prüfen wir noch, ob die maximale Anzahl an Fraktions-Fahrzeugen erreicht ist.
  1484. createdVehs++;
  1485. if(createdVehs == MAX_FRAC_VEHICLES) return print("Es können keine weiteren Fahrzeuge geladen werden, Limit (MAX_FRAC_VEHICLES) erreicht.");
  1486. }
  1487. return 1;
  1488. }
  1489.  
  1490. LoadFracVehicles()
  1491. {
  1492. mysql_tquery(handle, "SELECT * FROM FracVehicles ORDER BY ID ASC", "LoadFracVehicles_Data");
  1493. return 1;
  1494. }
  1495. forward SaveAllFracVehs();
  1496. public SaveAllFracVehs()
  1497. {
  1498. //Deklaration neuer temporärer Variablen:
  1499. new query[256];
  1500.  
  1501. //Schleife durch alle Fraktions-Fahrzeuge
  1502. for(new i=0; i<MAX_FRAC_VEHICLES; i++)
  1503. {
  1504. //Wenn das Fahrzeug existiert
  1505. if(fracVehicle[i][e_modelID] >= 400 && fracVehicle[i][e_modelID] <= 611)
  1506. {
  1507. //Wir fragen die Position des Fahrzeugs ab:
  1508. GetVehiclePos(fracVehicle[i][e_vID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z]);
  1509. GetVehicleZAngle(fracVehicle[i][e_vID], fracVehicle[i][e_a]);
  1510.  
  1511. //Und wir erstellen das Query:
  1512. format(query, sizeof(query), "UPDATE FracVehicles SET ModelID = '%d', x-pos = '%f', y-pos = '%f', z-pos = '%f', orientation = '%f', color1 = '%d', color2 = '%d', fracID = '%d' WHERE ID = '%d'",
  1513. fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], fracVehicle[i][e_fracID], i);
  1514. //handle = die Connection Handle ID die vor mysql_connect steht.
  1515. mysql_tquery(handle, query);
  1516. }
  1517. }
  1518. return 1;
  1519. }
  1520. forward IsACop(playerid);
  1521. public IsACop(playerid)
  1522. {
  1523. if(IsPlayerConnected(playerid))
  1524. {
  1525. new member = PlayerInfo[playerid][pFrac];
  1526. if(member==1 || member==2)
  1527. {
  1528. return 1;
  1529. }
  1530. }
  1531. return 0;
  1532. }
  1533. stock SaveFracVehCheck(vehicleid)
  1534. {
  1535. //Deklaration neuer temporärer Variablen:
  1536. new query[256];
  1537.  
  1538. //Schleife durch alle Fraktions-Fahrzeuge
  1539. for(new i=0; i<MAX_FRAC_VEHICLES; i++)
  1540. {
  1541. //Wenn die vehicleid die gleiche ist, wie die des Fraktions-Fahrzeugs
  1542. if(fracVehicle[i][e_vID] == vehicleid)
  1543. {
  1544. //Wir fragen die Position des Fahrzeugs ab:
  1545. GetVehiclePos(fracVehicle[i][e_vID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z]);
  1546. GetVehicleZAngle(fracVehicle[i][e_vID], fracVehicle[i][e_a]);
  1547.  
  1548. //Und wir erstellen das Query:
  1549. format(query, sizeof(query), "UPDATE FracVehicles SET ModelID = '%d', PosX = '%f', PosY = '%f', PosZ = '%f', PosA = '%f', Color1 = '%d', Color2 = '%d', FracID = '%d' WHERE ID = '%d'",
  1550. fracVehicle[i][e_modelID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z], fracVehicle[i][e_a], fracVehicle[i][e_color1], fracVehicle[i][e_color2], fracVehicle[i][e_fracID], i);
  1551. //handle = die Connection Handle ID die vor mysql_connect steht.
  1552. mysql_tquery(handle, query);
  1553. return 1; //Es gibt ja keine zwei gleichen Fahrzeuge
  1554. }
  1555. }
  1556. return 0; //Fahrzeug ist kein Fraktions-Fahrzeug
  1557. }
  1558. stock FreezePlayer(playerid)
  1559. {
  1560. TogglePlayerControllable(playerid,false);
  1561. }
  1562.  
  1563.  
  1564. stock UnfreezePlayer(playerid)
  1565. {
  1566. TogglePlayerControllable(playerid,true);
  1567. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement