Advertisement
Guest User

Selfmade

a guest
Dec 9th, 2012
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.88 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4.  
  5. #define BLAU 0x0087FFFF
  6. #define ROT 0x8B0000FF
  7. #define ORANGE 0xFF9900AA
  8. #define HELLROT 0xFB0000AA
  9. #define WEIß 0xFFFFFFFF
  10. #define GRUEN 0x00FF00FF
  11. #define DUNKELROT 0xCF0000FF
  12. #define GRAU 0xAFAFAFAA
  13. #define GELB 0xFFDF00FF
  14. #define HELLBLAU 0x0091FFFF
  15. #define HELLGRUEN 0x66FF00FC
  16. #define BRAUN 0x663300FC
  17. #define TURKIS 0x00C3FFFF
  18. #define DUNKELORANGE 0xFF6300FF
  19. #define DUNKELGRUEN 0x00BA00FF
  20. #define DUNKELGRAU 0xC9C6C8FF
  21. #define OOCFARBE 0x68B4AEFF
  22. #define COLOR_INTERFACE 0x513C89FF
  23. #define SFARBE 0xFFC5FFFF
  24. #define PINK 0xF000FFFF
  25. #define HELLHELLBLAU 0x00FFDCFF
  26. #define LILA 0x8C00FFFF
  27. #define HAUTFARBE 0xFF904FFA
  28. #define HGRUEN 0x00D8ADFF
  29. #define COLOR_PURPLE 0xC2A2DAAA
  30. #define TAXIFARBE 0xFFAFA3FF
  31. #define PREMIUMFARBE 0x6E9D05FF
  32. #define HANDYFARBE 0x00A380FF
  33. #define SCM SendClientMessage
  34. #define SCMTA SendClientMessageToAll
  35. #define SPP SetPlayerPos
  36. #define GPP GetPlayerPos
  37. #define PPIV PutPlayerInVehicle
  38. #define SPI SetPlayerInterior
  39. #define SPVW SetPlayerVirtualWorld
  40. #define GPH GetPlayerHealth
  41. #define SPH SetPlayerHealth
  42. #define GPA GetPlayerArmour
  43. #define SPA SetPlayerArmour
  44. #define TACHOTIMER 1000
  45.  
  46. #define DIALOG_REGISTER 1
  47. #define DIALOG_LOGIN 2
  48. #define DIALOG_HEILEN 3
  49. #define DIALOG_GWAFFEN 4
  50. #define DIALOG_ZEIGEPERSO 5
  51.  
  52. #define zivispawn 1761.3060,-1895.5421,13.5615
  53. #define lspdspawn 254.9414,80.0539,1003.6406
  54. #define fbispawn 233.1821,125.6945,1003.2188
  55. #define feuerspawn 318.2688,313.2021,999.1484
  56. #define grovespawn 2819.1030,-1168.6715,1029.1719
  57. #define medicspawn 1173.2017,-1323.9519,15.3950
  58.  
  59. new name1[MAX_PLAYER_NAME];
  60. new Spielerdatei[64];
  61. new createdcarid;
  62. new engine,lights,alarm,doors,bonnet,boot,objective;
  63. new bool:Motor[MAX_VEHICLES] = false;
  64. new bool:licht[MAX_VEHICLES] = false;
  65. new Text:Tacho[MAX_PLAYERS];
  66. forward UpdateTacho();
  67. new Float:X1[MAX_PLAYERS],Float:Y1[MAX_PLAYERS],Float:Z1[MAX_PLAYERS];
  68. new Float:X2[MAX_PLAYERS],Float:Y2[MAX_PLAYERS],Float:Z2[MAX_PLAYERS];
  69. new heilen[MAX_PLAYERS][2];
  70. new Float:ochat;
  71. new addfreeze;
  72. #if !defined SPECIAL_ACTION_PISSING
  73. #define SPECIAL_ACTION_PISSING 68
  74. #endif
  75.  
  76. //Autos
  77. new Grove[11];
  78.  
  79. new Fahrzeugname[][] =
  80. {
  81. "Landstalker",
  82. "Bravura",
  83. "Buffalo",
  84. "Linerunner",
  85. "Pereniel",
  86. "Sentinel",
  87. "Dumper",
  88. "Firetruck",
  89. "Trashmaster",
  90. "Stretch",
  91. "Manana",
  92. "Infernus",
  93. "Voodoo",
  94. "Pony",
  95. "Mule",
  96. "Cheetah",
  97. "Ambulance",
  98. "Leviathan",
  99. "Moonbeam",
  100. "Esperanto",
  101. "Taxi",
  102. "Washington",
  103. "Bobcat",
  104. "Mr Whoopee",
  105. "BF Injection",
  106. "Hunter",
  107. "Premier",
  108. "Enforcer",
  109. "Securicar",
  110. "Banshee",
  111. "Predator",
  112. "Bus",
  113. "Rhino",
  114. "Barracks",
  115. "Hotknife",
  116. "Trailer",
  117. "Previon",
  118. "Coach",
  119. "Cabbie",
  120. "Stallion",
  121. "Rumpo",
  122. "RC Bandit",
  123. "Romero",
  124. "Packer",
  125. "Monster Truck",
  126. "Admiral",
  127. "Squalo",
  128. "Seasparrow",
  129. "Pizzaboy",
  130. "Tram",
  131. "Trailer",
  132. "Turismo",
  133. "Speeder",
  134. "Reefer",
  135. "Tropic",
  136. "Flatbed",
  137. "Yankee",
  138. "Caddy",
  139. "Solair",
  140. "RC Van",
  141. "Skimmer",
  142. "PCJ-600",
  143. "Roller",
  144. "Freeway",
  145. "RC Baron",
  146. "RC Raider",
  147. "Glendale",
  148. "Oceanic",
  149. "Sanchez",
  150. "Sparrow",
  151. "Patriot",
  152. "Quad",
  153. "Coastguard",
  154. "Dinghy",
  155. "Hermes",
  156. "Sabre",
  157. "Rustler",
  158. "ZR-350",
  159. "Walton",
  160. "Regina",
  161. "Comet",
  162. "Fahrrad",
  163. "Burrito",
  164. "Camper",
  165. "Marquis",
  166. "Baggage",
  167. "Dozer",
  168. "Maverick",
  169. "News Chopper",
  170. "Rancher",
  171. "FBI Rancher",
  172. "Virgo",
  173. "Greenwood",
  174. "Jetmax",
  175. "Hotring",
  176. "Sandking",
  177. "Blista Compact",
  178. "Police Maverick",
  179. "Boxville",
  180. "Benson",
  181. "Mesa",
  182. "RC Goblin",
  183. "Hotring Racer",
  184. "Hotring Racer",
  185. "Bloodring Banger",
  186. "Rancher",
  187. "Super GT",
  188. "Elegant",
  189. "Journey",
  190. "Bike",
  191. "Bike",
  192. "Beagle",
  193. "Cropdust",
  194. "Stunt",
  195. "Tanker",
  196. "RoadTrain",
  197. "Nebula",
  198. "Majestic",
  199. "Buccaneer",
  200. "Shamal",
  201. "Hydra",
  202. "FCR-900",
  203. "NRG-500",
  204. "HPV1000",
  205. "Cement Truck",
  206. "Tow Truck",
  207. "Fortune",
  208. "Cadrona",
  209. "FBI Truck",
  210. "Willard",
  211. "Forklift",
  212. "Traktor",
  213. "Combine",
  214. "Feltzer",
  215. "Remington",
  216. "Slamvan",
  217. "Blade",
  218. "Freight",
  219. "Streak",
  220. "Vortex",
  221. "Vincent",
  222. "Bullet",
  223. "Clover",
  224. "Sadler",
  225. "Firetruck",
  226. "Hustler",
  227. "Intruder",
  228. "Primo",
  229. "Cargobob",
  230. "Tampa",
  231. "Sunrise",
  232. "Merit",
  233. "Utility",
  234. "Nevada",
  235. "Yosemite",
  236. "Windsor",
  237. "Monster Truck",
  238. "Monster Truck",
  239. "Uranus",
  240. "Jester",
  241. "Sultan",
  242. "Stratum",
  243. "Elegy",
  244. "Raindance",
  245. "RC Tiger",
  246. "Flash",
  247. "Tahoma",
  248. "Savanna",
  249. "Bandito",
  250. "Freight",
  251. "Trailer",
  252. "Kart",
  253. "Mower",
  254. "Duneride",
  255. "Sweeper",
  256. "Broadway",
  257. "Tornado",
  258. "AT-400",
  259. "DFT-30",
  260. "Huntley",
  261. "Stafford",
  262. "BF-400",
  263. "Newsvan",
  264. "Tug",
  265. "Trailer",
  266. "Emperor",
  267. "Wayfarer",
  268. "Euros",
  269. "Hotdog",
  270. "Club",
  271. "Trailer",
  272. "Trailer",
  273. "Andromada",
  274. "Dodo",
  275. "RC Cam",
  276. "Launch",
  277. "Polizeiwagen",
  278. "Polizeiwagen",
  279. "Polizeiwagen",
  280. "Cop Ranger",
  281. "Picador",
  282. "SWAT Van",
  283. "Alpha",
  284. "Phoenix",
  285. "Glendale",
  286. "Sadler",
  287. "Luggage Trailer",
  288. "Luggage Trailer",
  289. "Stair Trailer",
  290. "Boxville",
  291. "Farm Plow",
  292. "Utility Trailer"
  293. };
  294.  
  295.  
  296. main()
  297. {
  298. print("\n----------------------------------");
  299. print(" Selfmade by [GR]jens");
  300. print("----------------------------------\n");
  301. }
  302.  
  303. public OnGameModeInit()
  304. {
  305. SetGameModeText("German Reallife");
  306. AddPlayerClass(0,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  307. AddPlayerClass(1,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  308. AddPlayerClass(2,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  309. AddPlayerClass(3,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  310. AddPlayerClass(4,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  311. AddPlayerClass(5,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  312. AddPlayerClass(6,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  313. AddPlayerClass(7,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  314. AddPlayerClass(29,1761.3060,-1895.5421,13.5615,268.8361,0,0,0,0,0,0);
  315.  
  316.  
  317. DisableInteriorEnterExits();
  318. SetTimer("UpdateTacho",TACHOTIMER,1);
  319. UsePlayerPedAnims();
  320. ManualVehicleEngineAndLights();
  321. LimitGlobalChatRadius(30.0);
  322. Create3DTextLabel("/gwaffen",BLAU,2812.7046,-1161.3800,1029.1719,10,0,1);
  323. Create3DTextLabel("/gskin",BLAU,2808.4641,-1161.3824,1029.1646,10,0,1);
  324. Create3DTextLabel("/fahrschein",BLAU,1372.1732,-1648.0591,13.3828,10,0,1);
  325. CreatePickup(1254,0,2812.7046,-1161.3800,1029.1719);
  326. CreatePickup(1275,0,2808.4641,-1161.3824,1029.1646);
  327. CreatePickup(1239,0,1555.5026,-1675.6886,16.1953);
  328. CreatePickup(1239,0,246.7404,62.3246,1003.6406);
  329. CreatePickup(1239,0,1286.8027,-1339.5811,13.5638);
  330. CreatePickup(1239,0,1700.5281,-1667.7883,20.2188);
  331. CreatePickup(1314,0,1372.1732,-1648.0591,13.3828);
  332. Create3DTextLabel("Enter Taste Drücken",BLAU,1555.5026,-1675.6886,16.1953,50,0,1);
  333. Create3DTextLabel("Enter Taste Drücken",BLAU,246.7404,62.3246,1003.6406,50,0,1);
  334. Create3DTextLabel("Enter Taste Drücken",BLAU,1286.8027,-1339.5811,13.5638,50,0,1);
  335. Create3DTextLabel("Enter Taste Drücken",BLAU,1700.5281,-1667.7883,20.2188,50,0,1);
  336. //autos
  337. //Grove Cars
  338. Grove[0]=AddStaticVehicle(560,2509.5654,-1670.5579,13.1281,350.8320,9,9); // grovecar1
  339. Grove[1]=AddStaticVehicle(560,2505.2942,-1679.1324,13.1598,320.6289,9,9); // grovecar2
  340. Grove[2]=AddStaticVehicle(560,2500.8328,-1655.2987,13.1420,63.9050,9,9); // grovecar3
  341. Grove[3]=AddStaticVehicle(522,2474.1038,-1680.2963,12.9082,331.5128,9,9); // grovecar4
  342. Grove[4]=AddStaticVehicle(522,2472.0852,-1679.2139,12.9306,346.0121,9,9); // grovecar5
  343. Grove[5]=AddStaticVehicle(522,2470.2441,-1677.3165,13.0629,337.6086,9,9); // grovecar6
  344. Grove[6]=AddStaticVehicle(487,2531.3662,-1676.6517,20.0994,94.9293,9,9); // grovecar7
  345. Grove[7]=AddStaticVehicle(411,2486.1492,-1684.1984,13.1340,84.6583,9,9); // grovecar8
  346. Grove[8]=AddStaticVehicle(411,2497.3555,-1683.6863,13.1300,274.6544,9,9); // grovecar9
  347. Grove[9]=AddStaticVehicle(451,2481.4878,-1653.5546,13.0932,99.6865,9,9); // grovecar10
  348. Grove[10]=AddStaticVehicle(451,2473.8342,-1697.0336,13.2331,1.2287,9,9); // grovecar11
  349. AddStaticVehicle(516,1361.6702,-1658.5665,13.2172,270.4313,0,0); // fahrschul1
  350. AddStaticVehicle(516,1362.1141,-1651.1112,13.2169,271.8796,0,0); // fahrschul2
  351. AddStaticVehicle(516,1362.4087,-1643.3300,13.2171,269.6476,0,0); // fahrschul3
  352. AddStaticVehicle(516,1361.6140,-1635.1814,13.2165,272.3476,0,0); // fahrschul4
  353. AddStaticVehicle(516,1375.8323,-1634.4893,13.2167,180.3639,0,0); // fahrschul5
  354. AddStaticVehicle(516,1375.8660,-1658.9067,13.1950,0.7489,0,0); // fahrschul6
  355. //gemapptes
  356. CreateObject(3749, 1547.6999511719, -1628, 18.200000762939, 0, 0, 90);
  357. CreateObject(3282, 1545.0999755859, -1602.4000244141, 15.89999961853, 0, 0, 0);
  358. CreateObject(3282, 1556.1999511719, -1602.4000244141, 15.89999961853, 0, 0, 0);
  359. CreateObject(3282, 1567.3000488281, -1602.4000244141, 15.89999961853, 0, 0, 0);
  360. CreateObject(4100, 1546.9000244141, -1627.3000488281, 14.10000038147, 0, 0, 50);
  361. for( new x = 0;x<GetMaxPlayers();x++)
  362. {
  363. Tacho[x] = TextDrawCreate(228.0000, 338.0000,"Blub");
  364. TextDrawLetterSize(Tacho[x],0.4,1.1);
  365. TextDrawFont(Tacho[x],1);
  366. TextDrawSetShadow(Tacho[x],2);
  367. TextDrawSetOutline(Tacho[x],1);
  368. TextDrawUseBox(Tacho[x],1);
  369. TextDrawTextSize(Tacho[x],441.0000,727.0000);
  370. }
  371. for(new i= 0;i<MAX_VEHICLES;i++)
  372. {
  373. GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  374. SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  375. Motor[i] = false;
  376. }
  377. }
  378.  
  379. public OnGameModeExit()
  380. {
  381. return 1;
  382. }
  383.  
  384. public OnPlayerRequestClass(playerid, classid)
  385. {
  386. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  387. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  388. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  389. return 1;
  390. }
  391.  
  392. public OnPlayerConnect(playerid)
  393. {
  394. PlayAudioStreamForPlayer(playerid, "http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u");
  395. GetPlayerName(playerid,name1,sizeof(name1));
  396. format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name1);
  397. if(dini_Exists(Spielerdatei))
  398. {
  399. SPI(playerid,0);
  400. SPP(playerid,1761.3060,-1895.5421,13.5615);
  401. SetPlayerFacingAngle(playerid,268.8361);
  402. SetPlayerCameraPos(playerid, 1.2514, 30.5000, 1199.6711);
  403. SetPlayerCameraLookAt(playerid,1.6714, 26.5457, 1199.6712);
  404. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login-Fenster","Dein Account wurde in der Datenbank gefunden.\nBitte gebe hier dein Passwort ein:","Login","");
  405. }
  406. else
  407. {
  408. SPI(playerid,0);
  409. SPP(playerid,1761.3060,-1895.5421,13.5615);
  410. SetPlayerFacingAngle(playerid,268.8361);
  411. SetPlayerCameraPos(playerid, 1.2514, 30.5000, 1199.6711);
  412. SetPlayerCameraLookAt(playerid,1.6714, 26.5457, 1199.6712);
  413. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"Registrierungs-Fenster","Um auf diesem Server spielen zu können benötigst du einen Account.\nBitte gebe dein gewünschtes Passwort ein:","Registrieren","");
  414. }
  415. }
  416.  
  417. public OnPlayerDisconnect(playerid, reason)
  418. {
  419. if(GetPVarInt(playerid,"loggedin")==1)
  420. {
  421. SetPVarInt(playerid,"LspdDuty",0);
  422. SetPVarInt(playerid,"FbiDuty",0);
  423. SetPVarInt(playerid,"Aduty",0);
  424. SpielerSpeichern(playerid);
  425. }
  426. }
  427.  
  428. public OnPlayerSpawn(playerid)
  429. {
  430. switch(GetPVarInt(playerid,"Fraktion"))
  431. {
  432. case 0:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,WEIß);SetPlayerInterior(playerid,0);}
  433. case 1:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU); SetPlayerInterior(playerid,6);}
  434. case 2:{SetPlayerPos(playerid,fbispawn);SetPlayerColor(playerid,0x0000BBAA); SetPlayerInterior(playerid,10);}
  435. case 3:{SetPlayerPos(playerid,feuerspawn);SetPlayerColor(playerid,ROT); SetPlayerInterior(playerid,5);}
  436. case 4:{SetPlayerPos(playerid,grovespawn);SetPlayerColor(playerid,GRUEN); SetPlayerInterior(playerid,8); SetPlayerSkin(playerid,271);}
  437. case 5:{SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,ROT); SetPlayerInterior(playerid,0); SetPlayerSkin(playerid,274);}
  438. }
  439. return 1;
  440. }
  441.  
  442. public OnPlayerDeath(playerid, killerid, reason)
  443. {
  444. return 1;
  445. }
  446.  
  447. public OnVehicleSpawn(vehicleid)
  448. {
  449. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  450. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  451. Motor[vehicleid] = false;
  452. licht[vehicleid] = false;
  453. return 1;
  454. }
  455.  
  456. public OnVehicleDeath(vehicleid, killerid)
  457. {
  458. return 1;
  459. }
  460.  
  461. public OnPlayerText(playerid, text[])
  462. {
  463. return 1;
  464. }
  465.  
  466. public OnPlayerCommandText(playerid, cmdtext[])
  467. {
  468. if(strcmp(cmdtext,"/gwaffen",true)==0)
  469. {
  470. if(GetPVarInt(playerid,"Fraktion")==4)
  471. {
  472. if(IsPlayerInRangeOfPoint(playerid,1.0,2812.7046,-1161.3800,1029.1719))
  473. {
  474. ShowPlayerDialog(playerid,DIALOG_GWAFFEN,DIALOG_STYLE_LIST,"GS Waffen","Deagle\nShotgun\nMicro SMG/Uzi\nMP5\nAK-47","Nehmen","Beenden");
  475. return 1;
  476. }
  477. }
  478. }
  479. if(strcmp(cmdtext,"/animhelp",true) == 0)
  480. {
  481. SCM(playerid,WEIß,"/pissen /sitzen /liegen");
  482. return 1;
  483. }
  484. if(strcmp(cmdtext,"/togradio", true) == 0)
  485. {
  486. SendClientMessage(playerid,WEIß,"Du Schaltest das Radio Aus");
  487. GameTextForPlayer(playerid, "~r~Radio Aus", 500,3);
  488. StopAudioStreamForPlayer(playerid);
  489. return 1;
  490. }
  491. if(strcmp(cmdtext,"/fahrschein", true) == 0)
  492. {
  493. if(IsPlayerInRangeOfPoint(playerid,4.0,1372.1732,-1648.0591,13.3828))
  494. {
  495. SCM(playerid,GRUEN,"Du Hast dir Den Autoschein Geholt und brauchst Nicht Autofahren");
  496. SetPVarInt(playerid,"Autoschein",1);
  497. }
  498. else
  499. {
  500. SCM(playerid,GRUEN,"Nicht Am /fahrschein Punkt");
  501. }
  502. return 1;
  503. }
  504. if(strcmp(cmdtext,"/leader",true) == 0)
  505. {
  506. if(IsPlayerConnected(playerid))
  507. {
  508. SendClientMessage(playerid,GRUEN, "|__________Leader Online__________|");
  509. {
  510. for(new i = 0; i < MAX_PLAYERS; i++)
  511. {
  512. if(IsPlayerConnected(i))
  513. {
  514. if(GetPVarInt(i,"Fraktion")==1)
  515. {
  516. new string[200];
  517. new sendername[MAX_PLAYER_NAME];
  518. GetPlayerName(i, sendername, sizeof(sendername));
  519. format(string, 256, "[Polizei]: %s ", sendername);
  520. SendClientMessage(playerid,BLAU, string);
  521. }
  522. if(GetPVarInt(i,"Fraktion")==2)
  523. {
  524. new string[200];
  525. new sendername[MAX_PLAYER_NAME];
  526. GetPlayerName(i, sendername, sizeof(sendername));
  527. format(string, 256, "[FBI]: %s ", sendername);
  528. SendClientMessage(playerid,0x0000BBAA, string);
  529. }
  530. if(GetPVarInt(i,"Fraktion")==3)
  531. {
  532. new string[200];
  533. new sendername[MAX_PLAYER_NAME];
  534. GetPlayerName(i, sendername, sizeof(sendername));
  535. format(string, 256, "[Feuerwehr]: %s ", sendername);
  536. SendClientMessage(playerid,ROT, string);
  537. }
  538. if(GetPVarInt(i,"Fraktion")==4)
  539. {
  540. new string[200];
  541. new sendername[MAX_PLAYER_NAME];
  542. GetPlayerName(i, sendername, sizeof(sendername));
  543. format(string, 256, "[Grove Street]: %s ", sendername);
  544. SendClientMessage(playerid,GRUEN, string);
  545. }
  546. if(GetPVarInt(i,"Fraktion")==5)
  547. {
  548. new string[200];
  549. new sendername[MAX_PLAYER_NAME];
  550. GetPlayerName(i, sendername, sizeof(sendername));
  551. format(string, 256, "[Medic]: %s ", sendername);
  552. SendClientMessage(playerid,ROT, string);
  553. }
  554. }
  555. }
  556. }
  557. }
  558. }
  559. if(strcmp(cmdtext,"/help", true) == 0)
  560. {
  561. SCM(playerid,WEIß,"NORMAL: /togradio");
  562. SCM(playerid,WEIß,"NORMAL:");
  563. SCM(playerid,WEIß,"ANDERES: /ahelp /animhelp");
  564. if(GetPVarInt(playerid,"Fraktion")==0)
  565. {
  566. SCM(playerid,ROT,"Du bist in keiner Fraktion!");
  567. return 1;
  568. }
  569. if(GetPVarInt(playerid,"Fraktion")==1)
  570. {
  571. SCM(playerid,GRUEN,"/duty /unniform /equip /pdtor /rep /pdd /sperre /wanted /su /clear /cuff /grab /orten /r /vk /d /ticket");
  572. return 1;
  573. }
  574. if(GetPVarInt(playerid,"Fraktion")==2)
  575. {
  576. SCM(playerid,GRUEN,"/duty /unniform /equip /fbitor /pdd /orten /sperre /cuff /wanted /clear /grab /su /r /d");
  577. return 1;
  578. }
  579. if(GetPVarInt(playerid,"Fraktion")==3)
  580. {
  581. SCM(playerid,GRUEN,"/duty /ausrüsten /d /r");
  582. return 1;
  583. }
  584. if(GetPVarInt(playerid,"Fraktion")==4)
  585. {
  586. SCM(playerid,GRUEN,"/gskin /gwaffen /f /grovetor /fesseln /entfesseln /kidnap /entkidnap");
  587. return 1;
  588. }
  589. return 1;
  590. }
  591. if(strcmp(cmdtext,"/admins",true) == 0)
  592. {
  593. for(new i = 0; i < MAX_PLAYERS; i++)
  594. {
  595. if(GetPVarInt(playerid,"Adminlevel") >=1338)
  596. {
  597. new string[200];
  598. new sendername[MAX_PLAYER_NAME];
  599. GetPlayerName(i, sendername, sizeof(sendername));
  600. format(string, 256, "Supporter: %s ", sendername);
  601. SendClientMessage(playerid,ROT, string);
  602. }
  603. if(GetPVarInt(playerid,"Adminlevel") >=1339)
  604. {
  605. new string[200];
  606. new sendername[MAX_PLAYER_NAME];
  607. GetPlayerName(i, sendername, sizeof(sendername));
  608. format(string, 256, "Moderator: %s ", sendername);
  609. SendClientMessage(playerid,ROT, string);
  610. }
  611. if(GetPVarInt(playerid,"Adminlevel") >=2000)
  612. {
  613. new string[200];
  614. new sendername[MAX_PLAYER_NAME];
  615. GetPlayerName(i, sendername, sizeof(sendername));
  616. format(string, 256, "Head-Admin: %s ", sendername);
  617. SendClientMessage(playerid,ROT, string);
  618. }
  619. if(GetPVarInt(playerid,"Adminlevel") >=2001)
  620. {
  621. new string[200];
  622. new sendername[MAX_PLAYER_NAME];
  623. GetPlayerName(i, sendername, sizeof(sendername));
  624. format(string, 256, "Stelv.Owner: %s ", sendername);
  625. SendClientMessage(playerid,ROT, string);
  626. }
  627. if(GetPVarInt(playerid,"Adminlevel") >=2002)
  628. {
  629. new string[200];
  630. new sendername[MAX_PLAYER_NAME];
  631. GetPlayerName(i, sendername, sizeof(sendername));
  632. format(string, 256, "Owner: %s ", sendername);
  633. SendClientMessage(playerid,ROT, string);
  634. }
  635. }
  636. }
  637. if(strcmp(cmdtext,"/ahelp",true) == 0 || strcmp(cmdtext,"/ah",true) == 0)
  638. {
  639. if(GetPVarInt(playerid,"Adminlevel") >=1338)
  640. {
  641. SCM(playerid,GELB,"/ban /kick");
  642. return 1;
  643. }
  644. else if(GetPVarInt(playerid,"Adminlevel") >=1339)
  645. {
  646. SCM(playerid,GELB,"/ban /kick");
  647. return 1;
  648. }
  649. else if(GetPVarInt(playerid,"Adminlevel") >=2000)
  650. {
  651. SCM(playerid,GELB,"/fahrzeug /ban /kick");
  652. return 1;
  653. }
  654. else if(GetPVarInt(playerid,"Adminlevel") >=2001)
  655. {
  656. SCM(playerid,GELB,"/fahrzeug /ban /kick");
  657. return 1;
  658. }
  659. else if(GetPVarInt(playerid,"Adminlevel") >=2002)
  660. {
  661. SCM(playerid,GELB,"/fahrzeug /ban /kick /makeadmin /makeleader /licall");
  662. return 1;
  663. }
  664. }
  665. return 1;
  666. }
  667.  
  668. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  669. {
  670. SCM(playerid,GELB,"/motor schaltest du Den Motor ein Mit /licht machst du licht an");
  671. return 1;
  672. }
  673.  
  674. public OnPlayerExitVehicle(playerid, vehicleid)
  675. {
  676. return 1;
  677. }
  678.  
  679. public OnPlayerStateChange(playerid, newstate, oldstate)
  680. {
  681. if(newstate==PLAYER_STATE_DRIVER)
  682. {
  683. for(new i=0; i<sizeof(Grove); i++)
  684. {
  685. if(GetPlayerVehicleID(playerid)==Grove[i])
  686. {
  687. if(GetPVarInt(playerid,"Fraktion")!=4)
  688. {
  689. RemovePlayerFromVehicle(playerid);
  690. SCM(playerid,ROT,"Du darfst dieses Fahrzeug nicht fahren!");
  691. }
  692. }
  693. }
  694. if(IsPlayerInEventCar(playerid))
  695. {
  696. }
  697. else if(IsPlayerInCar(playerid))
  698. {
  699. if(GetPVarInt(playerid,"Autoschein")==0)
  700. {
  701. SetPlayerDrunkLevel (playerid, 50000);
  702. SCM(playerid,ROT,"Du weißt nicht wie man Auto fährt! Lass dich nicht von den Cops erwischen!");
  703. }
  704. }
  705. }
  706. if(oldstate==PLAYER_STATE_DRIVER&&newstate==PLAYER_STATE_ONFOOT)
  707. {
  708. if(GetPVarInt(playerid,"Autoschein")==0||GetPVarInt(playerid,"Bikeschein")==0||GetPVarInt(playerid,"Truckschein")==0||GetPVarInt(playerid,"Bootschein")==0||GetPVarInt(playerid,"Flugschein")==0)
  709. {
  710. SetPlayerDrunkLevel(playerid, 0);
  711. }
  712. }
  713. return 1;
  714. }
  715.  
  716. public OnPlayerEnterCheckpoint(playerid)
  717. {
  718. return 1;
  719. }
  720.  
  721. public OnPlayerLeaveCheckpoint(playerid)
  722. {
  723. DisablePlayerCheckpoint(playerid);
  724. return 1;
  725. }
  726.  
  727. public OnPlayerEnterRaceCheckpoint(playerid)
  728. {
  729. DisablePlayerCheckpoint(playerid);
  730. return 1;
  731. }
  732.  
  733. public OnPlayerLeaveRaceCheckpoint(playerid)
  734. {
  735. return 1;
  736. }
  737.  
  738. public OnRconCommand(cmd[])
  739. {
  740. return 1;
  741. }
  742.  
  743. public OnPlayerRequestSpawn(playerid)
  744. {
  745. return 1;
  746. }
  747.  
  748. public OnObjectMoved(objectid)
  749. {
  750. return 1;
  751. }
  752.  
  753. public OnPlayerObjectMoved(playerid, objectid)
  754. {
  755. return 1;
  756. }
  757.  
  758. public OnPlayerPickUpPickup(playerid, pickupid)
  759. {
  760. return 1;
  761. }
  762.  
  763. public OnVehicleMod(playerid, vehicleid, componentid)
  764. {
  765. return 1;
  766. }
  767.  
  768. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  769. {
  770. return 1;
  771. }
  772.  
  773. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  774. {
  775. return 1;
  776. }
  777.  
  778. public OnPlayerSelectedMenuRow(playerid, row)
  779. {
  780. return 1;
  781. }
  782.  
  783. public OnPlayerExitedMenu(playerid)
  784. {
  785. return 1;
  786. }
  787.  
  788. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  789. {
  790. return 1;
  791. }
  792.  
  793. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  794. {
  795. if(newkeys == KEY_UP)
  796. {
  797. new veh = GetPlayerVehicleID(playerid);
  798. if(GetVehicleModel(veh) == 509 || GetVehicleModel(veh) == 481 || GetVehicleModel(veh) == 510)
  799. {
  800. SCM(playerid,ROT,"Fahrräder Haben keine Motor");
  801. Motor[veh] = false;
  802. }
  803. else if(Motor[veh] == false)
  804. {
  805. GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
  806. SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  807. SCM(playerid,GRUEN,"Motor Erfolgreich Eingeschaltet");
  808. Motor[veh] = true;
  809. }
  810. else
  811. {
  812. GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
  813. SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  814. SCM(playerid,GRUEN,"Motor Erfolgreich Ausgeschaltet");
  815. Motor[veh] = false;
  816. }
  817. }
  818. if(newkeys == KEY_SUBMISSION)
  819. {
  820. if(IsPlayerInAnyVehicle(playerid))
  821. {
  822. new veh = GetPlayerVehicleID(playerid);
  823. new seat;
  824. new vid = GetPlayerVehicleID(playerid);
  825. seat = GetPlayerVehicleSeat(playerid);
  826. if(seat == 0)
  827. {
  828. if(licht[vid] == false)
  829. {
  830. GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
  831. SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
  832. SCM(playerid,ORANGE,"Du hast das Licht angeschaltet!");
  833. licht[vid] = true;
  834. }
  835. else if(licht[vid] == true)
  836. {
  837. GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
  838. SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
  839. SCM(playerid,ORANGE,"Du hast das Licht ausgeschaltet!");
  840. licht[vid] = false;
  841. }
  842. }
  843. }
  844. }
  845. if(newkeys == KEY_SECONDARY_ATTACK)
  846. {
  847. if(IsPlayerInRangeOfPoint(playerid,4.0,1457.5283,-1009.9219,26.8438))
  848. {
  849. SPP(playerid,2319.714843,-14.838361,26.749565);
  850. SPI(playerid,0);
  851. SendClientMessage(playerid,GELB,"Du hast die Bank betreten");
  852. }
  853. else if(IsPlayerInRangeOfPoint(playerid,4.0,2319.3042,-0.9239,26.7496))
  854. {
  855. SPP(playerid,1463.5446,-1023.0891,23.8331);
  856. SPI(playerid,0);
  857. SendClientMessage(playerid,GELB,"Du hast die Bank Verlassen");
  858. }
  859. else if(IsPlayerInRangeOfPoint(playerid,4.0,-2026.9407,67.2278,28.6916))
  860. {
  861. SPP(playerid,322.197998,302.497985,999.148437);
  862. SPI(playerid,5);
  863. SendClientMessage(playerid,GELB,"Du hast die Feuerwehr Betreten");
  864. }
  865. else if(IsPlayerInRangeOfPoint(playerid,4.0,325.3529,303.3126,999.1484))
  866. {
  867. SPP(playerid,-2022.3969,67.2337,28.4743);
  868. SPI(playerid,0);
  869. SendClientMessage(playerid,GELB,"Du hast die Feuerwehr Verlassen");
  870. }
  871. else if(IsPlayerInRangeOfPoint(playerid,4.0,1555.5026,-1675.6886,16.1953))
  872. {
  873. SPP(playerid,246.783996,63.900199,1003.640625);
  874. SPI(playerid,6);
  875. SendClientMessage(playerid,GELB,"Du hast die LSPD Betreten");
  876. }
  877. else if(IsPlayerInRangeOfPoint(playerid,4.0,246.7404,62.3246,1003.6406))
  878. {
  879. SPP(playerid,1541.5463,-1674.9215,13.5528);
  880. SPI(playerid,0);
  881. SendClientMessage(playerid,GELB,"Du hast die LSPD Verlassen");
  882. }
  883. else if(IsPlayerInRangeOfPoint(playerid,4.0,1481.2064,-1772.3138,18.7958))
  884. {
  885. SPP(playerid,384.808624,173.804992,1008.382812);
  886. SPI(playerid,3);
  887. SendClientMessage(playerid,GELB,"Du hast die Stadthalle Betreten");
  888. }
  889. else if(IsPlayerInRangeOfPoint(playerid,4.0,390.7680,173.9184,1008.3828))
  890. {
  891. SPP(playerid,1480.7731,-1767.9650,18.7958);
  892. SPI(playerid,0);
  893. SendClientMessage(playerid,GELB,"Du hast die Stadhalle Verlassen");
  894. }
  895. else if(IsPlayerInRangeOfPoint(playerid,4.0,1102.4144,-1440.0972,15.7969))
  896. {
  897. SPP(playerid,-2240.468505,137.060440,1035.414062);
  898. SPI(playerid,6);
  899. SendClientMessage(playerid,GELB,"Du hast den Handyladen Betreten");
  900. }
  901. else if(IsPlayerInRangeOfPoint(playerid,4.0,-2240.7815,137.0004,1035.4141))
  902. {
  903. SPP(playerid,1108.8392,-1440.2991,15.7969);
  904. SPI(playerid,0);
  905. SendClientMessage(playerid,GELB,"Du hast den Handyladen Verlassen");
  906. }
  907. else if(IsPlayerInRangeOfPoint(playerid,4.0,-1605.6315,710.2726,13.8672))
  908. {
  909. SPP(playerid,246.375991,109.245994,1003.218750);
  910. SPI(playerid,10);
  911. SendClientMessage(playerid,GELB,"Du hast die FBI Betreten");
  912. }
  913. else if(IsPlayerInRangeOfPoint(playerid,4.0,245.2247,107.3027,1003.2188))
  914. {
  915. SPP(playerid,-1606.2253,716.7456,12.1063);
  916. SPI(playerid,0);
  917. SendClientMessage(playerid,GELB,"Du hast die FBI Verlassen");
  918. }
  919. else if(IsPlayerInRangeOfPoint(playerid,4.0,1286.8027,-1339.5811,13.5638))
  920. {
  921. SPP(playerid,1710.433715,-1669.379272,20.225049);
  922. SPI(playerid,18);
  923. SendClientMessage(playerid,GELB,"Du hast Das JobCenter Betreten");
  924. }
  925. else if(IsPlayerInRangeOfPoint(playerid,4.0,2495.1697,-1691.1377,14.7656))
  926. {
  927. SPP(playerid,2807.619873,-1171.899902,1025.570312);
  928. SPI(playerid,8);
  929. SendClientMessage(playerid,GELB,"Du hast Die Grove Street Betreten");
  930. }
  931. else if(IsPlayerInRangeOfPoint(playerid,4.0,2807.6003,-1174.7449,1025.5703))
  932. {
  933. SPP(playerid,2494.9272,-1686.5092,13.5136);
  934. SPI(playerid,0);
  935. SendClientMessage(playerid,GELB,"Du hast Die Grove Street Verlassen");
  936. }
  937. }
  938. }
  939.  
  940. public OnRconLoginAttempt(ip[], password[], success)
  941. {
  942. return 1;
  943. }
  944.  
  945. public OnPlayerUpdate(playerid)
  946. {
  947. return 1;
  948. }
  949.  
  950. public OnPlayerStreamIn(playerid, forplayerid)
  951. {
  952. return 1;
  953. }
  954.  
  955. public OnPlayerStreamOut(playerid, forplayerid)
  956. {
  957. return 1;
  958. }
  959.  
  960. public OnVehicleStreamIn(vehicleid, forplayerid)
  961. {
  962. return 1;
  963. }
  964.  
  965. public OnVehicleStreamOut(vehicleid, forplayerid)
  966. {
  967. return 1;
  968. }
  969.  
  970. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  971. {
  972. if(dialogid == DIALOG_GWAFFEN)
  973. {
  974. if(response)
  975. {
  976. if(listitem == 0)
  977. {
  978. GivePlayerWeapon(playerid,24,200);
  979. }
  980. if(listitem == 1)
  981. {
  982. GivePlayerWeapon(playerid,25,200);
  983. }
  984. if(listitem == 2)
  985. {
  986. GivePlayerWeapon(playerid,28,200);
  987. }
  988. if(listitem == 3)
  989. {
  990. GivePlayerWeapon(playerid,29,200);
  991. }
  992. if(listitem == 4)
  993. {
  994. GivePlayerWeapon(playerid,30,200);
  995. }
  996. }
  997. }
  998. if(dialogid==DIALOG_REGISTER)
  999. {
  1000. if(response==1)
  1001. {
  1002. if(!strlen(inputtext))
  1003. {
  1004. SendClientMessage(playerid,ROT,"Dein Passwort ist nicht lang genug!");
  1005. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registrieren","Gebe dein gewünschtes Passwort ein:","Registrieren","");
  1006. return 1;
  1007. }
  1008. else
  1009. {
  1010. Register(playerid,inputtext);
  1011. }
  1012. }
  1013. if(response==0)
  1014. {
  1015. Kick(playerid);
  1016. }
  1017. }
  1018. if(dialogid==DIALOG_LOGIN)
  1019. {
  1020. if(response==1)
  1021. {
  1022. if(!strlen(inputtext))
  1023. {
  1024. SendClientMessage(playerid,ROT,"Dein Passwort ist nicht lang genug!");
  1025. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Du hast bereits einen Account. Gebe bitte dein Passwort ein!","Login","");
  1026. return 1;
  1027. }
  1028. else
  1029. {
  1030. Login(playerid,inputtext);
  1031. }
  1032. }
  1033. if(response==0)
  1034. {
  1035. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Du hast bereits einen Account. Gebe bitte dein Passwort ein!","Login","");
  1036. }
  1037. }
  1038. return 1;
  1039. }
  1040.  
  1041. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1042. {
  1043. return 1;
  1044. }
  1045. public UpdateTacho()
  1046. {
  1047. for(new x = 0;x<GetMaxPlayers();x++)
  1048. {
  1049. if(IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_DRIVER && !IsPlayerNPC(x))
  1050. {
  1051. new Float:Strecke,Float:Geschwindigkeit;
  1052. GetVehiclePos(GetPlayerVehicleID(x),X1[x],Y1[x],Z1[x]);
  1053. Strecke = floatsqroot(floatpower(floatabs(floatsub(X1[x],X2[x])),2)+floatpower(floatabs(floatsub(Y1[x],Y2[x])),2)+floatpower(floatabs(floatsub(Z1[x],Z2[x])),2));
  1054. Geschwindigkeit = (Strecke / (TACHOTIMER/1000)) * 3.6;
  1055. new String[80];
  1056. format(String,80,"Geschwindigkeit: ~b~%d km/h ~n~Fahrzeugtyp: ~r~%s",floatround(Geschwindigkeit),Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(x))-400]);
  1057. TextDrawSetString(Tacho[x],String);
  1058. GetVehiclePos(GetPlayerVehicleID(x),X2[x],Y2[x],Z2[x]);
  1059. TextDrawShowForPlayer(x,Tacho[x]);
  1060. }
  1061. else
  1062. {
  1063. TextDrawHideForPlayer(x,Tacho[x]);
  1064. }
  1065. }
  1066. return 1;
  1067. }
  1068. ocmd:a(playerid,params[])
  1069. {
  1070. if(IsPlayerConnected(playerid))
  1071. {
  1072. new ac[128];
  1073. if(!isPlayerAnAdmin(playerid,1)) return SCM(playerid,ROT,"Dein Adminlevel ist für diesen Befehl nicht ausreichend!");
  1074. if(sscanf(params,"s",ac)) return SCM(playerid,ROT,"INFO: /a [text]");
  1075. if(GetPVarInt(playerid,"Muted")==1)
  1076. {
  1077. SCM(playerid,ROT,"Du bist gemuted und kannst nicht reden!");
  1078. }
  1079. format(ac,sizeof(ac),"Adminchat: %s: %s",SpielerName(playerid),ac);
  1080. for(new i=0; i<GetMaxPlayers(); i++)
  1081. {
  1082. if(IsPlayerConnected(i))
  1083. {
  1084. if(GetPVarInt(i,"AdminLevel")!=0)
  1085. {
  1086. SCM(i,HANDYFARBE,ac);
  1087. }
  1088. }
  1089. }
  1090. }
  1091. return 1;
  1092. }
  1093. ocmd:ad(playerid,params[])
  1094. {
  1095. if(!IsPlayerInRangeOfPoint(playerid,10.0,1208.8727,-917.5221,43.0497))return SCM(playerid,ROT,"Du befindest dich nicht am Werbe Punkt!");
  1096. {
  1097. new string[128];
  1098. new ad[128];
  1099. if(sscanf(params,"s",ad)) return SCM(playerid,ROT,"INFO: /ad [text]");
  1100. if(GetPVarInt(playerid,"Muted")==1)
  1101. {
  1102. SCM(playerid,ROT,"Du bist gemuted und kannst nicht reden!");
  1103. }
  1104. if(GetPVarInt(playerid,"Muted")==0)
  1105. {
  1106. if(addfreeze == 1)
  1107. {
  1108. SCM(playerid,ROT,"Seit der letzten Werbung sind noch keine 60 Sekunden vergangen.");
  1109. }
  1110. else if(addfreeze == 0)
  1111. {
  1112. format(string,sizeof(string),"WERBUNG: %s: %s",SpielerName(playerid),ad);
  1113. SCMTA(GELB,string);
  1114. GivePlayerMoney(playerid,-100);
  1115. addfreeze = 1;
  1116. SetTimer("unfreezead",60000,false);
  1117. }
  1118. }
  1119. }
  1120. return 1;
  1121. }
  1122. ocmd:unban(playerid,params[])
  1123. {
  1124. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, WEIß, "Du bist nicht eingeloggt.");
  1125. if(!isPlayerAnAdmin(playerid,2002))return SCM(playerid,ROT,"Dein Adminlevel ist nicht ausreichend für diesen Befehl!");
  1126. new accname[MAX_PLAYER_NAME];
  1127. if(sscanf(params, "s", accname)) return SendClientMessage(playerid, WEIß, "Befehl: /unban [EXAKTER Accountname]");
  1128. new acc[MAX_PLAYER_NAME+20];
  1129. format(acc,sizeof(acc),"Accounts/%s.ini",accname);
  1130. if(!fexist(acc))
  1131. {
  1132. new string[200];
  1133. format(string,sizeof(string)," Der Account %s existiert nicht!",accname);
  1134. SendClientMessage(playerid,WEIß,string);
  1135. return 1;
  1136. }
  1137. new string[200];
  1138. new File:banaccount = fopen(acc,io_write);
  1139. fwrite(banaccount,"Gesperrt=0\n");
  1140. fclose(banaccount);
  1141. format(string, sizeof(string), "AdmCmd: Admin %s hat %s entbannt!", MeinName(playerid), accname);
  1142. SCMTA(GRUEN, string);
  1143. return 1;
  1144. }
  1145. ocmd:pissen(playerid,params[])
  1146. {
  1147. if(IsPlayerConnected(playerid))
  1148. {
  1149. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_PISSING);
  1150. }
  1151. return 1;
  1152. }
  1153. ocmd:liegen(playerid,params[])
  1154. {
  1155. if(IsPlayerConnected(playerid))
  1156. {
  1157. ApplyAnimation(playerid, "BEACH", "Lay_Bac_Loop", 4.1, 0, 1, 1, 1, 1, 1);
  1158. }
  1159. return 1;
  1160. }
  1161. ocmd:sitzen(playerid,params[])
  1162. {
  1163. if(IsPlayerConnected(playerid))
  1164. {
  1165. ApplyAnimation(playerid, "PED","SEAT_IDLE", 4.1, 0, 1, 1, 1, 1, 1);
  1166. }
  1167. return 1;
  1168. }
  1169. ocmd:o(playerid,params[])
  1170. {
  1171. if(IsPlayerConnected(playerid))
  1172. {
  1173. new oc1[128];
  1174. new oc2[128];
  1175. if(sscanf(params,"s",oc2)) return SCM(playerid,BLAU,"INFO: /o [text]");
  1176. if(GetPVarInt(playerid,"Muted")==1)
  1177. {
  1178. SCM(playerid,ROT,"Da du gemuted bist, kannst du nicht reden!");
  1179. }
  1180. if(GetPVarInt(playerid,"Muted")==0)
  1181. {
  1182. if(ochat==0)
  1183. {
  1184. SCM(playerid,ROT,"Der OOC ist ausgeschaltet!");
  1185. }
  1186. if(ochat==1)
  1187. {
  1188. format(oc1,sizeof(oc1),"(OOC: *%s: %s*)",SpielerName(playerid),oc2);
  1189. SCMTA(OOCFARBE,oc1);
  1190. }
  1191. }
  1192. }
  1193. return 1;
  1194. }
  1195. ocmd:ooc(playerid,params[])
  1196. {
  1197. if(IsPlayerConnected(playerid))
  1198. {
  1199. if(!isPlayerAnAdmin(playerid,2000)) return SCM(playerid,ROT,"Dein Adminlevel reicht für diesen Befehl nicht aus!");
  1200. if(ochat==0)
  1201. {
  1202. ochat=1;
  1203. SCMTA(GRAU,"Der OOC Chat wurde von einem Admin eingeschaltet!");
  1204. }
  1205. else
  1206. {
  1207. ochat=0;
  1208. SCMTA(GRAU,"Der OOC Chat wurde von einem Admin ausgeschaltet!");
  1209. }
  1210. }
  1211. return 1;
  1212. }
  1213. ocmd:stats(playerid,params[])
  1214. {
  1215. if(IsPlayerConnected(playerid))
  1216. {
  1217. if(GetPVarInt(playerid,"Perso")==1)
  1218. {
  1219. new statsfraktname[64],statsnebenjob[64];
  1220. switch(GetPVarInt(playerid,"Fraktion"))
  1221. {
  1222. case 0:{statsfraktname="Zivilist";}
  1223. case 1:{statsfraktname="LSPD";}
  1224. case 2:{statsfraktname="FBI";}
  1225. case 3:{statsfraktname="Feuerwehr";}
  1226. case 4:{statsfraktname="Grove Street";}
  1227. case 5:{statsfraktname="Medic";}
  1228. }
  1229. switch(GetPVarInt(playerid,"Nebenjob"))
  1230. {
  1231. case 0:{statsnebenjob="Keinen";}
  1232. case 1:{statsnebenjob="BusFahrer";}
  1233. case 2:{statsnebenjob="Müllmann";}
  1234. case 3:{statsnebenjob="Taxifahrer";}
  1235. case 4:{statsnebenjob="DrogenDealer";}
  1236. }
  1237. new perso[200];
  1238. format(perso,sizeof(perso),"\nName: %s\nLevel: %i\nFraktion: %s\nFraktions Rang: %i\nNebenjob: %s\nDrogen: %i\nRespektPunkte %i/%i",SpielerName(playerid),GetPlayerScore(playerid),statsfraktname,GetPVarInt(playerid,"FrakRang"),statsnebenjob,GetPVarInt(playerid,"drogen"),GetPVarInt(playerid,"Respektpunkte"),GetPVarInt(playerid,"Respektpunkte2"));
  1239. ShowPlayerDialog(playerid,DIALOG_ZEIGEPERSO,DIALOG_STYLE_MSGBOX,"Perso:",perso,"Schliessen","");
  1240. }
  1241. else
  1242. {
  1243. SCM(playerid,ROT,"Du hast noch keinen Perso! Gehe in Die Stadthalle um dir einen zu kaufen.");
  1244. }
  1245. }
  1246. return 1;
  1247. }
  1248. ocmd:gibjob(playerid,params[])
  1249. {
  1250. if(IsPlayerConnected(playerid))
  1251. {
  1252. new pID,job,gibnebenjob[128];
  1253. if(!isPlayerAnAdmin(playerid,2002)) return SCM(playerid,ROT,"Dein Admin Level ist nicht hoch genug!");
  1254. if(sscanf(params,"ui",pID,job)) return SCM(playerid,BLAU,"Info: /gibjob [ID] [JOBID] (1=Busfahrer 2=Müllman 3=Taxifahrer 4=Drogendealer");
  1255. if(job<1 || job>4) return SCM(playerid,ROT,"Ungültige Job ID [1-4].");
  1256. if(IsPlayerConnected(pID))
  1257. {
  1258. switch(job)
  1259. {
  1260. case 1:gibnebenjob="BusFahrer";
  1261. case 2:gibnebenjob="Müllmann";
  1262. case 3:gibnebenjob="Taxifahrer";
  1263. case 4:gibnebenjob="DrogenDealer";
  1264. }
  1265. SetPVarInt(pID,"Nebenjob",job);
  1266. SpielerSpeichern(pID);
  1267. new jobpidn[128],jobplan[128];
  1268. format(jobpidn,sizeof(jobpidn),"%s hat dir den Nebenjob %s gegeben!",SpielerName(playerid),gibnebenjob);
  1269. format(jobplan,sizeof(jobplan),"Du hast %s den Nebenjob %s gegeben!",SpielerName(pID),gibnebenjob);
  1270. SCM(playerid,HELLROT,jobplan);
  1271. SCM(pID,HELLROT,jobpidn);
  1272. }
  1273. else
  1274. {
  1275. SCM(playerid,ROT,"Dieser Spieler ist nicht auf dem Server!");
  1276. }
  1277. }
  1278. return 1;
  1279. }
  1280. ocmd:licall(playerid,params[])
  1281. {
  1282. new pID,scheine;
  1283. if(!isPlayerAnAdmin(playerid,2001))return SCM(playerid,ROT,"Dein Adminlevel ist nicht ausreichend für diesen Befehl!");
  1284. if(sscanf(params,"u",pID,scheine))return SCM(playerid,ROT,"INFO: /licall [SpielerID]");
  1285. if(pID==900) return SCM(playerid,ROT,"Du kannst botboy keine Scheine geben!");
  1286. if(!IsPlayerConnected(pID)) return SCM(playerid,ROT,"Dieser Spieler befindet sich derzeit nicht auf dem Server!");
  1287. {
  1288. new scheine1[64];
  1289. new scheine2[64];
  1290. SetPVarInt(pID,"Truckschein",1);
  1291. SetPVarInt(pID,"Waffenschein",1);
  1292. SetPVarInt(pID,"FLugschein",1);
  1293. SetPVarInt(pID,"Bikeschein",1);
  1294. SetPVarInt(pID,"Autoschein",1);
  1295. SetPVarInt(pID,"Bootschein",1);
  1296. format(scheine1,sizeof(scheine1),"Du hast %s alle Scheine gegeben!",SpielerName(pID),scheine);
  1297. SCM(playerid,ROT,scheine1);
  1298. format(scheine2,sizeof(scheine2),"%s hat dir alle Scheine gegeben!",SpielerName(playerid),scheine);
  1299. SCM(pID,ROT,scheine2);
  1300. }
  1301. return 1;
  1302. }
  1303. ocmd:licht(playerid,params[])
  1304. {
  1305. if(IsPlayerConnected(playerid))
  1306. {
  1307. new status[4];
  1308. if(sscanf(params,"s",status))return SCM(playerid,ROT,"INFO: /licht [an/aus]");
  1309. if(IsPlayerInAnyVehicle(playerid))
  1310. {
  1311. new vid23;
  1312. if(GetVehicleModel(vid23) != 510 ||(GetVehicleModel(vid23) != 481 ||(GetVehicleModel(vid23) != 509)))
  1313. {
  1314. new seat;
  1315. new vehicleid = GetPlayerVehicleID(playerid);
  1316. new vid = GetPlayerVehicleID(playerid);
  1317. seat = GetPlayerVehicleSeat(playerid);
  1318. if(seat == 0)
  1319. {
  1320. if(strcmp(status,"an",true) == 0)
  1321. {
  1322. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  1323. SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
  1324. licht[vid] = true;
  1325. SCM(playerid,GRUEN,"Du hast das Licht angeschaltet!");
  1326. }
  1327. else
  1328. if(strcmp(status,"aus",true) == 0)
  1329. {
  1330. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  1331. SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
  1332. licht[vid] = false;
  1333. SCM(playerid,ROT,"Du hast das Licht ausgeschaltet!");
  1334. }
  1335. }
  1336. }
  1337. else
  1338. {
  1339. SCM(playerid,ROT,"Dieses Fahrzeug hat kein Licht!");
  1340. }
  1341. }
  1342. }
  1343. return 1;
  1344. }
  1345. ocmd:motor(playerid,params[])
  1346. {
  1347. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1348. {
  1349. new vehicleid = GetPlayerVehicleID(playerid);
  1350. if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
  1351. {
  1352. SendClientMessage(playerid,ROT,"In einem Fahrrad gibt es keinen Motor!");
  1353. Motor[vehicleid] = false;
  1354. }
  1355. else if(Motor[vehicleid] == false)
  1356. {
  1357. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  1358. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  1359. SendClientMessage(playerid,ROT,"Motor erfolgreich eingeschaltet.");
  1360. Motor[vehicleid] = true;
  1361. }
  1362. else
  1363. {
  1364. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  1365. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  1366. SendClientMessage(playerid,ROT,"Motor erfolgreich ausgeschaltet.");
  1367. Motor[vehicleid] = false;
  1368. }
  1369. }
  1370. return 1;
  1371. }
  1372. ocmd:heal(playerid,params[])
  1373. {
  1374. if(IsPlayerConnected(playerid))
  1375. {
  1376. if(GetPVarInt(playerid,"Fraktion")!=5) SCM(playerid,ROT,"Du bist kein Medic-Angestellter!");
  1377. {
  1378. if(GetPVarInt(playerid,"MedicDuty")!=1) return SCM(playerid,ROT,"Du bist nicht im Medic Dienst!");
  1379. {
  1380. new pID,preis;
  1381. if(sscanf(params,"ui",pID,preis)) return SCM(playerid,BLAU,"Info: /heal [ID] [Preis]");
  1382. if(preis<1||preis>500) return SCM(playerid,ROT,"Ungültiger Preis! [1-500]");
  1383. if(!IsPlayerConnected(pID)) return SCM(playerid,ROT,"Dieser Spieler ist nicht auf dem Server!");
  1384. if(playerid==pID) return SendClientMessage(playerid,ROT,"Du kannst dich nicht selber heilen.");
  1385. {
  1386. new Float:hx,Float:hy,Float:hz;
  1387. GPP(pID,hx,hy,hz);
  1388. if(!IsPlayerInRangeOfPoint(playerid,5,hx,hy,hz)) return SCM(playerid,ROT,"Dieser Spieler ist nicht in deiner nähe!");
  1389. {
  1390. new heil1[128],heil2[128];
  1391. format(heil1,sizeof(heil1),"%s hat dir angeboten dich für %i€ zu heilen!",SpielerName(playerid),preis);
  1392. ShowPlayerDialog(pID,DIALOG_HEILEN,DIALOG_STYLE_MSGBOX,"Heilen:",heil1,"Heilen","Ablehnen");
  1393. format(heil2,sizeof(heil2),"Du hast %s für %i€ angeboten sich zu heilen!",SpielerName(pID),preis);
  1394. SCM(playerid,ORANGE,heil2);
  1395. heilen[pID][0]=playerid;
  1396. heilen[pID][1]=preis;
  1397. }
  1398. }
  1399. }
  1400. }
  1401. }
  1402. return 1;
  1403. }
  1404. ocmd:makeleader(playerid,params[])
  1405. {
  1406. if(IsPlayerConnected(playerid))
  1407. {
  1408. new pID, fraktionsleader,
  1409. fraktion0[64],
  1410. fraktion1[128],
  1411. fraktion2[128];
  1412. if(!isPlayerAnAdmin(playerid,2002)) return SCM(playerid,ROT,"Dein Admin Level ist nicht hoch genug!");
  1413. if(sscanf(params,"ui",pID,fraktionsleader)) return SCM(playerid,BLAU,"Info: /makeleader [ID] [Fraktions-ID]");
  1414. if(fraktionsleader<0||fraktionsleader>13) return SCM(playerid,ROT,"Ungültige Fraktions-ID! /makeleader [ID] [0-13]");
  1415. if(IsPlayerConnected(pID))
  1416. {
  1417. if(gettime()<GetPVarInt(pID,"Fraksperre"))
  1418. {
  1419. SCM(playerid,ROT,"Dieser Spieler hat noch eine Fraktions Sperre!");
  1420. }
  1421. else
  1422. {
  1423. SetPVarInt(pID,"Fraktion",fraktionsleader);
  1424. SetPVarInt(pID,"FrakRang",6);
  1425. SpielerSpeichern(pID);
  1426. switch(GetPVarInt(pID,"Fraktion"))
  1427. {
  1428. case 0:{fraktion0="Zivilist";}
  1429. case 1:{fraktion0="Polizei";}
  1430. case 2:{fraktion0="FBI";}
  1431. case 3:{fraktion0="Feuerwehr";}
  1432. case 4:{fraktion0="Grove Street";}
  1433. case 5:{fraktion0="Medic";}
  1434. }
  1435. SetPVarInt(pID,"Hausspawn",0);
  1436. format(fraktion1,sizeof(fraktion1),"%s hat dich zum Leader der Fraktion: %s gemacht!",SpielerName(playerid),fraktion0);
  1437. SCM(pID,ROT,fraktion1);
  1438. format(fraktion2,sizeof(fraktion2),"Du hast %s zum Fraktionsleader der Fraktion: %s gemacht!",SpielerName(pID),fraktion0);
  1439. SCM(playerid,ROT,fraktion2);
  1440. SpawnPlayer(pID);
  1441. }
  1442. }
  1443. else
  1444. {
  1445. SCM(playerid,ROT,"Dieser Spieler ist nicht auf dem Server!");
  1446. }
  1447. }
  1448. return 1;
  1449. }
  1450. ocmd:makeadmin(playerid,params[])
  1451. {
  1452. if(IsPlayerAdmin(playerid))
  1453. {
  1454. new pID, rang,
  1455. adminrang0[64],
  1456. adminrang1[128],
  1457. adminrang2[128];
  1458. if(!IsPlayerAdmin(playerid)) return SCM(playerid,ROT,"Dein Adminlevel ist für diesen Befehl nicht hoch genug!");
  1459. if(sscanf(params,"ui",pID,rang)) return SCM(playerid,ROT,"INFO: /makeadmin [id] [level]");
  1460. if(rang<0||rang>2002) return SCM(playerid,ROT,"Ungültiger Rang! /makeadmin [id] [0-2002]");
  1461. if(IsPlayerConnected(pID))
  1462. {
  1463. SetPVarInt(pID,"AdminLevel",rang);
  1464. SpielerSpeichern(pID);
  1465. switch(GetPVarInt(pID,"AdminLevel"))
  1466. {
  1467. case 0:{adminrang0="Kein Admin";}
  1468. case 1337:{adminrang0="Supporter";}
  1469. case 1338:{adminrang0="Moderator";}
  1470. case 1339:{adminrang0="Moderator";}
  1471. case 2000:{adminrang0="Head-Admin";}
  1472. case 2001:{adminrang0="Stelv Inhaber";}
  1473. case 2002:{adminrang0="Server Inhaber";}
  1474. }
  1475. format(adminrang1,sizeof(adminrang1),"%s hat dir den Adminrang: %s gegeben!",SpielerName(playerid),adminrang0);
  1476. SCM(pID,ROT,adminrang1);
  1477. format(adminrang2,sizeof(adminrang2),"Du hast %s den Adminrang: %s gegeben!",SpielerName(pID),adminrang0);
  1478. SCM(playerid,ROT,adminrang2);
  1479. }
  1480. else
  1481. {
  1482. SCM(playerid,ROT,"Dieser Spieler befindet sich nicht auf dem Server!");
  1483. }
  1484. }
  1485. return 1;
  1486. }
  1487. ocmd:fahrzeug(playerid,params[])
  1488. {
  1489. if(IsPlayerConnected(playerid))
  1490. {
  1491. if(!isPlayerAnAdmin(playerid,1338)) return SCM(playerid,ROT,"Dein Admin Level ist nicht hoch genug!");
  1492. if(GetPlayerInterior(playerid)==0)
  1493. {
  1494. new modelid,Farbe1,Farbe2;
  1495. new fahrzeug1[128];
  1496. if(sscanf(params,"ddd",modelid,Farbe1,Farbe2))return SCM(playerid,BLAU,"Info: /fahrzeug [Model-ID] [Farbe1] [Farbe2]");
  1497. if(modelid < 400 || modelid > 611)return SCM(playerid,ROT,"Ungültige Model-ID! Model[400-611]");
  1498. if(Farbe1 < 0 || Farbe1 > 186)return SCM(playerid,ROT,"Ungültige Farb-ID! Farben[0-186]");
  1499. if(Farbe2 < 0 || Farbe2 > 186)return SCM(playerid,ROT,"Ungültige Farb-ID! Farben[0-186]");
  1500. new Float:pos[4];
  1501. GPP(playerid,pos[0],pos[1],pos[2]);
  1502. GetPlayerFacingAngle(playerid,pos[3]);
  1503. createdcarid = CreateVehicle(modelid,pos[0]+1,pos[1]+1,pos[2]+1,pos[3],Farbe1,Farbe2,-1);
  1504. SetVehicleNumberPlate(createdcarid,"Admin S");
  1505. PutPlayerInVehicle(playerid,createdcarid,0);
  1506. format(fahrzeug1,sizeof(fahrzeug1),"Du hast dir ein Fahrzeug mit der ID %d gespawnt!",(createdcarid));
  1507. SCM(playerid,ROT,fahrzeug1);
  1508. }
  1509. else
  1510. {
  1511. SCM(playerid,ROT,"Du kannst hier kein Fahrzeug spawnen!");
  1512. }
  1513. }
  1514. return 1;
  1515. }
  1516. ocmd:kick(playerid,params[])
  1517. {
  1518. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  1519. new pID, reason[128],string[128];
  1520. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
  1521. format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  1522. SendClientMessageToAll(ROT,string);
  1523. Kick(pID);
  1524. return 1;
  1525. }
  1526. ocmd:ban(playerid,params[])
  1527. {
  1528. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du brauchst Adminrang 5!");
  1529. new pID, time, grund[128];
  1530. if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,ROT,"/Ban [playerid] [zeit] [grund]");
  1531. if(IsPlayerConnected(pID))
  1532. {
  1533. if(time>0&&time<9999)
  1534. {
  1535. new string[128];
  1536. format(string,sizeof(string),"AdmCmd: %s wurde von %s für %i Minuten gebannt Grund: %s!!!",SpielerName(pID),SpielerName(playerid),time,grund);
  1537. SendClientMessageToAll(ROT,string);
  1538. new wert;
  1539.  
  1540. wert=gettime()+(60*time);
  1541.  
  1542. SetPVarInt(pID,"timeban",wert);
  1543.  
  1544. Kick(pID);
  1545. return 1;
  1546. }
  1547. SendClientMessage(playerid,BLAU,"Ungültige Zeit!!!");
  1548. return 1;
  1549.  
  1550. }
  1551. SendClientMessage(playerid,BLAU,"Falsche ID");
  1552. return 1;
  1553. }
  1554. stock MeinName(playerid)
  1555. {
  1556. new nam[MAX_PLAYER_NAME];
  1557. GetPlayerName(playerid, nam, sizeof(nam));
  1558. return nam;
  1559. }
  1560. stock IsPlayerInCar(playerid)
  1561. {
  1562. switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
  1563. {
  1564. case 400,401,402,404,405,409,410,411,412,413,415,418,419,420,421,422,424,426,429,432,434,436,438,439,440,442,451,
  1565. 457,458,459,466,467,470,474,475,477,478,479,480,482,483,485,489,490,491,492,494,495,496,500,502,503,504,
  1566. 505,506,507,516,517,518,525,526,527,528,529,530,531,533,534,535,536,539,540,541,542,543,545,546,547,549,550,551,
  1567. 552,554,555,558,559,560,561,562,564,565,566,567,568,571,572,574,575,576,579,580,582,583,585,587,588,589,594,
  1568. 596,597,598,599,600,602,603,604,605,606,607,610,611,445:return 1;
  1569. }
  1570. return 0;
  1571. }
  1572. stock IsPlayerInEventCar(playerid)
  1573. {
  1574. if(IsPlayerConnected(playerid))
  1575. {
  1576. for(new i=0; i<sizeof(Grove); i++)
  1577. {
  1578. if(GetPlayerVehicleID(playerid)==Grove[i]) return 1;
  1579. }
  1580. }
  1581. return 0;
  1582. }
  1583.  
  1584. stock Spielername(playerid)
  1585. {
  1586. new xn[MAX_PLAYER_NAME];
  1587. GetPlayerName(playerid,xn,sizeof xn);
  1588. return xn;
  1589. }
  1590. stock SpielerName(playerid)
  1591. {
  1592. if(IsPlayerConnected(playerid))
  1593. {
  1594. GetPlayerName(playerid,name1,sizeof(name1));
  1595. }
  1596. return name1;
  1597. }
  1598. stock SpielerSpeichern(playerid)
  1599. {
  1600. if(IsPlayerConnected(playerid))
  1601. {
  1602. if(GetPVarInt(playerid,"loggedin")==1)
  1603. {
  1604. GetPlayerName(playerid,name1,sizeof(name1));
  1605. format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name1);
  1606. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  1607. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  1608. dini_IntSet(Spielerdatei,"AdminLevel",GetPVarInt(playerid,"AdminLevel"));
  1609. dini_IntSet(Spielerdatei,"Owner",GetPVarInt(playerid,"Owner"));
  1610. dini_IntSet(Spielerdatei,"Mieter",GetPVarInt(playerid,"Mieter"));
  1611. dini_IntSet(Spielerdatei,"HausID",GetPVarInt(playerid,"HausID"));
  1612. dini_IntSet(Spielerdatei,"Hausspawn",GetPVarInt(playerid,"Hausspawn"));
  1613. dini_IntSet(Spielerdatei,"GR",GetPVarInt(playerid,"GR"));
  1614. dini_IntSet(Spielerdatei,"HausWelt",GetPVarInt(playerid,"HausWelt"));
  1615. dini_IntSet(Spielerdatei,"HausInterior",GetPVarInt(playerid,"HausInterior"));
  1616. dini_FloatSet(Spielerdatei,"HausIntX",GetPVarFloat(playerid,"HausIntX"));
  1617. dini_FloatSet(Spielerdatei,"HausIntY",GetPVarFloat(playerid,"HausIntY"));
  1618. dini_FloatSet(Spielerdatei,"HausIntZ",GetPVarFloat(playerid,"HausIntZ"));
  1619. dini_FloatSet(Spielerdatei,"HausExtX",GetPVarFloat(playerid,"HausExtX"));
  1620. dini_FloatSet(Spielerdatei,"HausExtY",GetPVarFloat(playerid,"HausExtY"));
  1621. dini_FloatSet(Spielerdatei,"HausExtZ",GetPVarFloat(playerid,"HausExtZ"));
  1622. dini_IntSet(Spielerdatei,"Verheiratet",GetPVarInt(playerid,"Verheiratet"));
  1623. dini_IntSet(Spielerdatei,"CA",GetPVarInt(playerid,"CA"));
  1624. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  1625. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  1626. dini_IntSet(Spielerdatei,"Kontostand",GetPVarInt(playerid,"Kontostand"));
  1627. dini_IntSet(Spielerdatei,"Konto",GetPVarInt(playerid,"Konto"));
  1628. dini_IntSet(Spielerdatei,"Karte",GetPVarInt(playerid,"Karte"));
  1629. dini_IntSet(Spielerdatei,"Aduty",GetPVarInt(playerid,"Aduty"));
  1630. dini_IntSet(Spielerdatei,"Muted",GetPVarInt(playerid,"Muted"));
  1631. dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
  1632. dini_IntSet(Spielerdatei,"Alter",GetPVarInt(playerid,"Alter"));
  1633. dini_IntSet(Spielerdatei,"FeuerDuty",GetPVarInt(playerid,"FeuerDuty"));
  1634. dini_IntSet(Spielerdatei,"MedicDuty",GetPVarInt(playerid,"MedicDuty"));
  1635. dini_IntSet(Spielerdatei,"AdacDuty",GetPVarInt(playerid,"AdacDuty"));
  1636. dini_IntSet(Spielerdatei,"LspdDuty",GetPVarInt(playerid,"LspdDuty"));
  1637. dini_IntSet(Spielerdatei,"FsDuty",GetPVarInt(playerid,"FsDuty"));
  1638. dini_IntSet(Spielerdatei,"ArmyDuty",GetPVarInt(playerid,"ArmyDuty"));
  1639. dini_IntSet(Spielerdatei,"SantDuty",GetPVarInt(playerid,"SantDuty"));
  1640. dini_IntSet(Spielerdatei,"FrakRang",GetPVarInt(playerid,"FrakRang"));
  1641. dini_IntSet(Spielerdatei,"Warn",GetPVarInt(playerid,"Warn"));
  1642. dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
  1643. dini_IntSet(Spielerdatei,"Skinauswahl",GetPVarInt(playerid,"Skinauswahl"));
  1644. dini_IntSet(Spielerdatei,"FischKöder",GetPVarInt(playerid,"FischKöder"));
  1645. dini_IntSet(Spielerdatei,"FischAngel",GetPVarInt(playerid,"FischAngel"));
  1646. dini_IntSet(Spielerdatei,"FischLizens",GetPVarInt(playerid,"FischLizens"));
  1647. dini_IntSet(Spielerdatei,"PayDay",GetPVarInt(playerid,"PayDay"));
  1648. dini_IntSet(Spielerdatei,"Respektpunkte",GetPVarInt(playerid,"Respektpunkte"));
  1649. dini_IntSet(Spielerdatei,"Respektpunkte2",GetPVarInt(playerid,"Respektpunkte2"));
  1650. dini_IntSet(Spielerdatei,"BigEars",GetPVarInt(playerid,"BigEars"));
  1651. dini_IntSet(Spielerdatei,"Fort",GetPVarInt(playerid,"Fort"));
  1652. dini_IntSet(Spielerdatei,"Fortzeit",GetPVarInt(playerid,"Fortzeit"));
  1653. dini_IntSet(Spielerdatei,"Zugfahrkarte",GetPVarInt(playerid,"Zugfahrkarte"));
  1654. dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
  1655. dini_IntSet(Spielerdatei,"Bikeschein",GetPVarInt(playerid,"Bikeschein"));
  1656. dini_IntSet(Spielerdatei,"Bootschein",GetPVarInt(playerid,"Bootschein"));
  1657. dini_IntSet(Spielerdatei,"Flugschein",GetPVarInt(playerid,"Flugschein"));
  1658. dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
  1659. dini_IntSet(Spielerdatei,"Truckschein",GetPVarInt(playerid,"Truckschein"));
  1660. dini_IntSet(Spielerdatei,"Wanteds",GetPVarInt(playerid,"Wanteds"));
  1661. dini_IntSet(Spielerdatei,"Knast",GetPVarInt(playerid,"Knast"));
  1662. dini_IntSet(Spielerdatei,"Knastzeit",GetPVarInt(playerid,"Knastzeit"));
  1663. dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));
  1664. dini_IntSet(Spielerdatei,"Navi",GetPVarInt(playerid,"Navi"));
  1665. dini_IntSet(Spielerdatei,"Skates",GetPVarInt(playerid,"Skates"));
  1666. dini_IntSet(Spielerdatei,"Zigaretten",GetPVarInt(playerid,"Zigaretten"));
  1667. dini_IntSet(Spielerdatei,"Tazerd",GetPVarInt(playerid,"Tazerd"));
  1668. dini_IntSet(Spielerdatei,"Tazerdtime",GetPVarInt(playerid,"Tazerdtime"));
  1669. dini_IntSet(Spielerdatei,"Arbeitslosengeld",GetPVarInt(playerid,"Arbeitslosengeld"));
  1670. dini_IntSet(Spielerdatei,"Punkte",GetPVarInt(playerid,"Punkte"));
  1671. dini_IntSet(Spielerdatei,"Perso",GetPVarInt(playerid,"Perso"));
  1672. dini_IntSet(Spielerdatei,"Feuerzeug",GetPVarInt(playerid,"Feuerzeug"));
  1673. dini_IntSet(Spielerdatei,"Nebenjob",GetPVarInt(playerid,"Nebenjob"));
  1674. dini_IntSet(Spielerdatei,"Hitfried",GetPVarInt(playerid,"Hitfried"));
  1675. dini_IntSet(Spielerdatei,"Kanister",GetPVarInt(playerid,"Kanister"));
  1676. dini_IntSet(Spielerdatei,"Timeban",GetPVarInt(playerid,"Timeban"));
  1677. dini_IntSet(Spielerdatei,"Handy",GetPVarInt(playerid,"Handy"));
  1678. dini_IntSet(Spielerdatei,"Handyguthaben",GetPVarInt(playerid,"Handyguthaben"));
  1679. dini_IntSet(Spielerdatei,"Donuts",GetPVarInt(playerid,"Donuts"));
  1680. dini_IntSet(Spielerdatei,"Maske",GetPVarInt(playerid,"Maske"));
  1681. dini_IntSet(Spielerdatei,"Handyaus",GetPVarInt(playerid,"Handyaus"));
  1682. dini_IntSet(Spielerdatei,"Fraksperre",GetPVarInt(playerid,"Fraksperre"));
  1683. dini_IntSet(Spielerdatei,"Flugrang",GetPVarInt(playerid,"Flugrang"));
  1684. dini_IntSet(Spielerdatei,"Eventmanager",GetPVarInt(playerid,"Eventmanager"));
  1685. dini_IntSet(Spielerdatei,"Gestorben",GetPVarInt(playerid,"Gestorben"));
  1686. dini_IntSet(Spielerdatei,"Getotet",GetPVarInt(playerid,"Getotet"));
  1687. dini_IntSet(Spielerdatei,"Kills",GetPVarInt(playerid,"Kills"));
  1688. dini_IntSet(Spielerdatei,"Tode",GetPVarInt(playerid,"Tode"));
  1689. dini_IntSet(Spielerdatei,"Rolex",GetPVarInt(playerid,"Rolex"));
  1690. dini_IntSet(Spielerdatei,"GoldRolex",GetPVarInt(playerid,"GoldRolex"));
  1691. dini_IntSet(Spielerdatei,"SilberRolex",GetPVarInt(playerid,"SilberRolex"));
  1692. dini_IntSet(Spielerdatei,"WeißRolex",GetPVarInt(playerid,"WeißRolex"));
  1693. dini_IntSet(Spielerdatei,"SchwarzRolex",GetPVarInt(playerid,"SchwarzRolex"));
  1694. dini_IntSet(Spielerdatei,"FbiDuty",GetPVarInt(playerid,"FbiDuty"));
  1695. dini_IntSet(Spielerdatei,"drogen",GetPVarInt(playerid,"drogen"));
  1696. }
  1697. }
  1698. return 1;
  1699. }
  1700. stock AccountLaden(playerid)
  1701. {
  1702. if(IsPlayerConnected(playerid))
  1703. {
  1704. GetPlayerName(playerid,name1,sizeof(name1));
  1705. format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name1);
  1706. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  1707. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  1708. SetPVarInt(playerid,"AdminLevel",dini_Int(Spielerdatei,"AdminLevel"));
  1709. SetPVarInt(playerid,"Level",GetPlayerScore(playerid));
  1710. SetPVarInt(playerid,"Owner",dini_Int(Spielerdatei,"Owner"));
  1711. SetPVarInt(playerid,"Mieter",dini_Int(Spielerdatei,"Mieter"));
  1712. SetPVarInt(playerid,"HausID",dini_Int(Spielerdatei,"HausID"));
  1713. SetPVarInt(playerid,"Hausspawn",dini_Int(Spielerdatei,"Hausspawn"));
  1714. SetPVarInt(playerid,"CA",dini_Int(Spielerdatei,"CA"));
  1715. SetPVarInt(playerid,"HausWelt",dini_Int(Spielerdatei,"HausWelt"));
  1716. SetPVarInt(playerid,"HausInterior",dini_Int(Spielerdatei,"HausInterior"));
  1717. SetPVarFloat(playerid,"HausIntX",dini_Float(Spielerdatei,"HausIntX"));
  1718. SetPVarFloat(playerid,"HausIntY",dini_Float(Spielerdatei,"HausIntY"));
  1719. SetPVarFloat(playerid,"HausIntZ",dini_Float(Spielerdatei,"HausIntZ"));
  1720. SetPVarFloat(playerid,"HausExtX",dini_Float(Spielerdatei,"HausExtX"));
  1721. SetPVarFloat(playerid,"HausExtY",dini_Float(Spielerdatei,"HausExtY"));
  1722. SetPVarFloat(playerid,"HausExtZ",dini_Float(Spielerdatei,"HausExtZ"));
  1723. SetPVarInt(playerid,"Verheiratet",dini_Int(Spielerdatei,"Verheiratet"));
  1724. SetPVarInt(playerid,"GR",dini_Int(Spielerdatei,"GR"));
  1725. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  1726. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  1727. SetPVarInt(playerid,"Kontostand",dini_Int(Spielerdatei,"Kontostand"));
  1728. SetPVarInt(playerid,"Konto",dini_Int(Spielerdatei,"Konto"));
  1729. SetPVarInt(playerid,"Karte",dini_Int(Spielerdatei,"Karte"));
  1730. SetPVarInt(playerid,"Aduty",dini_Int(Spielerdatei,"Aduty"));
  1731. SetPVarInt(playerid,"Muted",dini_Int(Spielerdatei,"Muted"));
  1732. SetPVarInt(playerid,"Geschlecht",dini_Int(Spielerdatei,"Geschlecht"));
  1733. SetPVarInt(playerid,"Alter",dini_Int(Spielerdatei,"Alter"));
  1734. SetPVarInt(playerid,"FeuerDuty",dini_Int(Spielerdatei,"FeuerDuty"));
  1735. SetPVarInt(playerid,"MedicDuty",dini_Int(Spielerdatei,"MedicDuty"));
  1736. SetPVarInt(playerid,"AdacDuty",dini_Int(Spielerdatei,"AdacDuty"));
  1737. SetPVarInt(playerid,"LspdDuty",dini_Int(Spielerdatei,"LspdDuty"));
  1738. SetPVarInt(playerid,"FsDuty",dini_Int(Spielerdatei,"FsDuty"));
  1739. SetPVarInt(playerid,"ArmyDuty",dini_Int(Spielerdatei,"ArmyDuty"));
  1740. SetPVarInt(playerid,"SantDuty",dini_Int(Spielerdatei,"SantDuty"));
  1741. SetPVarInt(playerid,"FrakRang",dini_Int(Spielerdatei,"FrakRang"));
  1742. SetPVarInt(playerid,"Warn",dini_Int(Spielerdatei,"Warn"));
  1743. SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
  1744. SetPVarInt(playerid,"Skinauswahl",dini_Int(Spielerdatei,"Skinauswahl"));
  1745. SetPVarInt(playerid,"FischKöder",dini_Int(Spielerdatei,"FischKöder"));
  1746. SetPVarInt(playerid,"FischAngel",dini_Int(Spielerdatei,"FischAngel"));
  1747. SetPVarInt(playerid,"FischLizens",dini_Int(Spielerdatei,"FischLizens"));
  1748. SetPVarInt(playerid,"PayDay",dini_Int(Spielerdatei,"PayDay"));
  1749. SetPVarInt(playerid,"Respektpunkte",dini_Int(Spielerdatei,"Respektpunkte"));
  1750. SetPVarInt(playerid,"Respektpunkte2",dini_Int(Spielerdatei,"Respektpunkte2"));
  1751. SetPVarInt(playerid,"BigEars",dini_Int(Spielerdatei,"BigEars"));
  1752. SetPVarInt(playerid,"Fort",dini_Int(Spielerdatei,"Fort"));
  1753. SetPVarInt(playerid,"Fortzeit",dini_Int(Spielerdatei,"Fortzeit"));
  1754. SetPVarInt(playerid,"Zugfahrkarte",dini_Int(Spielerdatei,"Zugfahrkarte"));
  1755. SetPVarInt(playerid,"Autoschein",dini_Int(Spielerdatei,"Autoschein"));
  1756. SetPVarInt(playerid,"Bikeschein",dini_Int(Spielerdatei,"Bikeschein"));
  1757. SetPVarInt(playerid,"Bootschein",dini_Int(Spielerdatei,"Bootschein"));
  1758. SetPVarInt(playerid,"Flugschein",dini_Int(Spielerdatei,"Flugschein"));
  1759. SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));
  1760. SetPVarInt(playerid,"Truckschein",dini_Int(Spielerdatei,"Truckschein"));
  1761. SetPVarInt(playerid,"Wanteds",dini_Int(Spielerdatei,"Wanteds"));
  1762. SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
  1763. SetPVarInt(playerid,"Knastzeit",dini_Int(Spielerdatei,"Knastzeit"));
  1764. SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premium"));
  1765. SetPVarInt(playerid,"Navi",dini_Int(Spielerdatei,"Navi"));
  1766. SetPVarInt(playerid,"Skates",dini_Int(Spielerdatei,"Skates"));
  1767. SetPVarInt(playerid,"Zigaretten",dini_Int(Spielerdatei,"Zigaretten"));
  1768. SetPVarInt(playerid,"Tazerd",dini_Int(Spielerdatei,"Tazerd"));
  1769. SetPVarInt(playerid,"Tazerdtime",dini_Int(Spielerdatei,"Tazerdtime"));
  1770. SetPVarInt(playerid,"Arbeitslosengeld",dini_Int(Spielerdatei,"Arbeitslosengeld"));
  1771. SetPVarInt(playerid,"Punkte",dini_Int(Spielerdatei,"Punkte"));
  1772. SetPVarInt(playerid,"Perso",dini_Int(Spielerdatei,"Perso"));
  1773. SetPVarInt(playerid,"Feuerzeug",dini_Int(Spielerdatei,"Feuerzeug"));
  1774. SetPVarInt(playerid,"Nebenjob",dini_Int(Spielerdatei,"Nebenjob"));
  1775. SetPVarInt(playerid,"Hitfried",dini_Int(Spielerdatei,"Hitfried"));
  1776. SetPVarInt(playerid,"Kanister",dini_Int(Spielerdatei,"Kanister"));
  1777. SetPVarInt(playerid,"Timeban",dini_Int(Spielerdatei,"Timeban"));
  1778. SetPVarInt(playerid,"Handy",dini_Int(Spielerdatei,"Handy"));
  1779. SetPVarInt(playerid,"Handyguthaben",dini_Int(Spielerdatei,"Handyguthaben"));
  1780. SetPVarInt(playerid,"Donuts",dini_Int(Spielerdatei,"Donuts"));
  1781. SetPVarInt(playerid,"Maske",dini_Int(Spielerdatei,"Maske"));
  1782. SetPVarInt(playerid,"Handyaus",dini_Int(Spielerdatei,"Handyaus"));
  1783. SetPVarInt(playerid,"Fraksperre",dini_Int(Spielerdatei,"Fraksperre"));
  1784. SetPVarInt(playerid,"Flugrang",dini_Int(Spielerdatei,"Flugrang"));
  1785. SetPVarInt(playerid,"Eventmanager",dini_Int(Spielerdatei,"Eventmanager"));
  1786. SetPVarInt(playerid,"Gestorben",dini_Int(Spielerdatei,"Gestorben"));
  1787. SetPVarInt(playerid,"Getotet",dini_Int(Spielerdatei,"Getotet"));
  1788. SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
  1789. SetPVarInt(playerid,"Tode",dini_Int(Spielerdatei,"Tode"));
  1790. SetPVarInt(playerid,"Rolex",dini_Int(Spielerdatei,"Rolex"));
  1791. SetPVarInt(playerid,"GoldRolex",dini_Int(Spielerdatei,"GoldRolex"));
  1792. SetPVarInt(playerid,"SilberRolex",dini_Int(Spielerdatei,"SilberRolex"));
  1793. SetPVarInt(playerid,"WeißeRolex",dini_Int(Spielerdatei,"WeißeRolex"));
  1794. SetPVarInt(playerid,"SchwarzRolex",dini_Int(Spielerdatei,"SchwarzRolex"));
  1795. SetPVarInt(playerid,"FbiDuty",dini_Int(Spielerdatei,"FbiDuty"));
  1796. SetPVarInt(playerid,"drogen",dini_Int(Spielerdatei,"drogen"));
  1797. if(GetPVarInt(playerid,"Baned")==1)
  1798. {
  1799. Kick(playerid);
  1800. }
  1801. if(gettime()<GetPVarInt(playerid,"Timeban"))
  1802. {
  1803. SCM(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
  1804. Kick(playerid);
  1805. }
  1806.  
  1807. SetPVarInt(playerid,"loggedin",1);
  1808. }
  1809. return 1;
  1810. }
  1811. stock Register(playerid,key[])
  1812. {
  1813. if(IsPlayerConnected(playerid))
  1814. {
  1815. GetPlayerName(playerid,name1,sizeof(name1));
  1816. format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name1);
  1817. dini_Create(Spielerdatei);
  1818. dini_Set(Spielerdatei,"Passwort",key);
  1819. SetPlayerScore(playerid,1);
  1820. GivePlayerMoney(playerid,8000);
  1821. SetPVarInt(playerid,"loggedin",1);
  1822. SCM(playerid,BLAU,"Wir heißen dich nun Herzlich in unserer Community Willkommen");
  1823. SetPVarInt(playerid,"HausID",-1);
  1824. SetPVarInt(playerid,"HausWelt",-1);
  1825. SetPVarInt(playerid,"HausInterior",-1);
  1826. SetPVarFloat(playerid,"HausIntX",-1.0);
  1827. SetPVarFloat(playerid,"HausIntY",-1.0);
  1828. SetPVarFloat(playerid,"HausIntZ",-1.0);
  1829. SetPVarFloat(playerid,"HausExtX",-1.0);
  1830. SetPVarFloat(playerid,"HausExtY",-1.0);
  1831. SetPVarFloat(playerid,"HausExtZ",-1.0);
  1832. SetPVarInt(playerid,"Respektpunkte2",4);
  1833. SpielerSpeichern(playerid);
  1834. }
  1835. return 1;
  1836. }
  1837. stock Login(playerid,key[])
  1838. {
  1839. if(IsPlayerConnected(playerid))
  1840. {
  1841. GetPlayerName(playerid,name1,sizeof(name1));
  1842. format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name1);
  1843. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  1844. {
  1845. AccountLaden(playerid);
  1846. if(GetPVarInt(playerid,"Respektpunkte2") == 0)
  1847. {
  1848. if(GetPVarInt(playerid,"Level") == 1)
  1849. {
  1850. SetPVarInt(playerid,"Respektpunkte2",4);
  1851. }
  1852. else if(GetPVarInt(playerid,"Level") == 2)
  1853. {
  1854. SetPVarInt(playerid,"Respektpunkte2",8);
  1855. }
  1856. else if(GetPVarInt(playerid,"Level") == 3)
  1857. {
  1858. SetPVarInt(playerid,"Respektpunkte2",14);
  1859. }
  1860. else if(GetPVarInt(playerid,"Level") == 4)
  1861. {
  1862. SetPVarInt(playerid,"Respektpunkte2",22);
  1863. }
  1864. }
  1865. SCM(playerid,BLAU,"Herzlich Wilkommen auf dem German Reallife Roleplay Server!");
  1866. SCM(playerid,BLAU,"Das German Reallife Roleplay Team wünscht dir noch Viel Spaß!");
  1867. if(GetPlayerMoney(playerid)<0)
  1868. {
  1869. ResetPlayerMoney(playerid);
  1870. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  1871. }
  1872. return 1;
  1873. }
  1874. else
  1875. {
  1876. SendClientMessage(playerid,ROT,"Falsches Passwort! Bitte Connecte erneut!");
  1877. Kick(playerid);
  1878. return 1;
  1879. }
  1880. }
  1881. return 1;
  1882. }
  1883. stock isPlayerInFrakt(playerid,fraktid)
  1884. {
  1885. if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
  1886. return 0;
  1887. }
  1888.  
  1889. stock isPlayerAnAdmin(playerid,rang)
  1890. {
  1891. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  1892. return 0;
  1893. }
  1894. stock sscanf(sstring[], format[], {Float,_}:...)
  1895. {
  1896. #if defined isnull
  1897. if (isnull(sstring))
  1898. #else
  1899. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  1900. #endif
  1901. {
  1902. return format[0];
  1903. }
  1904. #pragma tabsize 4
  1905. new
  1906. formatPos = 0,
  1907. sstringPos = 0,
  1908. paramPos = 2,
  1909. paramCount = numargs(),
  1910. delim = ' ';
  1911. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  1912. {
  1913. sstringPos++;
  1914. }
  1915. while (paramPos < paramCount && sstring[sstringPos])
  1916. {
  1917. switch (format[formatPos++])
  1918. {
  1919. case '\0':
  1920. {
  1921. return 0;
  1922. }
  1923. case 'i', 'd':
  1924. {
  1925. new
  1926. neg = 1,
  1927. num = 0,
  1928. ch = sstring[sstringPos];
  1929. if (ch == '-')
  1930. {
  1931. neg = -1;
  1932. ch = sstring[++sstringPos];
  1933. }
  1934. do
  1935. {
  1936. sstringPos++;
  1937. if ('0' <= ch <= '9')
  1938. {
  1939. num = (num * 10) + (ch - '0');
  1940. }
  1941. else
  1942. {
  1943. return -1;
  1944. }
  1945. }
  1946. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1947. setarg(paramPos, 0, num * neg);
  1948. }
  1949. case 'h', 'x':
  1950. {
  1951. new
  1952. num = 0,
  1953. ch = sstring[sstringPos];
  1954. do
  1955. {
  1956. sstringPos++;
  1957. switch (ch)
  1958. {
  1959. case 'x', 'X':
  1960. {
  1961. num = 0;
  1962. continue;
  1963. }
  1964. case '0' .. '9':
  1965. {
  1966. num = (num << 4) | (ch - '0');
  1967. }
  1968. case 'a' .. 'f':
  1969. {
  1970. num = (num << 4) | (ch - ('a' - 10));
  1971. }
  1972. case 'A' .. 'F':
  1973. {
  1974. num = (num << 4) | (ch - ('A' - 10));
  1975. }
  1976. default:
  1977. {
  1978. return -1;
  1979. }
  1980. }
  1981. }
  1982. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1983. setarg(paramPos, 0, num);
  1984. }
  1985. case 'c':
  1986. {
  1987. setarg(paramPos, 0, sstring[sstringPos++]);
  1988. }
  1989. case 'f':
  1990. {
  1991.  
  1992. new changestr[16], changepos = 0, strpos = sstringPos;
  1993. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  1994. {
  1995. changestr[changepos++] = sstring[strpos++];
  1996. }
  1997. changestr[changepos] = '\0';
  1998. setarg(paramPos,0,_:floatstr(changestr));
  1999. }
  2000. case 'p':
  2001. {
  2002. delim = format[formatPos++];
  2003. continue;
  2004. }
  2005. case '\'':
  2006. {
  2007. new
  2008. end = formatPos - 1,
  2009. ch;
  2010. while ((ch = format[++end]) && ch != '\'') {}
  2011. if (!ch)
  2012. {
  2013. return -1;
  2014. }
  2015. format[end] = '\0';
  2016. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  2017. {
  2018. if (format[end + 1])
  2019. {
  2020. return -1;
  2021. }
  2022. return 0;
  2023. }
  2024. format[end] = '\'';
  2025. sstringPos = ch + (end - formatPos);
  2026. formatPos = end + 1;
  2027. }
  2028. case 'u':
  2029. {
  2030. new
  2031. end = sstringPos - 1,
  2032. id = 0,
  2033. bool:num = true,
  2034. ch;
  2035. while ((ch = sstring[++end]) && ch != delim)
  2036. {
  2037. if (num)
  2038. {
  2039. if ('0' <= ch <= '9')
  2040. {
  2041. id = (id * 10) + (ch - '0');
  2042. }
  2043. else
  2044. {
  2045. num = false;
  2046. }
  2047. }
  2048. }
  2049. if (num && IsPlayerConnected(id))
  2050. {
  2051. setarg(paramPos, 0, id);
  2052. }
  2053. else
  2054. {
  2055. #if !defined foreach
  2056. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  2057. #define __SSCANF_FOREACH__
  2058. #endif
  2059. sstring[end] = '\0';
  2060. num = false;
  2061. new
  2062. name[MAX_PLAYER_NAME];
  2063. id = end - sstringPos;
  2064. foreach (Player, playerid)
  2065. {
  2066. GetPlayerName(playerid, name, sizeof (name));
  2067. if (!strcmp(name, sstring[sstringPos], true, id))
  2068. {
  2069. setarg(paramPos, 0, playerid);
  2070. num = true;
  2071. break;
  2072. }
  2073. }
  2074. if (!num)
  2075. {
  2076. setarg(paramPos, 0, INVALID_PLAYER_ID);
  2077. }
  2078. sstring[end] = ch;
  2079. #if defined __SSCANF_FOREACH__
  2080. #undef foreach
  2081. #undef __SSCANF_FOREACH__
  2082. #endif
  2083. }
  2084. sstringPos = end;
  2085. }
  2086. case 's', 'z':
  2087. {
  2088. new
  2089. i = 0,
  2090. ch;
  2091. if (format[formatPos])
  2092. {
  2093. while ((ch = sstring[sstringPos++]) && ch != delim)
  2094. {
  2095. setarg(paramPos, i++, ch);
  2096. }
  2097. if (!i)
  2098. {
  2099. return -1;
  2100. }
  2101. }
  2102. else
  2103. {
  2104. while ((ch = sstring[sstringPos++]))
  2105. {
  2106. setarg(paramPos, i++, ch);
  2107. }
  2108. }
  2109. sstringPos--;
  2110. setarg(paramPos, i, '\0');
  2111. }
  2112. default:
  2113. {
  2114. continue;
  2115. }
  2116. }
  2117. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  2118. {
  2119. sstringPos++;
  2120. }
  2121. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  2122. {
  2123. sstringPos++;
  2124. }
  2125. paramPos++;
  2126. }
  2127. do
  2128. {
  2129. if ((delim = format[formatPos++]) > ' ')
  2130. {
  2131. if (delim == '\'')
  2132. {
  2133. while ((delim = format[formatPos++]) && delim != '\'') {}
  2134. }
  2135. else if (delim != 'z')
  2136. {
  2137. return delim;
  2138. }
  2139. }
  2140. }
  2141. while (delim > ' ');
  2142. return 0;
  2143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement