Advertisement
Guest User

Untitled

a guest
Dec 5th, 2011
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.22 KB | None | 0 0
  1. //RL Script made by Apoolecu aka. Sp!ax
  2. //V.0.2.5
  3.  
  4. #include <a_samp>
  5. #include <Dini>
  6. #include <filemanager>
  7. #include <zcmd>
  8.  
  9.  
  10. #pragma tabsize 0
  11.  
  12.  
  13. #define COLOR_WARNING 0xFF6347AA
  14. #define COLOR_INFO 0xF6F60000
  15. #define COLOR_WHITE 0xFFFFFFFF
  16.  
  17. #define COLOR_GREEN 0x339933FF
  18. #define COLOR_YELLOW 0xFFDE00FF
  19. #define COLOR_BLUE 0x0000F600
  20. #define COLOR_RED 0xCE000000
  21. #define COLOR_ORANGE 0xFF830000
  22. /*
  23. #define NEED_TAXI 0xF6EB35F6
  24. #define NEED_MEDIC 0x00F600F6
  25. #define NEED_FEUER 0xF60052F6
  26. #define NEED_POLICE 0x006CF6F6
  27. #define NEED_MAKLER 0x00D9F6F6
  28. #define NEED_ADAC 0xF64B00F6*/
  29.  
  30. #define COLOR_GREY 0xBEBEBEAA
  31. #define color_DGREEN 0x33AA33AA
  32. #define COLOR_BLACK 0x000000
  33. #define COLOR_GRAD5 0xE3E3E3FF
  34. #define COLOR_GRAD4 0xD8D8D8FF
  35. #define COLOR_GRAD1 0xB4B5B7FF
  36. #define COLOR_LIGHTBLUE 0x33CCFFAA
  37. #define COLOR_GRAD2 0xBFC0C2FF
  38. #define COLOR_LIGHTBLUE 0x33CCFFAA
  39. #define COLOR_LILA 0xF600E6F6
  40. #define COLOR_GRAD3 0xCBCCCEFF
  41. #define color_lred 0xAA3333AA
  42. #define COLOR_FADE1 0xE6E6E6E6
  43. #define COLOR_FADE2 0xC8C8C8C8
  44. #define COLOR_FADE3 0xAAAAAAAA
  45. #define COLOR_FADE4 0x8C8C8C8C
  46. #define COLOR_FADE5 0x6E6E6E6E
  47. #define COLOR_PURPLE 0xC2A2DAAA
  48. #define COLOR_CADETBLUE 0x5F9EA0
  49. #define COLOR_GRAD6 0xF0F0F0FF
  50. #define COLOR_INVISIBLE 0xFFFFFF00
  51. #define COLOR_ORANGE 0xFF830000
  52. #define COLOR_lorange 0xFF830000
  53. #define COLOR_t 0xFFC4C4FF
  54.  
  55. #define DIALOG_LOGIN 1
  56. #define DIALOG_REG 2
  57. #define DIALOG_REG2 3
  58. #define DIALOG_REG3 4
  59. #define DIALOG_REG4 5
  60. #define DIALOG_REG5 6
  61.  
  62. #define MAX_HOUSE 500
  63. enum house_daten
  64. {
  65. besitzer[MAX_PLAYER_NAME],
  66. ID,
  67. interior,
  68. level,
  69. preis,
  70. punkte,
  71. Float:hX,Float:hZ,Float:hY,
  72. Float:hX2,Float:hZ2,Float:hY2,
  73. Text3D:hlabel,
  74. Pickup,
  75. Pickup2,
  76. bereit
  77. }
  78. new Haus[MAX_HOUSE][house_daten];
  79.  
  80. enum spieler_daten
  81. {
  82. wanted,
  83. dutytime,
  84. admin,
  85. skin,
  86. rang,
  87. country,
  88. job,
  89. duty,
  90. money,
  91. geschlecht,
  92. alter,
  93. cuff,
  94. tod,
  95. haendler,
  96. level1,
  97. Float:lastx,Float:lasty,Float:lastz,
  98. eingeloggt
  99. }
  100. new pName[MAX_PLAYER_NAME];
  101. new Spieler[MAX_PLAYERS][spieler_daten];
  102.  
  103. enum Auto_System
  104. {
  105. besitzer[30],
  106. key1[30],
  107. key2[30],
  108. verschlossen,
  109. aID,
  110. aModel,
  111. farbe1,
  112. farbe2,
  113. MS,
  114. Float:Meter,
  115. Float:KM,
  116. Float:Benzin,Float:MBenzin,
  117. Float:aX,Float:aY,Float:aZ,Float:aAngle
  118. }
  119. new Auto[MAX_VEHICLES][Auto_System];
  120.  
  121. new Text:txtTimeDisp;
  122. new hour, minute;
  123. new timestr[32];
  124.  
  125. //Pickups
  126. new LSPD,SFPD,LVPD;
  127. new LSMEDIC,SFMEDIC,LVMEDIC;
  128. new LSTAXI,SFTAXI,LVTAXI;
  129.  
  130. forward SpeicherUser(playerid);
  131. forward UpdateTime();
  132. forward SpeicherFahrzeug(id);
  133. forward LadeFahrzeug(id);
  134. forward SpeicherHaus(id);
  135. forward LadeHaus(id);
  136. forward InstalliereServer();
  137. forward TachoTimer();
  138.  
  139. new Text:Tacho[MAX_PLAYERS];
  140. #define TACHOTIMER 1000
  141. new Float:X1[MAX_PLAYERS], Float:Y1[MAX_PLAYERS], Float:Z1[MAX_PLAYERS]; //Punkt 1 im Koordinatensystem
  142. new Float:X2[MAX_PLAYERS], Float:Y2[MAX_PLAYERS], Float:Z2[MAX_PLAYERS]; //Punkt 2 im Koordinatensystem
  143. new engine,lights,alarm,doors,bonnet,boot,objective;
  144. new bool:Motor[MAX_VEHICLES]=false;
  145. #define HOLDING(%0) \
  146. ((newkeys & (%0)) == (%0))
  147. #define PRESSED(%0) \
  148. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  149. #define RELEASED(%0) \
  150. (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  151.  
  152. main()
  153. {
  154. print("\n----------------------------------");
  155. print(" Reallife Script by Apoolecu");
  156. print("----------------------------------\n");
  157. }
  158.  
  159. public OnGameModeInit()
  160. {
  161. ManualVehicleEngineAndLights();
  162. EnableStuntBonusForAll(0);
  163. SetGameModeText("Reallife Script");
  164. // AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  165. txtTimeDisp = TextDrawCreate(605.0,25.0,"00:00");
  166. TextDrawUseBox(txtTimeDisp, 0);
  167. TextDrawFont(txtTimeDisp, 3);
  168. TextDrawSetShadow(txtTimeDisp,0); // no shadow
  169. TextDrawSetOutline(txtTimeDisp,2); // thickness 1
  170. TextDrawBackgroundColor(txtTimeDisp,0x000000FF);
  171. TextDrawColor(txtTimeDisp,0xFFFFFFFF);
  172. TextDrawAlignment(txtTimeDisp,3);
  173. TextDrawLetterSize(txtTimeDisp,0.5,1.5);
  174.  
  175. for(new i = 0; i < MAX_PLAYERS; i++)
  176. {
  177. Tacho[i] = TextDrawCreate(300, 370, "");
  178. TextDrawUseBox(Tacho[i], 0);
  179. TextDrawLetterSize(Tacho[i], 0.4, 1.1);
  180. TextDrawFont(Tacho[i], 1);
  181. TextDrawSetShadow(Tacho[i], 2);
  182. TextDrawSetOutline(Tacho[i],1);
  183. }
  184.  
  185. UpdateTime();
  186. SetTimer("UpdateTime",1000 * 60,1);
  187. SetTimer("TachoTimer",TACHOTIMER,1);
  188.  
  189. //PICKUPS + 3DTEXT-Labels
  190. Create3DTextLabel("Los Santos\nPolice Department",COLOR_WHITE,261.5168,70.9389,1003.2422+0.35,40.0,0,1);
  191. Create3DTextLabel("San Fierro\nPolice Department",COLOR_WHITE,-1615.6763,686.6156,7.1875+0.35,40.0,0,1);
  192. Create3DTextLabel("Las Venturas\nPolice Department",COLOR_WHITE,229.4150,165.4613,1003.0234+0.35,40.0,0,1);
  193. Create3DTextLabel("Los Santos\nMedical Center",COLOR_WHITE,1172.6136,-1323.5565,15.4030+0.35,40.0,0,1);
  194. Create3DTextLabel("San Fierro\nMedical Center",COLOR_WHITE,-2685.6736,638.0397,14.4531+0.35,40.0,0,1);
  195. Create3DTextLabel("Las Venturas\nMedical Center",COLOR_WHITE,1607.8417,1816.4153,10.8203+0.35,40.0,0,1);
  196. Create3DTextLabel("Los Santos\nTaxi",COLOR_WHITE,1753.4063,-1902.8768,13.5632+0.35,40.0,0,1);
  197. Create3DTextLabel("San Fierro\nTaxi",COLOR_WHITE,-2201.0686,286.8737,35.3203+0.35,40.0,0,1);
  198. Create3DTextLabel("Las Venturas\nTaxi",COLOR_WHITE,1629.8016,972.1032,10.8203+0.35,40.0,0,1);
  199. LSPD = CreatePickup(1275,1,1172.6136,-1323.5565,15.4030,-1); //LSPD
  200. SFPD = CreatePickup(1275,1,-1615.6763,686.6156,7.1875,-1); //SFPD
  201. LVPD = CreatePickup(1275,1,229.4150,165.4613,1003.0234,-1); //LVPD
  202. LSMEDIC = CreatePickup(1275,1,261.5168,70.9389,1003.2422,-1); //LSMEDIC
  203. SFMEDIC = CreatePickup(1275,1,-2685.6736,638.0397,14.4531,-1); //SFMEDIC
  204. LVMEDIC = CreatePickup(1275,1,1607.8417,1816.4153,10.8203,-1); //LVMEDIC
  205. LSTAXI = CreatePickup(1275,1,1753.4063,-1902.8768,13.5632,-1); //LSTAXI
  206. SFTAXI = CreatePickup(1275,1,-2201.0686,286.8737,35.3203,-1); //SFTAXI
  207. LVTAXI = CreatePickup(1275,1,1629.8016,972.1032,10.8203,-1); //LVTAXI
  208.  
  209. if(!dir_exists("scriptfiles/Server"))
  210. { InstalliereServer();}
  211. for(new i = 1; i < MAX_VEHICLES; i++)
  212. {
  213. new string[90];
  214. format(string, sizeof(string), "Server/Fahrzeug/%d.car", i);
  215. if(fexist(string))
  216. {
  217. LadeFahrzeug(i);
  218. CreateVehicle(Auto[i][aModel], Auto[i][aX], Auto[i][aY], Auto[i][aZ], Auto[i][aAngle],Auto[i][farbe1], Auto[i][farbe2], -1);
  219. GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  220. SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  221. Motor[i] = false;
  222. }
  223. }
  224. for(new h = 1,string[125]; h < MAX_HOUSE; h++)
  225. {
  226. format(string, sizeof(string), "Server/Haus/%d.haus", h);
  227. if(fexist(string))
  228. {
  229. LadeHaus(h);
  230. if(Haus[h][bereit] == 0)
  231. {
  232. format(string,sizeof string,"Besitzer: KEINER\nLevel: %d\nPreis: %d $\nPremiumpunkte: %d\n/kaufen",Haus[h][level],Haus[h][preis],Haus[h][punkte]);
  233. Haus[h][hlabel] = Create3DTextLabel(string,COLOR_WHITE,Haus[h][hX],Haus[h][hY],Haus[h][hZ]+0.75,40.0,0,1);
  234. Haus[h][Pickup] = CreatePickup(1273, 1, Haus[h][hX], Haus[h][hY], Haus[h][hZ], -1);
  235. Haus[h][Pickup2] = CreatePickup(1559, 1, Haus[h][hX2], Haus[h][hY2], Haus[h][hZ2], -1);
  236. }
  237. if(Haus[h][bereit] == 1)
  238. {
  239. format(string,sizeof string,"Besitzer: %s\nLevel: %d\nPreis: %d $\nPremiumpunkte: %d",Haus[h][besitzer],Haus[h][level],Haus[h][preis],Haus[h][punkte]);
  240. Haus[h][hlabel] = Create3DTextLabel(string,COLOR_WHITE,Haus[h][hX],Haus[h][hY],Haus[h][hZ]+0.75,40.0,0,1);
  241. Haus[h][Pickup] = CreatePickup(1272, 1, Haus[h][hX], Haus[h][hY], Haus[h][hZ], -1);
  242. Haus[h][Pickup2] = CreatePickup(1559, 1, Haus[h][hX2], Haus[h][hY2], Haus[h][hZ2], -1);
  243. }
  244. }
  245. }
  246. return 1;
  247. }
  248.  
  249. public OnGameModeExit()
  250. {
  251. for(new h = 1,string[32]; h < MAX_HOUSE; h++)
  252. {
  253. format(string, sizeof(string), "Server/Haus/%d.haus", h);
  254. if(fexist(string))
  255. {
  256. SpeicherHaus(h);
  257. }
  258. }
  259. for(new i = 1,string[32]; i < MAX_VEHICLES; i++)
  260. {
  261. format(string, sizeof(string), "Server/Fahrzeug/%d.car", i);
  262. if(fexist(string))
  263. {
  264. SpeicherFahrzeug(i);
  265. }
  266. }
  267. return 1;
  268. }
  269.  
  270. public OnPlayerRequestClass(playerid, classid)
  271. {
  272. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  273. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  274. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  275. return 1;
  276. }
  277.  
  278. public OnPlayerConnect(playerid)
  279. {
  280. new string[64],accFormat[40];
  281. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  282. format(string,sizeof string,"[SERVERINFO] %s hat den Server betreten",pName);
  283. SendClientMessageToAll(COLOR_INFO,string);
  284. format(accFormat,sizeof accFormat,"Server/User/%s.User",pName);
  285. SetPlayerColor(playerid,COLOR_WHITE);
  286. gettime(hour, minute);
  287. SetPlayerTime(playerid,hour,minute);
  288. if(fexist(accFormat))
  289. {
  290. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD ,"Login","Willkommen zurück!\nGebe dein Passwort ein um zu spielen.","Abbrechen","Weiter");
  291. }
  292. else
  293. {
  294. ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD ,"Registrieren","Willkommen!\nGebe ein Passwort ein um auf dem Server zu spielen.","Weiter","Abbrechen");
  295. }
  296. return 1;
  297. }
  298.  
  299. public OnPlayerDisconnect(playerid, reason)
  300. {
  301. new string[90];
  302. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  303. switch(reason)
  304. {
  305. case 0: format(string,sizeof string,"[SERVERINFO] %s hat den Server aufgrund eines Timouts verlassen.",pName);
  306. case 1: format(string,sizeof string,"[SERVERINFO] %s hat den Server verlassen.",pName);
  307. case 2: format(string,sizeof string,"[SERVERINFO] %s hat den Server aufgrund eines Kicks/Banns verlassen.",pName);
  308. }
  309. SendClientMessageToAll(COLOR_INFO,string);
  310. SpeicherUser(playerid);
  311. Spieler[playerid][eingeloggt] = 0;
  312. Spieler[playerid][geschlecht] = 0;
  313. Spieler[playerid][dutytime] = 0;
  314. Spieler[playerid][alter] = 0;
  315. Spieler[playerid][tod] = 0;
  316. Spieler[playerid][cuff] = 0;
  317. Spieler[playerid][money] = 0;
  318. Spieler[playerid][wanted] = 0;
  319. Spieler[playerid][haendler] = 0;
  320. Spieler[playerid][skin] = 0;
  321. Spieler[playerid][job] = 0;
  322. Spieler[playerid][country] = 0;
  323. Spieler[playerid][rang] = 0;
  324. Spieler[playerid][duty] = 0;
  325. Spieler[playerid][level1] = 0;
  326. Spieler[playerid][admin] = 0;
  327. Spieler[playerid][lastx] = (0.0);
  328. Spieler[playerid][lasty] = (0.0);
  329. Spieler[playerid][lastz] = (0.0);
  330. return 1;
  331. }
  332.  
  333. public OnPlayerSpawn(playerid)
  334. {
  335. SetPlayerSkin(playerid,Spieler[playerid][skin]);
  336. SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
  337. GivePlayerMoney(playerid,Spieler[playerid][money]);
  338. SetPlayerWantedLevel(playerid,Spieler[playerid][wanted]);
  339. TextDrawShowForPlayer(playerid,txtTimeDisp);
  340. gettime(hour, minute);
  341. SetPlayerTime(playerid,hour,minute);
  342. return 1;
  343. }
  344.  
  345. public OnPlayerDeath(playerid, killerid, reason)
  346. {
  347. return 1;
  348. }
  349.  
  350. public OnVehicleSpawn(vehicleid)
  351. {
  352. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  353. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  354. Motor[vehicleid] = false;
  355. return 1;
  356. }
  357.  
  358. public OnVehicleDeath(vehicleid, killerid)
  359. {
  360. Auto[vehicleid][MS] = 1;
  361. return 1;
  362. }
  363.  
  364. public OnPlayerText(playerid, text[])
  365. {
  366. return 1;
  367. }
  368.  
  369. public OnPlayerCommandText(playerid, cmdtext[])
  370. {
  371. return 1;
  372. }
  373.  
  374. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  375. {
  376. GetPlayerName(playerid,pName,sizeof(pName));
  377. if (!strcmp(Auto[vehicleid][besitzer],pName) ||!strcmp(Auto[vehicleid][key1],pName)||!strcmp(Auto[vehicleid][key2],pName)|| Auto[vehicleid][verschlossen] == 0|| Spieler[playerid][admin] >= 1)
  378. {
  379. if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
  380. {
  381. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  382. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  383. }
  384. GetVehiclePos(vehicleid, X1[playerid],Y1[playerid],Z1[playerid]);
  385. GetVehiclePos(vehicleid, X2[playerid],Y2[playerid],Z2[playerid]);
  386. }
  387. else
  388. {
  389. TogglePlayerControllable(playerid,0);
  390. ClearAnimations(playerid);
  391. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
  392. TogglePlayerControllable(playerid,1);
  393. }
  394. return 1;
  395. }
  396.  
  397. public OnPlayerExitVehicle(playerid, vehicleid)
  398. {
  399. return 1;
  400. }
  401.  
  402. public OnPlayerStateChange(playerid, newstate, oldstate)
  403. {
  404. return 1;
  405. }
  406.  
  407. public OnPlayerEnterCheckpoint(playerid)
  408. {
  409. return 1;
  410. }
  411.  
  412. public OnPlayerLeaveCheckpoint(playerid)
  413. {
  414. return 1;
  415. }
  416.  
  417. public OnPlayerEnterRaceCheckpoint(playerid)
  418. {
  419. return 1;
  420. }
  421.  
  422. public OnPlayerLeaveRaceCheckpoint(playerid)
  423. {
  424. return 1;
  425. }
  426.  
  427. public OnRconCommand(cmd[])
  428. {
  429. return 1;
  430. }
  431.  
  432. public OnPlayerRequestSpawn(playerid)
  433. {
  434. return 1;
  435. }
  436.  
  437. public OnObjectMoved(objectid)
  438. {
  439. return 1;
  440. }
  441.  
  442. public OnPlayerObjectMoved(playerid, objectid)
  443. {
  444. return 1;
  445. }
  446.  
  447. public OnPlayerPickUpPickup(playerid, pickupid)
  448. {
  449. if(pickupid == LSPD)
  450. {
  451. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 1)
  452. {
  453. if(Spieler[playerid][duty] == 0)
  454. {
  455. SendClientMessage(playerid,COLOR_BLUE,"Willkommen im Dienst Officer.");
  456. Spieler[playerid][duty] = 1;
  457. SetPlayerSkin(playerid, 280);
  458. }
  459. else if(Spieler[playerid][duty] == 1)
  460. {
  461. SendClientMessage(playerid,COLOR_BLUE,"Aufwiedersehen Officer.");
  462. Spieler[playerid][duty] = 0;
  463. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  464. }
  465. }
  466. }
  467. if(pickupid == LSMEDIC)
  468. {
  469. if(Spieler[playerid][job] == 2 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 1)
  470. {
  471. if(Spieler[playerid][duty] == 0)
  472. {
  473. SendClientMessage(playerid,COLOR_GREEN,"Willkommen im Dienst Doktor.");
  474. Spieler[playerid][duty] = 1;
  475. SetPlayerSkin(playerid, 274);
  476. }
  477. else if(Spieler[playerid][duty] == 1)
  478. {
  479. SendClientMessage(playerid,COLOR_GREEN,"Aufwiedersehen Doktor.");
  480. Spieler[playerid][duty] = 0;
  481. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  482. }
  483. }
  484. }
  485. if(pickupid == LSTAXI)
  486. {
  487. if(Spieler[playerid][job] == 3 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 1)
  488. {
  489. if(Spieler[playerid][duty] == 0)
  490. {
  491. SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Dienst.");
  492. Spieler[playerid][duty] = 1;
  493. SetPlayerSkin(playerid, 261);
  494. }
  495. else if(Spieler[playerid][duty] == 1)
  496. {
  497. SendClientMessage(playerid,COLOR_YELLOW,"Aufwiedersehen.");
  498. Spieler[playerid][duty] = 0;
  499. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  500. }
  501. }
  502. }
  503. if(pickupid == LVPD)
  504. {
  505. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 2)
  506. {
  507. if(Spieler[playerid][duty] == 0)
  508. {
  509. SendClientMessage(playerid,COLOR_BLUE,"Willkommen im Dienst Officer.");
  510. Spieler[playerid][duty] = 1;
  511. SetPlayerSkin(playerid, 282);
  512. }
  513. else if(Spieler[playerid][duty] == 1)
  514. {
  515. SendClientMessage(playerid,COLOR_BLUE,"Aufwiedersehen Officer .");
  516. Spieler[playerid][duty] = 0;
  517. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  518. }
  519. }
  520. }
  521. if(pickupid == LVMEDIC)
  522. {
  523. if(Spieler[playerid][job] == 2 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 2)
  524. {
  525. if(Spieler[playerid][duty] == 0)
  526. {
  527. SendClientMessage(playerid,COLOR_GREEN,"Willkommen im Dienst Doktor.");
  528. Spieler[playerid][duty] = 1;
  529. SetPlayerSkin(playerid, 275);
  530. }
  531. else if(Spieler[playerid][duty] == 1)
  532. {
  533. SendClientMessage(playerid,COLOR_GREEN,"Aufwiedersehen Doktor.");
  534. Spieler[playerid][duty] = 0;
  535. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  536. }
  537. }
  538. }
  539. if(pickupid == LVTAXI)
  540. {
  541. if(Spieler[playerid][job] == 3 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 2)
  542. {
  543. if(Spieler[playerid][duty] == 0)
  544. {
  545. SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Dienst.");
  546. Spieler[playerid][duty] = 1;
  547. SetPlayerSkin(playerid, 261);
  548. }
  549. else if(Spieler[playerid][duty] == 1)
  550. {
  551. SendClientMessage(playerid,COLOR_YELLOW,"Aufwiedersehen.");
  552. Spieler[playerid][duty] = 0;
  553. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  554. }
  555. }
  556. }
  557. if(pickupid == SFPD)
  558. {
  559. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 3)
  560. {
  561. if(Spieler[playerid][duty] == 0)
  562. {
  563. SendClientMessage(playerid,COLOR_BLUE,"Willkommen im Dienst Officer.");
  564. Spieler[playerid][duty] = 1;
  565. SetPlayerSkin(playerid, 281);
  566. }
  567. else if(Spieler[playerid][duty] == 1)
  568. {
  569. SendClientMessage(playerid,COLOR_BLUE,"Aufwiedersehen Officer.");
  570. Spieler[playerid][duty] = 0;
  571. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  572. }
  573. }
  574. }
  575. if(pickupid == SFMEDIC)
  576. {
  577. if(Spieler[playerid][job] == 2 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 3)
  578. {
  579. if(Spieler[playerid][duty] == 0)
  580. {
  581. SendClientMessage(playerid,COLOR_GREEN,"Willkommen im Dienst Doktor.");
  582. Spieler[playerid][duty] = 1;
  583. SetPlayerSkin(playerid, 276);
  584. }
  585. else if(Spieler[playerid][duty] == 1)
  586. {
  587. SendClientMessage(playerid,COLOR_GREEN,"Aufwiedersehen Doktor.");
  588. Spieler[playerid][duty] = 0;
  589. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  590. }
  591. }
  592. }
  593. if(pickupid == SFTAXI)
  594. {
  595. if(Spieler[playerid][job] == 3 && Spieler[playerid][rang] > 0 && Spieler[playerid][country] == 3)
  596. {
  597. if(Spieler[playerid][duty] == 0)
  598. {
  599. SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Dienst.");
  600. Spieler[playerid][duty] = 1;
  601. SetPlayerSkin(playerid, 261);
  602. }
  603. else if(Spieler[playerid][duty] == 1)
  604. {
  605. SendClientMessage(playerid,COLOR_YELLOW,"Aufwiedersehen.");
  606. Spieler[playerid][duty] = 0;
  607. SetPlayerSkin(playerid, Spieler[playerid][skin]);
  608. }
  609. }
  610. }
  611. return 1;
  612. }
  613.  
  614. public OnVehicleMod(playerid, vehicleid, componentid)
  615. {
  616. return 1;
  617. }
  618.  
  619. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  620. {
  621. return 1;
  622. }
  623.  
  624. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  625. {
  626. return 1;
  627. }
  628.  
  629. public OnPlayerSelectedMenuRow(playerid, row)
  630. {
  631. return 1;
  632. }
  633.  
  634. public OnPlayerExitedMenu(playerid)
  635. {
  636. return 1;
  637. }
  638.  
  639. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  640. {
  641. return 1;
  642. }
  643.  
  644. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  645. {
  646. new iSeat = GetPlayerVehicleSeat(playerid);
  647. if (PRESSED( KEY_ACTION ) && IsPlayerInAnyVehicle(playerid) && iSeat == 0)
  648. {
  649. if(GetPlayerVehicleSeat(playerid) == 0)
  650. {
  651. new car = GetPlayerVehicleID(playerid );
  652. if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
  653. {
  654. // SendClientMessage(playerid, COLOR_RED, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
  655. }
  656. else if (Motor[car] == false && Auto[car][Benzin] >= 0.5 && Auto[car][MS] == 0)
  657. {
  658. GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  659. SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  660. Motor[car] = true;
  661. }
  662. else if(Auto[car][Benzin] <= 0.5)
  663. {
  664. SendClientMessage(playerid,COLOR_RED,"Das Fahrzeug hat kein Benzin mehr.");
  665. }
  666. else if(Auto[car][MS] == 1)
  667. {
  668. SendClientMessage(playerid,COLOR_RED,"Das Fahrzeug hat einen Motorschaden.");
  669. }
  670. else if(Motor[car] == true)
  671. {
  672. GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  673. SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  674. Motor[car] = false; // Setzt den Bool wieder auf falsch zurück.
  675. }
  676. }
  677. }
  678. return 1;
  679. }
  680.  
  681. public OnRconLoginAttempt(ip[], password[], success)
  682. {
  683. return 1;
  684. }
  685.  
  686. public OnPlayerUpdate(playerid)
  687. {
  688. return 1;
  689. }
  690.  
  691. public OnPlayerStreamIn(playerid, forplayerid)
  692. {
  693. return 1;
  694. }
  695.  
  696. public OnPlayerStreamOut(playerid, forplayerid)
  697. {
  698. return 1;
  699. }
  700.  
  701. public OnVehicleStreamIn(vehicleid, forplayerid)
  702. {
  703. return 1;
  704. }
  705.  
  706. public OnVehicleStreamOut(vehicleid, forplayerid)
  707. {
  708. return 1;
  709. }
  710.  
  711. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  712. {
  713. new accFormat[128];
  714. GetPlayerName(playerid,pName,sizeof pName);
  715. format(accFormat,sizeof accFormat,"Server/User/%s.User",pName);
  716. if(response)
  717. {
  718. switch(dialogid) // dialogid auswählen
  719. {
  720. case DIALOG_LOGIN: // ID Login
  721. {
  722. if(!strlen(inputtext))
  723. {
  724. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen zurück!\nGebe dein Passwort ein um zu spielen.","Abbrechen","Weiter");
  725. return SendClientMessage(playerid,COLOR_INFO,"[SERVERINFO] Kein Passwort angegeben!");
  726. }
  727. if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
  728. {
  729. Spieler[playerid][money] = dini_Int(accFormat,"money");
  730. Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
  731. Spieler[playerid][geschlecht] = dini_Int(accFormat,"geschlecht");
  732. Spieler[playerid][dutytime] = dini_Int(accFormat,"dutytime");
  733. Spieler[playerid][alter] = dini_Int(accFormat,"alter");
  734. Spieler[playerid][tod] = dini_Int(accFormat,"tod");
  735. Spieler[playerid][haendler] = dini_Int(accFormat,"haendler");
  736. Spieler[playerid][cuff] = dini_Int(accFormat,"cuff");
  737. Spieler[playerid][skin] = dini_Int(accFormat,"skin");
  738. Spieler[playerid][job] = dini_Int(accFormat,"job");
  739. Spieler[playerid][country] = dini_Int(accFormat,"country");
  740. Spieler[playerid][rang] = dini_Int(accFormat,"rang");
  741. Spieler[playerid][duty] = dini_Int(accFormat,"duty");
  742. Spieler[playerid][level1] = dini_Int(accFormat,"level");
  743. Spieler[playerid][admin] = dini_Int(accFormat,"admin");
  744. Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
  745. Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
  746. Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
  747. Spieler[playerid][eingeloggt] = 1;
  748. SendClientMessage(playerid,COLOR_YELLOW,"[SERVERINFO] Du wurdest erfolgreich eingeloggt.");
  749. }
  750. else
  751. {
  752. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte logge dich ein","Abbrechen","Weiter");
  753. SendClientMessage(playerid,COLOR_INFO,"[SERVERINFO] Das Passwort war Falsch!");
  754. }
  755. }
  756. case DIALOG_REG: // ID Registrieren
  757. {
  758. if(!strlen(inputtext))
  759. {
  760. ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,"Registrieren","Willkommen!\nGebe ein Passwort ein um auf dem Server zu Spielen.","Abbrechen","Weiter");
  761. return SendClientMessage(playerid,COLOR_RED,"[SERVERINFO] Das Passwort ist zu kurz!");
  762. }
  763. dini_Create(accFormat);
  764. dini_Set(accFormat,"Passwort",inputtext);
  765. ShowPlayerDialog(playerid,DIALOG_REG2,1,"Registieren","Gebe nun dein Alter ein.\n(z.B. 17)","Weiter","");
  766. }
  767. case DIALOG_REG2: // Alter
  768. {
  769. if(!strlen(inputtext))
  770. {
  771. ShowPlayerDialog(playerid,DIALOG_REG2,1,"Registrieren","Gebe nun dein Alter ein.\n(z.B. 17)","Weiter","");
  772. return SendClientMessage(playerid,COLOR_RED,"[SERVERINFO] Das angegeben Alter ist nicht korrekt!");
  773. }
  774. dini_Set(accFormat,"alter",inputtext);
  775. dini_Set(accFormat,"money","5000");
  776. dini_Set(accFormat,"wanted","0");
  777. dini_Set(accFormat,"cuff","0");
  778. dini_Set(accFormat,"skin","0");
  779. dini_Set(accFormat,"job","0");
  780. dini_Set(accFormat,"rang","0");
  781. dini_Set(accFormat,"duty","0");
  782. dini_Set(accFormat,"tod","0");
  783. dini_Set(accFormat,"admin","0");
  784. dini_Set(accFormat,"level1","1");
  785. dini_Set(accFormat,"haendler","0");
  786. dini_Set(accFormat,"dutytime","0");
  787. ShowPlayerDialog(playerid,DIALOG_REG3,2,"Registieren","Männlich\nWeiblich","Weiter","");
  788. }
  789. case DIALOG_REG3: // Geschlecht
  790. {
  791. if(listitem == 0)
  792. {
  793. dini_Set(accFormat,"geschlecht","1");
  794. ShowPlayerDialog(playerid,DIALOG_REG3,2,"Registieren","Los Santos\nSan Fierro\nLas Venturas","Weiter","");
  795. }
  796. if(listitem == 1)
  797. {
  798. dini_Set(accFormat,"geschlecht","2");
  799. ShowPlayerDialog(playerid,DIALOG_REG3,2,"Registieren","Los Santos\nSan Fierro\nLas Venturas","Weiter","");
  800. }
  801. }
  802. case DIALOG_REG4: // Geschlecht
  803. {
  804. if(listitem == 0)
  805. {
  806. dini_Set(accFormat,"country","1");
  807. Spieler[playerid][country] = 1;
  808. Spieler[playerid][eingeloggt] = 1;
  809. SendClientMessage(playerid,COLOR_YELLOW,"[SERVERINFO] Account wurde angelegt und du wurdest eingeloggt. Willkommen in Los Santos");
  810. Spieler[playerid][lastx] = 1642.8606;
  811. Spieler[playerid][lasty] = -2332.0789;
  812. Spieler[playerid][lastz] = 13.5469;
  813. }
  814. if(listitem == 1)
  815. {
  816. dini_Set(accFormat,"country","2");
  817. Spieler[playerid][country] = 2;
  818. Spieler[playerid][eingeloggt] = 1;
  819. SendClientMessage(playerid,COLOR_YELLOW,"[SERVERINFO] Account wurde angelegt und du wurdest eingeloggt. Willkommen in San Fierro");
  820. Spieler[playerid][lastx] = -1421.5974;
  821. Spieler[playerid][lasty] = -287.8896;
  822. Spieler[playerid][lastz] = 14.1484;
  823. }
  824. if(listitem == 2)
  825. {
  826. dini_Set(accFormat,"country","3");
  827. Spieler[playerid][country] = 3;
  828. Spieler[playerid][eingeloggt] = 1;
  829. SendClientMessage(playerid,COLOR_YELLOW,"[SERVERINFO] Account wurde angelegt und du wurdest eingeloggt. Willkommen in Las Venturas");
  830. Spieler[playerid][lastx] = 1690.3716;
  831. Spieler[playerid][lasty] = 1448.3085;
  832. Spieler[playerid][lastz] = 10.7663;
  833. }
  834. SpeicherUser(playerid);
  835. }
  836. }
  837. }
  838. return 1;
  839. }
  840.  
  841. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  842. {
  843. return 1;
  844. }
  845.  
  846. public OnPlayerCommandPerformed(playerid,cmdtext[],success) {
  847. if(success == 0)
  848. {
  849. SendClientMessage(playerid,COLOR_RED,"Dieser Befehl ist nicht verfügbar.");
  850. return 1;
  851. }
  852. return 1;
  853. }
  854.  
  855. public UpdateTime()
  856. {
  857. gettime(hour, minute);
  858. format(timestr,60,"%02d:%02d",hour,minute);
  859. TextDrawSetString(txtTimeDisp,timestr);
  860. SetWorldTime(hour);
  861.  
  862. new x=0;
  863. while(x!=MAX_PLAYERS) {
  864. if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE) {
  865. SetPlayerTime(x,hour,minute);
  866. }
  867. if(Spieler[x][duty] == 1)
  868. {
  869. Spieler[x][dutytime] ++;
  870. }
  871. if(Spieler[x][dutytime] == 15)
  872. {
  873. Spieler[x][dutytime] = 0;
  874. if(Spieler[x][job] == 1 && Spieler[x][rang] == 1)
  875. {
  876. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 450 $");
  877. GivePlayerMoney(x,450);
  878. }
  879. if(Spieler[x][job] == 1 && Spieler[x][rang] == 2)
  880. {
  881. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 600 $");
  882. GivePlayerMoney(x,600);
  883. }
  884. if(Spieler[x][job] == 1 && Spieler[x][rang] == 3)
  885. {
  886. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 750 $");
  887. GivePlayerMoney(x,750);
  888. }
  889. if(Spieler[x][job] == 2 && Spieler[x][rang] == 1)
  890. {
  891. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 350 $");
  892. GivePlayerMoney(x,350);
  893. }
  894. if(Spieler[x][job] == 2 && Spieler[x][rang] == 2)
  895. {
  896. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 475 $");
  897. GivePlayerMoney(x,475);
  898. }
  899. if(Spieler[x][job] == 2 && Spieler[x][rang] == 3)
  900. {
  901. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 525 $");
  902. GivePlayerMoney(x,525);
  903. }
  904. if(Spieler[x][job] == 3 && Spieler[x][rang] == 1)
  905. {
  906. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 250 $");
  907. GivePlayerMoney(x,250);
  908. }
  909. if(Spieler[x][job] == 3 && Spieler[x][rang] == 2)
  910. {
  911. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 375 $");
  912. GivePlayerMoney(x,375);
  913. }
  914. if(Spieler[x][job] == 3 && Spieler[x][rang] == 3)
  915. {
  916. SendClientMessage(x,COLOR_WHITE,"Lohn erhalten: 525 $");
  917. GivePlayerMoney(x,525);
  918. }
  919. }
  920. x++;
  921. }
  922. }
  923.  
  924. public SpeicherUser(playerid)
  925. {
  926. new accFormat[40];
  927. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  928. format(accFormat,sizeof accFormat,"Server/User/%s.User",pName);
  929. if(fexist(accFormat) && Spieler[playerid][eingeloggt])
  930. {
  931. dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
  932. dini_IntSet(accFormat,"geschlecht",Spieler[playerid][geschlecht]);
  933. dini_IntSet(accFormat,"dutytime",Spieler[playerid][dutytime]);
  934. dini_IntSet(accFormat,"alter",Spieler[playerid][alter]);
  935. dini_IntSet(accFormat,"tod",Spieler[playerid][tod]);
  936. dini_IntSet(accFormat,"haendler",Spieler[playerid][haendler]);
  937. dini_IntSet(accFormat,"cuff",Spieler[playerid][cuff]);
  938. dini_IntSet(accFormat,"money",Spieler[playerid][money]);
  939. dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
  940. dini_IntSet(accFormat,"job",Spieler[playerid][job]);
  941. dini_IntSet(accFormat,"country",Spieler[playerid][country]);
  942. dini_IntSet(accFormat,"rang",Spieler[playerid][rang]);
  943. dini_IntSet(accFormat,"duty",Spieler[playerid][duty]);
  944. dini_IntSet(accFormat,"level", Spieler[playerid][level1]);
  945. dini_IntSet(accFormat,"admin", Spieler[playerid][admin]);
  946. dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
  947. dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
  948. dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
  949. }
  950. return 1;
  951. }
  952.  
  953. public SpeicherFahrzeug(id)
  954. {
  955. if(id <= 0)
  956. {
  957. return 1;
  958. }
  959. new str[90];
  960. Auto[id][aModel] = GetVehicleModel(id);
  961. format(str, sizeof(str), "Server/Fahrzeug/%d.car", id);
  962. dini_Create(str);
  963. {
  964. dini_Set(str,"Besitzer",Auto[id][besitzer]);
  965. dini_Set(str,"key1",Auto[id][key1]);
  966. dini_Set(str,"key2",Auto[id][key2]);
  967. dini_IntSet(str,"ID",Auto[id][aID]);
  968. dini_IntSet(str,"verschlossen",Auto[id][verschlossen]);
  969. dini_FloatSet(str,"aX", Auto[id][aX]);
  970. dini_FloatSet(str,"aY", Auto[id][aY]);
  971. dini_FloatSet(str,"aZ", Auto[id][aZ]);
  972. dini_FloatSet(str,"aAngle", Auto[id][aAngle]);
  973. dini_FloatSet(str,"Meter", Auto[id][Meter]);
  974. dini_FloatSet(str,"KM", Auto[id][KM]);
  975. dini_FloatSet(str,"MBenzin", Auto[id][MBenzin]);
  976. dini_FloatSet(str,"Benzin", Auto[id][Benzin]);
  977. dini_IntSet(str,"Model",Auto[id][aModel]);
  978. dini_IntSet(str,"Farbe1",Auto[id][farbe1]);
  979. dini_IntSet(str,"MS",Auto[id][MS]);
  980. dini_IntSet(str,"Farbe2",Auto[id][farbe2]);
  981. }
  982. return 1;
  983. }
  984.  
  985. public LadeFahrzeug(id)
  986. {
  987. new str[90];
  988. format(str, sizeof(str), "Server/Fahrzeug/%d.car", id);
  989. if(id <= 0)
  990. {
  991. return 1;
  992. }
  993. if(fexist(str))
  994. {
  995. format(Auto[id][besitzer],24,"%s",dini_Get(str, "Besitzer"));
  996. format(Auto[id][key1],24,"%s",dini_Get(str, "key1"));
  997. format(Auto[id][key2],24,"%s",dini_Get(str, "key2"));
  998. Auto[id][aID] = dini_Int(str, "ID");
  999. Auto[id][verschlossen] = dini_Int(str, "verschlossen");
  1000. Auto[id][aX] = dini_Float(str, "aX");
  1001. Auto[id][aY] = dini_Float(str, "aY");
  1002. Auto[id][aZ] = dini_Float(str, "aZ");
  1003. Auto[id][aAngle] = dini_Float(str, "aAngle");
  1004. Auto[id][aModel] = dini_Int(str, "Model");
  1005. Auto[id][Meter] = dini_Float(str, "Meter");
  1006. Auto[id][KM] = dini_Float(str, "KM");
  1007. Auto[id][MBenzin] = dini_Float(str, "MBenzin");
  1008. Auto[id][Benzin] = dini_Float(str, "Benzin");
  1009. Auto[id][farbe1] = dini_Int(str, "Farbe1");
  1010. Auto[id][MS] = dini_Int(str, "MS");
  1011. Auto[id][farbe2] = dini_Int(str, "Farbe2");
  1012. }
  1013. return 1;
  1014. }
  1015.  
  1016. public SpeicherHaus(id)
  1017. {
  1018. new str[125];
  1019. if(id <= 0)
  1020. {
  1021. return 1;
  1022. }
  1023. format(str, sizeof(str), "Server/Haus/%d.haus", id);
  1024. dini_Create(str);
  1025. if(fexist(str))
  1026. {
  1027. dini_Set(str,"besitzer",Haus[id][besitzer]);
  1028. dini_IntSet(str,"ID",Haus[id][ID]);
  1029. dini_IntSet(str,"interior",Haus[id][interior]);
  1030. dini_IntSet(str,"Preis",Haus[id][preis]);
  1031. dini_IntSet(str,"Level",Haus[id][level]);
  1032. dini_IntSet(str,"Punkte",Haus[id][punkte]);
  1033. dini_FloatSet(str,"hX", Haus[id][hX]);
  1034. dini_FloatSet(str,"hY", Haus[id][hY]);
  1035. dini_FloatSet(str,"hZ", Haus[id][hZ]);
  1036. dini_FloatSet(str,"hX2", Haus[id][hX2]);
  1037. dini_FloatSet(str,"hY2", Haus[id][hY2]);
  1038. dini_FloatSet(str,"hZ2", Haus[id][hZ2]);
  1039. dini_IntSet(str,"Bereit",Haus[id][bereit]);
  1040. printf("X %.1f ; Y %.1f; Z %.1f",Haus[id][hX],Haus[id][hY],Haus[id][hZ]);
  1041. }
  1042. return 1;
  1043. }
  1044.  
  1045. public LadeHaus(id)
  1046. {
  1047. new str[125];
  1048. format(str, sizeof(str), "Server/Haus/%d.haus", id);
  1049. if(id == 0)
  1050. {
  1051. return 1;
  1052. }
  1053. if(fexist(str))
  1054. {
  1055. format(Haus[id][besitzer],24,"%s",dini_Get(str, "besitzer"));
  1056. Haus[id][ID] = dini_Int(str, "ID");
  1057. Haus[id][interior] = dini_Int(str, "interior");
  1058. Haus[id][preis] = dini_Int(str, "Preis");
  1059. Haus[id][level] = dini_Int(str, "Level");
  1060. Haus[id][punkte] = dini_Int(str, "punkte");
  1061. Haus[id][hX] = dini_Float(str, "hX");
  1062. Haus[id][hY] = dini_Float(str, "hY");
  1063. Haus[id][hZ] = dini_Float(str, "hZ");
  1064. Haus[id][hX2] = dini_Float(str, "hX2");
  1065. Haus[id][hY2] = dini_Float(str, "hY2");
  1066. Haus[id][hZ2] = dini_Float(str, "hZ2");
  1067. Haus[id][bereit] = dini_Int(str, "Bereit");
  1068. printf("X %.1f ; Y %.1f; Z %.1f",Haus[id][hX],Haus[id][hY],Haus[id][hZ]);
  1069. }
  1070. return 1;
  1071. }
  1072.  
  1073. public TachoTimer()
  1074. {
  1075. for(new i = 0,Tachostring[256],Float:Entfernung, Float:Geschwindigkeit;i < MAX_PLAYERS; i++)
  1076. {
  1077. new iSeat = GetPlayerVehicleSeat(i);
  1078. if(Spieler[i][eingeloggt] == 1 && IsPlayerInAnyVehicle(i) && iSeat == 0 && Motor[GetPlayerVehicleID(i)] == true)
  1079. {
  1080. GetVehiclePos(GetPlayerVehicleID(i), X1[i], Y1[i], Z1[i]);
  1081. Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[i], X2[i])), 2)+floatpower(floatabs(floatsub(Y1[i], Y2[i])), 2)+floatpower(floatabs(floatsub(Z1[i], Z2[i])), 2)); //Berechnung der Entfernung
  1082. Auto[GetPlayerVehicleID(i)][Meter] +=Entfernung;
  1083. Auto[GetPlayerVehicleID(i)][KM] += Entfernung/500;
  1084. Geschwindigkeit = (Entfernung / (TACHOTIMER/1000)) * 3.6;
  1085. if(Auto[GetPlayerVehicleID(i)][KM] >= 1.0 && GetVehicleModel(GetPlayerVehicleID(i)) != 509 || Auto[GetPlayerVehicleID(i)][KM] >= 1.0 && GetVehicleModel(GetPlayerVehicleID(i)) != 481 ||Auto[GetPlayerVehicleID(i)][KM] >= 1.0 && GetVehicleModel(GetPlayerVehicleID(i)) != 510)
  1086. {
  1087. Auto[GetPlayerVehicleID(i)][KM] = 0.0;
  1088. Auto[GetPlayerVehicleID(i)][Benzin] -=0.5;
  1089. if(Auto[GetPlayerVehicleID(i)][Benzin] <=0.5)
  1090. {
  1091. SendClientMessage(i,COLOR_RED,"Der Tank ist leer.");
  1092. GetVehicleParamsEx(GetPlayerVehicleID(i),engine,lights,alarm,doors,bonnet,boot,objective);
  1093. SetVehicleParamsEx(GetPlayerVehicleID(i),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  1094. Motor[GetPlayerVehicleID(i)] = false;
  1095. }
  1096. }
  1097. if(GetVehicleModel(GetPlayerVehicleID(i)) != 509 || GetVehicleModel(GetPlayerVehicleID(i)) != 481 || GetVehicleModel(GetPlayerVehicleID(i)) != 510) // Wenn das Fahrzeug ein Fahrrad ist,
  1098. {
  1099. if(Auto[GetPlayerVehicleID(i)][Benzin] >= 1)
  1100. {
  1101. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f~n~Benzin: ~r~IIIII", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1102. TextDrawSetString(Tacho[i], Tachostring);
  1103. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1104. TextDrawShowForPlayer(i, Tacho[i]);
  1105. }
  1106. if(Auto[GetPlayerVehicleID(i)][Benzin] >= 11)
  1107. {
  1108. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f~n~Benzin: ~g~I~r~IIII", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1109. TextDrawSetString(Tacho[i], Tachostring);
  1110. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1111. TextDrawShowForPlayer(i, Tacho[i]);
  1112. }
  1113. if(Auto[GetPlayerVehicleID(i)][Benzin] >= 21)
  1114. {
  1115. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f~n~Benzin: ~g~II~r~III", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1116. TextDrawSetString(Tacho[i], Tachostring);
  1117. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1118. TextDrawShowForPlayer(i, Tacho[i]);
  1119. }
  1120. if(Auto[GetPlayerVehicleID(i)][Benzin] >= 31)
  1121. {
  1122. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f~n~Benzin: ~g~III~r~II", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1123. TextDrawSetString(Tacho[i], Tachostring);
  1124. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1125. TextDrawShowForPlayer(i, Tacho[i]);
  1126. }
  1127. if(Auto[GetPlayerVehicleID(i)][Benzin] >= 41)
  1128. {
  1129. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f~n~Benzin: ~g~IIII~r~I", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1130. TextDrawSetString(Tacho[i], Tachostring);
  1131. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1132. TextDrawShowForPlayer(i, Tacho[i]);
  1133. }
  1134. if(Auto[GetPlayerVehicleID(i)][Benzin] >= 51)
  1135. {
  1136. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f~n~Benzin: ~g~IIIII", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1137. TextDrawSetString(Tacho[i], Tachostring);
  1138. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1139. TextDrawShowForPlayer(i, Tacho[i]);
  1140. }
  1141. }
  1142. }
  1143. /*if(GetVehicleModel(GetPlayerVehicleID(i)) == 509 || GetVehicleModel(GetPlayerVehicleID(i)) == 481 || GetVehicleModel(GetPlayerVehicleID(i)) == 510) // Wenn das Fahrzeug ein Fahrrad ist,
  1144. {
  1145. format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Besitzer: %s~n~KM: %.1f", floatround(Geschwindigkeit),Auto[GetPlayerVehicleID(i)][besitzer],Auto[GetPlayerVehicleID(i)][Meter]/500);
  1146. TextDrawSetString(Tacho[i], Tachostring);
  1147. GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
  1148. TextDrawShowForPlayer(i, Tacho[i]);
  1149. }*/
  1150. else
  1151. {
  1152. TextDrawHideForPlayer(i, Tacho[i]);
  1153. }
  1154. }
  1155. return 1;
  1156. }
  1157.  
  1158. public InstalliereServer()
  1159. {
  1160. print("____RL Script By Apoolecu aka Sp!ax____");
  1161. print("Alle für den Server benoetigten sachen");
  1162. print("werden Installiert, bitte warte");
  1163. if(!dir_exists("scriptfiles/Server"))
  1164. {
  1165. print("Installiere: Hauptverzeichnis");
  1166. print("Verzeichnis: scriptfiles/Server");
  1167. dir_create("scriptfiles/Server");
  1168. }
  1169. if(!dir_exists("scriptfiles/Server/User"))
  1170. {
  1171. print("Installiere: Userverzeichnis");
  1172. print("Verzeichnis: scriptfiles/Server/User");
  1173. dir_create("scriptfiles/Server/User");
  1174. }
  1175. if(!dir_exists("scriptfiles/Server/Fahrzeug"))
  1176. {
  1177. print("Installiere: Fahrzeugverzeichnis");
  1178. print("Verzeichnis: scriptfiles/Server/Fahrzeug");
  1179. dir_create("scriptfiles/Server/Fahrzeug");
  1180. }
  1181. if(!dir_exists("scriptfiles/Server/Haus"))
  1182. {
  1183. print("Installiere: Haueserverzeichnis");
  1184. print("Verzeichnis: scriptfiles/Server/Haus");
  1185. dir_create("scriptfiles/Server/Haus");
  1186. }
  1187. print("Installation wurde erfolgreich beendet");
  1188. print("_____RL Script by Apoolecu aka Sp!ax_____");
  1189. print("_________________________________________");
  1190. }
  1191. CMD:hkaufen(playerid, params[])
  1192. {
  1193. for(new h = 1,string[125],sUnterbefehl[16]; h < MAX_HOUSE; h ++)
  1194. {
  1195. if(IsPlayerInRangeOfPoint(playerid,5.0,Haus[h][hX],Haus[h][hY],Haus[h][hZ]) && Haus[h][bereit] == 0)
  1196. {
  1197. if(sscanf(params,"s",sUnterbefehl)){
  1198. SendClientMessage(playerid,COLOR_RED,"Benutze: /hkaufen [Premium/Normal]");
  1199. }
  1200. if(strfind(sUnterbefehl, "Premium", true) != -1)
  1201. {
  1202. GetPlayerName(playerid,pName,sizeof pName);
  1203. SendClientMessage(playerid,COLOR_YELLOW,"Du hast das Haus für Premiumpunkte gekauft.");
  1204. Spieler[playerid][lastx] = Haus[h][hX];
  1205. Spieler[playerid][lasty] = Haus[h][hY];
  1206. Spieler[playerid][lastz] = Haus[h][hZ];
  1207. strmid(Haus[h][besitzer], pName,0, sizeof(pName)-1, MAX_PLAYER_NAME);
  1208. DestroyPickup(Haus[h][Pickup]);
  1209. Haus[h][bereit] = 1;
  1210. Delete3DTextLabel(Haus[h][hlabel]);
  1211. format(string,sizeof string,"Besitzer: %s\nLevel: %d\nPreis: %d $\nPremiumpunkte: %d",Haus[h][besitzer],Haus[h][level],Haus[h][preis],Haus[h][punkte]);
  1212. Haus[h][hlabel] = Create3DTextLabel(string,COLOR_WHITE,Haus[h][hX],Haus[h][hY],Haus[h][hZ]+0.75,40.0,0,1);
  1213. Haus[h][Pickup] = CreatePickup(1272, 1, Haus[h][hX], Haus[h][hY], Haus[h][hZ], -1);
  1214. }
  1215. else if(strfind(sUnterbefehl, "Normal", true) != -1)
  1216. {
  1217. GetPlayerName(playerid,pName,sizeof pName);
  1218. SendClientMessage(playerid,COLOR_YELLOW,"Du hast das Haus für Geld gekauft.");
  1219. Spieler[playerid][lastx] = Haus[h][hX];
  1220. Spieler[playerid][lasty] = Haus[h][hY];
  1221. Spieler[playerid][lastz] = Haus[h][hZ];
  1222. GivePlayerMoney(playerid, -Haus[h][preis]);
  1223. Haus[h][bereit] = 1;
  1224. DestroyPickup(Haus[h][Pickup]);
  1225. Delete3DTextLabel(Haus[h][hlabel]);
  1226. strmid(Haus[h][besitzer], pName,0, sizeof(pName)-1, MAX_PLAYER_NAME);
  1227. format(string,sizeof string,"Besitzer: %s\nLevel: %d\nPreis: %d $\nPremiumpunkte: %d",Haus[h][besitzer],Haus[h][level],Haus[h][preis],Haus[h][punkte]);
  1228. Haus[h][hlabel] = Create3DTextLabel(string,COLOR_WHITE,Haus[h][hX],Haus[h][hY],Haus[h][hZ]+0.75,40.0,0,1);
  1229. Haus[h][Pickup] = CreatePickup(1272, 1, Haus[h][hX], Haus[h][hY], Haus[h][hZ], -1);
  1230. }
  1231. }
  1232. }
  1233. return 1;
  1234. }
  1235. CMD:hauschange(playerid, params[])
  1236. {
  1237. if(Spieler[playerid][admin] >=1)
  1238. {
  1239. for(new h = 1,sUnterbefehl[16]; h < MAX_HOUSE; h ++)
  1240. {
  1241. if(IsPlayerInRangeOfPoint(playerid,5.0,Haus[h][hX],Haus[h][hY],Haus[h][hZ]) && Haus[h][bereit] == 0)
  1242. {
  1243. if(sscanf(params,"s",sUnterbefehl)){
  1244. SendClientMessage(playerid,COLOR_RED,"Benutze: /hkaufen [Nutzbar/Interior]");
  1245. }
  1246. if(strfind(sUnterbefehl, "Nutzbar", true) != -1)
  1247. {
  1248. SendClientMessage(playerid,COLOR_GREY,"Es sind derzeit folgende Interior nutzbar:");
  1249. SendClientMessage(playerid,COLOR_GREY,"ID: 1a|1b|2a|2b|3|5a|5b|5c|8a|8b|9|10a|10b|12|15|");
  1250. }
  1251. else if(strfind(sUnterbefehl, "1a", true) != -1)
  1252. {
  1253. Haus[h][interior] = 1;
  1254. Haus[h][hX2] = 2535.83;
  1255. Haus[h][hY2] = -1674.32;
  1256. Haus[h][hZ2] = 1015.50;
  1257. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 1a.");
  1258. }
  1259. else if(strfind(sUnterbefehl, "1b", true) != -1)
  1260. {
  1261. Haus[h][interior] = 1;
  1262. Haus[h][hX2] = -2158.72;
  1263. Haus[h][hY2] = 641.29;
  1264. Haus[h][hZ2] = 1052.38;
  1265. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 1b.");
  1266. }
  1267. else if(strfind(sUnterbefehl, "2a", true) != -1)
  1268. {
  1269. Haus[h][interior] = 2;
  1270. Haus[h][hX2] = 2567.52;
  1271. Haus[h][hY2] = -1294.59;
  1272. Haus[h][hZ2] = 1063.25;
  1273. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 2a.");
  1274. }
  1275. else if(strfind(sUnterbefehl, "3", true) != -1)
  1276. {
  1277. Haus[h][interior] = 3;
  1278. Haus[h][hX2] = 2496.65;
  1279. Haus[h][hY2] = -1696.55;
  1280. Haus[h][hZ2] = 1014.74;
  1281. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 3.");
  1282. }
  1283. else if(strfind(sUnterbefehl, "5a", true) != -1)
  1284. {
  1285. Haus[h][interior] = 5;
  1286. Haus[h][hX2] = 2338.32;
  1287. Haus[h][hY2] = -1180.61;
  1288. Haus[h][hZ2] = 1027.98;
  1289. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 5a.");
  1290. }
  1291. else if(strfind(sUnterbefehl, "5b", true) != -1)
  1292. {
  1293. Haus[h][interior] = 5;
  1294. Haus[h][hX2] = 318.565;
  1295. Haus[h][hY2] = 1115.210;
  1296. Haus[h][hZ2] = 1082.98;
  1297. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 5b.");
  1298. }
  1299. else if(strfind(sUnterbefehl, "5c", true) != -1)
  1300. {
  1301. Haus[h][interior] = 5;
  1302. Haus[h][hX2] = 1299.14;
  1303. Haus[h][hY2] = -794.77;
  1304. Haus[h][hZ2] = 1084.00;
  1305. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 5c.");
  1306. }
  1307. else if(strfind(sUnterbefehl, "8a", true) != -1)
  1308. {
  1309. Haus[h][interior] = 8;
  1310. Haus[h][hX2] = 2807.63;
  1311. Haus[h][hY2] = -1170.15;
  1312. Haus[h][hZ2] = 1025.57;
  1313. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 8a.");
  1314. }
  1315. else if(strfind(sUnterbefehl, "8b", true) != -1)
  1316. {
  1317. Haus[h][interior] = 8;
  1318. Haus[h][hX2] = 2365.42;
  1319. Haus[h][hY2] = -1131.85;
  1320. Haus[h][hZ2] = 1050.88;
  1321. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 8b.");
  1322. }
  1323. else if(strfind(sUnterbefehl, "9", true) != -1)
  1324. {
  1325. Haus[h][interior] = 9;
  1326. Haus[h][hX2] = 2251.85;
  1327. Haus[h][hY2] = -1138.16;
  1328. Haus[h][hZ2] = 1050.63;
  1329. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 9.");
  1330. }
  1331. else if(strfind(sUnterbefehl, "10a", true) != -1)
  1332. {
  1333. Haus[h][interior] = 10;
  1334. Haus[h][hX2] = 2260.76;
  1335. Haus[h][hY2] = -1210.45;
  1336. Haus[h][hZ2] = 1049.02;
  1337. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 10a.");
  1338. }
  1339. else if(strfind(sUnterbefehl, "10b", true) != -1)
  1340. {
  1341. Haus[h][interior] = 10;
  1342. Haus[h][hX2] = 2262.83;
  1343. Haus[h][hY2] = -1137.71;
  1344. Haus[h][hZ2] = 1050.63;
  1345. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 10b.");
  1346. }
  1347. else if(strfind(sUnterbefehl, "12", true) != -1)
  1348. {
  1349. Haus[h][interior] = 10;
  1350. Haus[h][hX2] = 2324.33;
  1351. Haus[h][hY2] = -1144.79;
  1352. Haus[h][hZ2] = 1050.71;
  1353. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 12.");
  1354. }
  1355. else if(strfind(sUnterbefehl, "15", true) != -1)
  1356. {
  1357. Haus[h][interior] = 15;
  1358. Haus[h][hX2] = 2220.26;
  1359. Haus[h][hY2] = -1148.01;
  1360. Haus[h][hZ2] = 1025.80;
  1361. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 15.");
  1362. }
  1363. else if(strfind(sUnterbefehl, "2b", true) != -1)
  1364. {
  1365. Haus[h][interior] = 2;
  1366. Haus[h][hX2] = 2451.77;
  1367. Haus[h][hY2] = -1699.80;
  1368. Haus[h][hZ2] = 1013.51;
  1369. SendClientMessage(playerid,COLOR_GREEN,"Das Interior ist jetzt ID 2b.");
  1370. }
  1371. Haus[h][Pickup2] = CreatePickup(1559,1,Haus[h][hX2],Haus[h][hY2],Haus[h][hZ2],-1);
  1372. }
  1373. }
  1374. }
  1375. return 1;
  1376. }
  1377. CMD:chaus(playerid, params[])
  1378. {
  1379. if(Spieler[playerid][admin] >2)
  1380. {
  1381. new hlevel,hpunkte,hpreis;
  1382. if(sscanf(params,"iii",hlevel,hpunkte,hpreis))
  1383. SendClientMessage(playerid,COLOR_RED,"Benutze: /chaus [Level] [Premiumpunkte] [Preis]");
  1384. else if(hlevel < 1 || hlevel > 50) SendClientMessage(playerid,COLOR_RED,"Es sind nur Level zwischen 1-50 erlaubt.");
  1385. else
  1386. {
  1387. new Haus1,string[125];
  1388. for(new i; i < MAX_HOUSE; i++)
  1389. {
  1390. if(Haus[i][hX] == 0.0 && i >=1)
  1391. {
  1392. Haus1 = i;
  1393. break;
  1394. }
  1395. }
  1396. new Float:X,Float:Y,Float:Z;
  1397. GetPlayerPos(playerid,X,Y,Z);
  1398. Haus[Haus1][Pickup] = CreatePickup(1273, 1, X, Y, Z, -1);
  1399. Haus[Haus1][ID] = Haus1;
  1400. Haus[Haus1][hX] = X;
  1401. Haus[Haus1][hY] = Y;
  1402. Haus[Haus1][hZ] = Z;
  1403. printf("X %.1f ; Y %.1f; Z %.1f",X,Y,Z);
  1404. printf("X %.1f ; Y %.1f; Z %.1f",Haus[Haus1][hX],Haus[Haus1][hY],Haus[Haus1][hZ]);
  1405. Haus[Haus1][level] = hlevel;
  1406. Haus[Haus1][punkte] = hpunkte;
  1407. Haus[Haus1][preis] = hpreis;
  1408. Haus[Haus1][bereit] = 0;
  1409. format(string,sizeof string,"Besitzer: KEINER\nLevel: %d\nPreis: %d $\nPremiumpunkte: %d\n/kaufen",Haus[Haus1][level],Haus[Haus1][preis],Haus[Haus1][punkte]);
  1410. Create3DTextLabel(string,COLOR_WHITE,Haus[Haus1][hX],Haus[Haus1][hY],Haus[Haus1][hZ]+0.75,40.0,0,1);
  1411. SpeicherHaus(Haus1);
  1412. }
  1413. }
  1414. return 1;
  1415. }
  1416. CMD:heal(playerid, params[])
  1417. {
  1418. if(Spieler[playerid][job] == 2 && Spieler[playerid][rang] >= 1 && Spieler[playerid][duty] == 1)
  1419. {
  1420. new pID;
  1421. if(sscanf(params, "u",pID)) {
  1422. return SendClientMessage(playerid, COLOR_RED,"BENUTZUNG: /heal [playerid/name]");
  1423. }
  1424. if(!IsPlayerConnected(pID)) {
  1425. return SendClientMessage(playerid, COLOR_RED,"Kein Spieler mit dieser ID/Namen ist Online");
  1426. }
  1427. if(!GetDistanceBetweenPlayers(playerid,pID,6)){
  1428. return SendClientMessage(playerid,COLOR_RED,"Du bist nicht im Radius von dem Spieler");
  1429. }
  1430. new GeheilterSpieler[MAX_PLAYERS],MedicalSpieler[MAX_PLAYERS], stringm[70],stringh[70], Float:pIDHealth, moneyhealht;
  1431. GetPlayerHealth(pID,pIDHealth);
  1432. moneyhealht = floatround(pIDHealth - 100.0*0.10);
  1433. GetPlayerName(pID,GeheilterSpieler,sizeof(GeheilterSpieler));
  1434. GetPlayerName(playerid,MedicalSpieler,sizeof(MedicalSpieler));
  1435. SetPlayerHealth(pID, 100.0);
  1436. format(stringm,sizeof(stringm),"Du hast %s geheilt für %d $ geheilt.",GeheilterSpieler,floatround(moneyhealht));
  1437. format(stringh,sizeof(stringh),"Du wurdest von %s für %d $ geheilt.",GeheilterSpieler,floatround(moneyhealht));
  1438. GivePlayerMoney(pID,-floatround(moneyhealht));
  1439. GivePlayerMoney(playerid, floatround(moneyhealht));
  1440. SendClientMessage(playerid,COLOR_GREEN,stringm);
  1441. SendClientMessage(pID,COLOR_GREEN,stringh);
  1442. SetPlayerColor(pID,0xFFFFFF00);
  1443. SpeicherUser(pID);
  1444. }
  1445. return 1;
  1446. }
  1447. CMD:reinziehen(playerid, params[])
  1448. {
  1449. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] >=1 && Spieler[playerid][duty] == 1 && IsPlayerInAnyVehicle(playerid))
  1450. {
  1451. new pID;
  1452. if(sscanf(params,"u",pID))
  1453. SendClientMessage(playerid,COLOR_RED,"Benutze: /reinziehen [Playerid/Name]");
  1454. if(!IsPlayerConnected(pID)){
  1455. return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht Online.");
  1456. }
  1457. if(!GetDistanceBetweenPlayers(playerid,pID,10))
  1458. {
  1459. return SendClientMessage(playerid,COLOR_RED,"Du bist zu weit entfernt.");
  1460. }
  1461. if(Spieler[pID][cuff] == 0){
  1462. return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler hat gar keine Handschellen angelegt.");
  1463. }
  1464. new PoliceCar;
  1465. PoliceCar = GetPlayerVehicleID(playerid);
  1466. PutPlayerInVehicle(pID, PoliceCar, 2);
  1467. SendClientMessage(playerid,COLOR_BLUE,"Du hast den Spieler in ein Fahrzeug gezogen.");
  1468. SendClientMessage(pID,COLOR_BLUE,"Du wurdest in ein Fahrzeug gezogen.");
  1469. }
  1470. return 1;
  1471. }
  1472. CMD:unbust(playerid, params[])
  1473. {
  1474. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] >=1 && Spieler[playerid][duty] == 1)
  1475. {
  1476. new pID;
  1477. if(sscanf(params,"ui",pID))
  1478. SendClientMessage(playerid,COLOR_RED,"Benutze: /unbust [Playerid/Name]");
  1479. if(!IsPlayerConnected(pID)){
  1480. return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht Online.");
  1481. }
  1482. if(!GetDistanceBetweenPlayers(playerid,pID,5))
  1483. {
  1484. return SendClientMessage(playerid,COLOR_RED,"Du bist zu weit entfernt.");
  1485. }
  1486. if(Spieler[pID][cuff] == 0){
  1487. return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist gar nicht festgenommen.");
  1488. }
  1489. Spieler[pID][cuff] = 0;
  1490. TogglePlayerControllable(pID,1);
  1491. SendClientMessage(playerid,COLOR_BLUE,"Der Spieler wurde festgenommen.");
  1492. SendClientMessage(pID,COLOR_BLUE,"Sie wurden vom LSPD festgenommen.");
  1493. SpeicherUser(pID);
  1494. }
  1495. return 1;
  1496. }
  1497. CMD:bust(playerid, params[])
  1498. {
  1499. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] >=1 && Spieler[playerid][duty] == 1)
  1500. {
  1501. new pID;
  1502. if(sscanf(params,"ui",pID))
  1503. SendClientMessage(playerid,COLOR_RED,"Benutze: /bust [Playerid/Name]");
  1504. if(!IsPlayerConnected(pID)){
  1505. return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht Online.");
  1506. }
  1507. if(!GetDistanceBetweenPlayers(playerid,pID,5))
  1508. {
  1509. return SendClientMessage(playerid,COLOR_RED,"Du bist zu weit entfernt.");
  1510. }
  1511. if(Spieler[pID][cuff] == 1){
  1512. return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist schon festgenommen.");
  1513. }
  1514. Spieler[pID][cuff] = 1;
  1515. TogglePlayerControllable(pID,0);
  1516. SendClientMessage(playerid,COLOR_BLUE,"Der Spieler wurde festgenommen.");
  1517. SendClientMessage(pID,COLOR_BLUE,"Sie wurden vom LSPD festgenommen.");
  1518. SpeicherUser(pID);
  1519. }
  1520. return 1;
  1521. }
  1522. CMD:henter(playerid, params[])
  1523. {
  1524. #pragma unused params
  1525. for(new h = 1; h < MAX_HOUSE; h ++)
  1526. {
  1527. if(IsPlayerInRangeOfPoint(playerid,5.0,Haus[h][hX],Haus[h][hY],Haus[h][hZ]) && Haus[h][interior] >0)
  1528. {
  1529. SetPlayerPos(playerid,Haus[h][hX2],Haus[h][hY2],Haus[h][hZ2]);
  1530. SetPlayerInterior(playerid,Haus[h][interior]);
  1531. SetPlayerVirtualWorld(playerid,Haus[h][ID]+1);
  1532. }
  1533. else if(IsPlayerInRangeOfPoint(playerid,5.0,Haus[h][hX2],Haus[h][hY2],Haus[h][hZ2]))
  1534. {
  1535. SetPlayerPos(playerid,Haus[h][hX],Haus[h][hY],Haus[h][hZ]);
  1536. SetPlayerInterior(playerid,0);
  1537. SetPlayerVirtualWorld(playerid,0);
  1538. }
  1539. }
  1540. return 1;
  1541. }
  1542. CMD:wanted(playerid,params[])
  1543. {
  1544. if(Spieler[playerid][job] == 1 && Spieler[playerid][rang] > 0 && Spieler[playerid][duty] == 1)
  1545. {
  1546. new pID, rangA, Nachricht[125];
  1547. if(sscanf(params,"ui",pID,rangA)){
  1548. return SendClientMessage(playerid,COLOR_RED,"Benutze: /wanted [playerid/name] [Sterne]");}
  1549. else if (rangA < 0 || rangA > 6){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Wanteds zwischen 0-6 erlaubt.");}
  1550. else if (Spieler[playerid][country] != Spieler[pID][country]) { return SendClientMessage(playerid,COLOR_RED,"Der User hat nicht die gleiche Staatsangehörigkeit wie du.");}
  1551. else if(!IsPlayerConnected(pID)){ return SendClientMessage(playerid, COLOR_RED, "Dieser User ist nicht online.");}
  1552. Spieler[pID][wanted] = rangA;
  1553. SetPlayerWantedLevel(pID,rangA);
  1554. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1555. format(Nachricht, sizeof(Nachricht), "%s hat die deinen Wanted Rang auf %d gesetzt",pName,rangA);
  1556. SendClientMessage(pID,COLOR_BLUE,Nachricht);
  1557. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1558. format(Nachricht, sizeof(Nachricht), "Du hast %s den Wanted Rang auf %d gesetzt",pName,rangA);
  1559. SendClientMessage(playerid,COLOR_BLUE,Nachricht);
  1560. SpeicherUser(pID);
  1561. for(new i = 1,UserID[MAX_PLAYERS]; i < MAX_PLAYERS; i++)
  1562. {
  1563. if(Spieler[playerid][job] == 1 && Spieler[playerid][duty] == 1)
  1564. {
  1565. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1566. GetPlayerName(pID,UserID,MAX_PLAYER_NAME);
  1567. format(Nachricht, sizeof(Nachricht), "%s hat dne Wanted Rang von %s auf %d gesetzt",pName,UserID,rangA);
  1568. SendClientMessage(i,COLOR_BLUE,Nachricht);
  1569. }
  1570. }
  1571. }
  1572. return 1;
  1573. }
  1574. CMD:givetaxi(playerid,params[])
  1575. {
  1576. if(Spieler[playerid][admin] >= 2|| Spieler[playerid][job] == 3 && Spieler[playerid][rang] == 3)
  1577. {
  1578. new pID, rangA, Nachricht[125];
  1579. if(sscanf(params,"ui",pID,rangA)){
  1580. return SendClientMessage(playerid,COLOR_RED,"Benutze: /givetaxi [playerid/name] [rang]");}
  1581. else if (rangA < 0 || rangA > 3){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Ränge zwischen 0-3 erlaubt.");}
  1582. else if (Spieler[playerid][country] != Spieler[pID][country]) { return SendClientMessage(playerid,COLOR_RED,"Der User hat nicht die gleiche Staatsangehörigkeit wie du.");}
  1583. else if(!IsPlayerConnected(pID)){ return SendClientMessage(playerid, COLOR_RED, "Dieser User ist nicht online.");}
  1584. Spieler[pID][job] = 3;
  1585. Spieler[pID][rang] = rangA;
  1586. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1587. format(Nachricht, sizeof(Nachricht), "%s hat die deinen Taxi Rang auf %d gesetzt",pName,rangA);
  1588. SendClientMessage(pID,COLOR_GREY,Nachricht);
  1589. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1590. format(Nachricht, sizeof(Nachricht), "Du hast %s den Taxi Rang auf %d gesetzt",pName,rangA);
  1591. SendClientMessage(playerid,COLOR_GREY,Nachricht);
  1592. SpeicherUser(pID);
  1593. }
  1594. return 1;
  1595. }
  1596. CMD:givemedic(playerid,params[])
  1597. {
  1598. if(Spieler[playerid][admin] >= 2|| Spieler[playerid][job] == 2 && Spieler[playerid][rang] == 3)
  1599. {
  1600. new pID, rangA, Nachricht[125];
  1601. if(sscanf(params,"ui",pID,rangA)){
  1602. return SendClientMessage(playerid,COLOR_RED,"Benutze: /givemedic [playerid/name] [rang]");}
  1603. else if (rangA < 0 || rangA > 3){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Ränge zwischen 0-3 erlaubt.");}
  1604. else if (Spieler[playerid][country] != Spieler[pID][country]) { return SendClientMessage(playerid,COLOR_RED,"Der User hat nicht die gleiche Staatsangehörigkeit wie du.");}
  1605. else if(!IsPlayerConnected(pID)){ return SendClientMessage(playerid, COLOR_RED, "Dieser User ist nicht online.");}
  1606. Spieler[pID][job] = 2;
  1607. Spieler[pID][rang] = rangA;
  1608. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1609. format(Nachricht, sizeof(Nachricht), "%s hat die deinen Medic Rang auf %d gesetzt",pName,rangA);
  1610. SendClientMessage(pID,COLOR_GREY,Nachricht);
  1611. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1612. format(Nachricht, sizeof(Nachricht), "Du hast %s den Medic Rang auf %d gesetzt",pName,rangA);
  1613. SendClientMessage(playerid,COLOR_GREY,Nachricht);
  1614. SpeicherUser(pID);
  1615. }
  1616. return 1;
  1617. }
  1618. CMD:givepolice(playerid,params[])
  1619. {
  1620. if(Spieler[playerid][admin] >= 2|| Spieler[playerid][job] == 1 && Spieler[playerid][rang] == 3)
  1621. {
  1622. new pID, rangA, Nachricht[125];
  1623. if(sscanf(params,"ui",pID,rangA)){
  1624. return SendClientMessage(playerid,COLOR_RED,"Benutze: /givepolice [playerid/name] [rang]");}
  1625. else if (rangA < 0 || rangA > 3){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Ränge zwischen 0-3 erlaubt.");}
  1626. else if (Spieler[playerid][country] != Spieler[pID][country]) { return SendClientMessage(playerid,COLOR_RED,"Der User hat nicht die gleiche Staatsangehörigkeit wie du.");}
  1627. else if(!IsPlayerConnected(pID)){ return SendClientMessage(playerid, COLOR_RED, "Dieser User ist nicht online.");}
  1628. Spieler[pID][job] = 1;
  1629. Spieler[pID][rang] = rangA;
  1630. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1631. format(Nachricht, sizeof(Nachricht), "%s hat die deinen Police Rang auf %d gesetzt",pName,rangA);
  1632. SendClientMessage(pID,COLOR_GREY,Nachricht);
  1633. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1634. format(Nachricht, sizeof(Nachricht), "Du hast %s den Police Rang auf %d gesetzt",pName,rangA);
  1635. SendClientMessage(playerid,COLOR_GREY,Nachricht);
  1636. SpeicherUser(pID);
  1637. }
  1638. return 1;
  1639. }
  1640. CMD:setskin(playerid,params[])
  1641. {
  1642. if(Spieler[playerid][admin] >= 1)
  1643. {
  1644. new pID, rangA, Nachricht[125];
  1645. if(sscanf(params,"ui",pID,rangA)){
  1646. return SendClientMessage(playerid,COLOR_RED,"Benutze: /giveadmin [playerid/name] [Skin]");}
  1647. else if (rangA < 0 || rangA > 299){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Ränge zwischen 0-299 erlaubt.");}
  1648. else if(!IsPlayerConnected(pID)){ SendClientMessage(playerid, COLOR_RED, "Dieser User ist nicht online.");}
  1649. Spieler[pID][skin] = rangA;
  1650. SetPlayerSkin(pID,Spieler[pID][skin]);
  1651. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1652. format(Nachricht, sizeof(Nachricht), "%s hat die deinen Skin in %d ID geändert",pName,rangA);
  1653. SendClientMessage(pID,COLOR_GREY,Nachricht);
  1654. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1655. format(Nachricht, sizeof(Nachricht), "Du hast %s den Skin in %d ID geändert",pName,rangA);
  1656. SendClientMessage(playerid,COLOR_GREY,Nachricht);
  1657. SpeicherUser(pID);
  1658. }
  1659. return 1;
  1660. }
  1661. CMD:fuelallcars(playerid, params[])
  1662. {
  1663. #pragma unused params
  1664. if(Spieler[playerid][admin] >= 1)
  1665. {
  1666. for(new i = 0; i < MAX_VEHICLES; i++)
  1667. {
  1668. Auto[i][Benzin] = 60.00;
  1669. SendClientMessage(playerid,COLOR_GREY,"alle Fahrzeug aufgefüllt.");
  1670. SpeicherFahrzeug(i);
  1671. }
  1672. }
  1673. return 1;
  1674. }
  1675. CMD:zu(playerid, params[])
  1676. {
  1677. #pragma unused params
  1678. if(IsPlayerInAnyVehicle(playerid))
  1679. {
  1680. Auto[GetPlayerVehicleID(playerid)][verschlossen] = 1;
  1681. SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug wurde verschlossen.");
  1682. SpeicherFahrzeug(GetPlayerVehicleID(playerid));
  1683. }
  1684. return 1;
  1685. }
  1686. CMD:fuelcar(playerid, params[])
  1687. {
  1688. #pragma unused params
  1689. if(Spieler[playerid][admin] >= 1)
  1690. {
  1691. if(IsPlayerInAnyVehicle(playerid))
  1692. {
  1693. Auto[GetPlayerVehicleID(playerid)][Benzin] = 60.00;
  1694. SendClientMessage(playerid,COLOR_GREY,"Fahrzeug aufgefüllt.");
  1695. SpeicherFahrzeug(GetPlayerVehicleID(playerid));
  1696. }
  1697. }
  1698. return 1;
  1699. }
  1700. CMD:auf(playerid, params[])
  1701. {
  1702. #pragma unused params
  1703. if(IsPlayerInAnyVehicle(playerid))
  1704. {
  1705. Auto[GetPlayerVehicleID(playerid)][verschlossen] = 0;
  1706. SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug wurde aufgeschlossen.");
  1707. SpeicherFahrzeug(GetPlayerVehicleID(playerid));
  1708. }
  1709. return 1;
  1710. }
  1711. CMD:giveadmin(playerid,params[])
  1712. {
  1713. if(Spieler[playerid][admin] >= 2|| IsPlayerAdmin(playerid))
  1714. {
  1715. new pID, rangA, Nachricht[125];
  1716. if(sscanf(params,"ui",pID,rangA)){
  1717. return SendClientMessage(playerid,COLOR_RED,"Benutze: /giveadmin [playerid/name] [rang]");}
  1718. else if (rangA < 0 || rangA > 5){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Ränge zwischen 0-5 erlaubt.");}
  1719. else if(!IsPlayerConnected(pID)){ SendClientMessage(playerid, COLOR_RED, "Dieser User ist nicht online.");}
  1720. Spieler[pID][admin] = rangA;
  1721. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1722. format(Nachricht, sizeof(Nachricht), "%s hat die deinen Admin Rang auf %d gesetzt",pName,rangA);
  1723. SendClientMessage(pID,COLOR_GREY,Nachricht);
  1724. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1725. format(Nachricht, sizeof(Nachricht), "Du hast %s den Admin Rang auf %d gesetzt",pName,rangA);
  1726. SendClientMessage(playerid,COLOR_GREY,Nachricht);
  1727. SpeicherUser(pID);
  1728. }
  1729. return 1;
  1730. }
  1731. CMD:setcarkey1(playerid, params[])
  1732. {
  1733. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1734. if(!strcmp(Auto[GetPlayerVehicleID(playerid)][besitzer],pName) || Spieler[playerid][admin] >=2)
  1735. {
  1736. new pID;
  1737. if(sscanf(params, "u",pID)){
  1738. return SendClientMessage(playerid,COLOR_RED,"Benutze: /setcarkey1 [Playerid/Name]");
  1739. }
  1740. if(IsPlayerInAnyVehicle(playerid)){
  1741. return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug.");
  1742. }
  1743. if(!IsPlayerConnected(pID)) {
  1744. return SendClientMessage(playerid, COLOR_RED,"Kein Spieler mit dieser ID/Namen ist Online");
  1745. }
  1746. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1747. strmid(Auto[GetPlayerVehicleID(playerid)][key1], pName,0, sizeof(pName)-1, MAX_PLAYER_NAME);
  1748. SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich den Fahrzeugbesitzer geändert.");
  1749. SendClientMessage(pID,COLOR_YELLOW,"Du bist nun der neue Besitzer eines Fahrzeuges.");
  1750. SpeicherFahrzeug(GetPlayerVehicleID(playerid));
  1751. }
  1752. return 1;
  1753. }
  1754. CMD:setcarkey2(playerid, params[])
  1755. {
  1756. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1757. if(!strcmp(Auto[GetPlayerVehicleID(playerid)][besitzer],pName) || Spieler[playerid][admin] >=2)
  1758. {
  1759. new pID;
  1760. if(sscanf(params, "u",pID)){
  1761. return SendClientMessage(playerid,COLOR_RED,"Benutze: /setcarkey1 [Playerid/Name]");
  1762. }
  1763. if(IsPlayerInAnyVehicle(playerid)){
  1764. return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug.");
  1765. }
  1766. if(!IsPlayerConnected(pID)) {
  1767. return SendClientMessage(playerid, COLOR_RED,"Kein Spieler mit dieser ID/Namen ist Online");
  1768. }
  1769. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1770. strmid(Auto[GetPlayerVehicleID(playerid)][key2], pName,0, sizeof(pName)-1, MAX_PLAYER_NAME);
  1771. SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich den Fahrzeugbesitzer geändert.");
  1772. SendClientMessage(pID,COLOR_YELLOW,"Du bist nun der neue Besitzer eines Fahrzeuges.");
  1773. SpeicherFahrzeug(GetPlayerVehicleID(playerid));
  1774. }
  1775. return 1;
  1776. }
  1777. CMD:setcarowner(playerid, params[])
  1778. {
  1779. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1780. if(!strcmp(Auto[GetPlayerVehicleID(playerid)][besitzer],pName) || Spieler[playerid][admin] >=2)
  1781. {
  1782. new pID;
  1783. if(sscanf(params, "u",pID)){
  1784. return SendClientMessage(playerid,COLOR_RED,"Benutze: /setcarowner [Playerid/Name]");
  1785. }
  1786. if(IsPlayerInAnyVehicle(playerid)){
  1787. return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug.");
  1788. }
  1789. if(!IsPlayerConnected(pID)) {
  1790. return SendClientMessage(playerid, COLOR_RED,"Kein Spieler mit dieser ID/Namen ist Online");
  1791. }
  1792. GetPlayerName(pID,pName,MAX_PLAYER_NAME);
  1793. strmid(Auto[GetPlayerVehicleID(playerid)][besitzer], pName,0, sizeof(pName)-1, MAX_PLAYER_NAME);
  1794. SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich den Fahrzeugbesitzer geändert.");
  1795. SendClientMessage(pID,COLOR_YELLOW,"Du bist nun der neue Besitzer eines Fahrzeuges.");
  1796. SpeicherFahrzeug(GetPlayerVehicleID(playerid));
  1797. }
  1798. return 1;
  1799. }
  1800. CMD:vehicle(playerid,params[])
  1801. {
  1802. if(Spieler[playerid][admin] >= 2)
  1803. {
  1804. new modell, Fahrzeug,farbe1a,farbe2a;
  1805. if(sscanf(params,"iii",modell,farbe1a,farbe2a)){
  1806. return SendClientMessage(playerid,COLOR_RED,"Benutze: /vehicle [Modell] [Farbe1] [Farbe2]");}
  1807. else if (modell < 399 || modell > 612){ SendClientMessage(playerid, COLOR_RED, "Es sind nur Modelle zwischen 400-611 erlaubt.");}
  1808. else if (farbe1a < 0 || farbe2a < 0 || farbe1a > 252 || farbe2a > 252) SendClientMessage(playerid,COLOR_RED,"Es sind nur Farben zwischen 0-252 erlaubt.");
  1809. else
  1810. {
  1811. for(new i; i < MAX_VEHICLES; i++)
  1812. {
  1813. if(Auto[i][aX] == 0.0 && i >=1)
  1814. {
  1815. Fahrzeug = i;
  1816. break;
  1817. }
  1818. }
  1819. new Float:X,Float:Y,Float:Z,Float:Angle;
  1820. GetPlayerPos(playerid,X,Y,Z);
  1821. GetPlayerFacingAngle(playerid,Angle);
  1822. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  1823. CreateVehicle(modell,X+3,Y,Z,Angle,farbe1a,farbe2a,-1);
  1824. SendClientMessage(playerid,COLOR_YELLOW,"Das Fahrzeug wurde erstellt.");
  1825. Auto[Fahrzeug][aID] = Fahrzeug;
  1826. Auto[Fahrzeug][aX] = X;
  1827. Auto[Fahrzeug][aY] = Y;
  1828. Auto[Fahrzeug][aZ] = Z;
  1829. Auto[Fahrzeug][aAngle] = Angle;
  1830. strmid(Auto[Fahrzeug][besitzer], pName,0, sizeof(pName)-1, MAX_PLAYER_NAME);
  1831. Auto[Fahrzeug][farbe1] = farbe1a;
  1832. Auto[Fahrzeug][farbe2] = farbe2a;
  1833. Auto[Fahrzeug][MS] = 0;
  1834. Auto[Fahrzeug][Meter] = 00.00;
  1835. Auto[Fahrzeug][KM] = 00.00;
  1836. Auto[Fahrzeug][Benzin] = 60.00;
  1837. Auto[Fahrzeug][MBenzin] = 60.00;
  1838. Motor[Fahrzeug] = false;
  1839. SpeicherFahrzeug(Fahrzeug);
  1840. }
  1841. }
  1842. return 1;
  1843. }
  1844.  
  1845. stock GetDistanceBetweenPlayers(playerid,id,range)
  1846. {
  1847. new Float:x,Float:y,Float:z;
  1848. GetPlayerPos(id,x,y,z);
  1849. if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)) return 1;
  1850. else return false;
  1851. }
  1852.  
  1853.  
  1854. stock sscanf(string[], format[], {Float,_}:...)
  1855. {
  1856. #if defined isnull
  1857. if (isnull(string))
  1858. #else
  1859. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1860. #endif
  1861. {
  1862. return format[0];
  1863. }
  1864. #pragma tabsize 4
  1865. new
  1866. formatPos = 0,
  1867. stringPos = 0,
  1868. paramPos = 2,
  1869. paramCount = numargs(),
  1870. delim = ' ';
  1871. while (string[stringPos] && string[stringPos] <= ' ')
  1872. {
  1873. stringPos++;
  1874. }
  1875. while (paramPos < paramCount && string[stringPos])
  1876. {
  1877. switch (format[formatPos++])
  1878. {
  1879. case '\0':
  1880. {
  1881. return 0;
  1882. }
  1883. case 'i', 'd':
  1884. {
  1885. new
  1886. neg = 1,
  1887. num = 0,
  1888. ch = string[stringPos];
  1889. if (ch == '-')
  1890. {
  1891. neg = -1;
  1892. ch = string[++stringPos];
  1893. }
  1894. do
  1895. {
  1896. stringPos++;
  1897. if ('0' <= ch <= '9')
  1898. {
  1899. num = (num * 10) + (ch - '0');
  1900. }
  1901. else
  1902. {
  1903. return -1;
  1904. }
  1905. }
  1906. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1907. setarg(paramPos, 0, num * neg);
  1908. }
  1909. case 'h', 'x':
  1910. {
  1911. new
  1912. num = 0,
  1913. ch = string[stringPos];
  1914. do
  1915. {
  1916. stringPos++;
  1917. switch (ch)
  1918. {
  1919. case 'x', 'X':
  1920. {
  1921. num = 0;
  1922. continue;
  1923. }
  1924. case '0' .. '9':
  1925. {
  1926. num = (num << 4) | (ch - '0');
  1927. }
  1928. case 'a' .. 'f':
  1929. {
  1930. num = (num << 4) | (ch - ('a' - 10));
  1931. }
  1932. case 'A' .. 'F':
  1933. {
  1934. num = (num << 4) | (ch - ('A' - 10));
  1935. }
  1936. default:
  1937. {
  1938. return -1;
  1939. }
  1940. }
  1941. }
  1942. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1943. setarg(paramPos, 0, num);
  1944. }
  1945. case 'c':
  1946. {
  1947. setarg(paramPos, 0, string[stringPos++]);
  1948. }
  1949. case 'f':
  1950. {
  1951.  
  1952. new changestr[16], changepos = 0, strpos = stringPos;
  1953. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1954. {
  1955. changestr[changepos++] = string[strpos++];
  1956. }
  1957. changestr[changepos] = '\0';
  1958. setarg(paramPos,0,_:floatstr(changestr));
  1959. }
  1960. case 'p':
  1961. {
  1962. delim = format[formatPos++];
  1963. continue;
  1964. }
  1965. case '\'':
  1966. {
  1967. new
  1968. end = formatPos - 1,
  1969. ch;
  1970. while ((ch = format[++end]) && ch != '\'') {}
  1971. if (!ch)
  1972. {
  1973. return -1;
  1974. }
  1975. format[end] = '\0';
  1976. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1977. {
  1978. if (format[end + 1])
  1979. {
  1980. return -1;
  1981. }
  1982. return 0;
  1983. }
  1984. format[end] = '\'';
  1985. stringPos = ch + (end - formatPos);
  1986. formatPos = end + 1;
  1987. }
  1988. case 'u':
  1989. {
  1990. new
  1991. end = stringPos - 1,
  1992. id = 0,
  1993. bool:num = true,
  1994. ch;
  1995. while ((ch = string[++end]) && ch != delim)
  1996. {
  1997. if (num)
  1998. {
  1999. if ('0' <= ch <= '9')
  2000. {
  2001. id = (id * 10) + (ch - '0');
  2002. }
  2003. else
  2004. {
  2005. num = false;
  2006. }
  2007. }
  2008. }
  2009. if (num && IsPlayerConnected(id))
  2010. {
  2011. setarg(paramPos, 0, id);
  2012. }
  2013. else
  2014. {
  2015. #if !defined foreach
  2016. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  2017. #define __SSCANF_FOREACH__
  2018. #endif
  2019. string[end] = '\0';
  2020. num = false;
  2021. new
  2022. name[MAX_PLAYER_NAME];
  2023. id = end - stringPos;
  2024. foreach (Player, playerid)
  2025. {
  2026. GetPlayerName(playerid, name, sizeof (name));
  2027. if (!strcmp(name, string[stringPos], true, id))
  2028. {
  2029. setarg(paramPos, 0, playerid);
  2030. num = true;
  2031. break;
  2032. }
  2033. }
  2034. if (!num)
  2035. {
  2036. setarg(paramPos, 0, INVALID_PLAYER_ID);
  2037. }
  2038. string[end] = ch;
  2039. #if defined __SSCANF_FOREACH__
  2040. #undef foreach
  2041. #undef __SSCANF_FOREACH__
  2042. #endif
  2043. }
  2044. stringPos = end;
  2045. }
  2046. case 's', 'z':
  2047. {
  2048. new
  2049. i = 0,
  2050. ch;
  2051. if (format[formatPos])
  2052. {
  2053. while ((ch = string[stringPos++]) && ch != delim)
  2054. {
  2055. setarg(paramPos, i++, ch);
  2056. }
  2057. if (!i)
  2058. {
  2059. return -1;
  2060. }
  2061. }
  2062. else
  2063. {
  2064. while ((ch = string[stringPos++]))
  2065. {
  2066. setarg(paramPos, i++, ch);
  2067. }
  2068. }
  2069. stringPos--;
  2070. setarg(paramPos, i, '\0');
  2071. }
  2072. default:
  2073. {
  2074. continue;
  2075. }
  2076. }
  2077. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  2078. {
  2079. stringPos++;
  2080. }
  2081. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  2082. {
  2083. stringPos++;
  2084. }
  2085. paramPos++;
  2086. }
  2087. do
  2088. {
  2089. if ((delim = format[formatPos++]) > ' ')
  2090. {
  2091. if (delim == '\'')
  2092. {
  2093. while ((delim = format[formatPos++]) && delim != '\'') {}
  2094. }
  2095. else if (delim != 'z')
  2096. {
  2097. return delim;
  2098. }
  2099. }
  2100. }
  2101. while (delim > ' ');
  2102. return 0;
  2103. }
  2104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement