exod182

Kleines Selfmade

Sep 18th, 2013
512
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 76.39 KB | None | 0 0
  1. /*
  2. Dieses Script basiert auf DINI!
  3. Script 100% Selfmade by Exod182 / Exod_Martinez / Azure Jr.
  4. Maps by Azure (ab nächster Version)
  5.  
  6. Danke an folgende Personen:
  7. - Mido (Hilfe an Bugs etc)
  8. */
  9. /*
  10. _____________________________________
  11. v0.1
  12. - Register / Login
  13. - Accountspeicherung
  14. - Startgeld festgelegt
  15. _____________________________________
  16. v0.2
  17. - Privatfahrzeuge speichern
  18. - Privatfahrzeuge laden
  19. - Privatfahrzeuge abschliessen
  20. _____________________________________
  21. v0.3
  22. - Anti-Moneyhack
  23. - Serverkasse
  24. - Beim Registrieren wird das
  25. Startgeld aus der Serverkasse
  26. abgezogen
  27. _____________________________________
  28. v0.4
  29. - Dynamischer Noobspawn
  30. - TeamspeakIP speichern / laden (dyn)
  31. - Forumurl speichern / laden(dyn)
  32. _____________________________________
  33. v0.5
  34. - Version speichern / laden (dyn)
  35. - TsIP, Forumurl & Version im TD
  36. - config Datei erstellt sich selber
  37. _____________________________________
  38. v0.6
  39. - Bug beim Parken von Fahrzeugen
  40. behoben
  41. - Anti-Highping
  42. - Anti-Newbie-DM
  43. _____________________________________
  44. v0.6
  45. - Komplett Dynamisches Fraksystem
  46. - /createfraktion Befehl
  47. - /fraktionsverwaltung für Leader
  48. und Co-Leader
  49. _____________________________________
  50. v0.7
  51. - /createfcar für Admins um
  52. ein Fraktionsfahrzeug zu erstellen
  53. - Max-Ping Ingame einstellbar
  54. - 2 Bots (24/7 LS Mall)
  55. _____________________________________
  56. v0.8
  57. - Startgeld Ingame einstellbar
  58. _____________________________________
  59. To do:
  60. - Letzte Position Speichern & Laden
  61. - Dynamisches Biz System fertig machen
  62. - Autosystem neu machen
  63. - FKasse einzahlen / Auszahlen / Stand
  64. - Reportsystem
  65. - Banksystem
  66. - Krankenhaussystem
  67. */
  68.  
  69. #include <a_samp>
  70. #include <Dini>
  71. #include <ocmd>
  72. #include <Farben>
  73. #include <wbb_connect>
  74. //////////////////////////////////////////////////////////////////////////////////
  75. //Farben //
  76. //#define ROT 0xE10000FF //
  77. #define COLOR_NOPARAMS 0xB8860BAA //
  78. #define Adminclr 0xB8860BAA //
  79. //////////////////////////////////////////////////////////////////////////////////
  80. //Speicherpfäde //
  81. #define CONFIGPFAD "/config.ini" //
  82. #define ACCOUNTVERZEICHNIS "/Accounts/" //
  83. #define AUTOVERZEICHNIS "/Autos/" // //
  84. #define BIZPFAD "/Biz/" //
  85. #define FCARPFAD "/FCars/" //
  86. #define FRAKPFAD "/Fraks/" //
  87. ////////////////////////////////////////////////////////////////////////////////// //
  88. #define MAX_BIZ 200 //
  89. #define MAX_FRAKS 20 //
  90. #define MAX_FCARS 500 //
  91. //////////////////////////////////////////////////////////////////////////////////
  92. #define MAX_PINGKICKWARNS 3 //
  93. #define MAX_DM_WARNS 3 //
  94. //////////////////////////////////////////////////////////////////////////////////
  95. #define NPCS //
  96. //////////////////////////////////////////////////////////////////////////////////
  97. #define Funktion%0(%1) forward%0(%1); public%0(%1) //
  98. #define ForAllPlayers(%0) for(new index_%0=0,%0=ConnectedPlayerList[0];\index_%0<ConnectedPlayers; index_%0++,%0=ConnectedPlayerList[index_%0])//
  99. //////////////////////////////////////////////////////////////////////////////////
  100. //Dialoge
  101. enum{
  102. DIALOG_REGISTER,
  103. DIALOG_LOGIN,
  104. DIALOG_ACP,
  105. DIALOG_ACP_FORUM,
  106. DIALOG_ACP_TSIP,
  107. DIALOG_ACP_VERSION,
  108. DIALOG_ACP_MAXPING,
  109. DIALOG_FVERWALTUNG,
  110. DIALOG_FVERWALTUNG_LOHN,
  111. DIALOG_FVERWALTUNG_LOHN_2,
  112. DIALOG_FVERWALTUNG_RANGNAME,
  113. DIALOG_FVERWALTUNG_RANGNAME_2,
  114. DIALOG_ALL_OTHER,
  115. DIALOG_247
  116. }
  117. //New's
  118. new serverkasse,
  119. tsstr[50],
  120. versionstr[20],
  121. bool:tdstatus,
  122. Forumstr[50],
  123. StartGeld,
  124. MAX_PING;
  125.  
  126. new Text:Version,
  127. Text:Forum,
  128. Text:Leiste,
  129. Text:UhrDraw[2];
  130.  
  131. new Auto[MAX_PLAYERS],
  132. HighPing[MAX_PLAYERS] = 0,
  133. DMWarns[MAX_PLAYERS] = 0;
  134. //Forward
  135. forward playerkick(playerid);
  136. //Spieler Enum
  137. enum spielerdaten{
  138. sGeld,
  139. sLevel,
  140. sKills,
  141. sTode,
  142. sAdmin,
  143. sFraktion,
  144. sRang,
  145. sZigaretten,
  146. sKrankenhaus,
  147. Float:sLeben,
  148. Float:sArmor
  149. }
  150. enum businessinfo{
  151. bName[50],
  152. bBesitzer[20],
  153. bTeilhaber[20],
  154. Float:bX,
  155. Float:bY,
  156. Float:bZ,
  157. bVW,
  158. bKasse,
  159. bPreis,
  160. bID
  161. }
  162.  
  163. enum FahrzeugInfo{
  164. vBesitzer[20],
  165. vTyp,
  166. vFraktion,
  167. vRang,
  168. vModel,
  169. Float:vX,
  170. Float:vY,
  171. Float:vZ,
  172. Float:vA,
  173. vFarbe1,
  174. vFarbe2,
  175. vCarID
  176. }
  177.  
  178. enum FrakInfo{
  179. fName[30],
  180. fTyp, // 1 = Cop, 2 = Gang, 3 = News
  181. fKasse,
  182. fRangName1[30],
  183. fRangName2[30],
  184. fRangName3[30],
  185. fRangName4[30],
  186. fRangName5[30],
  187. fRangName6[30],
  188. fRangLohn1,
  189. fRangLohn2,
  190. fRangLohn3,
  191. fRangLohn4,
  192. fRangLohn5,
  193. fRangLohn6
  194. }
  195.  
  196. enum PickupInfo{
  197. pickModel,
  198. pickTyp,
  199. Float:pickX,
  200. Float:pickY,
  201. Float:pickZ
  202. }
  203.  
  204. new vFahrzeug[MAX_VEHICLES][FahrzeugInfo],
  205. Spieler[MAX_PLAYERS][spielerdaten],
  206. BizInfo[MAX_BIZ][businessinfo],
  207. Fraktion[MAX_FRAKS][FrakInfo];
  208.  
  209. /*new bool:Motor[MAX_VEHICLES] = false,
  210. Tank[MAX_VEHICLES] = 100;
  211. */
  212. new Pickup[][PickupInfo]={
  213. {1239,1,1158.1844,-1436.6703,15.7981},
  214. {1239,1,1158.2141,-1443.4108,15.7981}
  215. };
  216. /*
  217. new MaxTank[] = {
  218. 60, //Landstalker
  219. 50,//"Bravura",
  220. 50,//"Buffalo",
  221. 110,//"Linerunner",
  222. 45,//"Pereniel",
  223. 50,//"Sentinel",
  224. 200,//"Dumper",
  225. 80,//"Firetruck",
  226. 75,//"Trashmaster",
  227. 60,//"Stretch",
  228. 40,//"Manana",
  229. 50,//"Infernus",
  230. 50,//"Voodoo",
  231. 90,//"Pony",
  232. 90,//"Mule",
  233. 48,//"Cheetah",
  234. 70,//"Ambulance",
  235. 60,//"Leviathan",
  236. 60,//"Moonbeam",
  237. 50,//"Esperanto",
  238. 45,//"Taxi Company",
  239. 40,//"Washington",
  240. 60,//"Bobcat",
  241. 64,//"Mr Whoopee",
  242. 60,//"BF Injection",
  243. 250,//"Hunter",
  244. 50,//"Premier",
  245. 80,//"Enforcer",
  246. 70,//"Securicar",
  247. 52,//"Banshee",
  248. 50,//"Predator",
  249. 80,//"Bus",
  250. 100,//"Rhino",
  251. 50,//"Barracks",
  252. 55,//"Hotknife",
  253. 100,//"Trailer",
  254. 58,//"Previon",
  255. 95,//"Coach",
  256. 48,//"Cabbie",
  257. 45,//"Stallion",
  258. 70,//"Rumpo",
  259. 100,//"RC Bandit",
  260. 50,//"Romero",
  261. 130,//"Packer",
  262. 120,//"Monster Truck",
  263. 45,//"Admiral",
  264. 50,//"Squalo",
  265. 80,//"Seasparrow",
  266. 30,//"Pizzaboy",
  267. 100,//"Tram",
  268. 100,//"Trailer",
  269. 55,//"Turismo",
  270. 55,//"Speeder",
  271. 60,//"Reefer",
  272. 60,//"Tropic",
  273. 160,//"Flatbed",
  274. 80,//"Yankee",
  275. 20,//"Caddy",
  276. 48,//"Solair",
  277. 75,//"Berkley's RC Van",
  278. 100,//"Skimmer",
  279. 50,//"PCJ-600",
  280. 30,//"Roller",
  281. 45,//"Freeway",
  282. 100,//"RC Baron",
  283. 100,//"RC Raider",
  284. 60,//"Glendale",
  285. 55,//"Oceanic",
  286. 45,//"Sanchez",
  287. 80,//"Sparrow",
  288. 95,//"Patriot",
  289. 25,//"Quad",
  290. 50,//"Coastguard",
  291. 50,//"Dinghy",
  292. 50,//"Hermes",
  293. 55,//"Sabre",
  294. 90,//"Rustler",
  295. 60,//"ZR-350",
  296. 60,//"Walton",
  297. 58,//"Regina",
  298. 55,//"Comet",
  299. 100,//"Fahrrad",
  300. 100,//"Burrito",
  301. 100,//"Camper",
  302. 60,//"Marquis",
  303. 35,//"Baggage",
  304. 150,//"Dozer",
  305. 100,//"Maverick",
  306. 100,//"News Chopper",
  307. 80,//"Rancher",
  308. 80,//"FBI Rancher",
  309. 50,//"Virgo",
  310. 50,//"Greenwood",
  311. 100,//"Jetmax",
  312. 70,//"Hotring",
  313. 80,//"Sandking",
  314. 50,//"Blista Compact",
  315. 80,//"Police Maverick",
  316. 80,//"Boxville",
  317. 58,//"Benson",
  318. 80,//"Mesa",
  319. 100,//"RC Goblin",
  320. 75,//"Hotring Racer",
  321. 75,//"Hotring Racer",
  322. 75,//"Bloodring Banger",
  323. 75,//"Rancher",
  324. 60,//"Super GT",
  325. 45,//"Elegant",
  326. 110,//"Journey",
  327. 100,//"Bike",
  328. 100,//"Mountain Bike",
  329. 50,//"Beagle",
  330. 50,//"Cropdust",
  331. 50,//"Stunt",
  332. 140,//"Tanker",
  333. 100,//"RoadTrain",
  334. 50,//"Nebula",
  335. 50,//"Majestic",
  336. 48,//"Buccaneer",
  337. 150,//"Shamal",
  338. 175,//"Hydra",
  339. 45,//"FCR-900",
  340. 45,//"NRG-500",
  341. 48,//"HPV1000",
  342. 135,//"Cement Truck",
  343. 75,//"Tow Truck",
  344. 60,//"Fortune",
  345. 60,//"Cadrona",
  346. 65,//"FBI Truck",
  347. 55,//"Willard",
  348. 30,//"Forklift",
  349. 35,//"Traktor",
  350. 60,//"Combine",
  351. 50,//"Feltzer",
  352. 50,//"Remington",
  353. 55,//"Slamvan",
  354. 55,//"Blade",
  355. 100,//"Freight",
  356. 100,//"Streak",
  357. 100,//"Vortex",
  358. 48,//"Vincent",
  359. 55,//"Bullet",
  360. 58,//"Clover",
  361. 60,//"Sadler",
  362. 90,//"Firetruck",
  363. 60,//"Hustler",
  364. 50,//"Intruder",
  365. 40,//"Primo",
  366. 130,//"Cargobob",
  367. 60,//"Tampa",
  368. 60,//"Sunrise",
  369. 60,//"Merit",
  370. 100,//"Utility",
  371. 50,//"Nevada",
  372. 80,//"Yosemite",
  373. 60,//"Windsor",
  374. 100,//"Monster Truck",
  375. 100,//"Monster Truck",
  376. 55,//"Uranus",
  377. 60,//"Jester",
  378. 60,//"Sultan",
  379. 60,//"Stratum",
  380. 60,//"Elegy",
  381. 150,//"Raindance",
  382. 100,//"RC Tiger",
  383. 50,//"Flash",
  384. 50,//"Tahoma",
  385. 55,//"Savanna",
  386. 60,//"Bandito",
  387. 100,//"Freight",
  388. 100,//"Trailer",
  389. 20,//"Kart",
  390. 20,//"Mower",
  391. 200,//"Duneride",
  392. 35,//"Sweeper",
  393. 50,//"Broadway",
  394. 50,//"Tornado",
  395. 200,//"AT-400",
  396. 200,//"DFT-30",
  397. 65,//"Huntley",
  398. 60,//"Stafford",
  399. 40,//"BF-400",
  400. 70,//"Newsvan",
  401. 30,//"Tug",
  402. 100,//"Trailer",
  403. 50,//"Emperor",
  404. 40,//"Wayfarer",
  405. 60,//"Euros",
  406. 90,//"Hotdog",
  407. 60,//"Club",
  408. 100,//"Trailer",
  409. 100,//"Trailer",
  410. 200,//"Andromada",
  411. 95,//"Dodo",
  412. 100,//"RC Cam",
  413. 50,//"Launch",
  414. 60,//"Streifenwagen",
  415. 60,//"Streifenwagen",
  416. 60,//"Streifenwagen",
  417. 75,//"Polizei Ranger",
  418. 50,//"Picador",
  419. 75,//"S.W.A.T Elite Troop Van",
  420. 55,//"Alpha",
  421. 55,//"Phoenix",
  422. 50,//"Glendale",
  423. 50,//"Sadler",
  424. 100,//"Luggage Trailer",
  425. 100,//"Luggage Trailer",
  426. 100,//"Stair Trailer",
  427. 52,//"Boxville",
  428. 100,//"Farm Plow",
  429. 100//"Utility Trailer"
  430. };
  431.  
  432. new FahrzeugNamen[][] = {
  433. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Pereniel", "Sentinel",
  434. "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  435. "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan",
  436. "Moonbeam", "Esperanto", "Taxi Company", "Washington", "Bobcat",
  437. "Mr Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar",
  438. "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
  439. "Trailer", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo",
  440. "RC Bandit", "Romero", "Packer", "Monster Truck", "Admiral", "Squalo",
  441. "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  442. "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
  443. "Berkley's RC Van", "Skimmer", "PCJ-600", "Roller", "Freeway",
  444. "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
  445. "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler",
  446. "ZR-350", "Walton", "Regina", "Comet", "Fahrrad", "Burrito", "Camper",
  447. "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher",
  448. "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  449. "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa",
  450. "RC Goblin", "Hotring Racer", "Hotring Racer", "Bloodring Banger",
  451. "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike",
  452. "Beagle", "Cropdust", "Stunt", "Tanker", "RoadTrain", "Nebula",
  453. "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500",
  454. "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck",
  455. "Willard", "Forklift", "Traktor", "Combine", "Feltzer","Remington",
  456. "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet",
  457. "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob",
  458. "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor",
  459. "Monster Truck", "Monster Truck", "Uranus", "Jester", "Sultan", "Stratum",
  460. "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  461. "Freight", "Trailer", "Kart", "Mower", "Duneride", "Sweeper", "Broadway",
  462. "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "Newsvan",
  463. "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Trailer",
  464. "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Streifenwagen",
  465. "Streifenwagen", "Streifenwagen", "Polizei Ranger", "Picador",
  466. "S.W.A.T Elite Troop Van", "Alpha", "Phoenix", "Glendale", "Sadler",
  467. "Luggage Trailer", "Luggage Trailer", "Stair Trailer", "Boxville",
  468. "Farm Plow", "Utility Trailer"
  469. };*/
  470. //Script anfang
  471. main()
  472. {
  473. print("\n----------------------------------");
  474. print(" Kleines Roleplay Script [DINI] by Azure Jr.");
  475. print("----------------------------------\n");
  476. }
  477.  
  478. Funktion OnGameModeInit()
  479. {
  480. SetGameModeText("Derby");
  481.  
  482. DisableInteriorEnterExits();
  483. EnableStuntBonusForAll(false);
  484. ShowPlayerMarkers(false);
  485. UsePlayerPedAnims();
  486.  
  487. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  488. print("\n-------------------------------------------------------------------");
  489. if(!dini_Exists(CONFIGPFAD))
  490. {
  491. dini_Create(CONFIGPFAD);
  492. dini_IntSet(CONFIGPFAD, "ServerKasse", 5000);
  493. print(" *[DATEI] config.ini erstellt");
  494. dini_FloatSet(CONFIGPFAD, "Noo bX", 1129.063232);
  495. dini_FloatSet(CONFIGPFAD, "NoobY", -1488.068847);
  496. dini_FloatSet(CONFIGPFAD, "NoobZ", 22.769031);
  497. dini_FloatSet(CONFIGPFAD, "NoobA", 1.817361);
  498. dini_Set(CONFIGPFAD, "Forum", "http://xivity-gaming.de");
  499. dini_Set(CONFIGPFAD, "TeamspeakIP", "123.123.123:9987");
  500. dini_Set(CONFIGPFAD, "Version", "1.0");
  501. dini_IntSet(CONFIGPFAD, "MaxPing", 300);
  502. dini_IntSet(CONFIGPFAD, "Startgeld", 500);
  503. }
  504. for(new i=0;i<MAX_BIZ;i++)
  505. {
  506. LoadBiz(i);
  507. }
  508. for(new i=0;i<MAX_FRAKS;i++)
  509. {
  510. LoadFrak(i);
  511. }
  512. for(new i=0;i<MAX_FCARS;i++)
  513. {
  514. LoadFrakCar(i);
  515. }
  516. for(new i=0;i<sizeof(Pickup);i++)
  517. {
  518. CreatePickup(Pickup[i][pickModel],Pickup[i][pickTyp], Pickup[i][pickX], Pickup[i][pickY], Pickup[i][pickZ], -1);
  519. }
  520. //TextLabels
  521. Create3DTextLabel("Benutze '/buymenu' um\ndas Kaufmenü zu öffnen",WEISS,1158.1844,-1436.6703,15.7981,25,0,1);
  522. Create3DTextLabel("Benutze '/buymenu' um\ndas Kaufmenü zu öffnen",WEISS,1158.2141,-1443.4108,15.7981,25,0,1);
  523. //
  524. serverkasse = dini_Int(CONFIGPFAD,"ServerKasse");
  525. MAX_PING = dini_Int(CONFIGPFAD, "MaxPing");
  526. StartGeld = dini_Int(CONFIGPFAD, "Startgeld");
  527. format(tsstr, sizeof(tsstr), "~g~Teamspeak3:~w~ %s", dini_Get(CONFIGPFAD, "TeamspeakIP"));
  528. format(Forumstr, sizeof(Forumstr), "~g~Forum:~w~ %s", dini_Get(CONFIGPFAD, "Forum"));
  529. format(versionstr, sizeof(versionstr), "~g~V~w~%s", dini_Get(CONFIGPFAD, "Version"));
  530. print(" *[DATEI] config.ini gelesen");
  531. printf(" *[DATEI] ServerKasse (config.ini) enthält %d",serverkasse);
  532. printf(" *[DATEI] TeamspeakIP (config.ini): %s", tsstr);
  533. printf(" *[DATEI] MaxPing (config.ini): %d", MAX_PING);
  534. print("\n-------------------------------------------------------------------");
  535.  
  536. #if defined NPCS
  537. ConnectNPC("Marc", "verkaufer1");
  538. ConnectNPC("Taddl", "verkaufer2");
  539. #endif
  540.  
  541. TextDraws();
  542. ObjekteLaden();
  543.  
  544. SetTimer("Other2", 966, 1);
  545. SetTimer("PayDayTimer", 973, 1);
  546. SetTimer("UpdateTextDraws",4917, 1);
  547. return 1;
  548. }
  549.  
  550. Funktion OnGameModeExit()
  551. {
  552. for(new i=0;i<MAX_PLAYERS;i++)
  553. {
  554. SpielerSpeichern(i);
  555. }
  556. for(new i=0;i<MAX_FRAKS;i++)
  557. {
  558. SaveFrak(i);
  559. }
  560. dini_IntSet(CONFIGPFAD,"ServerKasse",serverkasse);
  561. return 1;
  562. }
  563.  
  564. Funktion OnPlayerRequestClass(playerid, classid)
  565. {
  566. new pfad[40];
  567. format(pfad, sizeof(pfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
  568. if(dini_Exists(pfad))
  569. {
  570. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login","Bitte gib dein Passwort ein","Einloggen","Abbrechen");
  571. }
  572. else
  573. {
  574. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "Bitte geb dein Passwort ein","Registrieren", "Abbrechen");
  575. }
  576. return 1;
  577. }
  578.  
  579. Funktion OnPlayerConnect(playerid)
  580. {
  581. ObjekteEntfernen(playerid);
  582. CreatePlayerCar(playerid);
  583. return 1;
  584. }
  585.  
  586. Funktion OnPlayerDisconnect(playerid, reason)
  587. {
  588. SpielerSpeichern(playerid);
  589. // for(new r; spielerdaten:r < spielerdaten; ++r) Spieler[playerid][spielerdaten:r] = 0;
  590. DestroyVehicle(Auto[playerid]);
  591. return 1;
  592. }
  593.  
  594. Funktion OnPlayerSpawn(playerid)
  595. {
  596. if(GetPVarInt(playerid, "FirstSpawn") == 1)
  597. {
  598. new Float:X = dini_Float("/config.ini", "NoobX");
  599. new Float:Y = dini_Float("/config.ini", "NoobY");
  600. new Float:Z = dini_Float("/config.ini", "NoobZ");
  601. new Float:A = dini_Float("/config.ini", "NoobA");
  602. SetPlayerPos(playerid, X, Y, Z);
  603. SetPlayerFacingAngle(playerid, A);
  604. }
  605. else if(Spieler[playerid][sKrankenhaus] == 1)
  606. {
  607. SetTimerEx("KHPTimer", 1000*90, false, "i", playerid);
  608. SetPlayerPos(playerid, 2045.5037,-1405.9645,27.6234);
  609. InterpolateCameraPos(playerid, 1915.433593, -1465.164672, 38.463863, 2053.368652, -1496.945068, 38.476909, 25000);
  610. InterpolateCameraLookAt(playerid, 1918.854370, -1461.719482, 37.268520, 2052.998535, -1492.131591, 37.175659, 25000);
  611. }
  612.  
  613. for(new i=0;i<sizeof(UhrDraw);i++)TextDrawShowForPlayer(playerid, UhrDraw[i]);
  614.  
  615. if(tdstatus == false)
  616. {
  617. format(tsstr, sizeof(tsstr), "~g~Teamspeak3:~w~ %s", dini_Get(CONFIGPFAD, "TeamspeakIP"));
  618. TextDrawSetString(Forum, tsstr);
  619. tdstatus = true;
  620. }
  621. else
  622. {
  623. format(Forumstr, sizeof(Forumstr), "~g~Forum:~w~ %s", dini_Get(CONFIGPFAD, "Forum"));
  624. TextDrawSetString(Forum, Forumstr);
  625. tdstatus = false;
  626. }
  627. format(versionstr, sizeof(versionstr), "~g~V~w~%s", dini_Get(CONFIGPFAD, "Version"));
  628. TextDrawSetString(Version, versionstr);
  629.  
  630. TextDrawShowForPlayer(playerid, Version);
  631. TextDrawShowForPlayer(playerid, Forum);
  632. TextDrawShowForPlayer(playerid, Leiste);
  633.  
  634. return 1;
  635. }
  636.  
  637. Funktion OnPlayerDeath(playerid, killerid, reason)
  638. {
  639. for(new i=0;i<sizeof(UhrDraw);i++)TextDrawHideForPlayer(playerid, UhrDraw[i]);
  640. return 1;
  641. }
  642.  
  643. Funktion OnVehicleSpawn(vehicleid)
  644. {
  645. for(new i=0;i<MAX_PLAYERS;i++)
  646. {
  647. if(vehicleid == Auto[i])
  648. {
  649. new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
  650. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  651. SetVehicleParamsEx(vehicleid, false, lights, alarm, true, bonnet, boot, objective);
  652. }
  653. }
  654. return 1;
  655. }
  656.  
  657. Funktion OnVehicleDeath(vehicleid, killerid)
  658. {
  659. return 1;
  660. }
  661.  
  662. Funktion OnPlayerText(playerid, text[])
  663. {
  664. return 1;
  665. }
  666.  
  667. Funktion OnPlayerCommandText(playerid, cmdtext[])
  668. {
  669. new cmdstr[128];
  670. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  671. {
  672. // Do something here
  673. return 1;
  674. }
  675. format(cmdstr, sizeof(cmdstr), "Den Befehl (%s) gibt es nicht!",cmdtext);
  676. return SendClientMessage(playerid, ROT, cmdstr);
  677. }
  678.  
  679. ocmd:test(playerid)
  680. {
  681. Spieler[playerid][sKrankenhaus] = 1;
  682. SpawnPlayer(playerid);
  683. return 1;
  684. }
  685.  
  686. ocmd:buymenu(playerid, params[])
  687. {
  688. ShowPlayerDialog(playerid, DIALOG_247, DIALOG_STYLE_LIST, "Kaufmenü - 24/7", "Zigaretten\t5€\n", "Kaufen", "Abbrechen");
  689. return 1;
  690. }
  691.  
  692. ocmd:createfcar(playerid, params[])
  693. {
  694. if(Spieler[playerid][sAdmin] < 5)return NoAdmin(playerid, 6);
  695. new fcarstr[60], x, model, frak, rang, c1, c2, Float:X, Float:Y, Float:Z, Float:A;
  696. if(sscanf(params, "ddddd", model, frak, rang, c1, c2))return ERROR(playerid, "Benutzung: /createfcar [Model] [Fraktion] [Rang] [Farbe1] [Farbe2]");
  697. if(rang < 1 || rang > 6)return ERROR(playerid, "Der Rang muss zwischen 1 und 6 liegen");
  698. for(new i=0;i<MAX_FRAKS;i++)
  699. {
  700. format(fcarstr, sizeof(fcarstr),""#FCARPFAD"%d.ini",i);
  701. if(dini_Exists(fcarstr))
  702. {
  703. x++;
  704. }
  705. }
  706. if(frak > x-1 || frak < 0)return ERROR(playerid, "Diese Fraktion existiert nicht!");
  707. GetPlayerPos(playerid, X, Y, Z);
  708. GetPlayerFacingAngle(playerid, A);
  709. for(new i=0;i<MAX_FCARS;i++)
  710. {
  711. format(fcarstr, sizeof(fcarstr), ""#FCARPFAD"%d.ini", i);
  712. if(!dini_Exists(fcarstr))
  713. {
  714. dini_Create(fcarstr);
  715. dini_IntSet(fcarstr, "Model", model);
  716. dini_IntSet(fcarstr, "Fraktion", frak);
  717. dini_IntSet(fcarstr, "Rang", rang);
  718. dini_IntSet(fcarstr, "Typ", 1);
  719. dini_FloatSet(fcarstr, "X", X);
  720. dini_FloatSet(fcarstr, "Y", Y);
  721. dini_FloatSet(fcarstr, "Z", Z);
  722. dini_FloatSet(fcarstr, "A", A);
  723. dini_IntSet(fcarstr, "Farbe1", c1);
  724. dini_IntSet(fcarstr, "Farbe2", c2);
  725. vFahrzeug[i][vModel] = dini_Int(fcarstr, "Model");
  726. vFahrzeug[i][vFraktion] = dini_Int(fcarstr, "Fraktion");
  727. vFahrzeug[i][vRang] = dini_Int(fcarstr, "Rang");
  728. vFahrzeug[i][vTyp] = dini_Int(fcarstr, "Typ");
  729. vFahrzeug[i][vX] = dini_Float(fcarstr, "X");
  730. vFahrzeug[i][vY] = dini_Float(fcarstr, "Y");
  731. vFahrzeug[i][vZ] = dini_Float(fcarstr, "Z");
  732. vFahrzeug[i][vA] = dini_Float(fcarstr, "A");
  733. vFahrzeug[i][vFarbe1] = dini_Int(fcarstr, "Farbe1");
  734. vFahrzeug[i][vFarbe2] = dini_Int(fcarstr, "Farbe2");
  735. vFahrzeug[i][vCarID] = CreateVehicle(vFahrzeug[i][vModel],vFahrzeug[i][vX], vFahrzeug[i][vY], vFahrzeug[i][vZ], vFahrzeug[i][vA], vFahrzeug[i][vFarbe1], vFahrzeug[i][vFarbe2], -1);
  736. return 1;
  737. }
  738. }
  739. return 1;
  740. }
  741.  
  742. ocmd:makeleader(playerid, params[])
  743. {
  744. new frakstr[60], x, id, frak;
  745. for(new i=0;i<MAX_FRAKS;i++)
  746. {
  747. format(frakstr, sizeof(frakstr),""#FRAKPFAD"%d.ini",i);
  748. if(dini_Exists(frakstr))
  749. {
  750. x++;
  751. }
  752. }
  753. if(sscanf(params, "ud", id, frak))return ERROR(playerid, "Benutzung: /makeleader [Name / ID] [FraktionsID]");
  754. if(frak > x-1 || frak < 0)return ERROR(playerid, "Diese Fraktion existiert nicht!");
  755. Spieler[id][sFraktion] = frak;
  756. Spieler[id][sRang] = 6;
  757. SpielerSpeichern(id);
  758. return 1;
  759. }
  760.  
  761. ocmd:fraktionsverwaltung(playerid)
  762. {
  763. if(Spieler[playerid][sFraktion] == 0)return ERROR(playerid, "Du bist in keiner Fraktion!");
  764. if(Spieler[playerid][sRang] < 5)return ERROR(playerid, "Du bist nicht der Co-/Leader der Fraktion");
  765. ShowPlayerDialog(playerid, DIALOG_FVERWALTUNG, DIALOG_STYLE_LIST, "Fraktionsverwaltung", "Ranglohn verändern\nRangnamen ändern\nFraktionskasse verwalten", "Auswählen", "Abbrechen");
  766. return 1;
  767. }
  768.  
  769. ocmd:fraktionen(playerid)
  770. {
  771. new fstr[40], fraks[1800];
  772. for(new i=0;i<MAX_FRAKS;i++)
  773. {
  774. format(fstr, sizeof(fstr), "%s", Fraktion[i][fName]);
  775. strcat(fraks, fstr);strcat(fraks, "\n");
  776. }
  777. ShowInfoBox(playerid,"Fraktionen", fraks);
  778. return 1;
  779. }
  780.  
  781. ocmd:createfraktion(playerid, params[])
  782. {
  783. new frakstr[60], fname[30], typ, kasse;
  784. if(Spieler[playerid][sAdmin] < 6)return NoAdmin(playerid, 6);
  785. if(sscanf(params, "sdd", fname, typ, kasse))return ERROR(playerid, "Benutzung: /createfraktion [Fraktionsname] [Typ] [FrakKasse]");
  786. for(new i=0;i<MAX_FRAKS;i++)
  787. {
  788. format(frakstr, sizeof(frakstr),""#FRAKPFAD"%d.ini",i);
  789. if(!dini_Exists(frakstr))
  790. {
  791. dini_Create(frakstr);
  792. dini_Set(frakstr, "Fraktionsname", fname);
  793. dini_IntSet(frakstr, "Typ", typ);
  794. dini_IntSet(frakstr, "Kasse", kasse);
  795. dini_Set(frakstr, "Rang1", "Unbenannt");
  796. dini_Set(frakstr, "Rang2", "Unbenannt");
  797. dini_Set(frakstr, "Rang3", "Unbenannt");
  798. dini_Set(frakstr, "Rang4", "Unbenannt");
  799. dini_Set(frakstr, "Rang5", "Unbenannt");
  800. dini_Set(frakstr, "Rang6", "Unbenannt");
  801. //fName[30],fTyp,fKasse,fRangName1-6
  802. //Fraktionsname, Typ, Kasse, Rang1-6
  803. LoadFrak(i);
  804. return 1;
  805. }
  806. }
  807. return 1;
  808. }
  809.  
  810. ocmd:m(playerid, params[])
  811. {
  812. new ax[30], axy[30], axyb[128], axyby[200];
  813. if(Fraktion[Spieler[playerid][sFraktion]][fTyp] != 1)return ERROR(playerid, "Du bist in keiner Staatsfraktion");
  814. if(sscanf(params, "s", axyb))return ERROR(playerid, "Benutzung: /m(egafon) [Text]");
  815. format(ax, sizeof(ax), "%s", Fraktion[Spieler[playerid][sFraktion]][fName]);
  816. switch (Spieler[playerid][sRang])
  817. {
  818. case 1: format(axy, sizeof(axy), "%s", Fraktion[Spieler[playerid][sFraktion]][fRangName1]);
  819. case 2: format(axy, sizeof(axy), "%s", Fraktion[Spieler[playerid][sFraktion]][fRangName2]);
  820. case 3: format(axy, sizeof(axy), "%s", Fraktion[Spieler[playerid][sFraktion]][fRangName3]);
  821. case 4: format(axy, sizeof(axy), "%s", Fraktion[Spieler[playerid][sFraktion]][fRangName4]);
  822. case 5: format(axy, sizeof(axy), "%s", Fraktion[Spieler[playerid][sFraktion]][fRangName5]);
  823. case 6: format(axy, sizeof(axy), "%s", Fraktion[Spieler[playerid][sFraktion]][fRangName6]);
  824. default: axy = "Error";
  825. }
  826. format(axyby, sizeof(axyby), "%s %s %s: %s", ax, axy, SpielerName(playerid), axyb);
  827. SendClientMessageToAll(COLOR_RED, axyby);
  828. return 1;
  829. }
  830.  
  831. ocmd:megafon(playerid, params[])return ocmd_m(playerid, params);
  832.  
  833. ocmd:lock(playerid)
  834. {
  835. new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective, Float:vXX, Float:vYY, Float:vZZ;
  836. GetVehicleParamsEx(Auto[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
  837. GetVehiclePos(Auto[playerid], vXX, vYY, vZZ);
  838. if(IsPlayerInRangeOfPoint(playerid, 5.0, vXX, vYY, vZZ))
  839. {
  840. if(doors==true)
  841. {
  842. SetVehicleParamsEx(Auto[playerid], engine, lights, alarm, false, bonnet, boot, objective);
  843. PlayerPlaySound(playerid, 1027, 0.0, 0.0, 0.0);
  844. SendClientMessage(playerid, ROT, "Du hast dein Fahrzeug aufgeschlossen");
  845. }
  846. else
  847. {
  848. SetVehicleParamsEx(Auto[playerid], engine, lights, alarm, true, bonnet, boot, objective);
  849. PlayerPlaySound(playerid, 1027, 0.0, 0.0, 0.0);
  850. SendClientMessage(playerid, ROT, "Du hast dein Fahrzeug abgeschlossen");
  851. }
  852. }
  853. else return ERROR(playerid, "Du bist nicht in der Nähe deines Fahrzeuges");
  854. return 1;
  855. }
  856.  
  857. //gefixxt von Mido (Danke <3)
  858. ocmd:buybiz(playerid)
  859. {
  860. new bizstr[50];
  861. for(new i;i<MAX_BIZ;i++)
  862. {
  863. format(bizstr, sizeof(bizstr),""#BIZPFAD"%d.ini",i);
  864. if(IsPlayerInRangeOfPoint(playerid,1.5,BizInfo[i][bX],BizInfo[i][bY],BizInfo[i][bZ]))
  865. {
  866. if(Spieler[playerid][sGeld]>=BizInfo[i][bPreis])
  867. {
  868. dini_Set(bizstr,"Besitzer",SpielerName(playerid));
  869. GibGeld(playerid,-(BizInfo[i][bPreis]));
  870. LoadBiz(i);
  871. SendClientMessage(playerid,ROT,"Du hast dir ein Biz gekauft");
  872. break;
  873. }
  874. else
  875. {
  876. ERROR(playerid, "Du hast nicht genug Geld!");
  877. }
  878. }
  879. else if(i==MAX_BIZ-1)
  880. {
  881. ERROR(playerid,"Du bist an keinem Business");
  882. }
  883. }
  884. return 1;
  885. }
  886.  
  887.  
  888. ocmd:createbiz(playerid, params[])
  889. {
  890. new Float:X, Float:Y, Float:Z, preis, name[50], bizstr[50];
  891. if(sscanf(params, "sd", name, preis))return ERROR(playerid, "Benutzung: /createbiz [Name] [Preis]");
  892. GetPlayerPos(playerid, X, Y, Z);
  893.  
  894. for(new i=0;i<MAX_BIZ;i++)
  895. {
  896. format(bizstr, sizeof(bizstr), ""#BIZPFAD"%d.ini", i);
  897. if(!dini_Exists(bizstr))
  898. {
  899. dini_Create(bizstr);
  900. dini_Set(bizstr, "Name", name);
  901. dini_Set(bizstr, "Besitzer", "Niemand");
  902. dini_Set(bizstr, "Teilhaber", "Niemand");
  903. dini_IntSet(bizstr, "Preis", preis);
  904. dini_FloatSet(bizstr, "X", X);
  905. dini_FloatSet(bizstr, "Y", Y);
  906. dini_FloatSet(bizstr, "Z", Z);
  907. dini_IntSet(bizstr, "Kasse", 50000);
  908. LoadBiz(i);
  909. return 1;
  910. }
  911. }
  912. return 1;
  913. }
  914.  
  915. ocmd:makeadmin(playerid, params[])
  916. {
  917. new id, level, str[100], alvl[20];
  918. if(Spieler[playerid][sAdmin] >= 5 || IsPlayerAdmin(playerid))
  919. {
  920. if(sscanf(params, "ud",id, level))return ERROR(playerid, "Benutzung: /makeadmin [Name / ID] [Adminlevel]");
  921. if(!IsPlayerConnected(id))return ERROR(playerid, "Der Spieler ist nicht zum Server verbunden");
  922. Spieler[id][sAdmin] = level;
  923. SpielerSpeichern(id);
  924. switch(level)
  925. {
  926. case 1:return alvl="Supporter";
  927. case 2:return alvl="Administrator";
  928. case 3:return alvl="Haupt-Supporter";
  929. case 4:return alvl="Servermanager";
  930. case 5:return alvl="Projektleiter";
  931. default:return alvl="Kein Admin";
  932. }
  933. format(str, sizeof(str), "%s hat %s zu einem Admin ernannt Level %s!", SpielerName(playerid), SpielerName(id), alvl);
  934. SendClientMessageToAll(ROT, str);
  935. }
  936. else NoAdmin(playerid, 4);
  937. return 1;
  938. }
  939.  
  940. ocmd:parken(playerid)
  941. {
  942. new autostr[40];
  943. format(autostr, sizeof(autostr), ""#AUTOVERZEICHNIS"%s.ini", SpielerName(playerid));
  944. new Float:vX1, Float:vY1, Float:vZ1, Float:vA1;
  945. GetVehiclePos(Auto[playerid], vX1, vY1, vZ1);
  946. GetVehicleZAngle(Auto[playerid],vA1);
  947. if(GetPlayerVehicleID(playerid) == Auto[playerid])
  948. {
  949. dini_FloatSet(autostr, "X", vX1);
  950. dini_FloatSet(autostr, "Y", vY1);
  951. dini_FloatSet(autostr, "Z", vZ1);
  952. dini_FloatSet(autostr, "A", vA1);
  953. RemovePlayerFromVehicle(playerid);
  954. DestroyVehicle(Auto[playerid]);
  955. CreatePlayerCar(playerid);
  956. PutPlayerInVehicle(playerid, Auto[playerid], 0);
  957. }
  958. return 1;
  959. }
  960.  
  961. ocmd:rc(playerid)
  962. {
  963. CreatePlayerCar(playerid);
  964. return 1;
  965. }
  966.  
  967. ocmd:buycar(playerid)
  968. {
  969. new autostr[40];
  970. format(autostr, sizeof(autostr), ""#AUTOVERZEICHNIS"%s.ini", SpielerName(playerid));
  971. dini_Set(autostr, "Besitzer", SpielerName(playerid));
  972. if(!dini_Exists(autostr))
  973. {
  974. dini_Create(autostr);
  975. dini_IntSet(autostr, "Model", 411);
  976. dini_FloatSet(autostr, "X", 1104.665893);
  977. dini_FloatSet(autostr, "Y", -1460.945800);
  978. dini_FloatSet(autostr, "Z", 15.524399);
  979. dini_FloatSet(autostr, "A", 269.711486);
  980. dini_IntSet(autostr, "Farbe1", 0);
  981. dini_IntSet(autostr, "Farbe2", 0);
  982. dini_Set(autostr, "Nummernschild", "Neuwagen");
  983. CreatePlayerCar(playerid);
  984. }
  985. else ERROR(playerid, "Du hast bereits ein Fahrzeug");
  986. return 1;
  987. }
  988.  
  989. ocmd:acp(playerid)
  990. {
  991. ShowPlayerDialog(playerid, DIALOG_ACP, DIALOG_STYLE_LIST, "{FFFF00}A{FFFFFF}dmin {FFFF00}C{FFFFFF}ontrol {FFFF00}P{FFFFFF}anel","Server restarten\nServerkasse\nForumURL ändern\nTeamspeakIp ändern\nVersion ändern\nSpawn setzen","Auswählen","Abbrechen");
  992. return 1;
  993. }
  994.  
  995. ocmd:createcar(playerid, params[])
  996. {
  997. if(Spieler[playerid][sAdmin] < 1)return NoAdmin(playerid, 1);
  998. new model, Float:X, Float:Y, Float:Z, Float:A;
  999. if(sscanf(params, "d", model))return ERROR(playerid, "Benutzung: /createcar [Model]");
  1000. GetPlayerPos(playerid, X, Y, Z);
  1001. GetPlayerFacingAngle(playerid, A);
  1002. CreateVehicle(model, X, Y, Z, A, -1, -1, -1);
  1003. return 1;
  1004. }
  1005.  
  1006. ocmd:givemoney(playerid, params[])
  1007. {
  1008. new id, geld;
  1009. if(Spieler[playerid][sAdmin] < 4)return NoAdmin(playerid, 4);
  1010. if(sscanf(params, "ud", id, geld))return ERROR(playerid, "Benutzung: /givemoney [Name/ID] [Menge]");
  1011. GibGeld(id, geld);
  1012. return 1;
  1013. }
  1014.  
  1015. ocmd:spenden(playerid, params[])
  1016. {
  1017. new spende;
  1018. if(sscanf(params, "d", spende))ERROR(playerid, "Benutzung: /spenden [Anzahl]");
  1019. if(GetPlayerMoney(playerid) < spende)return ERROR(playerid, "Du kannst nicht mehr Spenden, als du besitzt");
  1020. serverkasse += spende;
  1021. GivePlayerMoney(playerid, -spende);
  1022. dini_IntSet(CONFIGPFAD,"ServerKasse",serverkasse);
  1023. return 1;
  1024. }
  1025.  
  1026. Funktion OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1027. {
  1028. for(new i=0;i<MAX_VEHICLES;i++)
  1029. {
  1030. if(vFahrzeug[i][vTyp] == 1)
  1031. {
  1032. if(vehicleid == vFahrzeug[i][vCarID])
  1033. {
  1034. if(Spieler[playerid][sFraktion] != vFahrzeug[i][vFraktion])
  1035. {
  1036. TogglePlayerControllable(playerid, false);
  1037. RemovePlayerFromVehicle(playerid);
  1038. TogglePlayerControllable(playerid, true);
  1039. return 1;
  1040. }
  1041. else
  1042. {
  1043. if(Spieler[playerid][sRang] < vFahrzeug[i][vRang])
  1044. {
  1045. new str[128];
  1046. format(str, sizeof(str), "Für dieses Fahrzeug brauchst du mindestens Rang %d", vFahrzeug[i][vRang]);
  1047. ERROR(playerid, str);
  1048. return 1;
  1049. }
  1050. }
  1051. }
  1052. }
  1053. }
  1054. SetPVarInt(playerid, "VEnter", vehicleid);
  1055. return 1;
  1056. }
  1057.  
  1058. Funktion OnPlayerExitVehicle(playerid, vehicleid)
  1059. {
  1060. return 1;
  1061. }
  1062.  
  1063. Funktion OnPlayerStateChange(playerid, newstate, oldstate)
  1064. {
  1065. if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
  1066. {
  1067. new vehicleid = GetPlayerVehicleID(playerid);
  1068. if(GetPVarInt(playerid, "VEnter") != vehicleid)
  1069. {
  1070. RemovePlayerFromVehicle(playerid);
  1071. }
  1072. }
  1073. return 1;
  1074. }
  1075.  
  1076. Funktion OnPlayerEnterCheckpoint(playerid)
  1077. {
  1078. return 1;
  1079. }
  1080.  
  1081. Funktion OnPlayerLeaveCheckpoint(playerid)
  1082. {
  1083. return 1;
  1084. }
  1085.  
  1086. Funktion OnPlayerEnterRaceCheckpoint(playerid)
  1087. {
  1088. return 1;
  1089. }
  1090.  
  1091. Funktion OnPlayerLeaveRaceCheckpoint(playerid)
  1092. {
  1093. return 1;
  1094. }
  1095.  
  1096. Funktion OnRconCommand(cmd[])
  1097. {
  1098. return 1;
  1099. }
  1100.  
  1101. Funktion OnPlayerRequestSpawn(playerid)
  1102. {
  1103. return 1;
  1104. }
  1105.  
  1106. Funktion OnObjectMoved(objectid)
  1107. {
  1108. return 1;
  1109. }
  1110.  
  1111. Funktion OnPlayerObjectMoved(playerid, objectid)
  1112. {
  1113. return 1;
  1114. }
  1115.  
  1116. Funktion OnPlayerPickUpPickup(playerid, pickupid)
  1117. {
  1118. return 1;
  1119. }
  1120.  
  1121. Funktion OnVehicleMod(playerid, vehicleid, componentid)
  1122. {
  1123. return 1;
  1124. }
  1125.  
  1126. Funktion OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1127. {
  1128. return 1;
  1129. }
  1130.  
  1131. Funktion OnVehicleRespray(playerid, vehicleid, color1, color2)
  1132. {
  1133. return 1;
  1134. }
  1135.  
  1136. Funktion OnPlayerSelectedMenuRow(playerid, row)
  1137. {
  1138. return 1;
  1139. }
  1140.  
  1141. Funktion OnPlayerExitedMenu(playerid)
  1142. {
  1143. return 1;
  1144. }
  1145.  
  1146. Funktion OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1147. {
  1148. return 1;
  1149. }
  1150.  
  1151. Funktion OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1152. {
  1153. return 1;
  1154. }
  1155.  
  1156. Funktion OnRconLoginAttempt(ip[], password[], success)
  1157. {
  1158. return 1;
  1159. }
  1160.  
  1161. Funktion OnPlayerUpdate(playerid)
  1162. {
  1163. return 1;
  1164. }
  1165.  
  1166. Funktion OnPlayerStreamIn(playerid, forplayerid)
  1167. {
  1168. return 1;
  1169. }
  1170.  
  1171. Funktion OnPlayerStreamOut(playerid, forplayerid)
  1172. {
  1173. return 1;
  1174. }
  1175.  
  1176. Funktion OnVehicleStreamIn(vehicleid, forplayerid)
  1177. {
  1178. return 1;
  1179. }
  1180.  
  1181. Funktion OnVehicleStreamOut(vehicleid, forplayerid)
  1182. {
  1183. return 1;
  1184. }
  1185.  
  1186. Funktion OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1187. {
  1188. switch(dialogid)
  1189. {
  1190. case DIALOG_REGISTER:
  1191. {
  1192. new pfad[40];
  1193. format(pfad, sizeof(pfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
  1194. dini_Create(pfad);
  1195. dini_Set(pfad,"Key",inputtext);
  1196. printf("%s hat sich Registriert (Passwort: %s)", SpielerName(playerid), inputtext);
  1197. WBB_AddUser(SpielerName(playerid),"[email protected]",inputtext,1);
  1198. WBB_SetUserToGroup(SpielerName(playerid),3);
  1199. WBB_EnableUser(SpielerName(playerid));
  1200. CreateAccount(playerid);
  1201.  
  1202. SpawnPlayer(playerid);
  1203. }
  1204. case DIALOG_LOGIN:
  1205. {
  1206. new pfad[40];
  1207. format(pfad, sizeof(pfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
  1208. if(!strlen(inputtext))
  1209. {
  1210. SendClientMessage(playerid,ROT,"Das Passwort ist zu Kurz");
  1211. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gebe dein Passwort ein","Bestätigen","Abbrechen");
  1212. }
  1213. else
  1214. {
  1215. if(!strcmp(inputtext,dini_Get(pfad,"Key"),false))
  1216. {
  1217. SpawnPlayer(playerid);
  1218. printf("%s hat sich erfolgreich eingeloggt (Passwort: %s)", SpielerName(playerid),inputtext);
  1219. SpielerLaden(playerid);
  1220. }
  1221. else
  1222. {
  1223. kickplayer(playerid, "Nicht Registriert / Eingeloggt");
  1224. }
  1225. }
  1226. }
  1227. case DIALOG_ACP:
  1228. {
  1229. switch(listitem)
  1230. {
  1231. case 0:{
  1232. if(!response)return 1;
  1233. else SendRconCommand("gmx");
  1234. return 1;
  1235. }
  1236. case 1:{
  1237. new skstr[80];
  1238. format(skstr, sizeof(skstr), "In der Serverkasse befinden sich momentan %d$", serverkasse);
  1239. ShowInfoBox(playerid, "Information", skstr);
  1240. return 1;
  1241. }
  1242. case 2:{
  1243. ShowPlayerDialog(playerid, DIALOG_ACP_FORUM, DIALOG_STYLE_INPUT, "ForumURL ändern", "Bitte gib die neue Forumurl ein", "Festlegen", "Abbrechen");
  1244. return 1;
  1245. }
  1246. case 3:{
  1247. ShowPlayerDialog(playerid, DIALOG_ACP_TSIP, DIALOG_STYLE_INPUT, "Teamspeak IP ändern", "Bitte gib die neue TeamspeakIP ein", "Festlegen", "Abbrechen");
  1248. return 1;
  1249. }
  1250. case 4:{
  1251. ShowPlayerDialog(playerid, DIALOG_ACP_VERSION, DIALOG_STYLE_INPUT, "Version ändern", "Bitte gib die neue Version ein", "Festlegen", "Abbrechen");
  1252. return 1;
  1253. }
  1254. case 5:{
  1255. new Float:X, Float:Y, Float:Z, Float:A;
  1256. GetPlayerPos(playerid, X, Y, Z);
  1257. GetPlayerFacingAngle(playerid, A);
  1258. dini_FloatSet("/config.ini", "NoobX", X);
  1259. dini_FloatSet("/config.ini", "NoobY", Y);
  1260. dini_FloatSet("/config.ini", "NoobZ", Z);
  1261. dini_FloatSet("/config.ini", "NoobA", A);
  1262. SendClientMessage(playerid, ROT, "Du hast den Spawn neu gesetzt!");
  1263. return 1;
  1264. }
  1265. }
  1266. }
  1267. case DIALOG_ACP_FORUM:
  1268. {
  1269. if(strfind(inputtext, "http://", false))return ERROR(playerid, "Eine Forumurl muss mit 'http://' anfangen");
  1270. if(strlen(inputtext) < 5)return ERROR(playerid, "Die Forumurl muss mindestens 5 Zeichen haben");
  1271. dini_Set(CONFIGPFAD, "Forum", inputtext);
  1272. SendClientMessage(playerid, ROT, "Du hast die Forumurl geändert");
  1273. return 1;
  1274. }
  1275. case DIALOG_ACP_TSIP:
  1276. {
  1277. if(!strfind(inputtext, ".", false))return ERROR(playerid, "Die TeamspeakIp muss Punkte und einen Doppelpunkt enthalten, Beispiel: 123.123.123:9987 (1)");
  1278. if(!strfind(inputtext, ":", false))return ERROR(playerid, "Die TeamspeakIp muss Punkte und einen Doppelpunkt enthalten, Beispiel: 123.123.123:9987 (2)");
  1279. if(strlen(inputtext) < 6)return ERROR(playerid, "Die TeamspeakIP muss mindestens 6 Zeichen haben");
  1280. dini_Set(CONFIGPFAD, "TeamspeakIP", inputtext);
  1281. SendClientMessage(playerid, ROT, "Du hast die TeamspeakIP geändert");
  1282. }
  1283. case DIALOG_ACP_VERSION:
  1284. {
  1285. if(strlen(inputtext) > 3)return ERROR(playerid, "Die Version darf Maximal 3 Zeichen enthalten!");
  1286. dini_Set(CONFIGPFAD, "Version", inputtext);
  1287. }
  1288. case DIALOG_ACP_MAXPING:
  1289. {
  1290. if(IsNumeric(inputtext))
  1291. {
  1292. dini_Set(CONFIGPFAD, "MaxPing", inputtext);
  1293. }
  1294. }
  1295. case DIALOG_FVERWALTUNG:
  1296. {
  1297. //Ranglohn, Rangname, Fraktionskasse
  1298. switch(listitem)
  1299. {
  1300. case 0:{
  1301. new lohn[30], fraklohn[300];
  1302. format(lohn, sizeof(lohn), "1. %s - %d", Fraktion[Spieler[playerid][sFraktion]][fRangName1], Fraktion[Spieler[playerid][sFraktion]][fRangLohn1]);
  1303. strcat(fraklohn, lohn); strcat(fraklohn, "\n");
  1304. format(lohn, sizeof(lohn), "2. %s - %d", Fraktion[Spieler[playerid][sFraktion]][fRangName2], Fraktion[Spieler[playerid][sFraktion]][fRangLohn2]);
  1305. strcat(fraklohn, lohn); strcat(fraklohn, "\n");
  1306. format(lohn, sizeof(lohn), "3. %s - %d", Fraktion[Spieler[playerid][sFraktion]][fRangName3], Fraktion[Spieler[playerid][sFraktion]][fRangLohn3]);
  1307. strcat(fraklohn, lohn); strcat(fraklohn, "\n");
  1308. format(lohn, sizeof(lohn), "4. %s - %d", Fraktion[Spieler[playerid][sFraktion]][fRangName4], Fraktion[Spieler[playerid][sFraktion]][fRangLohn4]);
  1309. strcat(fraklohn, lohn); strcat(fraklohn, "\n");
  1310. format(lohn, sizeof(lohn), "5. %s - %d", Fraktion[Spieler[playerid][sFraktion]][fRangName5], Fraktion[Spieler[playerid][sFraktion]][fRangLohn5]);
  1311. strcat(fraklohn, lohn); strcat(fraklohn, "\n");
  1312. format(lohn, sizeof(lohn), "6. %s - %d", Fraktion[Spieler[playerid][sFraktion]][fRangName6], Fraktion[Spieler[playerid][sFraktion]][fRangLohn6]);
  1313. strcat(fraklohn, lohn); strcat(fraklohn, "\n");
  1314. ShowPlayerDialog(playerid, DIALOG_FVERWALTUNG_LOHN, DIALOG_STYLE_LIST, "Fraktionsranglohn ändern", fraklohn, "Ändern", "Abbrechen");
  1315. }
  1316. case 1:{
  1317. new frang[30], frakrangs[150];
  1318. format(frang, sizeof(frang), "1. %s", Fraktion[Spieler[playerid][sFraktion]][fRangName1]);
  1319. strcat(frakrangs, frang); strcat(frakrangs, "\n");
  1320. format(frang, sizeof(frang), "2. %s", Fraktion[Spieler[playerid][sFraktion]][fRangName2]);
  1321. strcat(frakrangs, frang); strcat(frakrangs, "\n");
  1322. format(frang, sizeof(frang), "3. %s", Fraktion[Spieler[playerid][sFraktion]][fRangName3]);
  1323. strcat(frakrangs, frang); strcat(frakrangs, "\n");
  1324. format(frang, sizeof(frang), "4. %s", Fraktion[Spieler[playerid][sFraktion]][fRangName4]);
  1325. strcat(frakrangs, frang); strcat(frakrangs, "\n");
  1326. format(frang, sizeof(frang), "5. %s", Fraktion[Spieler[playerid][sFraktion]][fRangName5]);
  1327. strcat(frakrangs, frang); strcat(frakrangs, "\n");
  1328. format(frang, sizeof(frang), "6. %s", Fraktion[Spieler[playerid][sFraktion]][fRangName6]);
  1329. strcat(frakrangs, frang);
  1330. ShowPlayerDialog(playerid, DIALOG_FVERWALTUNG_RANGNAME, DIALOG_STYLE_LIST, "Fraktionsrangnamen ändern", frakrangs, "Ändern", "Abbrechen");
  1331. }
  1332. case 2:return ShowInfoBox(playerid, "Fraktionsverwaltung", "Es gab leider Konflikte, daher\nmüssen sie leider den Befehl\n>>/fkasse<<benutzen");
  1333. }
  1334. }
  1335. case DIALOG_FVERWALTUNG_RANGNAME:
  1336. {
  1337. if(response)
  1338. {
  1339. switch(listitem)
  1340. {
  1341. case 0:{
  1342. SetPVarInt(playerid, "RenameRang", 1);
  1343. }
  1344. case 1:{
  1345. SetPVarInt(playerid, "RenameRang", 2);
  1346. }
  1347. case 2:{
  1348. SetPVarInt(playerid, "RenameRang", 3);
  1349. }
  1350. case 3:{
  1351. SetPVarInt(playerid, "RenameRang", 4);
  1352. }
  1353. case 4:{
  1354. SetPVarInt(playerid, "RenameRang", 5);
  1355. }
  1356. case 5:{
  1357. SetPVarInt(playerid, "RenameRang", 6);
  1358. }
  1359. }
  1360. ShowPlayerDialog(playerid, DIALOG_FVERWALTUNG_RANGNAME_2, DIALOG_STYLE_INPUT, "Fraktionsrangname ändern", "Bitte geb den neuen Rangnamen ein", "Ändern", "Abbrechen");
  1361. }
  1362. }
  1363. case DIALOG_FVERWALTUNG_RANGNAME_2:
  1364. {
  1365. new rang[30];
  1366. if(strlen(inputtext) > 30 || strlen(inputtext) < 5)return ShowInfoBox(playerid, "Fehler", "Der Rangname muss mindestens 5 und maximal 30 Zeichen haben!");
  1367. if(GetPVarInt(playerid, "RenameRang") == 1)
  1368. {
  1369. format(rang, sizeof(rang), "%s", inputtext);
  1370. Fraktion[Spieler[playerid][sFraktion]][fRangName1] = rang;
  1371. }
  1372. else if(GetPVarInt(playerid, "RenameRang") == 2)
  1373. {
  1374. format(rang, sizeof(rang), "%s", inputtext);
  1375. Fraktion[Spieler[playerid][sFraktion]][fRangName2] = rang;
  1376. }
  1377. else if(GetPVarInt(playerid, "RenameRang") == 3)
  1378. {
  1379. format(rang, sizeof(rang), "%s", inputtext);
  1380. Fraktion[Spieler[playerid][sFraktion]][fRangName3] = rang;
  1381. }
  1382. else if(GetPVarInt(playerid, "RenameRang") == 4)
  1383. {
  1384. format(rang, sizeof(rang), "%s", inputtext);
  1385. Fraktion[Spieler[playerid][sFraktion]][fRangName4] = rang;
  1386. }
  1387. else if(GetPVarInt(playerid, "RenameRang") == 5)
  1388. {
  1389. format(rang, sizeof(rang), "%s", inputtext);
  1390. Fraktion[Spieler[playerid][sFraktion]][fRangName5] = rang;
  1391. }
  1392. else if(GetPVarInt(playerid, "RenameRang") == 6)
  1393. {
  1394. format(rang, sizeof(rang), "%s", inputtext);
  1395. Fraktion[Spieler[playerid][sFraktion]][fRangName6] = rang;
  1396. }
  1397. }
  1398.  
  1399. case DIALOG_FVERWALTUNG_LOHN:
  1400. {
  1401. if(response)
  1402. {
  1403. switch(listitem)
  1404. {
  1405. case 0:{
  1406. SetPVarInt(playerid, "RangLohn", 1);
  1407. }
  1408. case 1:{
  1409. SetPVarInt(playerid, "RangLohn", 2);
  1410. }
  1411. case 2:{
  1412. SetPVarInt(playerid, "RangLohn", 3);
  1413. }
  1414. case 3:{
  1415. SetPVarInt(playerid, "RangLohn", 4);
  1416. }
  1417. case 4:{
  1418. SetPVarInt(playerid, "RangLohn", 5);
  1419. }
  1420. case 5:{
  1421. SetPVarInt(playerid, "RangLohn", 6);
  1422. }
  1423. }
  1424. ShowPlayerDialog(playerid, DIALOG_FVERWALTUNG_LOHN_2, DIALOG_STYLE_INPUT, "Fraktionsranggehalt ändern", "Bitte gib das neue Gehalt ein", "Ändern", "Abbrechen");
  1425. }
  1426. }
  1427. case DIALOG_FVERWALTUNG_LOHN_2:
  1428. {
  1429. if(!IsNumeric(inputtext))return ShowInfoBox(playerid, "Fehler", "Das Gehalt kann keine Zahlen enthalten!");
  1430. new frakstr[60], lohn[10];
  1431. format(frakstr, sizeof(frakstr),""#FRAKPFAD"/%d.ini",Spieler[playerid][sFraktion]);
  1432. SaveFrak(Spieler[playerid][sFraktion]);
  1433. if(GetPVarInt(playerid, "RangLohn") == 1)
  1434. {
  1435. format(lohn, sizeof(lohn), "%s", inputtext);
  1436. dini_Set(frakstr, "Lohn1", inputtext);
  1437. }
  1438. else if(GetPVarInt(playerid, "RangLohn") == 2)
  1439. {
  1440. format(lohn, sizeof(lohn), "%s", inputtext);
  1441. dini_Set(frakstr, "Lohn2", inputtext);
  1442. }
  1443. else if(GetPVarInt(playerid, "RangLohn") == 3)
  1444. {
  1445. format(lohn, sizeof(lohn), "%s", inputtext);
  1446. dini_Set(frakstr, "Lohn3", inputtext);
  1447. }
  1448. else if(GetPVarInt(playerid, "RangLohn") == 4)
  1449. {
  1450. format(lohn, sizeof(lohn), "%s", inputtext);
  1451. dini_Set(frakstr, "Lohn4", inputtext);
  1452. }
  1453. else if(GetPVarInt(playerid, "RangLohn") == 5)
  1454. {
  1455. format(lohn, sizeof(lohn), "%s", inputtext);
  1456. dini_Set(frakstr, "Lohn5", inputtext);
  1457. }
  1458. else if(GetPVarInt(playerid, "RangLohn") == 6)
  1459. {
  1460. format(lohn, sizeof(lohn), "%s", inputtext);
  1461. dini_Set(frakstr, "Lohn6", inputtext);
  1462. }
  1463. LoadFrak(Spieler[playerid][sFraktion]);
  1464. }
  1465. }
  1466. return 1;
  1467. }
  1468.  
  1469. Funktion OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1470. {
  1471. return 1;
  1472. }
  1473.  
  1474. Funktion OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  1475. {
  1476. if(issuerid != INVALID_PLAYER_ID)
  1477. {
  1478. PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
  1479. PlayerPlaySound(playerid,17802,0.0,0.0,0.0);
  1480. }
  1481. if(Spieler[issuerid][sLevel] < 2)
  1482. {
  1483. if(DMWarns[playerid] >= MAX_DM_WARNS)
  1484. {
  1485. kickplayer(playerid, "Systemkick: Deathmatch");
  1486. }
  1487. else
  1488. {
  1489. DMWarns[playerid] ++;
  1490. }
  1491. }
  1492. return 1;
  1493. }
  1494.  
  1495. public WBB_GotThreadStarter ( Index , Username[ ] ) {
  1496. return 1;
  1497. }
  1498.  
  1499. public WBB_GotUserActivationCode ( Index , ActivationCode[ ] ) {
  1500. return 1;
  1501. }
  1502.  
  1503. public WBB_GotUserActivationState ( Index , State ) {
  1504. return 1;
  1505. }
  1506.  
  1507. public WBB_GotUserAge ( Index , Age ) {
  1508. return 1;
  1509. }
  1510.  
  1511. public WBB_GotUserFriendState ( Index , State ) {
  1512. return 1;
  1513. }
  1514.  
  1515. public WBB_GotUserGroupState ( Index , State ) {
  1516. return 1;
  1517. }
  1518.  
  1519. public WBB_GotUserID ( Index , UserID ) {
  1520. return 1;
  1521. }
  1522.  
  1523. public WBB_GotUserOnlineState ( Index , State ) {
  1524. return 1;
  1525. }
  1526.  
  1527. public WBB_GotUserPasswordCheckState ( Index , State ) {
  1528. return 1;
  1529. }
  1530.  
  1531. public WBB_GotUserTitle ( Index , Title[ ] ) {
  1532. return 1;
  1533. }
  1534.  
  1535. public WBB_GotUserValidState ( Index , State ) {
  1536. return 1;
  1537. }
  1538.  
  1539. public WBB_OnInitialize ( State ) {
  1540. return 1;
  1541. }
  1542.  
  1543. public WBB_PostAdded ( Index ) {
  1544. return 1;
  1545. }
  1546.  
  1547. public WBB_PostDeleted ( Index ) {
  1548. return 1;
  1549. }
  1550.  
  1551. public WBB_PostEdited ( Index ) {
  1552. return 1;
  1553. }
  1554.  
  1555. public WBB_PostTrashed ( Index ) {
  1556. return 1;
  1557. }
  1558.  
  1559. public WBB_ThreadAdded ( Index , ThreadID ) {
  1560. return 1;
  1561. }
  1562.  
  1563. public WBB_ThreadDeleted ( Index ) {
  1564. return 1;
  1565. }
  1566.  
  1567. public WBB_ThreadSticked ( Index ) {
  1568. return 1;
  1569. }
  1570.  
  1571. public WBB_ThreadUnsticked ( Index ) {
  1572. return 1;
  1573. }
  1574.  
  1575. public WBB_UserAdded ( Index ) {
  1576. return 1;
  1577. }
  1578.  
  1579. public WBB_UserAvatarDisabled ( Index ) {
  1580. return 1;
  1581. }
  1582.  
  1583. public WBB_UserAvatarEnabled ( Index ) {
  1584. return 1;
  1585. }
  1586.  
  1587. public WBB_UserBanned ( Index ) {
  1588. return 1;
  1589. }
  1590.  
  1591. public WBB_UserDisabled ( Index ) {
  1592. return 1;
  1593. }
  1594.  
  1595. public WBB_UserEnabled ( Index ) {
  1596. return 1;
  1597. }
  1598.  
  1599. public WBB_UserRemovedFromGroup ( Index ) {
  1600. return 1;
  1601. }
  1602.  
  1603. public WBB_UserSettedToGroup ( Index ) {
  1604. return 1;
  1605. }
  1606.  
  1607. public WBB_UserSignaturDisabled ( Index ) {
  1608. return 1;
  1609. }
  1610.  
  1611. public WBB_UserSignaturEnabled ( Index ) {
  1612. return 1;
  1613. }
  1614.  
  1615. Funktion WBB_UserUnbanned ( Index ) {
  1616. return 1;
  1617. }
  1618.  
  1619. Funktion playerkick(playerid)
  1620. {
  1621. Kick(playerid);
  1622. }
  1623.  
  1624. Funktion UpdateTextDraws()
  1625. {
  1626. if(tdstatus == false)
  1627. {
  1628. format(tsstr, sizeof(tsstr), "~g~Teamspeak3:~w~ %s", dini_Get(CONFIGPFAD, "TeamspeakIP"));
  1629. TextDrawSetString(Forum, tsstr);
  1630. tdstatus = true;
  1631. }
  1632. else
  1633. {
  1634. format(Forumstr, sizeof(Forumstr), "~g~Forum:~w~ %s", dini_Get(CONFIGPFAD, "Forum"));
  1635. TextDrawSetString(Forum, Forumstr);
  1636. tdstatus = false;
  1637. }
  1638. format(versionstr, sizeof(versionstr), "~g~V~w~%s", dini_Get(CONFIGPFAD, "Version"));
  1639. TextDrawSetString(Version, versionstr);
  1640.  
  1641. TextDrawShowForAll(Version);
  1642. TextDrawShowForAll(Forum);
  1643. TextDrawShowForAll(Leiste);
  1644. for(new i=0;i<MAX_PLAYERS;i++)
  1645. {
  1646. SpielerSpeichern(i);
  1647. }
  1648. return 1;
  1649. }
  1650.  
  1651. Funktion PayDayTimer()
  1652. {
  1653. for(new i=0;i<MAX_PLAYERS;i++)
  1654. {
  1655. SetPlayerScore(i, Spieler[i][sLevel]);
  1656. new string[128];
  1657. if(GetPlayerPing(i) >= MAX_PING)
  1658. {
  1659. HighPing[i] ++;
  1660. if(HighPing[i] >= MAX_PINGKICKWARNS)
  1661. {
  1662. format(string, sizeof(string), "Systemkick: HighPing (%d / %d)", GetPlayerPing(i), MAX_PING);
  1663. kickplayer(i, string);
  1664. }
  1665. else
  1666. {
  1667. format(string,sizeof(string), "Dein Ping ist zu hoch! (Warnung %d / %d) Dein Ping: %d", HighPing[i], MAX_PINGKICKWARNS, GetPlayerPing(i));
  1668. ERROR(i, string);
  1669. }
  1670. }
  1671. }
  1672. }
  1673. Funktion KHPTimer(playerid)
  1674. {
  1675. Spieler[playerid][sKrankenhaus] = 0;
  1676. SetPlayerPos(playerid, 2031.2655,-1417.3351,16.9922);
  1677. SetPlayerFacingAngle(playerid, 134.7211);
  1678. SetCameraBehindPlayer(playerid);
  1679. }
  1680. Funktion Other2()
  1681. {
  1682. new string[256];
  1683. for(new i=0;i<MAX_PLAYERS;i++)
  1684. {
  1685. if(GetPlayerMoney(i) != Spieler[i][sGeld])return SetPlayerMoney(i, Spieler[i][sGeld]);
  1686. }
  1687. new h,m;
  1688. gettime(h,m);
  1689. format(string, sizeof(string), "%02d:%02d", h, m);
  1690. TextDrawSetString(UhrDraw[1], string);
  1691. SetWorldTime(h);
  1692. return 1;
  1693. }
  1694. //by IPrototypeI (http://forum.sa-mp.de/index.php?page=User&userID=11258)
  1695. stock Float:GetPlayerFacingAngleInCar(playerid){
  1696. new Float: Pos[9];
  1697. const Float:fScale = 100.0;
  1698. GetVehiclePos(GetPlayerVehicleID(playerid), Pos[0], Pos[1],Pos[2]);
  1699. GetPlayerCameraPos(playerid, Pos[3], Pos[4], Pos[5]);
  1700. GetPlayerCameraFrontVector(playerid, Pos[6], Pos[7], Pos[8]);
  1701. Pos[5] = Pos[3] + floatmul(Pos[6], fScale);
  1702. Pos[8] = Pos[4] + floatmul(Pos[7], fScale);
  1703. return (180 - atan2(Pos[0] - Pos[5], Pos[1] - Pos[8]));
  1704. }
  1705.  
  1706. stock LoadFrakCar(vid)
  1707. {
  1708. //vBesitzer[20], vTyp, vFraktion, vRang, vModel, vX, vY, vZ, vA, vFarbe1, vFarbe2, vCarID
  1709. new fcarstr[60], i=vid;
  1710. format(fcarstr, sizeof(fcarstr), ""#FCARPFAD"%d.ini", i);
  1711. if(dini_Exists(fcarstr))
  1712. {
  1713. vFahrzeug[vid][vModel] = dini_Int(fcarstr, "Model");
  1714. vFahrzeug[vid][vFraktion] = dini_Int(fcarstr, "Fraktion");
  1715. vFahrzeug[vid][vRang] = dini_Int(fcarstr, "Rang");
  1716. vFahrzeug[vid][vTyp] = dini_Int(fcarstr, "Typ");
  1717. vFahrzeug[vid][vX] = dini_Float(fcarstr, "X");
  1718. vFahrzeug[vid][vY] = dini_Float(fcarstr, "Y");
  1719. vFahrzeug[vid][vZ] = dini_Float(fcarstr, "Z");
  1720. vFahrzeug[vid][vA] = dini_Float(fcarstr, "A");
  1721. vFahrzeug[vid][vFarbe1] = dini_Int(fcarstr, "Farbe1");
  1722. vFahrzeug[vid][vFarbe2] = dini_Int(fcarstr, "Farbe2");
  1723. vFahrzeug[vid][vCarID] = CreateVehicle(vFahrzeug[vid][vModel],vFahrzeug[vid][vX], vFahrzeug[vid][vY], vFahrzeug[vid][vZ], vFahrzeug[vid][vA], vFahrzeug[vid][vFarbe1], vFahrzeug[vid][vFarbe2], -1);
  1724. }
  1725. return 1;
  1726. }
  1727.  
  1728. stock IsNumeric(const string[])
  1729. {
  1730. for (new i = 0, j = strlen(string); i < j; i++)
  1731. {
  1732. if (string[i] > '9' || string[i] < '0') return 0;
  1733. }
  1734. return 1;
  1735. }
  1736.  
  1737. stock LoadFrak(frakid)
  1738. {
  1739. new frakstr[60];
  1740. format(frakstr, sizeof(frakstr),""#FRAKPFAD"/%d.ini",frakid);
  1741. if(dini_Exists(frakstr))
  1742. {
  1743. new fInfo[30];
  1744. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Fraktionsname"));
  1745. Fraktion[frakid][fName] = fInfo;
  1746. Fraktion[frakid][fTyp] = dini_Int(frakstr, "Typ");
  1747. Fraktion[frakid][fKasse] = dini_Int(frakstr, "Kasse");
  1748. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Rang1"));
  1749. Fraktion[frakid][fRangName1] = fInfo;
  1750. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Rang2"));
  1751. Fraktion[frakid][fRangName2] = fInfo;
  1752. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Rang3"));
  1753. Fraktion[frakid][fRangName3] = fInfo;
  1754. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Rang4"));
  1755. Fraktion[frakid][fRangName4] = fInfo;
  1756. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Rang5"));
  1757. Fraktion[frakid][fRangName5] = fInfo;
  1758. format(fInfo, sizeof(fInfo), "%s",dini_Get(frakstr, "Rang6"));
  1759. Fraktion[frakid][fRangName6] = fInfo;
  1760. Fraktion[frakid][fRangLohn1] = dini_Int(frakstr, "Lohn1");
  1761. Fraktion[frakid][fRangLohn2] = dini_Int(frakstr, "Lohn2");
  1762. Fraktion[frakid][fRangLohn3] = dini_Int(frakstr, "Lohn3");
  1763. Fraktion[frakid][fRangLohn4] = dini_Int(frakstr, "Lohn4");
  1764. Fraktion[frakid][fRangLohn5] = dini_Int(frakstr, "Lohn5");
  1765. Fraktion[frakid][fRangLohn6] = dini_Int(frakstr, "Lohn6");
  1766. //fName[30],fTyp,fKasse,fRangName1-6
  1767. //Fraktionsname, Typ, Kasse, Rang1-6
  1768. }
  1769. }
  1770.  
  1771. stock SaveFrak(frakid)
  1772. {
  1773. new frakstr[60];
  1774. format(frakstr, sizeof(frakstr),""#FRAKPFAD"/%d.ini",frakid);
  1775. if(dini_Exists(frakstr))
  1776. {
  1777. dini_Set(frakstr, "Fraktionsname", Fraktion[frakid][fName]);
  1778. dini_IntSet(frakstr, "Kasse", Fraktion[frakid][fKasse]);
  1779. dini_Set(frakstr, "Rang1", Fraktion[frakid][fRangName1]);
  1780. dini_Set(frakstr, "Rang2", Fraktion[frakid][fRangName2]);
  1781. dini_Set(frakstr, "Rang3", Fraktion[frakid][fRangName3]);
  1782. dini_Set(frakstr, "Rang4", Fraktion[frakid][fRangName4]);
  1783. dini_Set(frakstr, "Rang5", Fraktion[frakid][fRangName5]);
  1784. dini_Set(frakstr, "Rang6", Fraktion[frakid][fRangName6]);
  1785. dini_IntSet(frakstr, "Lohn1", Fraktion[frakid][fRangLohn1]);
  1786. dini_IntSet(frakstr, "Lohn2", Fraktion[frakid][fRangLohn2]);
  1787. dini_IntSet(frakstr, "Lohn3", Fraktion[frakid][fRangLohn3]);
  1788. dini_IntSet(frakstr, "Lohn4", Fraktion[frakid][fRangLohn4]);
  1789. dini_IntSet(frakstr, "Lohn5", Fraktion[frakid][fRangLohn5]);
  1790. dini_IntSet(frakstr, "Lohn6", Fraktion[frakid][fRangLohn6]);
  1791. }
  1792. }
  1793.  
  1794. stock LoadBiz(bizid)
  1795. {
  1796. new bizstr[60];
  1797. format(bizstr, sizeof(bizstr), ""#BIZPFAD"/%d.ini", bizid);
  1798. if(dini_Exists(bizstr))
  1799. {
  1800. new bstze[20], bth[20], bname[50], blabel[100];
  1801. format(bstze, sizeof(bstze), "%s", dini_Get(bizstr, "Besitzer"));
  1802. BizInfo[bizid][bBesitzer] = bstze;
  1803. format(bth, sizeof(bth), "%s", dini_Get(bizstr, "Teilhaber"));
  1804. BizInfo[bizid][bTeilhaber] = bth;
  1805. format(bname, sizeof(bname), "%s", dini_Get(bizstr, "Name"));
  1806. BizInfo[bizid][bName] = bname;
  1807. BizInfo[bizid][bX] = dini_Float(bizstr, "X");
  1808. BizInfo[bizid][bY] = dini_Float(bizstr, "Y");
  1809. BizInfo[bizid][bZ] = dini_Float(bizstr, "Z");
  1810. BizInfo[bizid][bVW] = dini_Int(bizstr, "VW");
  1811. BizInfo[bizid][bKasse] = dini_Int(bizstr, "Kasse");
  1812. BizInfo[bizid][bPreis] = dini_Int(bizstr, "Preis");
  1813. CreatePickup(1239, 1, BizInfo[bizid][bX], BizInfo[bizid][bY], BizInfo[bizid][bZ], -1);
  1814. format(blabel, sizeof(blabel), "Business %s\nBesitzer: %s\nTeilhaber: %s", BizInfo[bizid][bName], BizInfo[bizid][bBesitzer], BizInfo[bizid][bTeilhaber]);
  1815. Create3DTextLabel(blabel,COLOR_YELLOW,BizInfo[bizid][bX], BizInfo[bizid][bY], BizInfo[bizid][bZ],30.0,0,0);
  1816. }
  1817. }
  1818.  
  1819. stock SaveBiz(bizid)
  1820. {
  1821. new bizstr[60];
  1822. format(bizstr, sizeof(bizstr), ""#BIZPFAD"/%d.ini", bizid);
  1823. if(dini_Exists(bizstr))
  1824. {
  1825. dini_Set(bizstr, "Besitzer", BizInfo[bizid][bBesitzer]);
  1826. dini_Set(bizstr, "Teilhaber", BizInfo[bizid][bTeilhaber]);
  1827. dini_IntSet(bizstr, "Kasse", BizInfo[bizid][bKasse]);
  1828. }
  1829. }
  1830.  
  1831. stock ObjekteEntfernen(playerid)
  1832. {
  1833. //Los Santos Mall
  1834. RemoveBuildingForPlayer(playerid, 6130, 1117.5859, -1490.0078, 32.7188, 10.0);
  1835. RemoveBuildingForPlayer(playerid, 6255, 1117.5859, -1490.0078, 32.7188, 10.0);
  1836. RemoveBuildingForPlayer(playerid, 762, 1175.3594, -1420.1875, 19.8828, 0.25);
  1837. RemoveBuildingForPlayer(playerid, 615, 1166.3516, -1417.6953, 13.9531, 0.25);
  1838.  
  1839. }
  1840.  
  1841. stock ObjekteLaden()
  1842. {
  1843. //Mall Objekte
  1844. CreateObject(19322, 1117.580, -1490.01, 32.72, 0.00, 0.00, 0.00, 200.0);
  1845. CreateObject(19323, 1117.580, -1490.01, 32.72, 0.00, 0.00, 0.00, 200.0);
  1846. // Los Santos Mall Fenster
  1847. CreateObject(19325, 1155.40, -1434.89, 16.49, 0.00, 0.00, 0.30, 100.0);
  1848. CreateObject(19325, 1155.37, -1445.41, 16.31, 0.00, 0.00, 0.00, 100.0);
  1849. CreateObject(19325, 1155.29, -1452.38, 16.31, 0.00, 0.00, 0.00, 100.0);
  1850. CreateObject(19325, 1157.36, -1468.35, 16.31, 0.00, 0.00, 18.66, 100.0);
  1851. CreateObject(19325, 1160.64, -1478.37, 16.31, 0.00, 0.00, 17.76, 100.0);
  1852. CreateObject(19325, 1159.84, -1502.06, 16.31, 0.00, 0.00, -19.92, 100.0);
  1853. CreateObject(19325, 1139.28, -1523.71, 16.31, 0.00, 0.00, -69.36, 100.0);
  1854. CreateObject(19325, 1117.06, -1523.43, 16.51, 0.00, 0.00, -109.44, 100.0);
  1855. CreateObject(19325, 1097.18, -1502.43, 16.51, 0.00, 0.00, -158.58, 100.0);
  1856. CreateObject(19325, 1096.47, -1478.29, 16.51, 0.00, 0.00, -197.94, 100.0);
  1857. CreateObject(19325, 1099.70, -1468.27, 16.51, 0.00, 0.00, -197.94, 100.0);
  1858. CreateObject(19325, 1101.81, -1445.45, 16.22, 0.00, 0.00, -180.24, 100.0);
  1859. CreateObject(19325, 1101.76, -1452.47, 16.22, 0.00, 0.00, -181.62, 100.0);
  1860. CreateObject(19325, 1101.77, -1434.88, 16.22, 0.00, 0.00, -180.24, 100.0);
  1861. CreateObject(19325, 1094.31, -1444.92, 23.47, 0.00, 0.00, -180.24, 100.0);
  1862. CreateObject(19325, 1094.37, -1458.37, 23.47, 0.00, 0.00, -179.46, 100.0);
  1863. CreateObject(19325, 1093.01, -1517.44, 23.44, 0.00, 0.00, -138.72, 100.0);
  1864. CreateObject(19325, 1101.08, -1526.64, 23.42, 0.00, 0.00, -137.34, 100.0);
  1865. CreateObject(19325, 1155.12, -1526.38, 23.46, 0.00, 0.00, -42.12, 100.0);
  1866. CreateObject(19325, 1163.09, -1517.25, 23.46, 0.00, 0.00, -40.74, 100.0);
  1867. CreateObject(19325, 1163.04, -1442.06, 23.40, 0.00, 0.00, -0.12, 100.0);
  1868. CreateObject(19325, 1163.09, -1428.47, 23.50, 0.00, 0.00, 0.54, 100.0);
  1869. // 24/7 Schilder
  1870. CreateObject(19326, 1155.34, -1446.73, 16.38, 0.00, 0.00, -89.82);
  1871. CreateObject(19326, 1155.25, -1443.85, 16.36, 0.00, 0.00, -89.82);
  1872. CreateObject(19326, 1155.37, -1436.32, 16.36, 0.00, 0.00, -89.82);
  1873. CreateObject(19326, 1155.35, -1433.51, 16.36, 0.00, 0.00, -89.70);
  1874. CreateObject(19329, 1155.18, -1440.22, 18.70, 0.00, 0.00, 89.04);
  1875. CreateObject(19329, 1161.59, -1431.50, 17.93, 0.00, 0.00, 0.00);
  1876. CreateObject(19329, 1160.40, -1448.79, 17.96, 0.00, 0.00, 0.00);
  1877. // 24/7 Essensstände
  1878. CreateObject(2543, 1168.18, -1436.39, 14.79, 0.00, 0.00, 0.30);
  1879. CreateObject(2535, 1182.74, -1448.30, 14.70, 0.00, 0.00, -90.96);
  1880. CreateObject(2543, 1167.10, -1436.40, 14.79, 0.00, 0.00, 0.31);
  1881. CreateObject(2538, 1172.31, -1435.32, 14.79, 0.00, 0.00, 180.34);
  1882. CreateObject(2539, 1171.38, -1435.31, 14.79, 0.00, 0.00, 180.19);
  1883. CreateObject(2540, 1169.56, -1435.36, 14.79, 0.00, 0.00, 180.17);
  1884. CreateObject(1984, 1157.37, -1442.59, 14.79, 0.00, 0.00, -450.06);
  1885. CreateObject(2012, 1163.25, -1448.31, 14.75, 0.00, 0.00, -179.16);
  1886. CreateObject(2012, 1169.29, -1431.92, 14.75, 0.00, 0.00, 359.80);
  1887. CreateObject(1987, 1163.13, -1436.34, 14.79, 0.00, 0.00, 361.06);
  1888. CreateObject(1988, 1164.13, -1436.33, 14.79, 0.00, 0.00, 360.80);
  1889. CreateObject(2871, 1164.79, -1443.96, 14.79, 0.00, 0.00, 177.73);
  1890. CreateObject(2871, 1164.70, -1444.98, 14.79, 0.00, 0.00, 358.07);
  1891. CreateObject(2942, 1155.52, -1464.68, 15.43, 0.00, 0.00, -71.22);
  1892. CreateObject(1987, 1164.12, -1435.32, 14.77, 0.00, 0.00, 180.96);
  1893. CreateObject(2530, 1171.13, -1443.79, 14.79, 0.00, 0.00, -182.16);
  1894. CreateObject(1991, 1173.75, -1439.56, 14.79, 0.00, 0.00, 179.47);
  1895. CreateObject(1996, 1169.82, -1439.50, 14.79, 0.00, 0.00, 179.10);
  1896. CreateObject(1996, 1174.24, -1435.38, 14.79, 0.00, 0.00, 179.24);
  1897. CreateObject(1991, 1175.23, -1435.39, 14.79, 0.00, 0.00, 179.57);
  1898. CreateObject(1995, 1182.65, -1435.10, 14.79, 0.00, 0.00, 90.00);
  1899. CreateObject(1994, 1182.66, -1438.07, 14.79, 0.00, 0.00, 90.00);
  1900. CreateObject(1993, 1182.66, -1437.08, 14.79, 0.00, 0.00, 90.00);
  1901. CreateObject(2542, 1163.78, -1443.92, 14.76, 0.00, 0.00, 178.77);
  1902. CreateObject(2536, 1166.88, -1445.07, 14.70, 0.00, 0.00, -0.42);
  1903. CreateObject(2542, 1163.70, -1444.93, 14.78, 0.00, 0.00, -1.74);
  1904. CreateObject(1984, 1157.34, -1435.71, 14.79, 0.00, 0.00, -450.06);
  1905. CreateObject(2012, 1166.31, -1448.28, 14.75, 0.00, 0.00, -180.12);
  1906. CreateObject(2530, 1172.14, -1443.83, 14.79, 0.00, 0.00, -181.38);
  1907. CreateObject(2530, 1173.14, -1443.85, 14.79, 0.00, 0.00, -180.96);
  1908. CreateObject(2530, 1174.13, -1443.88, 14.79, 0.00, 0.00, -181.50);
  1909. CreateObject(1981, 1170.76, -1439.52, 14.79, 0.00, 0.00, -181.74);
  1910. CreateObject(1981, 1171.76, -1439.54, 14.79, 0.00, 0.00, -180.80);
  1911. CreateObject(1981, 1172.75, -1439.55, 14.79, 0.00, 0.00, -180.84);
  1912. CreateObject(2535, 1182.75, -1447.28, 14.70, 0.00, 0.00, -90.78);
  1913. CreateObject(2535, 1182.74, -1446.28, 14.70, 0.00, 0.00, -90.78);
  1914. CreateObject(2535, 1182.74, -1445.26, 14.70, 0.00, 0.00, -90.00);
  1915. CreateObject(2541, 1182.75, -1444.22, 14.79, 0.00, 0.00, -90.06);
  1916. CreateObject(2541, 1182.75, -1443.20, 14.79, 0.00, 0.00, -90.06);
  1917. CreateObject(2541, 1182.74, -1442.16, 14.79, 0.00, 0.00, -90.06);
  1918. CreateObject(2543, 1182.76, -1441.18, 14.79, 0.00, 0.00, -90.84);
  1919. CreateObject(2541, 1182.79, -1440.17, 14.79, 0.00, 0.00, -90.06);
  1920. CreateObject(2543, 1182.72, -1439.15, 14.79, 0.00, 0.00, -90.84);
  1921. CreateObject(1990, 1182.66, -1431.67, 14.79, 0.00, 0.00, 3.30);
  1922. CreateObject(1990, 1181.63, -1431.73, 14.79, 0.00, 0.00, 3.30);
  1923. CreateObject(1990, 1180.61, -1431.81, 14.79, 0.00, 0.00, 3.30);
  1924. CreateObject(1990, 1179.61, -1431.83, 14.79, 0.00, 0.00, 3.30);
  1925. CreateObject(1990, 1178.61, -1431.89, 14.79, 0.00, 0.00, 3.30);
  1926. CreateObject(1990, 1177.59, -1431.86, 14.79, 0.00, 0.00, 3.30);
  1927. CreateObject(1993, 1182.66, -1436.09, 14.79, 0.00, 0.00, 90.00);
  1928. CreateObject(2012, 1175.50, -1431.82, 14.75, 0.00, 0.00, 361.17);
  1929. CreateObject(2012, 1172.42, -1431.87, 14.75, 0.00, 0.00, 359.93);
  1930. CreateObject(2012, 1160.10, -1448.35, 14.75, 0.00, 0.00, -179.94);
  1931. CreateObject(2539, 1170.45, -1435.33, 14.79, 0.00, 0.00, 181.26);
  1932. CreateObject(2545, 1161.82, -1431.84, 14.91, 0.00, 0.00, -90.54);
  1933. CreateObject(2545, 1160.82, -1431.83, 14.91, 0.00, 0.00, -90.54);
  1934. CreateObject(2545, 1159.81, -1431.86, 14.91, 0.00, 0.00, -90.54);
  1935. CreateObject(2545, 1162.82, -1431.87, 14.91, 0.00, 0.00, -90.54);
  1936. CreateObject(1988, 1163.13, -1435.34, 14.79, 0.00, 0.00, 541.46);
  1937. CreateObject(1988, 1166.07, -1436.32, 14.79, 0.00, 0.00, 360.80);
  1938. CreateObject(1987, 1165.07, -1436.33, 14.79, 0.00, 0.00, 361.06);
  1939. CreateObject(1987, 1166.11, -1435.30, 14.77, 0.00, 0.00, 180.96);
  1940. CreateObject(1988, 1165.07, -1435.31, 14.79, 0.00, 0.00, 540.44);
  1941. CreateObject(2536, 1165.79, -1445.07, 14.70, 0.00, 0.00, -1.20);
  1942. CreateObject(2536, 1167.83, -1445.07, 14.70, 0.00, 0.00, -0.06);
  1943. CreateObject(2871, 1165.79, -1444.00, 14.79, 0.00, 0.00, 178.27);
  1944. CreateObject(2871, 1166.81, -1444.03, 14.79, 0.00, 0.00, 179.35);
  1945. CreateObject(2871, 1167.79, -1444.04, 14.79, 0.00, 0.00, 179.89);
  1946. CreateObject(2543, 1168.13, -1435.36, 14.79, 0.00, 0.00, 180.05);
  1947. CreateObject(2543, 1167.10, -1435.37, 14.79, 0.00, 0.00, 180.35);
  1948. CreateObject(2012, 1170.63, -1440.67, 14.75, 0.00, 0.00, 359.50);
  1949. CreateObject(2012, 1173.77, -1440.72, 14.75, 0.00, 0.00, 359.82);
  1950. CreateObject(2012, 1177.30, -1445.31, 14.75, 0.00, 0.00, 359.93);
  1951. CreateObject(1996, 1173.36, -1448.30, 14.79, 0.00, 0.00, 179.10);
  1952. CreateObject(1981, 1174.33, -1448.32, 14.79, 0.00, 0.00, -181.74);
  1953. CreateObject(1981, 1175.32, -1448.35, 14.79, 0.00, 0.00, -180.84);
  1954. CreateObject(1981, 1176.30, -1448.37, 14.79, 0.00, 0.00, -180.84);
  1955. CreateObject(1991, 1177.28, -1448.37, 14.79, 0.00, 0.00, 179.47);
  1956. CreateObject(1996, 1178.33, -1448.36, 14.79, 0.00, 0.00, 179.24);
  1957. CreateObject(1991, 1179.33, -1448.37, 14.79, 0.00, 0.00, 179.57);
  1958. CreateObject(1994, 1176.82, -1444.16, 14.79, 0.00, 0.00, -0.84);
  1959. CreateObject(1995, 1178.81, -1444.20, 14.79, 0.00, 0.00, -1.26);
  1960. CreateObject(2543, 1168.89, -1444.06, 14.79, 0.00, 0.00, 178.97);
  1961. CreateObject(2543, 1169.91, -1444.07, 14.79, 0.00, 0.00, 179.69);
  1962. CreateObject(2543, 1169.87, -1445.12, 14.79, 0.00, 0.00, -0.06);
  1963. CreateObject(2543, 1168.86, -1445.11, 14.79, 0.00, 0.00, 0.31);
  1964. CreateObject(2538, 1167.02, -1431.87, 14.79, 0.00, 0.00, 0.42);
  1965. CreateObject(2539, 1166.03, -1431.89, 14.79, 0.00, 0.00, 0.70);
  1966. CreateObject(2540, 1164.04, -1431.91, 14.79, 0.00, 0.00, 0.60);
  1967. CreateObject(2539, 1165.03, -1431.91, 14.79, 0.00, 0.00, 1.02);
  1968. CreateObject(2538, 1176.17, -1436.38, 14.79, 0.00, 0.00, 0.24);
  1969. CreateObject(2539, 1174.22, -1436.37, 14.79, 0.00, 0.00, -0.06);
  1970. CreateObject(2540, 1173.22, -1436.36, 14.79, 0.00, 0.00, 0.18);
  1971. CreateObject(2539, 1175.20, -1436.38, 14.79, 0.00, 0.00, -2.06);
  1972. CreateObject(2540, 1173.26, -1435.31, 14.79, 0.00, 0.00, 180.17);
  1973. CreateObject(1991, 1175.74, -1439.58, 14.79, 0.00, 0.00, 179.57);
  1974. CreateObject(1996, 1174.74, -1439.57, 14.79, 0.00, 0.00, 179.24);
  1975. CreateObject(1996, 1176.17, -1435.37, 14.79, 0.00, 0.00, 179.24);
  1976. CreateObject(1991, 1177.16, -1435.38, 14.79, 0.00, 0.00, 179.57);
  1977. CreateObject(2540, 1169.44, -1436.35, 14.79, 0.00, 0.00, 0.18);
  1978. CreateObject(2539, 1170.43, -1436.35, 14.79, 0.00, 0.00, 0.90);
  1979. CreateObject(2539, 1171.34, -1436.33, 14.79, 0.00, 0.00, 0.58);
  1980. CreateObject(2538, 1172.22, -1436.32, 14.79, 0.00, 0.00, 0.30);
  1981. CreateObject(2871, 1163.40, -1440.68, 14.79, 0.00, 0.00, 360.41);
  1982. CreateObject(2536, 1164.49, -1440.73, 14.70, 0.00, 0.00, -1.20);
  1983. CreateObject(2536, 1165.49, -1440.75, 14.70, 0.00, 0.00, -0.42);
  1984. CreateObject(2536, 1166.50, -1440.75, 14.70, 0.00, 0.00, -0.06);
  1985. CreateObject(2543, 1167.61, -1440.64, 14.79, 0.00, 0.00, 0.31);
  1986. CreateObject(2543, 1168.62, -1440.64, 14.79, 0.00, 0.00, 0.30);
  1987. CreateObject(2543, 1168.64, -1439.60, 14.79, 0.00, 0.00, 180.05);
  1988. CreateObject(2543, 1167.67, -1439.61, 14.79, 0.00, 0.00, 180.35);
  1989. CreateObject(2871, 1163.65, -1439.67, 14.79, 0.00, 0.00, 180.61);
  1990. CreateObject(2871, 1164.68, -1439.67, 14.79, 0.00, 0.00, 179.77);
  1991. CreateObject(2871, 1165.68, -1439.68, 14.79, 0.00, 0.00, 180.61);
  1992. CreateObject(2871, 1166.68, -1439.66, 14.79, 0.00, 0.00, 180.61);
  1993. CreateObject(1990, 1175.09, -1444.97, 14.79, 0.00, 0.00, -2.46);
  1994. CreateObject(1990, 1181.63, -1431.73, 14.79, 0.00, 0.00, 3.30);
  1995. CreateObject(1990, 1174.07, -1444.94, 14.79, 0.00, 0.00, 0.48);
  1996. CreateObject(1990, 1173.09, -1444.94, 14.79, 0.00, 0.00, -1.20);
  1997. CreateObject(1990, 1172.11, -1444.92, 14.79, 0.00, 0.00, -1.14);
  1998. CreateObject(1990, 1171.12, -1444.91, 14.79, 0.00, 0.00, -0.72);
  1999. CreateObject(2530, 1168.54, -1448.31, 14.79, 0.00, 0.00, -178.98);
  2000. CreateObject(2530, 1169.60, -1448.29, 14.79, 0.00, 0.00, -178.98);
  2001. CreateObject(2530, 1170.67, -1448.30, 14.79, 0.00, 0.00, -178.98);
  2002. CreateObject(2530, 1171.72, -1448.32, 14.79, 0.00, 0.00, -181.50);
  2003. CreateObject(2530, 1175.13, -1443.91, 14.79, 0.00, 0.00, -181.50);
  2004. CreateObject(2012, 1176.82, -1440.75, 14.75, 0.00, 0.00, 359.93);
  2005. CreateObject(1995, 1177.71, -1439.63, 14.79, 0.00, 0.00, 0.00);
  2006. CreateObject(1994, 1176.73, -1439.63, 14.79, 0.00, 0.00, 0.06);
  2007. CreateObject(1993, 1177.83, -1444.15, 14.79, 0.00, 0.00, 179.46);
  2008. }
  2009.  
  2010. stock GetVehicleSpeed(vehicleid)
  2011. {
  2012. new Float:Q[3];
  2013. GetVehicleVelocity(vehicleid,Q[0],Q[1],Q[2]);
  2014. return floatround(floatsqroot(Q[0]*Q[0]+Q[1]*Q[1]+Q[2]*Q[2])*170);
  2015. }
  2016.  
  2017. stock TextDraws()
  2018. {
  2019. Leiste = TextDrawCreate(2.000000, 426.353332, "usebox");
  2020. TextDrawLetterSize(Leiste, 0.000000, 2.172219);
  2021. TextDrawTextSize(Leiste, 637.199951, 0.000000);
  2022. TextDrawAlignment(Leiste, 1);
  2023. TextDrawColor(Leiste, 0);
  2024. TextDrawUseBox(Leiste, true);
  2025. TextDrawBoxColor(Leiste, 102);
  2026. TextDrawSetShadow(Leiste, 0);
  2027. TextDrawSetOutline(Leiste, 0);
  2028. TextDrawFont(Leiste, 0);
  2029.  
  2030. Forum = TextDrawCreate(4.000031, 427.839996, "~g~Forum:~w~ German-Reallife.de");
  2031. TextDrawLetterSize(Forum, 0.334798, 1.711999);
  2032. TextDrawAlignment(Forum, 1);
  2033. TextDrawColor(Forum, -1);
  2034. TextDrawSetShadow(Forum, 0);
  2035. TextDrawSetOutline(Forum, 1);
  2036. TextDrawBackgroundColor(Forum, 51);
  2037. TextDrawFont(Forum, 3);
  2038. TextDrawSetProportional(Forum, 1);
  2039.  
  2040. Version = TextDrawCreate(605.599609, 428.586700, "~g~V~w~ 1.0");
  2041. TextDrawLetterSize(Version, 0.334798, 1.711999);
  2042. TextDrawAlignment(Version, 1);
  2043. TextDrawColor(Version, -1);
  2044. TextDrawSetShadow(Version, 0);
  2045. TextDrawSetOutline(Version, 1);
  2046. TextDrawBackgroundColor(Version, 51);
  2047. TextDrawFont(Version, 3);
  2048. TextDrawSetProportional(Version, 1);
  2049.  
  2050. UhrDraw[0] = TextDrawCreate(552.400207, 44.059989, "usebox");
  2051. TextDrawLetterSize(UhrDraw[0], 0.000000, 1.890743);
  2052. TextDrawTextSize(UhrDraw[0], 601.200439, 0.000000);
  2053. TextDrawAlignment(UhrDraw[0], 1);
  2054. TextDrawColor(UhrDraw[0], 0);
  2055. TextDrawUseBox(UhrDraw[0], true);
  2056. TextDrawBoxColor(UhrDraw[0], 102);
  2057. TextDrawSetShadow(UhrDraw[0], 0);
  2058. TextDrawSetOutline(UhrDraw[0], 0);
  2059. TextDrawFont(UhrDraw[0], 1);
  2060.  
  2061. UhrDraw[1] = TextDrawCreate(554.400207, 43.306655, "00:00");
  2062. TextDrawLetterSize(UhrDraw[1], 0.369200, 1.764266);
  2063. TextDrawAlignment(UhrDraw[1], 1);
  2064. TextDrawColor(UhrDraw[1], -1);
  2065. TextDrawSetShadow(UhrDraw[1], 0);
  2066. TextDrawSetOutline(UhrDraw[1], 1);
  2067. TextDrawBackgroundColor(UhrDraw[1], 51);
  2068. TextDrawFont(UhrDraw[1], 2);
  2069. TextDrawSetProportional(UhrDraw[1], 1);
  2070.  
  2071. }
  2072.  
  2073. stock CreatePlayerCar(playerid)
  2074. {
  2075. new autostr[40];
  2076. format(autostr, sizeof(autostr), ""#AUTOVERZEICHNIS"%s.ini", SpielerName(playerid));
  2077. new model = dini_Int(autostr, "Model");
  2078. new Col1 = dini_Int(autostr, "Farbe1");
  2079. new Col2 = dini_Int(autostr, "Farbe2");
  2080. new Float:X = dini_Float(autostr,"X");
  2081. new Float:Y = dini_Float(autostr,"Y");
  2082. new Float:Z = dini_Float(autostr,"Z");
  2083. new Float:A = dini_Float(autostr,"A");
  2084. Auto[playerid] = CreateVehicle(model, X, Y, Z, A, Col1, Col2, -1);
  2085. SetVehicleNumberPlate(Auto[playerid],dini_Get(autostr, "Nummernschild"));
  2086. SetVehicleToRespawn(Auto[playerid]);
  2087. }
  2088.  
  2089. stock ShowInfoBox(playerid, Caption[], Info[])return ShowPlayerDialog(playerid, DIALOG_ALL_OTHER, DIALOG_STYLE_MSGBOX, Caption, Info, "Ok", "");
  2090.  
  2091. stock SetPlayerMoney(playerid, cash)
  2092. {
  2093. ResetPlayerMoney(playerid);
  2094. return GibGeld(playerid, cash);
  2095. }
  2096.  
  2097.  
  2098. stock GibGeld(playerid, anzahl)
  2099. {
  2100. GivePlayerMoney(playerid, anzahl);
  2101. Spieler[playerid][sGeld] += anzahl;
  2102. return 1;
  2103. }
  2104.  
  2105. stock kickplayer(id, Grund[])
  2106. {
  2107. new string[128];
  2108. format(string, sizeof(string), "%s wurde vom Server Gekickt. Grund: %s", SpielerName(id), Grund);
  2109. SendClientMessageToAll(ROT,"---------------------------- SERVERINFORMATION ----------------------------");
  2110. SendClientMessageToAll(ROT,string);
  2111. SendClientMessageToAll(ROT,"----------------------------------------------------------------------------");
  2112. SetTimerEx("playerkick",100,0,"d",id);
  2113. return 1;
  2114. }
  2115.  
  2116. stock SpielerName(playerid)
  2117. {
  2118. new name[MAX_PLAYER_NAME];
  2119. GetPlayerName(playerid,name,sizeof(name));
  2120. return name;
  2121. }
  2122.  
  2123. stock ERROR(playerid, text[])return SendClientMessage(playerid, COLOR_NOPARAMS, text);
  2124.  
  2125. stock SpielerLaden(playerid)
  2126. {
  2127. new accpfad[40];
  2128. format(accpfad, sizeof(accpfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
  2129. Spieler[playerid][sAdmin] = dini_Int(accpfad, "Adminlevel");
  2130. Spieler[playerid][sGeld] = dini_Int(accpfad, "Geld");
  2131. Spieler[playerid][sLevel] = dini_Int(accpfad, "Level");
  2132. Spieler[playerid][sKills] = dini_Int(accpfad, "Kills");
  2133. Spieler[playerid][sTode] = dini_Int(accpfad, "Tode");
  2134. Spieler[playerid][sFraktion] = dini_Int(accpfad, "Fraktion");
  2135. Spieler[playerid][sRang] = dini_Int(accpfad, "Rang");
  2136. Spieler[playerid][sZigaretten] = dini_Int(accpfad, "Zigaretten");
  2137. GivePlayerMoney(playerid, Spieler[playerid][sGeld]);
  2138. }
  2139.  
  2140. stock SpielerSpeichern(playerid)
  2141. {
  2142. new accpfad[40];
  2143. format(accpfad, sizeof(accpfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
  2144. dini_IntSet(accpfad, "Adminlevel", Spieler[playerid][sAdmin]);
  2145. dini_IntSet(accpfad, "Geld", Spieler[playerid][sGeld]);
  2146. dini_IntSet(accpfad, "Level", Spieler[playerid][sLevel]);
  2147. dini_IntSet(accpfad, "Kills", Spieler[playerid][sKills]);
  2148. dini_IntSet(accpfad, "Tode", Spieler[playerid][sTode]);
  2149. dini_IntSet(accpfad, "Fraktion", Spieler[playerid][sFraktion]);
  2150. dini_IntSet(accpfad, "Rang", Spieler[playerid][sRang]);
  2151. dini_IntSet(accpfad, "Zigaretten", Spieler[playerid][sZigaretten]);
  2152. GetPlayerHealth(playerid, Spieler[playerid][sLeben]);
  2153. dini_FloatSet(accpfad, "Leben", Spieler[playerid][sLeben]);
  2154. }
  2155.  
  2156. stock CreateAccount(playerid)
  2157. {
  2158. new accpfad[40];
  2159. format(accpfad, sizeof(accpfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
  2160. dini_IntSet(accpfad, "Adminlevel", 0);
  2161. dini_IntSet(accpfad, "Geld", StartGeld);
  2162. dini_IntSet(accpfad, "Level", 1);
  2163. dini_IntSet(accpfad, "Kills", 0);
  2164. dini_IntSet(accpfad, "Tode", 0);
  2165. dini_IntSet(accpfad, "Fraktion", 0);
  2166. dini_IntSet(accpfad, "Rang", 0);
  2167. dini_IntSet(accpfad, "Zigaretten",0);
  2168. serverkasse -= StartGeld;
  2169. SetPVarInt(playerid, "FirstSpawn", 1);
  2170. }
  2171.  
  2172. stock NoAdmin(playerid, Adminlvl)
  2173. {
  2174. new noadstr[128];
  2175. if(Spieler[playerid][sAdmin] < Adminlvl)
  2176. {
  2177. format(noadstr, sizeof(noadstr), " >> Du bist kein Admin << [Benötigtes Adminlevel: %d]", Adminlvl);
  2178. SendClientMessage(playerid, Adminclr, noadstr);
  2179. }
  2180. return 1;
  2181. }
  2182.  
  2183. stock sscanf(string[], format[], {Float,_}:...)
  2184. {
  2185. #if defined isnull
  2186. if (isnull(string))
  2187. #else
  2188. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  2189. #endif
  2190. {
  2191. return format[0];
  2192. }
  2193. #pragma tabsize 4
  2194. new
  2195. formatPos = 0,
  2196. stringPos = 0,
  2197. paramPos = 2,
  2198. paramCount = numargs(),
  2199. delim = ' ';
  2200. while (string[stringPos] && string[stringPos] <= ' ')
  2201. {
  2202. stringPos++;
  2203. }
  2204. while (paramPos < paramCount && string[stringPos])
  2205. {
  2206. switch (format[formatPos++])
  2207. {
  2208. case '\0':
  2209. {
  2210. return 0;
  2211. }
  2212. case 'i', 'd':
  2213. {
  2214. new
  2215. neg = 1,
  2216. num = 0,
  2217. ch = string[stringPos];
  2218. if (ch == '-')
  2219. {
  2220. neg = -1;
  2221. ch = string[++stringPos];
  2222. }
  2223. do
  2224. {
  2225. stringPos++;
  2226. if ('0' <= ch <= '9')
  2227. {
  2228. num = (num * 10) + (ch - '0');
  2229. }
  2230. else
  2231. {
  2232. return -1;
  2233. }
  2234. }
  2235. while ((ch = string[stringPos]) > ' ' && ch != delim);
  2236. setarg(paramPos, 0, num * neg);
  2237. }
  2238. case 'h', 'x':
  2239. {
  2240. new
  2241. num = 0,
  2242. ch = string[stringPos];
  2243. do
  2244. {
  2245. stringPos++;
  2246. switch (ch)
  2247. {
  2248. case 'x', 'X':
  2249. {
  2250. num = 0;
  2251. continue;
  2252. }
  2253. case '0' .. '9':
  2254. {
  2255. num = (num << 4) | (ch - '0');
  2256. }
  2257. case 'a' .. 'f':
  2258. {
  2259. num = (num << 4) | (ch - ('a' - 10));
  2260. }
  2261. case 'A' .. 'F':
  2262. {
  2263. num = (num << 4) | (ch - ('A' - 10));
  2264. }
  2265. default:
  2266. {
  2267. return -1;
  2268. }
  2269. }
  2270. }
  2271. while ((ch = string[stringPos]) > ' ' && ch != delim);
  2272. setarg(paramPos, 0, num);
  2273. }
  2274. case 'c':
  2275. {
  2276. setarg(paramPos, 0, string[stringPos++]);
  2277. }
  2278. case 'f':
  2279. {
  2280.  
  2281. new changestr[16], changepos = 0, strpos = stringPos;
  2282. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  2283. {
  2284. changestr[changepos++] = string[strpos++];
  2285. }
  2286. changestr[changepos] = '\0';
  2287. setarg(paramPos,0,_:floatstr(changestr));
  2288. }
  2289. case 'p':
  2290. {
  2291. delim = format[formatPos++];
  2292. continue;
  2293. }
  2294. case '\'':
  2295. {
  2296. new
  2297. end = formatPos - 1,
  2298. ch;
  2299. while ((ch = format[++end]) && ch != '\'') {}
  2300. if (!ch)
  2301. {
  2302. return -1;
  2303. }
  2304. format[end] = '\0';
  2305. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  2306. {
  2307. if (format[end + 1])
  2308. {
  2309. return -1;
  2310. }
  2311. return 0;
  2312. }
  2313. format[end] = '\'';
  2314. stringPos = ch + (end - formatPos);
  2315. formatPos = end + 1;
  2316. }
  2317. case 'u':
  2318. {
  2319. new
  2320. end = stringPos - 1,
  2321. id = 0,
  2322. bool:num = true,
  2323. ch;
  2324. while ((ch = string[++end]) && ch != delim)
  2325. {
  2326. if (num)
  2327. {
  2328. if ('0' <= ch <= '9')
  2329. {
  2330. id = (id * 10) + (ch - '0');
  2331. }
  2332. else
  2333. {
  2334. num = false;
  2335. }
  2336. }
  2337. }
  2338. if (num && IsPlayerConnected(id))
  2339. {
  2340. setarg(paramPos, 0, id);
  2341. }
  2342. else
  2343. {
  2344. #if !defined foreach
  2345. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  2346. #define __SSCANF_FOREACH__
  2347. #endif
  2348. string[end] = '\0';
  2349. num = false;
  2350. new
  2351. name[MAX_PLAYER_NAME];
  2352. id = end - stringPos;
  2353. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  2354. {
  2355. GetPlayerName(playerid, name, sizeof (name));
  2356. if (!strcmp(name, string[stringPos], true, id))
  2357. {
  2358. setarg(paramPos, 0, playerid);
  2359. num = true;
  2360. break;
  2361. }
  2362. }
  2363. if (!num)
  2364. {
  2365. setarg(paramPos, 0, INVALID_PLAYER_ID);
  2366. }
  2367. string[end] = ch;
  2368. #if defined __SSCANF_FOREACH__
  2369. #undef foreach
  2370. #undef __SSCANF_FOREACH__
  2371. #endif
  2372. }
  2373. stringPos = end;
  2374. }
  2375. case 's', 'z':
  2376. {
  2377. new
  2378. i = 0,
  2379. ch;
  2380. if (format[formatPos])
  2381. {
  2382. while ((ch = string[stringPos++]) && ch != delim)
  2383. {
  2384. setarg(paramPos, i++, ch);
  2385. }
  2386. if (!i)
  2387. {
  2388. return -1;
  2389. }
  2390. }
  2391. else
  2392. {
  2393. while ((ch = string[stringPos++]))
  2394. {
  2395. setarg(paramPos, i++, ch);
  2396. }
  2397. }
  2398. stringPos--;
  2399. setarg(paramPos, i, '\0');
  2400. }
  2401. default:
  2402. {
  2403. continue;
  2404. }
  2405. }
  2406. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  2407. {
  2408. stringPos++;
  2409. }
  2410. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  2411. {
  2412. stringPos++;
  2413. }
  2414. paramPos++;
  2415. }
  2416. do
  2417. {
  2418. if ((delim = format[formatPos++]) > ' ')
  2419. {
  2420. if (delim == '\'')
  2421. {
  2422. while ((delim = format[formatPos++]) && delim != '\'') {}
  2423. }
  2424. else if (delim != 'z')
  2425. {
  2426. return delim;
  2427. }
  2428. }
  2429. }
  2430. while (delim > ' ');
  2431. return 0;
  2432. }
  2433. /*
  2434. Adminränge
  2435. 1. Suppoter
  2436. 2. Administrator
  2437. 3. Haupt-Supporter
  2438. 4. Servermanager
  2439. 5. Projektleiter
  2440. */
Advertisement
Add Comment
Please, Sign In to add comment