Guest User

Untitled

a guest
Aug 25th, 2012
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.38 KB | None | 0 0
  1. /*
  2. ToDo-List:
  3. ~~~~~~~~~
  4. .:: GEMACHTES ::.
  5. _________________________________________
  6.  
  7. PlayerInfo erstellt(pAdmin usw.)
  8. SpielerSpeichern
  9. AdminCommands (10%)
  10. _________________________________________
  11.  
  12. .:: ZU ERLEDIGEN ::.
  13. FahrzeugSystem (Tacho und mehr)
  14. Gangsystem
  15. Interiorsystem
  16. Schulesystem
  17. CP + Itemsystem ?
  18. VehicleSystem(Fahrspaß erhöhen)
  19. Jobsystem
  20. Waffenschein + Ammunation
  21. Führerscheinsystem
  22. Maps(Bases usw)
  23. AntiCheat
  24. Adminpannel
  25. Handysystem
  26. Hotkeys
  27. Gangareas
  28. Kleidungsgeschäfte
  29. Bombensystem(Terrors usw)
  30. Drogensystem (Drogen, Alkohol + Zigaretten)
  31. Fraktionen
  32. CNN System
  33. Navi
  34. Interior für Fahrzeuge
  35. /tower (Anmelden für Flugzeuge zum Landen)
  36. Autohäuser
  37. Spedition
  38.  
  39. _________________________________________
  40.  
  41. Job~Versuch
  42. _________________________________________
  43. */
  44.  
  45. #include <a_samp>
  46. #include <dini>
  47. #include <ocmd>
  48. #include <MD5>
  49.  
  50. //Variablen Arrays usw.
  51. //--> Fraks
  52. //SendClientMessages + Spezialfarben
  53. #define ERROR 0xAA3333AA //Rot
  54. #define FEHLER 0xAFAFAFAA //Grau
  55. #define ME 0xC2A2DAAA //Lila
  56.  
  57. #define nAdmin "Du bist nicht befugt!"
  58. #define nBerechtigt "Du bist nicht dazu berechtigt"
  59. //Dialoge
  60. #define DIALOG_STATS 6
  61. //--> Register/Login
  62. #define Dialog_Register1 1
  63. #define Dialog_Register2 2
  64. #define Dialog_Register3 3
  65. #define Dialog_Register4 4
  66. #define Dialog_Login 5
  67. //Farben
  68. #define F_G 0x24D900F6 //helles Grün
  69. #define F_O 0xF6B400F6 //Neues Orange
  70. #define blau 0x0085C4F6
  71. #define NB 0x005B9BF6 // Neues Blau
  72. #define NY 0xF5DEB3AA // Neues Gelb
  73. #define RED_NEW 0xF60000F6
  74. #define BLUE_NEW 0x0000CAF6
  75. #define GREEN 0x21DD00FF
  76. #define ORANGE 0xF97804FF
  77. #define ROT 0xE60000FF
  78. #define GRUEN 0x05FF00FF
  79. #define GELB 0xFFFF00FF
  80. #define BLAU 0x000FFFFF
  81. #define RED 0xE60000FF
  82. #define COLOR_BLUE 0x009AFFFF
  83. #define COLOR_GOLD 0xB8860BAA
  84. #define COLOR_GRAD1 0xB4B5B7FF
  85. #define COLOR_GRAD2 0xBFC0C2FF
  86. #define COLOR_GRAD3 0xCBCCCEFF
  87. #define COLOR_GRAD4 0xD8D8D8FF
  88. #define COLOR_GRAD5 0xE3E3E3FF
  89. #define COLOR_GRAD6 0xF0F0F0FF
  90. #define COLOR_ORANGE 0xFF9933FF
  91. #define COLOR_BROWN 0x330000FF
  92. #define COLOR_BLACK 0x000000FF
  93. #define COLOR_GREY 0xAFAFAFAA
  94. #define COLOR_GREEN 0x33AA33AA
  95. #define COLOR_RED 0xAA3333AA
  96. #define COLOR_LIGHTRED 0xFF6347AA
  97. #define COLOR_LIGHTBLUE 0x33CCFFAA
  98. #define COLOR_LIGHTGREEN 0x9ACD32AA
  99. #define COLOR_YELLOW 0xFFFF00AA
  100. #define COLOR_YELLOW2 0xF5DEB3AA
  101. #define COLOR_WHITE 0xFFFFFFAA
  102. #define COLOR_WHITEE 0xFFFFFFAA
  103. #define COLOR_FADE1 0xE6E6E6E6
  104. #define COLOR_FADE2 0xC8C8C8C8
  105. #define COLOR_FADE3 0xAAAAAAAA
  106. #define COLOR_FADE4 0x8C8C8C8C
  107. #define COLOR_FADE5 0x6E6E6E6E
  108. #define COLOR_PURPLE 0xC2A2DAAA
  109. #define COLOR_DBLUE 0x2641FEAA
  110. #define COLOR_ALLDEPT 0xFF8282AA
  111. #define COLOR_NEWS 0xFFA500AA
  112. #define COLOR_OOC 0xE0FFFFAA
  113. #define COLOR_AONDONNN 0xF5DEB3AA
  114. #define AL1 0xE5D400FF
  115. #define AL2 0xE5E700FF
  116. #define AL3 0xFFFF00FF
  117. #define AL4 0xBCFF00FF
  118. #define AL5 0x67E400FF
  119. #define AL6 0x00A1C7FF
  120. #define AL7 0x0000D6FF
  121. #define AL8 0xFF7100FF
  122.  
  123. #pragma unused ret_memcpy
  124.  
  125. enum pInfo
  126. {
  127. pKey[255],
  128. pLevel,
  129. pAdmin,
  130. pSupporter,
  131. pDonateRank,
  132. gPupgrade,
  133. pConnectTime,
  134. pNeuling,
  135. pReg,
  136. pSex,
  137. pAge,
  138. pOrigin,
  139. pCK,
  140. pMuted,
  141. pKnast,
  142. pExp,
  143. pCash,
  144. pAccount,
  145. pPlayerKreditDauer,
  146. pPlayerKredit,
  147. pCrimes,
  148. pKills,
  149. pJailed,
  150. pJailTime,
  151. pDeaths,
  152. pArrested,
  153. pWantedDeaths,
  154. pWanteds,
  155. pPhoneBook,
  156. pLottoNr,
  157. pFishes,
  158. pBiggestFish,
  159. pJob,
  160. pPayCheck,
  161. pRest,
  162. pHeadValue,
  163. pGangJailed,
  164. pMauled,
  165. pMats,
  166. pDrugs,
  167. pLeader,
  168. pMember,
  169. pFMember,
  170. pRank,
  171. pChar,
  172. pContractTime,
  173. pDetSkill,
  174. pSexSkill,
  175. pBoxSkill,
  176. pLawSkill,
  177. pMechSkill,
  178. pJackSkill,
  179. pCarSkill,
  180. pNewsSkill,
  181. pDrugsSkill,
  182. pCookSkill,
  183. pFishSkill,
  184. Float:pHealth,
  185. Float:pSHealth,
  186. pInt,
  187. pLocal,
  188. pTeam,
  189. pModel,
  190. pPnumber,
  191. pPhousekey,
  192. pPbiskey,
  193. Float:pPos_x,
  194. Float:pPos_y,
  195. Float:pPos_z,
  196. pCarLic,
  197. pNewLic,
  198. pFlyLic,
  199. pBoatLic,
  200. pFishLic,
  201. pGunLic, //Definition des Scheines zb die Aufgabe später
  202. pLKWLic,
  203. pRollerLic,
  204. pMotoLic,
  205. pZig,
  206. pKekse,
  207. pZigSucht,
  208. pGun1,
  209. pGun2,
  210. pGun3,
  211. pGun4,
  212. pAmmo1,
  213. pAmmo2,
  214. pAmmo3,
  215. pAmmo4,
  216. pCarTime,
  217. pMulltime,
  218. pPayDay,
  219. pPayDayHad,
  220. pCDPlayer,
  221. pWins,
  222. pLoses,
  223. pAlcoholPerk,
  224. pDrugPerk,
  225. pMiserPerk,
  226. pPainPerk,
  227. pTraderPerk,
  228. pTut,
  229. pRadio,
  230. pWarns,
  231. Float:pGWD,
  232. pAdjustable,
  233. pFuel,
  234. pMarried,
  235. pMarriedTo[128],
  236. pInvWeapon,
  237. pInvAmmo,
  238. pInvWeapon2,
  239. pInvAmmo2,
  240. pInvDrugs,
  241. pInvMats,
  242. pFlugTime,
  243. pRoadblock,
  244. pPlayMinutes,
  245. pGesamtMinutes,
  246. pMinutesSinceLogin,
  247. pMinutesSinceAn,
  248. pSFPASS,
  249. pLVPASS,
  250. pHandyGeld,
  251. pHandyVer,
  252. pUhrID,
  253. pHandyID,
  254. pOwnPerso,
  255. pOwnAntrag,
  256. pPersoStop,
  257. pGehalt,
  258. pFrakSperre,
  259. pBoxMats,
  260. pBoxDrugs,
  261. pban,
  262. Text:LetterboxTop,Text:LetterboxBottom2, Text:LetterboxBottom,
  263. pTot,
  264. pFarmTime,
  265. pGDeaths,
  266. pGKills,
  267. pMeldung,
  268. pHouseKey,
  269. pRentHouseKey,
  270. pLoggedIn
  271. };
  272. new PlayerInfo[MAX_PLAYERS][pInfo];
  273.  
  274. enum JobSkill
  275. {
  276. sDetektiv,
  277. sNewsReporter,
  278. sGangster,
  279. sBankraub,
  280. sAngler
  281. };
  282. new SkillInfo[MAX_PLAYERS][JobSkill];
  283.  
  284. enum LottoKasse
  285. {
  286. LKasse,
  287. Lottos
  288. };
  289. new LottoInfo[LottoKasse];
  290.  
  291. enum BanData
  292. {
  293. Banned,
  294. TBanned
  295. };
  296. new BanInfo[MAX_PLAYERS][BanData];
  297.  
  298. //=================== STOCKS =========================
  299. stock Freeze(playerid)
  300. {
  301. FreezePlayer(playerid);
  302. return 1;
  303. }
  304.  
  305. stock Unfreeze(playerid)
  306. {
  307. UnFreezePlayer(playerid);
  308. return 1;
  309. }
  310.  
  311. stock Goto(playerid)
  312. {
  313. new Float:X, Float:Y, Float:Z;
  314. GetPlayerPos(playerid,X,Y,Z);
  315. SetPlayerPos(playerid,X,Y,Z);
  316. return 1;
  317. }
  318.  
  319. stock GotoPlayer(pID,playerid)
  320. {
  321. new Float:X, Float:Y, Float:Z;
  322. GetPlayerPos(playerid,X,Y,Z);
  323. SetPlayerPos(pID,X,Y,Z);
  324. return 1;
  325. }
  326.  
  327. stock GetName(playerid)
  328. {
  329. new Name[MAX_PLAYER_NAME];
  330. GetPlayerName(playerid,Name,sizeof(Name));
  331. return Name;
  332. }
  333.  
  334. stock IsAutoAn(vid)
  335. {
  336. new engine,lights,alarm,doors,bonnet,boot,objective;
  337. GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  338. if(engine == VEHICLE_PARAMS_ON) return 1;
  339. return 0;
  340. }
  341.  
  342. stock AdminMessage(color, const message[])
  343. {
  344. for(new i=0; i<MAX_PLAYERS; i++)
  345. {
  346. if(PlayerInfo[i][pAdmin] > 0)
  347. {
  348. SendClientMessage(i,color,const message[]);
  349. }
  350. }
  351. return 1;
  352. }
  353.  
  354. #if defined FILTERSCRIPT
  355.  
  356. main()
  357. {
  358. print("\n----------------------------------");
  359. print(" Selfmade in Arbeit!");
  360. print("----------------------------------\n");
  361. }
  362.  
  363. #endif
  364.  
  365. public OnGameModeInit()
  366. {
  367. ManualVehicleEngineAndLights();
  368. SetGameModeText("Noch in Arbeit. Fertig: 7%");
  369. SetTimer("StartLotto",10*60*1000,false);
  370. LoadLotto();
  371. return 1;
  372. }
  373.  
  374. forward StartMotor(playerid);
  375. public StartMotor(playerid)
  376. {
  377. new VID = GetPlayerVehicleID(playerid);
  378. new engine,lights,alarm,doors,bonnet,boot,objective;
  379. GetVehicleParamsEx(VID,engine,lights,alarm,doors,bonnet,boot,objective);
  380. SetVehicleParamsEx(VID,VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
  381. return 1;
  382. }
  383. forward StartLotto(playerid);
  384. public StartLotto(playerid)
  385. {
  386. SetTimer("Lotto2min",1*60*1000,false);
  387. SendClientMessage(playerid,COLOR_GREEN,"Die Lottoziehung beginnt in 3 Minuten!");
  388. return 1;
  389. }
  390.  
  391. forward Lotto2min(playerid);
  392. public Lotto2min(playerid)
  393. {
  394. SetTimer("Lotto1min",1*60*1000,false);
  395. SendClientMessage(playerid,COLOR_GREEN,"Die Lottoziehung beginnt in 2 Minuten!");
  396. return 1;
  397. }
  398.  
  399. forward Lotto1min(playerid);
  400. public Lotto1min(playerid)
  401. {
  402. SetTimer("Lotto",1*60*1000,false);
  403. SendClientMessage(playerid,COLOR_GREEN,"Die Lottoziehung beginnt in 1 Minute!");
  404. return 1;
  405. }
  406.  
  407. forward Lotto(playerid);
  408. public Lotto(playerid)
  409. {
  410. new gnum = random(99), gnews[128];
  411. new name[MAX_PLAYER_NAME];
  412. new wname;
  413. for(new w=0; w<MAX_PLAYERS; w++)
  414. {
  415. wname = PlayerInfo[w][pLottoNr] == gnum;
  416. GetPlayerName(wname,name,sizeof(name));
  417. return 1;
  418. }
  419. SendClientMessage(playerid,COLOR_GREEN,"Die Lottoziehung ");
  420. format(gnews,sizeof(gnews),"Die Gewinnzahl lautet: %i",gnum);
  421. format(gnews,sizeof(gnews),"Diesmal gewinnt %s",wname);
  422. SendClientMessage(playerid,COLOR_GREEN,gnews);
  423. return 1;
  424. }
  425.  
  426.  
  427. public OnGameModeExit()
  428. {
  429. return 1;
  430. }
  431.  
  432. public OnPlayerRequestClass(playerid, classid)
  433. {
  434. SetPlayerPos(playerid, 2125.1565,1145.1842,13.5095);
  435. SetPlayerFacingAngle(playerid,240.3164);
  436. SetPlayerCameraPos(playerid, 2133.1389,1141.2584,13.5104+1);
  437. SetPlayerCameraLookAt(playerid, 2125.1565,1145.1842,13.5095);
  438. return 1;
  439. }
  440.  
  441. public OnPlayerConnect(playerid)
  442. {
  443. LoadBan(playerid);
  444. if(BanInfo[playerid][Banned] >= 1)
  445. {
  446. SendClientMessage(playerid,ERROR,"Du bist vom Server gebannt");
  447. Kick(playerid);
  448. }
  449. RemoveBuildingForPlayer(playerid, 8123, 1668.1484, 1101.7500, 13.8203, 0.25);
  450. RemoveBuildingForPlayer(playerid, 8076, 1668.1484, 1101.7500, 13.8203, 0.25);
  451. CreateObject(987,1651.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //object(elecfence_bar) (1)
  452. CreateObject(987,1639.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //object(elecfence_bar) (2)
  453. CreateObject(987,1627.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(3)
  454. CreateObject(987,1615.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(4)
  455. CreateObject(987,1603.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(5)
  456. CreateObject(987,1591.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(6)
  457. CreateObject(987,1589.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(7)
  458. CreateObject(987,1543.09997559,943.29998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(10)
  459. CreateObject(970,1579.09997559,943.40002441,10.39999962,0.00000000,0.00000000,0.00000000); //object(fencesmallb) (1)
  460. CreateObject(970,1579.09960938,943.39941406,11.00000000,0.00000000,0.00000000,0.00000000); //object(fencesmallb) (2)
  461. CreateObject(970,1579.09924316,943.39880371,11.60000038,0.00000000,0.00000000,0.00000000); //amt 970(3)
  462. CreateObject(970,1579.09887695,943.39819336,12.20000076,0.00000000,0.00000000,0.00000000); //amt 970(4)
  463. CreateObject(970,1579.09851074,943.39758301,12.80000114,0.00000000,0.00000000,0.00000000); //amt 970(5)
  464. CreateObject(970,1579.09814453,943.39697266,13.40000153,0.00000000,0.00000000,0.00000000); //amt 970(6)
  465. CreateObject(970,1577.00000000,945.47753906,13.40000153,0.00000000,0.00000000,90.00000000); //amt 970(7)
  466. CreateObject(970,1579.09765625,943.39648438,13.40000153,0.00000000,0.00000000,0.00000000); //amt 970(6)
  467. CreateObject(970,1577.00000000,945.47705078,12.80000305,0.00000000,0.00000000,90.00000000); //amt 970(12)
  468. CreateObject(970,1577.00000000,945.47656250,12.20000458,0.00000000,0.00000000,90.00000000); //amt 970(13)
  469. CreateObject(987,1579.09960938,943.29980469,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(7)
  470. CreateObject(987,1601.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,179.99450684); //amt 987(7)
  471. CreateObject(987,1613.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(16)
  472. CreateObject(987,1625.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(17)
  473. CreateObject(987,1637.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(18)
  474. CreateObject(987,1649.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(19)
  475. CreateObject(987,1661.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(20)
  476. CreateObject(987,1673.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(21)
  477. CreateObject(987,1685.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(22)
  478. CreateObject(987,1697.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(23)
  479. CreateObject(987,1709.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(24)
  480. CreateObject(987,1721.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(25)
  481. CreateObject(987,1733.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(26)
  482. CreateObject(987,1745.30004883,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(27)
  483. CreateObject(987,1757.19995117,1123.50000000,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(28)
  484. CreateObject(987,1757.09997559,1111.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(28)
  485. CreateObject(987,1757.09997559,1099.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(28)
  486. CreateObject(987,1757.09997559,1087.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(35)
  487. CreateObject(987,1757.09997559,1075.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(36)
  488. CreateObject(987,1757.09997559,1063.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(37)
  489. CreateObject(987,1757.09997559,1051.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(38)
  490. CreateObject(987,1757.09997559,1039.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(39)
  491. CreateObject(987,1757.09997559,1027.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(40)
  492. CreateObject(987,1757.09997559,1015.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(41)
  493. CreateObject(987,1757.09997559,1003.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(42)
  494. CreateObject(987,1757.09997559,991.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(43)
  495. CreateObject(987,1757.09997559,979.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(44)
  496. CreateObject(987,1757.09997559,967.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(45)
  497. CreateObject(987,1757.09997559,955.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(46)
  498. CreateObject(987,1757.09997559,943.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(47)
  499. CreateObject(987,1757.09997559,931.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(48)
  500. CreateObject(987,1757.09997559,919.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(49)
  501. CreateObject(987,1757.09997559,907.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(50)
  502. CreateObject(987,1757.09997559,895.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(51)
  503. CreateObject(987,1757.09997559,883.69995117,9.80000019,0.00000000,0.00000000,90.00000000); //amt 987(52)
  504. CreateObject(987,1745.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(52)
  505. CreateObject(987,1733.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(52)
  506. CreateObject(987,1721.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(57)
  507. CreateObject(987,1709.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(58)
  508. CreateObject(987,1697.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(59)
  509. CreateObject(987,1685.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(60)
  510. CreateObject(987,1673.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(61)
  511. CreateObject(987,1661.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(62)
  512. CreateObject(987,1649.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(63)
  513. CreateObject(987,1637.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(64)
  514. CreateObject(987,1625.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(65)
  515. CreateObject(987,1613.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(66)
  516. CreateObject(987,1601.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(67)
  517. CreateObject(987,1589.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(68)
  518. CreateObject(987,1577.19995117,883.79998779,9.80000019,0.00000000,0.00000000,0.00000000); //amt 987(69)
  519. CreateObject(987,1577.40002441,895.70001221,9.80000019,0.00000000,0.00000000,270.00000000); //amt 987(69)
  520. CreateObject(987,1577.40002441,907.70001221,9.80000019,0.00000000,0.00000000,269.99450684); //amt 987(69)
  521. CreateObject(987,1577.40002441,919.70001221,9.80000019,0.00000000,0.00000000,269.99450684); //amt 987(69)
  522. CreateObject(987,1577.40002441,922.70001221,9.80000019,0.00000000,0.00000000,269.99450684); //amt 987(69)
  523. CreateObject(987,1589.30004883,923.29998779,9.80000019,0.00000000,0.00000000,183.25001526); //amt 987(69)
  524. CreateObject(987,1601.30004883,923.29998779,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(69)
  525. CreateObject(987,1613.30004883,923.29998779,9.80000019,0.00000000,0.00000000,179.99450684); //amt 987(69)
  526. CreateObject(987,1625.30004883,923.29998779,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(79)
  527. CreateObject(970,1673.90002441,943.20001221,11.00000000,0.00000000,0.00000000,0.00000000); //object(fencesmallb) (9)
  528. CreateObject(970,1673.90002441,943.20001221,10.39999962,0.00000000,0.00000000,0.00000000); //object(fencesmallb) (11)
  529. CreateObject(9131,1676.50000000,943.00000000,12.89999962,0.00000000,0.00000000,31.00000000); //object(shbbyhswall13_lvs) (2)
  530. CreateObject(9131,1676.50000000,943.00000000,10.89999962,0.00000000,0.00000000,30.99792480); //object(shbbyhswall13_lvs) (3)
  531. CreateObject(970,1673.90002441,943.20001221,11.60000038,0.00000000,0.00000000,0.00000000); //amt 970(28)
  532. CreateObject(970,1673.90002441,943.20001221,12.20000076,0.00000000,0.00000000,0.00000000); //amt 970(29)
  533. CreateObject(970,1673.90002441,943.20001221,12.80000114,0.00000000,0.00000000,0.00000000); //amt 970(30)
  534. CreateObject(970,1673.90002441,943.20001221,13.40000153,0.00000000,0.00000000,0.00000000); //amt 970(31)
  535. CreateObject(970,1673.90002441,943.20001221,14.00000191,0.00000000,0.00000000,0.00000000); //amt 970(32)
  536. CreateObject(970,1673.90002441,943.20001221,14.60000229,0.00000000,0.00000000,0.00000000); //amt 970(33)
  537. CreateObject(970,1673.90002441,943.20001221,15.20000267,0.00000000,0.00000000,0.00000000); //amt 970(34)
  538. CreateObject(970,1673.90002441,943.20001221,15.80000305,0.00000000,0.00000000,0.00000000); //amt 970(35)
  539. CreateObject(971,1667.39941406,943.09960938,13.30000019,0.00000000,0.00000000,0.00000000); //object(subwaygate) (2)
  540. CreateObject(987,1637.30004883,923.29998779,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(89)
  541. CreateObject(987,1649.30004883,923.29998779,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(90)
  542. CreateObject(987,1658.30004883,923.29998779,9.80000019,0.00000000,0.00000000,180.00000000); //amt 987(91)
  543. CreateObject(3399,1625.09997559,1052.59997559,12.27000046,0.00000000,0.00000000,270.00000000); //object(cxrf_a51_stairs) (1)
  544. CreateObject(3399,1625.09997559,1047.90002441,14.10000038,0.00000000,0.00000000,270.00000000); //object(cxrf_a51_stairs) (2)
  545. CreateObject(638,1660.50000000,993.79998779,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (3)
  546. CreateObject(638,1663.50000000,993.79998779,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (5)
  547. CreateObject(638,1669.80004883,993.79998779,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (6)
  548. CreateObject(640,1666.59997559,993.82000732,10.39999962,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush2) (4)
  549. CreateObject(638,1672.90002441,993.79998779,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (7)
  550. CreateObject(638,1679.19995117,993.79998779,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (8)
  551. CreateObject(640,1676.09997559,993.82000732,10.39999962,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush2) (5)
  552. CreateObject(638,1654.19995117,1033.90002441,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (9)
  553. CreateObject(640,1657.19995117,1033.92004395,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush2) (6)
  554. CreateObject(638,1660.50000000,1033.90002441,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (10)
  555. CreateObject(640,1657.40002441,993.82000732,10.39999962,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush2) (8)
  556. CreateObject(638,1654.40002441,993.79998779,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (12)
  557. CreateObject(638,1663.50000000,1033.90002441,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (13)
  558. CreateObject(638,1669.90002441,1033.90002441,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (14)
  559. CreateObject(640,1666.80004883,1033.92004395,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush2) (9)
  560. CreateObject(638,1679.19995117,1033.90002441,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (15)
  561. CreateObject(638,1672.90002441,1033.90002441,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (16)
  562. CreateObject(638,1672.89941406,1033.89941406,10.60000038,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush) (17)
  563. CreateObject(640,1676.09997559,1033.92004395,10.50000000,0.00000000,0.00000000,90.00000000); //object(kb_planter_bush2) (10)
  564. CreateObject(616,1656.69995117,899.50000000,6.00000000,0.00000000,0.00000000,0.00000000); //object(veg_treea1) (1)
  565. CreateObject(7153,1680.69995117,1098.00000000,5.00000000,0.00000000,0.00000000,90.00000000); //object(shamheliprt05) (1)
  566. CreateObject(1676,1708.90002441,984.90002441,11.39999962,0.00000000,0.00000000,0.00000000); //object(washgaspump) (1)
  567. CreateObject(11292,1714.59997559,986.29998779,11.30000019,0.00000000,0.00000000,0.00000000); //object(gasstatiohut) (1)
  568. CreateObject(1676,1720.40002441,984.90002441,11.39999962,0.00000000,0.00000000,0.00000000); //object(washgaspump) (2)
  569. CreateObject(1998,1717.30004883,987.90002441,10.10000038,0.00000000,0.00000000,270.00000000); //object(officedesk1l) (1)
  570. CreateObject(2482,1710.40002441,987.50000000,10.10000038,0.00000000,0.00000000,90.00000000); //object(cj_hobby_shelf_4) (1)
  571. CreateObject(2482,1710.40002441,985.40002441,10.10000038,0.00000000,0.00000000,90.00000000); //object(cj_hobby_shelf_4) (3)
  572. CreateObject(2482,1710.40002441,986.43005371,10.10000038,0.00000000,0.00000000,90.00000000); //object(cj_hobby_shelf_4) (4)
  573. CreateObject(2204,1716.50000000,984.90002441,10.10000038,0.00000000,0.00000000,180.00000000); //object(med_office8_cabinet) (1)
  574. CreateObject(2894,1717.30004883,988.00000000,10.89999962,0.00000000,0.00000000,0.00000000); //object(kmb_rhymesbook) (1)
  575. CreateObject(1671,1717.59997559,987.00000000,10.60000038,0.00000000,0.00000000,90.00000000); //object(swivelchair_a) (1)
  576. CreateObject(1597,1712.19995117,976.90002441,12.50000000,0.00000000,0.00000000,90.00000000); //object(cntrlrsac1) (1)
  577. CreateObject(1597,1722.00000000,976.90002441,12.50000000,0.00000000,0.00000000,90.00000000); //object(cntrlrsac1) (2)
  578. CreateObject(1597,1731.80004883,976.90002441,12.50000000,0.00000000,0.00000000,90.00000000); //object(cntrlrsac1) (3)
  579. CreateObject(1597,1741.59997559,976.90002441,12.50000000,0.00000000,0.00000000,90.00000000); //object(cntrlrsac1) (4)
  580. CreateObject(3660,1619.00000000,989.00000000,12.50000000,0.00000000,0.00000000,0.00000000); //object(lasairfbed_las) (1)
  581. CreateObject(3660,1599.40002441,989.00000000,12.50000000,0.00000000,0.00000000,0.00000000); //object(lasairfbed_las) (2)
  582. CreateObject(3255,1638.40002441,958.79998779,9.60000038,0.00000000,0.00000000,0.00000000); //object(ref_oiltank01) (1)
  583. CreateObject(3643,1633.50000000,966.40002441,15.69999981,0.00000000,0.00000000,0.00000000); //object(la_chem_piping) (1)
  584. //Tankstelle ~ ~ ~ Test
  585. RemoveBuildingForPlayer(playerid, 5535, 1918.8516, -1776.3281, 16.9766, 0.25);
  586. RemoveBuildingForPlayer(playerid, 5409, 1918.8516, -1776.3281, 16.9766, 0.25);
  587. new tanke = CreateObject(5409, 1918.8516, -1776.3281, 16.9766,0,0,0,300);
  588. SetObjectMaterial(tanke ,4, 1378,"cranes_dyn2_cj", "ws_oldpaintedyello", 0);
  589. SetObjectMaterial(tanke ,7, 1378,"cranes_dyn2_cj", "ws_oldpaintedyello", 0);
  590. SetObjectMaterial(tanke ,11, 1378,"cranes_dyn2_cj", "ws_oldpaintedyello", 0);
  591. new Player[64], Name[MAX_PLAYER_NAME];
  592. GetPlayerName(playerid,Name,sizeof(Name));
  593. format(Player,sizeof(Player),"/Spieler/%s.txt",Name);
  594. if(dini_Exists(Player))
  595. {
  596. ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"Einloggen","Dein Account wurde auf der Datenbank gefunden.\nGib nun dein Passwort ein, um dich mit deinem\n Account einzuloggen:","Einloggen","Abbrechen");
  597. }
  598. else
  599. {
  600. ShowPlayerDialog(playerid,Dialog_Register1,DIALOG_STYLE_INPUT,"Registrieren"," Dein Account wurde nicht auf der Datenbank gefunden.\nBitte gib dein Passwort an, um dir einen Account anzulegen:\nHinweis: Die Passwörter sind mit einer MD5-Verschlüsselung\n ! Geschützt !","Registrieren","Abbrechen");
  601. }
  602. new connect[128];
  603. format(connect,sizeof(connect),"[Server] %s hat den Server betreten.",GetName(playerid));
  604. SendClientMessageToAll(0xFFAA00FF,connect);
  605. SendClientMessage(playerid,0xFF6500FF,"Willkommen auf dem Sh12-Selfmade Server!");
  606. /*if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0)
  607. {
  608. SetSpawnInfo(playerid,0,2, 2125.1565,1145.1842,13.5095,240.3164,0,0,0,0,0,0);
  609. SpawnPlayer(playerid);
  610. SetCameraBehindPlayer(playerid);
  611. }*/
  612. return 1;
  613. }
  614.  
  615. public OnPlayerDisconnect(playerid, reason)
  616. {
  617. SaveBan(playerid);
  618. SavePlayer(playerid);
  619. return 1;
  620. }
  621.  
  622. public OnPlayerSpawn(playerid)
  623. {
  624. if(BanInfo[playerid][Banned] >= 1)
  625. {
  626. SendClientMessage(playerid,ERROR,"Du bist vom Server gebannt");
  627. Kick(playerid);
  628. }
  629. if(PlayerInfo[playerid][pMember] == 0)
  630. {
  631. SetPlayerPos(playerid,1714.9845,-1897.1287,13.5666);
  632. SetPlayerFacingAngle(playerid,0);
  633. SetPlayerInterior(playerid,0);
  634. PlayerInfo[playerid][pInt] = 0;
  635. SetPlayerSkin(playerid,2);
  636. return 1;
  637. }
  638. return 1;
  639. }
  640.  
  641. public OnPlayerDeath(playerid, killerid, reason)
  642. {
  643. new wanteds[128];
  644. PlayerInfo[playerid][pDeaths] += 1;
  645. PlayerInfo[killerid][pKills] += 1;
  646. PlayerInfo[killerid][pCrimes] += 1;
  647. PlayerInfo[killerid][pWanteds] += 1;
  648. format(wanteds,sizeof(wanteds),"Du hast 1 Wantedpunkt erhalten. Grund: Mord");
  649. SendClientMessage(playerid,AL8,wanteds);
  650. format(wanteds,sizeof(wanteds),"Aktuelles Wantedlevel: %i Wanteds",PlayerInfo[killerid][pWanteds]);
  651. SendClientMessage(playerid,AL8,wanteds);
  652. for(new i=0; i<MAX_PLAYERS; i++)
  653. {
  654. if(PlayerInfo[playerid][pAdmin] >= 6)
  655. {
  656. new dm[128];
  657. format(dm,sizeof(dm),"%s wurde von %s gekillt!",GetName(i),GetName(killerid));
  658. SendClientMessage(playerid,ERROR,dm);
  659. }
  660. }
  661. return 1;
  662. }
  663.  
  664. public OnVehicleSpawn(vehicleid)
  665. {
  666. return 1;
  667. }
  668.  
  669. public OnVehicleDeath(vehicleid, killerid)
  670. {
  671. return 1;
  672. }
  673.  
  674. public OnPlayerText(playerid, text[])
  675. {
  676. return 1;
  677. }
  678.  
  679. public OnPlayerCommandText(playerid, cmdtext[])
  680. {
  681. if (strcmp("/motor", cmdtext, true, 10) == 0)
  682. {
  683. new VID = GetPlayerVehicleID(playerid);
  684. new engine,lights,alarm,doors,bonnet,boot,objective;
  685. GetVehicleParamsEx(VID,engine,lights,alarm,doors,bonnet,boot,objective);
  686. if(engine == VEHICLE_PARAMS_OFF)
  687. {
  688. SendClientMessage(playerid,COLOR_BLUE,"Du startest deinen Motor . . .");
  689. SetTimer("StartMotor",3000,false);
  690. return 1;
  691. }
  692. if(engine == VEHICLE_PARAMS_ON)
  693. {
  694. SendClientMessage(playerid,COLOR_BLUE,"Du schaltest deinen Motor ab..");
  695. SetVehicleParamsEx(VID,VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
  696. return 1;
  697. }
  698. }
  699. if (strcmp("/gmx", cmdtext, true, 10) == 0)
  700. {
  701. if(PlayerInfo[playerid][pAdmin] >= 8)
  702. {
  703. SendRconCommand("gmx");
  704. return 1;
  705. }
  706. else
  707. {
  708. SendClientMessage(playerid,ERROR,nAdmin);
  709. return 1;
  710. }
  711. }
  712. return 0;
  713. }
  714.  
  715. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  716. {
  717. return 1;
  718. }
  719.  
  720. public OnPlayerExitVehicle(playerid, vehicleid)
  721. {
  722. return 1;
  723. }
  724.  
  725. public OnPlayerStateChange(playerid, newstate, oldstate)
  726. {
  727. return 1;
  728. }
  729.  
  730. public OnPlayerEnterCheckpoint(playerid)
  731. {
  732. return 1;
  733. }
  734.  
  735. public OnPlayerLeaveCheckpoint(playerid)
  736. {
  737. return 1;
  738. }
  739.  
  740. public OnPlayerEnterRaceCheckpoint(playerid)
  741. {
  742. return 1;
  743. }
  744.  
  745. public OnPlayerLeaveRaceCheckpoint(playerid)
  746. {
  747. return 1;
  748. }
  749.  
  750. public OnRconCommand(cmd[])
  751. {
  752. return 1;
  753. }
  754.  
  755. public OnPlayerRequestSpawn(playerid)
  756. {
  757. return 1;
  758. }
  759.  
  760. public OnObjectMoved(objectid)
  761. {
  762. return 1;
  763. }
  764.  
  765. public OnPlayerObjectMoved(playerid, objectid)
  766. {
  767. return 1;
  768. }
  769.  
  770. public OnPlayerPickUpPickup(playerid, pickupid)
  771. {
  772. return 1;
  773. }
  774.  
  775. public OnVehicleMod(playerid, vehicleid, componentid)
  776. {
  777. return 1;
  778. }
  779.  
  780. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  781. {
  782. return 1;
  783. }
  784.  
  785. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  786. {
  787. return 1;
  788. }
  789.  
  790. public OnPlayerSelectedMenuRow(playerid, row)
  791. {
  792. return 1;
  793. }
  794.  
  795. public OnPlayerExitedMenu(playerid)
  796. {
  797. return 1;
  798. }
  799.  
  800. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  801. {
  802. return 1;
  803. }
  804.  
  805. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  806. {
  807. return 1;
  808. }
  809.  
  810. public OnRconLoginAttempt(ip[], password[], success)
  811. {
  812. return 1;
  813. }
  814.  
  815. public OnPlayerUpdate(playerid)
  816. {
  817. return 1;
  818. }
  819.  
  820. public OnPlayerStreamIn(playerid, forplayerid)
  821. {
  822. return 1;
  823. }
  824.  
  825. public OnPlayerStreamOut(playerid, forplayerid)
  826. {
  827. return 1;
  828. }
  829.  
  830. public OnVehicleStreamIn(vehicleid, forplayerid)
  831. {
  832. return 1;
  833. }
  834.  
  835. public OnVehicleStreamOut(vehicleid, forplayerid)
  836. {
  837. return 1;
  838. }
  839.  
  840. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  841. {
  842. new Player[64], Name[MAX_PLAYER_NAME];
  843. GetPlayerName(playerid,Name,sizeof(Name));
  844. format(Player,sizeof(Player),"/Spieler/%s.txt",Name);
  845. if(dialogid == Dialog_Login)
  846. {
  847. if(response == 0)
  848. {
  849. SendClientMessage(playerid,COLOR_RED,"Du hast den Vorgang abgebrochen . . .");
  850. Kick(playerid);
  851. return 1;
  852. }
  853. if(response == 1)
  854. {
  855. Login(playerid, inputtext);
  856. return 1;
  857. }
  858. return 1;
  859. }
  860. if(dialogid == Dialog_Register1)
  861. {
  862. if(response == 0)
  863. {
  864. SendClientMessage(playerid,COLOR_RED,"Du hast den Vorgang abgebrochen . . .");
  865. Kick(playerid);
  866. return 1;
  867. }
  868. if(response == 1)
  869. {
  870. if(!strlen(inputtext))
  871. {
  872. SendClientMessage(playerid,COLOR_GREY,"Passwort nicht lang genug!");
  873. ShowPlayerDialog(playerid,Dialog_Register1,DIALOG_STYLE_INPUT,"Registrieren"," Dein Account wurde nicht auf der Datenbank gefunden.\nBitte gib dein Passwort an, um dir einen Account anzulegen:","Registrieren","Abbrechen");
  874. return 1;
  875. }
  876. dini_Create(Player);
  877. dini_Set(Player,"Passwort",inputtext);
  878. ShowPlayerDialog(playerid,Dialog_Register2,DIALOG_STYLE_INPUT,"Alter","Bitte gib hier dein Alter an! zB '25'","Weiter","Abbrechen");
  879. ShowPlayerDialog(playerid, Dialog_Register3, DIALOG_STYLE_LIST, "Geschlecht","Männlich\r\nWeiblich", "OK", "Abbrechen");
  880. return 1;
  881. }
  882. }
  883. if(dialogid == Dialog_Register2)
  884. {
  885. if(!response)
  886. {
  887. dini_Remove(Player); // .ini löschen, da der User die registrierung abgebrochen hat.
  888. Kick(playerid);
  889. }
  890. else
  891. {
  892. dini_IntSet(Player, "Geschlecht", listitem+1); // Schreibt entweder 1 oder 2 in die .ini (1 = Männlich, 2 = Weiblich)
  893. ShowPlayerDialog(playerid, Dialog_Register3, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr Alter an: (z.B. 22):", "OK", "Abbrechen");
  894. }
  895. }
  896. if(dialogid == Dialog_Register3)
  897. {
  898. if(!response)
  899. {
  900. dini_Remove(Player); // .ini löschen, da der User die registrierung abgebrochen hat.
  901. Kick(playerid);
  902. }
  903. else
  904. {
  905. dini_Set(Player, "Alter", inputtext);
  906. ShowPlayerDialog(playerid, Dialog_Register4, DIALOG_STYLE_MSGBOX, "Registrierung", "Ihre Registrierung ist nun abgeschlossen!", "OK", "");
  907. }
  908. }
  909. if(dialogid == Dialog_Register4)
  910. {
  911. PlayerInfo[playerid][pSex] = dini_Int(Player, "Geschlecht");
  912. PlayerInfo[playerid][pAge] = dini_Int(Player, "Alter");
  913. }
  914. return 1;
  915. }
  916.  
  917. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  918. {
  919. return 1;
  920. }
  921.  
  922. stock GetDistanceBetweenPlayers(playerid,id,range)
  923. {
  924. new Float:x,Float:y,Float:z;
  925. GetPlayerPos(id,x,y,z);
  926. if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)) return 1;
  927. else return false;
  928. }
  929.  
  930. stock SaveLotto()
  931. {
  932. new lInfo[64];
  933. format(lInfo,sizeof(lInfo),"/Spieler/Lotto.txt");
  934. if(!dini_Exists(lInfo))
  935. {
  936. dini_Create(lInfo);
  937. }
  938. if(dini_Exists(lInfo))
  939. {
  940. dini_IntSet(lInfo,"Jackpot",LottoInfo[LKasse]);
  941. dini_IntSet(lInfo,"InsgesamtLottos",LottoInfo[Lottos]);
  942. }
  943. }
  944. stock LoadLotto()
  945. {
  946. new lInfo[64];
  947. format(lInfo,sizeof(lInfo),"/Spieler/Lotto.txt");
  948. if(dini_Exists(lInfo))
  949. {
  950. LottoInfo[LKasse] = dini_Int(lInfo,"Jackpot");
  951. LottoInfo[Lottos] = dini_Int(lInfo,"InsgesamtLottos");
  952. }
  953. }
  954. stock Register(playerid,key[])
  955. {
  956. new Player[64], Name[MAX_PLAYER_NAME];
  957. GetPlayerName(playerid,Name,sizeof(Name));
  958. format(Player,sizeof(Player),"/Spieler/%s.txt",Name);
  959. dini_Create(Player);
  960. dini_Set(Player,"Passwort",key);
  961. dini_IntSet(Player,"Fraktion",0);
  962. printf("Passwort: %s", key);
  963. SendClientMessage(playerid,0xFEFEFEFE,"Du hast dich erfolgreich registriert.");
  964. GivePlayerMoney(playerid,10000);
  965. SetPlayerSkin(playerid,2);
  966. return 1;
  967. }
  968.  
  969. stock Login(playerid, key[])
  970. {
  971. new Player[64], Name[MAX_PLAYER_NAME];
  972. GetPlayerName(playerid,Name,sizeof(Name));
  973. format(Player,sizeof(Player),"/Spieler/%s.txt",Name);
  974. if(!strcmp(key,dini_Get(Player,"Passwort"),false))
  975. {
  976. SendClientMessage(playerid,0xFEFEFEFE,"Du hast dich eingeloggt!");
  977. }
  978. else
  979. {
  980. SendClientMessage(playerid,COLOR_GREY,"Du hast ein Falsches Passwort eingegeben!");
  981. Kick(playerid);
  982. return 1;
  983. }
  984. if(BanInfo[playerid][Banned] == 1)
  985. {
  986. SendClientMessage(playerid,COLOR_RED,"Du bist vom Server gebannt und kannst dich daher nicht einloggen");
  987. Kick(playerid);
  988. }
  989. LoadPlayer(playerid);
  990. return 1;
  991. }
  992.  
  993. stock SaveBan(playerid)
  994. {
  995. new Player[64], Name[MAX_PLAYER_NAME];
  996. GetPlayerName(playerid,Name,sizeof(Name));
  997. format(Player,sizeof(Player),"/Sh12Bans/%s.txt",Name);
  998. if(!dini_Exists(Player))
  999. {
  1000. dini_Create(Player);
  1001. }
  1002. if(dini_Exists(Player))
  1003. {
  1004. dini_IntSet(Player,"Banned",BanInfo[playerid][Banned]);
  1005. dini_IntSet(Player,"TimeBanned",BanInfo[playerid][TBanned]);
  1006. }
  1007. return 1;
  1008. }
  1009.  
  1010. stock LoadBan(playerid)
  1011. {
  1012. new Player[64], Name[MAX_PLAYER_NAME];
  1013. GetPlayerName(playerid,Name,sizeof(Name));
  1014. format(Player,sizeof(Player),"/Sh12Bans/%s.txt",Name);
  1015. if(!dini_Exists(Player))
  1016. {
  1017. dini_Create(Player);
  1018. }
  1019. if(dini_Exists(Player))
  1020. {
  1021. BanInfo[playerid][Banned] = dini_Int(Player,"Banned");
  1022. BanInfo[playerid][TBanned] = dini_Int(Player,"TimeBanned");
  1023. }
  1024. return 1;
  1025. }
  1026.  
  1027. stock SavePlayer(playerid)
  1028. {
  1029. new Player[64], Name[MAX_PLAYER_NAME];
  1030. GetPlayerName(playerid,Name,sizeof(Name));
  1031. format(Player,sizeof(Player),"/Spieler/%s.txt",Name);
  1032. if(dini_Exists(Player))
  1033. {
  1034. dini_IntSet(Player,"DetektivSkill",SkillInfo[playerid][sDetektiv]);
  1035. dini_IntSet(Player,"NewsSkill",SkillInfo[playerid][sNewsReporter]);
  1036. dini_IntSet(Player,"GansterSkill",SkillInfo[playerid][sGangster]);
  1037. dini_IntSet(Player,"BankraubSkill",SkillInfo[playerid][sBankraub]);
  1038. dini_IntSet(Player,"AnglerSkill",SkillInfo[playerid][sAngler]);
  1039. dini_IntSet(Player,"Wantedlevel",PlayerInfo[playerid][pWanteds]);
  1040. dini_IntSet(Player,"Level",PlayerInfo[playerid][pLevel]);
  1041. dini_IntSet(Player,"Adminlevel",PlayerInfo[playerid][pAdmin]);
  1042. dini_IntSet(Player,"Supporter",PlayerInfo[playerid][pSupporter]);
  1043. dini_IntSet(Player,"DonateRang",PlayerInfo[playerid][pDonateRank]);
  1044. dini_IntSet(Player,"UpgradePunkte",PlayerInfo[playerid][gPupgrade]);
  1045. dini_IntSet(Player,"Geld",GetPlayerMoney(playerid));
  1046. dini_IntSet(Player,"ConnectTime",PlayerInfo[playerid][pConnectTime]);
  1047. dini_IntSet(Player,"Neuling",PlayerInfo[playerid][pNeuling]);
  1048. dini_IntSet(Player,"pReg",PlayerInfo[playerid][pReg]);
  1049. dini_IntSet(Player,"Geschlecht",PlayerInfo[playerid][pSex]);
  1050. dini_IntSet(Player,"Alter",PlayerInfo[playerid][pAge]);
  1051. dini_IntSet(Player,"Herkunft",PlayerInfo[playerid][pOrigin]);
  1052. dini_IntSet(Player,"pCK",PlayerInfo[playerid][pCK]);
  1053. dini_IntSet(Player,"Account",PlayerInfo[playerid][pAccount]);
  1054. dini_IntSet(Player,"KreditkartenDauer",PlayerInfo[playerid][pPlayerKreditDauer]);
  1055. dini_IntSet(Player,"Kredit",PlayerInfo[playerid][pPlayerKredit]);
  1056. dini_IntSet(Player,"Kills",PlayerInfo[playerid][pKills]);
  1057. dini_IntSet(Player,"Jailed",PlayerInfo[playerid][pJailed]);
  1058. dini_IntSet(Player,"Jailtime",PlayerInfo[playerid][pJailTime]);
  1059. dini_IntSet(Player,"Tode",PlayerInfo[playerid][pDeaths]);
  1060. dini_IntSet(Player,"Arrest",PlayerInfo[playerid][pArrested]);
  1061. dini_IntSet(Player,"Wantedtode",PlayerInfo[playerid][pWantedDeaths]);
  1062. dini_IntSet(Player,"Telefonbuch",PlayerInfo[playerid][pPhoneBook]);
  1063. dini_IntSet(Player,"Lottonummer",PlayerInfo[playerid][pLottoNr]);
  1064. dini_IntSet(Player,"Fische",PlayerInfo[playerid][pFishes]);
  1065. dini_IntSet(Player,"GrosterFang",PlayerInfo[playerid][pBiggestFish]);
  1066. dini_IntSet(Player,"Job",PlayerInfo[playerid][pJob]);
  1067. dini_IntSet(Player,"PayCheck",PlayerInfo[playerid][pPayCheck]);
  1068. dini_IntSet(Player,"Rest",PlayerInfo[playerid][pRest]);
  1069. dini_IntSet(Player,"Kopfgeld",PlayerInfo[playerid][pHeadValue]);
  1070. dini_IntSet(Player,"Gangjail",PlayerInfo[playerid][pGangJailed]);
  1071. dini_IntSet(Player,"Mundtape",PlayerInfo[playerid][pMauled]);
  1072. dini_IntSet(Player,"Materialien",PlayerInfo[playerid][pMats]);
  1073. dini_IntSet(Player,"Drogen",PlayerInfo[playerid][pDrugs]);
  1074. dini_IntSet(Player,"FraktionsLeader",PlayerInfo[playerid][pLeader]);
  1075. dini_IntSet(Player,"FraktionsMember",PlayerInfo[playerid][pMember]);
  1076. dini_IntSet(Player,"FraktionsRang",PlayerInfo[playerid][pRank]);
  1077. dini_IntSet(Player,"Charakter",PlayerInfo[playerid][pChar]);
  1078. dini_IntSet(Player,"Contracts",PlayerInfo[playerid][pContractTime]);
  1079. dini_IntSet(Player,"DetektivSkill",PlayerInfo[playerid][pDetSkill]);
  1080. dini_IntSet(Player,"SexSkill",PlayerInfo[playerid][pSexSkill]);
  1081. dini_IntSet(Player,"BoxSkill",PlayerInfo[playerid][pBoxSkill]);
  1082. dini_IntSet(Player,"AnwaltsSkill",PlayerInfo[playerid][pLawSkill]);
  1083. dini_IntSet(Player,"MechanikerSkill",PlayerInfo[playerid][pMechSkill]);
  1084. dini_IntSet(Player,"AutodiebSkill",PlayerInfo[playerid][pJackSkill]);
  1085. dini_IntSet(Player,"CarSkill",PlayerInfo[playerid][pCarSkill]);
  1086. dini_IntSet(Player,"NewsSkill",PlayerInfo[playerid][pNewsSkill]);
  1087. dini_IntSet(Player,"DrogenSkill",PlayerInfo[playerid][pDrugsSkill]);
  1088. dini_IntSet(Player,"KochSkill",PlayerInfo[playerid][pCookSkill]);
  1089. dini_IntSet(Player,"FischSkill",PlayerInfo[playerid][pFishSkill]);
  1090. dini_IntSet(Player,"Interior",PlayerInfo[playerid][pInt]);
  1091. dini_IntSet(Player,"Local",PlayerInfo[playerid][pLocal]);
  1092. dini_IntSet(Player,"Team",PlayerInfo[playerid][pTeam]);
  1093. dini_IntSet(Player,"Model",PlayerInfo[playerid][pModel]);
  1094. dini_IntSet(Player,"Telefonnummer",PlayerInfo[playerid][pPnumber]);
  1095. dini_IntSet(Player,"Hausschlüssel",PlayerInfo[playerid][pPhousekey]);
  1096. dini_IntSet(Player,"BizSchlüssel",PlayerInfo[playerid][pPbiskey]);
  1097. dini_IntSet(Player,"Fahrschein",PlayerInfo[playerid][pCarLic]);
  1098. dini_IntSet(Player,"NewLic",PlayerInfo[playerid][pNewLic]);
  1099. dini_IntSet(Player,"Flugschein",PlayerInfo[playerid][pFlyLic]);
  1100. dini_IntSet(Player,"Bootschein",PlayerInfo[playerid][pBoatLic]);
  1101. dini_IntSet(Player,"Fischerschein",PlayerInfo[playerid][pFishLic]);
  1102. dini_IntSet(Player,"Waffenschein",PlayerInfo[playerid][pGunLic]);
  1103. dini_IntSet(Player,"LKWSchein",PlayerInfo[playerid][pLKWLic]);
  1104. dini_IntSet(Player,"Rollerschein",PlayerInfo[playerid][pRollerLic]);
  1105. dini_IntSet(Player,"MotorradSchein",PlayerInfo[playerid][pMotoLic]);
  1106. dini_IntSet(Player,"Zigaretten",PlayerInfo[playerid][pZig]);
  1107. dini_IntSet(Player,"Kekse",PlayerInfo[playerid][pKekse]);
  1108. dini_IntSet(Player,"ZigarettenSucht",PlayerInfo[playerid][pZigSucht]);
  1109. dini_IntSet(Player,"Waffe1",PlayerInfo[playerid][pGun1]);
  1110. dini_IntSet(Player,"Waffe2",PlayerInfo[playerid][pGun2]);
  1111. dini_IntSet(Player,"Waffe3",PlayerInfo[playerid][pGun3]);
  1112. dini_IntSet(Player,"Waffe4",PlayerInfo[playerid][pGun4]);
  1113. dini_IntSet(Player,"Mun1",PlayerInfo[playerid][pAmmo1]);
  1114. dini_IntSet(Player,"Mun2",PlayerInfo[playerid][pAmmo2]);
  1115. dini_IntSet(Player,"Mun3",PlayerInfo[playerid][pAmmo3]);
  1116. dini_IntSet(Player,"Mun4",PlayerInfo[playerid][pAmmo4]);
  1117. dini_IntSet(Player,"Fahrzeit",PlayerInfo[playerid][pCarTime]);
  1118. dini_IntSet(Player,"Mulltime",PlayerInfo[playerid][pMulltime]);
  1119. dini_IntSet(Player,"PayDay",PlayerInfo[playerid][pPayDay]);
  1120. dini_IntSet(Player,"GehabtePayDay",PlayerInfo[playerid][pPayDayHad]);
  1121. dini_IntSet(Player,"CDSpieler",PlayerInfo[playerid][pCDPlayer]);
  1122. dini_IntSet(Player,"Siege",PlayerInfo[playerid][pWins]);
  1123. dini_IntSet(Player,"Niederlagen",PlayerInfo[playerid][pLoses]);
  1124. dini_IntSet(Player,"PromilleAlk",PlayerInfo[playerid][pAlcoholPerk]);
  1125. dini_IntSet(Player,"PromilleDrug",PlayerInfo[playerid][pDrugPerk]);
  1126. dini_IntSet(Player,"MiserPerk",PlayerInfo[playerid][pMiserPerk]);
  1127. dini_IntSet(Player,"PainPerk",PlayerInfo[playerid][pPainPerk]);
  1128. dini_IntSet(Player,"TraderPerk",PlayerInfo[playerid][pTraderPerk]);
  1129. dini_IntSet(Player,"Tutorial",PlayerInfo[playerid][pTut]);
  1130. dini_IntSet(Player,"Radio",PlayerInfo[playerid][pRadio]);
  1131. dini_IntSet(Player,"Warns",PlayerInfo[playerid][pWarns]);
  1132. dini_IntSet(Player,"Verheiratet",PlayerInfo[playerid][pMarried]);
  1133. dini_IntSet(Player,"VeheiratetMit",PlayerInfo[playerid][pMarriedTo]);
  1134. dini_IntSet(Player,"SpielMinuten",PlayerInfo[playerid][pPlayMinutes]);
  1135. dini_IntSet(Player,"SpielMinutenGesamt",PlayerInfo[playerid][pGesamtMinutes]);
  1136. dini_IntSet(Player,"SFPass",PlayerInfo[playerid][pSFPASS]);
  1137. dini_IntSet(Player,"DrogenSkill",PlayerInfo[playerid][pDrugsSkill]);
  1138. dini_IntSet(Player,"HandyGuthaben",PlayerInfo[playerid][pHandyGeld]);
  1139. dini_IntSet(Player,"HandyVersion",PlayerInfo[playerid][pHandyVer]);
  1140. dini_IntSet(Player,"UhrID",PlayerInfo[playerid][pUhrID]);
  1141. dini_IntSet(Player,"HandyID",PlayerInfo[playerid][pHandyID]);
  1142. dini_IntSet(Player,"Personalausweis",PlayerInfo[playerid][pOwnPerso]);
  1143. dini_IntSet(Player,"Antrag",PlayerInfo[playerid][pOwnAntrag]);
  1144. dini_IntSet(Player,"PersoStop",PlayerInfo[playerid][pPersoStop]);
  1145. dini_IntSet(Player,"Gehalt",PlayerInfo[playerid][pGehalt]);
  1146. dini_IntSet(Player,"Fraktionssperre",PlayerInfo[playerid][pFrakSperre]);
  1147. dini_IntSet(Player,"SafeMats",PlayerInfo[playerid][pBoxMats]);
  1148. dini_IntSet(Player,"SafeDrugs",PlayerInfo[playerid][pBoxDrugs]);
  1149. dini_IntSet(Player,"Banned",PlayerInfo[playerid][pban]);
  1150. dini_IntSet(Player,"pTot",PlayerInfo[playerid][pTot]);
  1151. dini_IntSet(Player,"FarmZeit",PlayerInfo[playerid][pFarmTime]);
  1152. dini_IntSet(Player,"GDeaths",PlayerInfo[playerid][pGDeaths]);
  1153. dini_IntSet(Player,"GKills",PlayerInfo[playerid][pGKills]);
  1154. dini_IntSet(Player,"Meldungen",PlayerInfo[playerid][pMeldung]);
  1155. dini_IntSet(Player,"HouseKey",PlayerInfo[playerid][pHouseKey]);
  1156. dini_IntSet(Player,"RentHouseKey",PlayerInfo[playerid][pRentHouseKey]);
  1157. }
  1158. }
  1159.  
  1160. stock LoadPlayer(playerid)
  1161. {
  1162. new Player[64], Name[MAX_PLAYER_NAME];
  1163. GetPlayerName(playerid,Name,sizeof(Name));
  1164. format(Player,sizeof(Player),"/Spieler/%s.txt",Name);
  1165. if(dini_Exists(Player))
  1166. {
  1167. PlayerInfo[playerid][pWanteds] = dini_Int(Player,"Wantedlevel");
  1168. PlayerInfo[playerid][pLevel] = dini_Int(Player,"Level");
  1169. PlayerInfo[playerid][pAdmin] = dini_Int(Player,"Adminlevel");
  1170. PlayerInfo[playerid][pSupporter] = dini_Int(Player,"Supporter");
  1171. PlayerInfo[playerid][pDonateRank] = dini_Int(Player,"DonateRang");
  1172. PlayerInfo[playerid][gPupgrade] = dini_Int(Player,"UpgradePunkte");
  1173. GivePlayerMoney(playerid,dini_Int(Player,"Geld"));
  1174. PlayerInfo[playerid][pConnectTime] = dini_Int(Player,"ConnectTime");
  1175. PlayerInfo[playerid][pNeuling] = dini_Int(Player,"Neuling");
  1176. PlayerInfo[playerid][pReg] = dini_Int(Player,"pReg");
  1177. PlayerInfo[playerid][pSex] = dini_Int(Player,"Geschlecht");
  1178. PlayerInfo[playerid][pAge] = dini_Int(Player,"Alter");
  1179. PlayerInfo[playerid][pOrigin] = dini_Int(Player,"Herkunft");
  1180. PlayerInfo[playerid][pCK] = dini_Int(Player,"pCK");
  1181. PlayerInfo[playerid][pAccount] = dini_Int(Player,"Account");
  1182. PlayerInfo[playerid][pPlayerKreditDauer] = dini_Int(Player,"KreditkartenDauer");
  1183. PlayerInfo[playerid][pPlayerKredit] = dini_Int(Player,"Kredit");
  1184. PlayerInfo[playerid][pKills] = dini_Int(Player,"Kills");
  1185. PlayerInfo[playerid][pJailed] = dini_Int(Player,"Jailed");
  1186. PlayerInfo[playerid][pJailTime] = dini_Int(Player,"Jailtime");
  1187. PlayerInfo[playerid][pDeaths] = dini_Int(Player,"Tode");
  1188. PlayerInfo[playerid][pArrested] = dini_Int(Player,"Arrest");
  1189. PlayerInfo[playerid][pWantedDeaths] = dini_Int(Player,"Wantedtode");
  1190. PlayerInfo[playerid][pPhoneBook] = dini_Int(Player,"Telefonbuch");
  1191. PlayerInfo[playerid][pLottoNr] = dini_Int(Player,"Lottonummer");
  1192. PlayerInfo[playerid][pFishes] = dini_Int(Player,"Fische");
  1193. PlayerInfo[playerid][pBiggestFish] = dini_Int(Player,"GrosterFang");
  1194. PlayerInfo[playerid][pJob] = dini_Int(Player,"Job");
  1195. PlayerInfo[playerid][pPayCheck] = dini_Int(Player,"PayCheck");
  1196. PlayerInfo[playerid][pRest] = dini_Int(Player,"Rest");
  1197. PlayerInfo[playerid][pHeadValue] = dini_Int(Player,"Kopfgeld");
  1198. PlayerInfo[playerid][pGangJailed] = dini_Int(Player,"Gangjail");
  1199. PlayerInfo[playerid][pMauled] = dini_Int(Player,"Mundtape");
  1200. PlayerInfo[playerid][pMats] = dini_Int(Player,"Materialien");
  1201. PlayerInfo[playerid][pDrugs] = dini_Int(Player,"Drogen");
  1202. PlayerInfo[playerid][pLeader] = dini_Int(Player,"FraktionsLeader");
  1203. PlayerInfo[playerid][pMember] = dini_Int(Player,"FraktionsMember");
  1204. PlayerInfo[playerid][pRank] = dini_Int(Player,"FraktionsRang");
  1205. PlayerInfo[playerid][pChar] = dini_Int(Player,"Charakter");
  1206. PlayerInfo[playerid][pContractTime] = dini_Int(Player,"Contracts");
  1207. PlayerInfo[playerid][pDetSkill] = dini_Int(Player,"DetektivSkill");
  1208. PlayerInfo[playerid][pSexSkill] = dini_Int(Player,"SexSkill");
  1209. PlayerInfo[playerid][pBoxSkill] = dini_Int(Player,"BoxSkill");
  1210. PlayerInfo[playerid][pLawSkill] = dini_Int(Player,"AnwaltsSkill");
  1211. PlayerInfo[playerid][pMechSkill] = dini_Int(Player,"MechanikerSkill");
  1212. PlayerInfo[playerid][pJackSkill] = dini_Int(Player,"AutodiebSkill");
  1213. PlayerInfo[playerid][pCarSkill] = dini_Int(Player,"CarSkill");
  1214. PlayerInfo[playerid][pNewsSkill] = dini_Int(Player,"NewsSkill");
  1215. PlayerInfo[playerid][pDrugsSkill] = dini_Int(Player,"DrogenSkill");
  1216. PlayerInfo[playerid][pCookSkill] = dini_Int(Player,"KochSkill");
  1217. PlayerInfo[playerid][pFishSkill] = dini_Int(Player,"FischSkill");
  1218. PlayerInfo[playerid][pInt] = dini_Int(Player,"Interior");
  1219. PlayerInfo[playerid][pLocal] = dini_Int(Player,"Local");
  1220. PlayerInfo[playerid][pTeam] = dini_Int(Player,"Team");
  1221. PlayerInfo[playerid][pModel] = dini_Int(Player,"Model");
  1222. PlayerInfo[playerid][pPnumber] = dini_Int(Player,"Telefonnummer");
  1223. PlayerInfo[playerid][pPhousekey] = dini_Int(Player,"Hausschlüssel");
  1224. PlayerInfo[playerid][pPbiskey] = dini_Int(Player,"BizSchlüssel");
  1225. PlayerInfo[playerid][pCarLic] = dini_Int(Player,"Fahrschein");
  1226. PlayerInfo[playerid][pNewLic] = dini_Int(Player,"NewLic");
  1227. PlayerInfo[playerid][pFlyLic] = dini_Int(Player,"Flugschein");
  1228. PlayerInfo[playerid][pBoatLic] = dini_Int(Player,"Bootschein");
  1229. PlayerInfo[playerid][pFishLic] = dini_Int(Player,"Fischerschein");
  1230. PlayerInfo[playerid][pGunLic] = dini_Int(Player,"Waffenschein");
  1231. PlayerInfo[playerid][pLKWLic] = dini_Int(Player,"LKWSchein");
  1232. PlayerInfo[playerid][pRollerLic] = dini_Int(Player,"Rollerschein");
  1233. PlayerInfo[playerid][pMotoLic] = dini_Int(Player,"MotorradSchein");
  1234. PlayerInfo[playerid][pZig] = dini_Int(Player,"Zigaretten");
  1235. PlayerInfo[playerid][pKekse] = dini_Int(Player,"Kekse");
  1236. PlayerInfo[playerid][pZigSucht] = dini_Int(Player,"ZigarettenSucht");
  1237. PlayerInfo[playerid][pGun1] = dini_Int(Player,"Waffe1");
  1238. PlayerInfo[playerid][pGun2] = dini_Int(Player,"Waffe2");
  1239. PlayerInfo[playerid][pGun3] = dini_Int(Player,"Waffe3");
  1240. PlayerInfo[playerid][pGun4] = dini_Int(Player,"Waffe4");
  1241. PlayerInfo[playerid][pAmmo1] = dini_Int(Player,"Mun1");
  1242. PlayerInfo[playerid][pAmmo2] = dini_Int(Player,"Mun2");
  1243. PlayerInfo[playerid][pAmmo3] = dini_Int(Player,"Mun3");
  1244. PlayerInfo[playerid][pAmmo4] = dini_Int(Player,"Mun4");
  1245. PlayerInfo[playerid][pCarTime] = dini_Int(Player,"Fahrzeit");
  1246. PlayerInfo[playerid][pMulltime] = dini_Int(Player,"Mulltime");
  1247. PlayerInfo[playerid][pPayDay] = dini_Int(Player,"PayDay");
  1248. PlayerInfo[playerid][pPayDayHad] = dini_Int(Player,"GehabtePayDay");
  1249. PlayerInfo[playerid][pCDPlayer] = dini_Int(Player,"CDSpieler");
  1250. PlayerInfo[playerid][pWins] = dini_Int(Player,"Siege");
  1251. PlayerInfo[playerid][pLoses] = dini_Int(Player,"Niederlagen");
  1252. PlayerInfo[playerid][pAlcoholPerk] = dini_Int(Player,"PromilleAlk");
  1253. PlayerInfo[playerid][pDrugPerk] = dini_Int(Player,"PromilleDrug");
  1254. PlayerInfo[playerid][pMiserPerk] = dini_Int(Player,"MiserPerk");
  1255. PlayerInfo[playerid][pPainPerk] = dini_Int(Player,"PainPerk");
  1256. PlayerInfo[playerid][pTraderPerk] = dini_Int(Player,"TraderPerk");
  1257. PlayerInfo[playerid][pTut] = dini_Int(Player,"Tutorial");
  1258. PlayerInfo[playerid][pRadio] = dini_Int(Player,"Radio");
  1259. PlayerInfo[playerid][pWarns] = dini_Int(Player,"Warns");
  1260. PlayerInfo[playerid][pMarried] = dini_Int(Player,"Verheiratet");
  1261. PlayerInfo[playerid][pMarriedTo] = dini_Int(Player,"VeheiratetMit");
  1262. PlayerInfo[playerid][pPlayMinutes] = dini_Int(Player,"SpielMinuten");
  1263. PlayerInfo[playerid][pGesamtMinutes] = dini_Int(Player,"SpielMinutenGesamt");
  1264. PlayerInfo[playerid][pSFPASS] = dini_Int(Player,"SFPass");
  1265. PlayerInfo[playerid][pDrugsSkill] = dini_Int(Player,"DrogenSkill");
  1266. PlayerInfo[playerid][pHandyGeld] = dini_Int(Player,"HandyGuthaben");
  1267. PlayerInfo[playerid][pHandyVer] = dini_Int(Player,"HandyVersion");
  1268. PlayerInfo[playerid][pUhrID] = dini_Int(Player,"UhrID");
  1269. PlayerInfo[playerid][pHandyID] = dini_Int(Player,"HandyID");
  1270. PlayerInfo[playerid][pOwnPerso] = dini_Int(Player,"Personalausweis");
  1271. PlayerInfo[playerid][pOwnAntrag] = dini_Int(Player,"Antrag");
  1272. PlayerInfo[playerid][pPersoStop] = dini_Int(Player,"PersoStop");
  1273. PlayerInfo[playerid][pGehalt] = dini_Int(Player,"Gehalt");
  1274. PlayerInfo[playerid][pFrakSperre] = dini_Int(Player,"Fraktionssperre");
  1275. PlayerInfo[playerid][pBoxMats] = dini_Int(Player,"SafeMats");
  1276. PlayerInfo[playerid][pBoxDrugs] = dini_Int(Player,"SafeDrugs");
  1277. PlayerInfo[playerid][pban] = dini_Int(Player,"Banned");
  1278. PlayerInfo[playerid][pTot] = dini_Int(Player,"pTot");
  1279. PlayerInfo[playerid][pFarmTime] = dini_Int(Player,"FarmZeit");
  1280. PlayerInfo[playerid][pGDeaths] = dini_Int(Player,"GDeaths");
  1281. PlayerInfo[playerid][pGKills] = dini_Int(Player,"GKills");
  1282. PlayerInfo[playerid][pMeldung] = dini_Int(Player,"Meldungen");
  1283. PlayerInfo[playerid][pHouseKey] = dini_Int(Player,"HouseKey");
  1284. PlayerInfo[playerid][pRentHouseKey] = dini_Int(Player,"RentHouseKey");
  1285. }
  1286. return 1;
  1287. }
  1288.  
  1289. //============================== [ OCMD's } ==============================
  1290. //============================== [ OCMD's } ==============================
  1291. //============================== [ OCMD's } ==============================
  1292.  
  1293. //GenerellCommands
  1294. ocmd:lotto(playerid,params[])
  1295. {
  1296. new number, los[128];
  1297. if(PlayerInfo[playerid][pLottoNr] == 0)
  1298. {
  1299. SendClientMessage(playerid,COLOR_GREY,"Du hast bereits eine Lottonummer!");
  1300. return 1;
  1301. }
  1302. if(number < 1 || number > 99)
  1303. {
  1304. SendClientMessage(playerid,COLOR_GREY,"Bitte gib eine Zahl zwischen 1 bis 99 ein!");
  1305. return 1;
  1306. }
  1307. if(sscanf(params,"i",number)) return SendClientMessage(playerid,COLOR_GREY,"/lotto [Nummer]");
  1308. if(GetPlayerMoney(playerid) < 3000)
  1309. {
  1310. SendClientMessage(playerid,COLOR_GREY,"Du hast nicht genügend Geld. Du brauchst 3000$");
  1311. }
  1312. format(los,sizeof(los),"Du hast dir ein Lotto gekauft. Deine Nummer lautet %i",number);
  1313. LottoInfo[LKasse] += 3000;
  1314. PlayerInfo[playerid][pLottoNr] = number;
  1315. SaveLotto();
  1316. return 1;
  1317. }
  1318. ocmd:stats(playerid,params[])
  1319. {
  1320. new string[255], string2[255], status[128], geschlecht[10], frakname[20], jobname[20];
  1321. switch(PlayerInfo[playerid][pSex])
  1322. {
  1323. case 0:{geschlecht="Anonym";}
  1324. case 1:{geschlecht="Männlich";}
  1325. case 2:{geschlecht="Weiblich";}
  1326. }
  1327. strcat(string,"{335CD6}[=========={FFFFFF}[ Dein Status ]{335CD6}==========]");
  1328. format(string, sizeof(string),"%s{335CD6}\nGeschlecht: {FFFFFF}%s",string,geschlecht);
  1329. switch(PlayerInfo[playerid][pMember] || PlayerInfo[playerid][pLeader])
  1330. {
  1331. case 0:{frakname="Zivilist";}
  1332. case 1:{frakname="LSPD";}
  1333. case 2:{frakname="FBI";}
  1334. case 3:{frakname="Army";}
  1335. case 4:{frakname="Medic";}
  1336. }
  1337. format(string, sizeof(string),"%s{335CD6}\nFraktion: {FFFFFF}%s - Rang: %i",string,frakname,PlayerInfo[playerid][pRank]);
  1338. switch(PlayerInfo[playerid][pJob])
  1339. {
  1340. case 0:{jobname="Arbeitslos";}
  1341. }
  1342. format(string, sizeof(string),"%s{335CD6}\nNebenjob: {FFFFFF}%s",string,jobname);
  1343. format(string, sizeof(string),"%s{335CD6}\nGeld: {FFFFFF}%i$",string,GetPlayerMoney(playerid));
  1344. format(string, sizeof(string),"%s{335CD6}\nLevel: {FFFFFF}%i",string,GetPlayerScore(playerid));
  1345. format(string, sizeof(string),"%s{335CD6}\nMorde: {FFFFFF}%i",string,PlayerInfo[playerid][pKills]);
  1346. format(string, sizeof(string),"%s{335CD6}\nGestorben: {FFFFFF}%i",string,PlayerInfo[playerid][pDeaths]);
  1347. format(string2, sizeof(string2),"%s{335CD6}\nVerbrechen: {FFFFFF}%i",string,PlayerInfo[playerid][pCrimes]);
  1348. format(string2, sizeof(string2),"%s{335CD6}\nAdminlevel: {FFFFFF}%i",string,PlayerInfo[playerid][pAdmin]);
  1349. format(string2, sizeof(string2),"%s{335CD6}\nSupportlevel: {FFFFFF}%i",string,PlayerInfo[playerid][pSupporter]);
  1350. format(status, sizeof(status),"%s",GetName(playerid));
  1351. ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,status,string,"OK","");
  1352. ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,status,string2,"OK","");
  1353. return 1;
  1354. }
  1355.  
  1356. //AdminCommands
  1357. ocmd:makeadmin(playerid,params[])
  1358. {
  1359. new pID, Adminlevel, str[128];
  1360. if(IsPlayerAdmin(playerid))
  1361. {
  1362. if(sscanf(params,"ui",pID,Adminlevel)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /makeadmin [ID][Adminlevel]");
  1363. format(str,sizeof(str),"%s hat dich zum *%i Admin ernannt!",GetName(playerid),Adminlevel);
  1364. SendClientMessage(pID,COLOR_BLUE,str);
  1365. PlayerInfo[playerid][pAdmin] = Adminlevel;
  1366. SavePlayer(playerid);
  1367. return 1;
  1368. }
  1369. return 1;
  1370. }
  1371. ocmd:kick(playerid,params[])
  1372. {
  1373. if(PlayerInfo[playerid][pAdmin] <= 0)return SendClientMessage(playerid,ROT,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Probe Supporter");
  1374. new pID, reason[128],string[128];
  1375. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
  1376. format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",GetName(pID),GetName(playerid),reason);
  1377. SendClientMessageToAll(ROT,string);
  1378. Kick(pID);
  1379. return 1;
  1380. }
  1381. ocmd:ban(playerid,params[])
  1382. {
  1383. new pID, reason, str[128];
  1384. if(PlayerInfo[playerid][pAdmin] >= 1)
  1385. {
  1386. if(sscanf(params,"us",pID,reason)) return SendClientMessage(playerid,FEHLER,"Benutzung: /ban [ID] [Grund]");
  1387. format(str,sizeof(str),"AdmCmd: %s wurde von %s gebannt. Grund: %s",GetName(pID),GetName(playerid),reason);
  1388. SendClientMessageToAll(ROT,str);
  1389. BanInfo[pID][Banned] = 1;
  1390. Kick(playerid);
  1391. return 1;
  1392. }
  1393. SendClientMessage(playerid,ERROR,nAdmin);
  1394. return 1;
  1395. }
  1396. ocmd:aduty(playerid,params[])
  1397. {
  1398. if(PlayerInfo[playerid][pAdmin] == 1) //Grün
  1399. {
  1400. for(new i=0; i<MAX_PLAYERS; i++)
  1401. {
  1402. new str[128];
  1403. format(str,sizeof(str),"%s %s ist nun im Dienst. Er wird grün markiert!","Probe Supporter",GetName(playerid));
  1404. SendClientMessageToAll(COLOR_GREEN,str);
  1405. SetPlayerMarkerForPlayer(i, playerid, COLOR_GREEN);
  1406. return 1;
  1407. }
  1408. }
  1409. if(PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 4) //Gelb
  1410. {
  1411. for(new i=0; i<MAX_PLAYERS; i++)
  1412. {
  1413. new str[128], aAnzeige[64];
  1414. switch(PlayerInfo[playerid][pAdmin])
  1415. {
  1416. case 2:{aAnzeige="Supporter";}
  1417. case 3:{aAnzeige="Moderator";}
  1418. case 4:{aAnzeige="Super Moderator";}
  1419. }
  1420. format(str,sizeof(str),"%s %s ist nun im Dienst. Er wird grün markiert!","Probe Supporter",GetName(playerid));
  1421. SendClientMessageToAll(COLOR_YELLOW,str);
  1422. SetPlayerMarkerForPlayer(i, playerid, COLOR_YELLOW);
  1423. return 1;
  1424. }
  1425. return 1;
  1426. }
  1427. if(PlayerInfo[playerid][pAdmin] == 5 || PlayerInfo[playerid][pAdmin] == 6 || PlayerInfo[playerid][pAdmin] == 7) //Blau
  1428. {
  1429. for(new i=0; i<MAX_PLAYERS; i++)
  1430. {
  1431. new str[128], aAnzeige[64];
  1432. switch(PlayerInfo[playerid][pAdmin])
  1433. {
  1434. case 5:{aAnzeige="Administrator";}
  1435. case 6:{aAnzeige="Server Manager";}
  1436. case 7:{aAnzeige="Communityleitung";}
  1437. }
  1438. format(str,sizeof(str),"%s %s ist nun im Dienst. Er wird grün markiert!","Probe Supporter",GetName(playerid));
  1439. SendClientMessageToAll(COLOR_BLUE,str);
  1440. SetPlayerMarkerForPlayer(i, playerid, COLOR_BLUE);
  1441. return 1;
  1442. }
  1443. return 1;
  1444. }
  1445. if(PlayerInfo[playerid][pAdmin] >= 8) //Rot
  1446. {
  1447. for(new i=0; i<MAX_PLAYERS; i++)
  1448. {
  1449. new str[128], aAnzeige[64];
  1450. switch(PlayerInfo[playerid][pAdmin])
  1451. {
  1452. case 8:{aAnzeige="Serverleitung";}
  1453. }
  1454. format(str,sizeof(str),"%s %s ist nun im Dienst. Er wird grün markiert!","Probe Supporter",GetName(playerid));
  1455. SendClientMessageToAll(COLOR_RED,str);
  1456. SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);
  1457. return 1;
  1458. }
  1459. return 1;
  1460. }
  1461. return 1;
  1462. }
  1463. ocmd:goto(playerid,params[])
  1464. {
  1465. if(PlayerInfo[playerid][pAdmin] >= 1)
  1466. {
  1467. new pID, str[128];
  1468. if(sscanf(params,"u",pID))
  1469. {
  1470. SendClientMessage(playerid,FEHLER,"Benutzung: /goto [ID]");
  1471. return 1;
  1472. }
  1473. Goto(pID);
  1474. format(str,sizeof(str),"Du hast dich zu %s geportet!",GetName(pID));
  1475. SendClientMessage(playerid,COLOR_BLUE,str);
  1476. return 1;
  1477. }
  1478. SendClientMessage(playerid,ERROR,nAdmin);
  1479. return 1;
  1480. }
  1481. ocmd:gethere(playerid,params[])
  1482. {
  1483. if(PlayerInfo[playerid][pAdmin] >= 1)
  1484. {
  1485. new pID, str[128];
  1486. if(sscanf(params,"u",pID))
  1487. {
  1488. SendClientMessage(playerid,FEHLER,"Benutzung: /gethere [ID]");
  1489. return 1;
  1490. }
  1491. GotoPlayer(pID,playerid);
  1492. format(str,sizeof(str),"Du hast %s zu dir geportet!",GetName(pID));
  1493. SendClientMessage(playerid,COLOR_BLUE,str);
  1494. return 1;
  1495. }
  1496. SendClientMessage(playerid,ERROR,nAdmin);
  1497. return 1;
  1498. }
  1499. ocmd:veh(playerid,params[])
  1500. {
  1501. if(PlayerInfo[playerid][pAdmin] >= 1)
  1502. {
  1503. new vID, f1, f2, str[128];
  1504. if(sscanf(params,"iii",vID,f1,f2))
  1505. {
  1506. SendClientMessage(playerid,FEHLER,"Benutzung: /veh [vID] [Farbe1] [Farbe2]");
  1507. return 1;
  1508. }
  1509. format(str,sizeof(str),"Du hast dir ein Vehicle erstellt");
  1510. new Float:x, Float:y, Float:z, Float:a;
  1511. GetPlayerPos(playerid,x,y,z);
  1512. GetPlayerFacingAngle(playerid,a);
  1513. new veh = CreateVehicle(vID,x,y,z,a,f1,f2,60000);
  1514. PutPlayerInVehicle(playerid, veh, 0);
  1515. SetVehicleNumberPlate(veh,"AdminCar");
  1516. return 1;
  1517. }
  1518. SendClientMessage(playerid,ERROR,nAdmin);
  1519. return 1;
  1520. }
  1521. ocmd:gmx(playerid,params[])
  1522. {
  1523. if(PlayerInfo[playerid][pAdmin] >= 8)
  1524. {
  1525. SendRconCommand("gmx");
  1526. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1527. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1528. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1529. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1530. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1531. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1532. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1533. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1534. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1535. SendClientMessageToAll(0xFEFEFEFE,"\n");
  1536. SendClientMessageToAll(ERROR,"------------------------");
  1537. SendClientMessageToAll(ERROR,"-- Server Restart --");
  1538. SendClientMessageToAll(ERROR,"------------------------");
  1539. return 1;
  1540. }
  1541. SendClientMessage(playerid,ERROR,nAdmin);
  1542. return 1;
  1543. }
  1544. ocmd:ahelp(playerid,params[])
  1545. {
  1546. SendClientMessage(playerid,COLOR_GREEN,"____________________________________________________________");
  1547. SendClientMessage(playerid,COLOR_GREEN," ");
  1548. if(PlayerInfo[playerid][pAdmin] <= 0)
  1549. {
  1550. SendClientMessage(playerid,0xFEFEFEFE," ");
  1551. }
  1552. if(PlayerInfo[playerid][pAdmin] >= 1)
  1553. {
  1554. SendClientMessage(playerid,AL1,"*Probe Supporter* /kick /ban /goto /gethere");
  1555. }
  1556. if(PlayerInfo[playerid][pAdmin] >= 2)
  1557. {
  1558. SendClientMessage(playerid,AL2,"*Supporter*");
  1559. }
  1560. if(PlayerInfo[playerid][pAdmin] >= 3)
  1561. {
  1562. SendClientMessage(playerid,AL3,"*Moderator*");
  1563. }
  1564. if(PlayerInfo[playerid][pAdmin] >= 4)
  1565. {
  1566. SendClientMessage(playerid,AL4,"*Super Moderator*");
  1567. }
  1568. if(PlayerInfo[playerid][pAdmin] >= 5)
  1569. {
  1570. SendClientMessage(playerid,AL5,"*Administrator*");
  1571. }
  1572. if(PlayerInfo[playerid][pAdmin] >= 6)
  1573. {
  1574. SendClientMessage(playerid,AL6,"*Server Manager*");
  1575. }
  1576. if(PlayerInfo[playerid][pAdmin] >= 7)
  1577. {
  1578. SendClientMessage(playerid,AL7,"*Communityleitung*");
  1579. }
  1580. if(PlayerInfo[playerid][pAdmin] >= 8)
  1581. {
  1582. SendClientMessage(playerid,AL8,"*Serverleitung* /gmx");
  1583. }
  1584. SendClientMessage(playerid,COLOR_GREEN,"____________________________________________________________");
  1585. return 1;
  1586. }
  1587. ocmd:setsex(playerid,params[])
  1588. {
  1589. new sex, pID, str[128];
  1590. if(PlayerInfo[playerid][pAdmin] >= 1)
  1591. {
  1592. if(sscanf(params,"ui",pID,sex)) return SendClientMessage(playerid,FEHLER,"Benutzung: /setsex [ID] [SexID]");
  1593. SendClientMessage(playerid,COLOR_BLUE,"0 = Anonym");
  1594. SendClientMessage(playerid,COLOR_BLUE,"1 = Männlich");
  1595. SendClientMessage(playerid,COLOR_BLUE,"2 = Weiblich");
  1596. PlayerInfo[playerid][pSex] = sex;
  1597. format(str,sizeof(str),"Du hast %s's Geschlecht auf %i geändert",GetName(pID),sex);
  1598. SendClientMessage(playerid,COLOR_BLUE,str);
  1599. return 1;
  1600. }
  1601. return 1;
  1602. }
  1603. ocmd:givemoney(playerid,params[])
  1604. {
  1605. new money, pID, str[128];
  1606. if(PlayerInfo[playerid][pAdmin] >= 7)
  1607. {
  1608. if(sscanf(params,"ui",pID,money)) return SendClientMessage(playerid,FEHLER,"Benutzung: /givemoney [ID] [Betrag]");
  1609. GivePlayerMoney(playerid,money);
  1610. format(str,sizeof(str),"Du hast %s %i$ gegeben!",GetName(pID),money);
  1611. SendClientMessage(playerid,COLOR_BLUE,str);
  1612. return 1;
  1613. }
  1614. return 1;
  1615. }
  1616. ocmd:setjob(playerid,params[])
  1617. {
  1618. new pID, jobid, str[128];
  1619. if(PlayerInfo[playerid][pAdmin] >= 7)
  1620. {
  1621. if(sscanf(params,"ui",pID,jobid))
  1622. {
  1623. SendClientMessage(playerid,FEHLER,"Benutzung: /setjob [ID] [Job]");
  1624. SendClientMessage(playerid,FEHLER,"Job 1: Busfahrer || Job 2: Müllman || Job 3: Taschendieb || Job 4: Autodieb || Job 5: Fischer || Job 6: Detektiv");
  1625. return 1;
  1626. }
  1627. PlayerInfo[playerid][pJob] = jobid;
  1628. new JobName[20];
  1629. switch(PlayerInfo[playerid][pJob])
  1630. {
  1631. case 0:{JobName="'Arbeitslos'";}
  1632. case 1:{JobName="'Busfahrer'";}
  1633. case 2:{JobName="'Müllmann'";}
  1634. case 3:{JobName="'Taschendieb'";}
  1635. case 4:{JobName="'Autodieb'";}
  1636. case 5:{JobName="'Fischer'";}
  1637. case 6:{JobName="'Detektiv'";}
  1638. }
  1639. format(str,sizeof(str),"%s hat %s Job auf %s geändert!",GetName(pID),JobName);
  1640. SendClientMessage(playerid,COLOR_BLUE,str);
  1641. return 1;
  1642. }
  1643. return 1;
  1644. }
  1645.  
  1646. //============================== [ OCMD's ENDE } ==============================
  1647. //============================== [ OCMD's ENDE } ==============================
  1648. //============================== [ OCMD's ENDE } ==============================
  1649.  
  1650. //============================== FUNKTIONEN =================================
  1651.  
  1652. stock sscanf(string[], format[], {Float,_}:...)
  1653. {
  1654. #if defined isnull
  1655. if (isnull(string))
  1656. #else
  1657. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1658. #endif
  1659. {
  1660. return format[0];
  1661. }
  1662. #pragma tabsize 4
  1663. new
  1664. formatPos = 0,
  1665. stringPos = 0,
  1666. paramPos = 2,
  1667. paramCount = numargs(),
  1668. delim = ' ';
  1669. while (string[stringPos] && string[stringPos] <= ' ')
  1670. {
  1671. stringPos++;
  1672. }
  1673. while (paramPos < paramCount && string[stringPos])
  1674. {
  1675. switch (format[formatPos++])
  1676. {
  1677. case '\0':
  1678. {
  1679. return 0;
  1680. }
  1681. case 'i', 'd':
  1682. {
  1683. new
  1684. neg = 1,
  1685. num = 0,
  1686. ch = string[stringPos];
  1687. if (ch == '-')
  1688. {
  1689. neg = -1;
  1690. ch = string[++stringPos];
  1691. }
  1692. do
  1693. {
  1694. stringPos++;
  1695. if ('0' <= ch <= '9')
  1696. {
  1697. num = (num * 10) + (ch - '0');
  1698. }
  1699. else
  1700. {
  1701. return -1;
  1702. }
  1703. }
  1704. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1705. setarg(paramPos, 0, num * neg);
  1706. }
  1707. case 'h', 'x':
  1708. {
  1709. new
  1710. num = 0,
  1711. ch = string[stringPos];
  1712. do
  1713. {
  1714. stringPos++;
  1715. switch (ch)
  1716. {
  1717. case 'x', 'X':
  1718. {
  1719. num = 0;
  1720. continue;
  1721. }
  1722. case '0' .. '9':
  1723. {
  1724. num = (num << 4) | (ch - '0');
  1725. }
  1726. case 'a' .. 'f':
  1727. {
  1728. num = (num << 4) | (ch - ('a' - 10));
  1729. }
  1730. case 'A' .. 'F':
  1731. {
  1732. num = (num << 4) | (ch - ('A' - 10));
  1733. }
  1734. default:
  1735. {
  1736. return -1;
  1737. }
  1738. }
  1739. }
  1740. while ((ch = string[stringPos]) > ' ' && ch != delim);
  1741. setarg(paramPos, 0, num);
  1742. }
  1743. case 'c':
  1744. {
  1745. setarg(paramPos, 0, string[stringPos++]);
  1746. }
  1747. case 'f':
  1748. {
  1749.  
  1750. new changestr[16], changepos = 0, strpos = stringPos;
  1751. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1752. {
  1753. changestr[changepos++] = string[strpos++];
  1754. }
  1755. changestr[changepos] = '\0';
  1756. setarg(paramPos,0,_:floatstr(changestr));
  1757. }
  1758. case 'p':
  1759. {
  1760. delim = format[formatPos++];
  1761. continue;
  1762. }
  1763. case '\'':
  1764. {
  1765. new
  1766. end = formatPos - 1,
  1767. ch;
  1768. while ((ch = format[++end]) && ch != '\'') {}
  1769. if (!ch)
  1770. {
  1771. return -1;
  1772. }
  1773. format[end] = '\0';
  1774. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1775. {
  1776. if (format[end + 1])
  1777. {
  1778. return -1;
  1779. }
  1780. return 0;
  1781. }
  1782. format[end] = '\'';
  1783. stringPos = ch + (end - formatPos);
  1784. formatPos = end + 1;
  1785. }
  1786. case 'u':
  1787. {
  1788. new
  1789. end = stringPos - 1,
  1790. id = 0,
  1791. bool:num = true,
  1792. ch;
  1793. while ((ch = string[++end]) && ch != delim)
  1794. {
  1795. if (num)
  1796. {
  1797. if ('0' <= ch <= '9')
  1798. {
  1799. id = (id * 10) + (ch - '0');
  1800. }
  1801. else
  1802. {
  1803. num = false;
  1804. }
  1805. }
  1806. }
  1807. if (num && IsPlayerConnected(id))
  1808. {
  1809. setarg(paramPos, 0, id);
  1810. }
  1811. else
  1812. {
  1813. #if !defined foreach
  1814. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1815. #define __SSCANF_FOREACH__
  1816. #endif
  1817. string[end] = '\0';
  1818. num = false;
  1819. new
  1820. name[MAX_PLAYER_NAME];
  1821. id = end - stringPos;
  1822. foreach (Player, playerid)
  1823. {
  1824. GetPlayerName(playerid, name, sizeof (name));
  1825. if (!strcmp(name, string[stringPos], true, id))
  1826. {
  1827. setarg(paramPos, 0, playerid);
  1828. num = true;
  1829. break;
  1830. }
  1831. }
  1832. if (!num)
  1833. {
  1834. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1835. }
  1836. string[end] = ch;
  1837. #if defined __SSCANF_FOREACH__
  1838. #undef foreach
  1839. #undef __SSCANF_FOREACH__
  1840. #endif
  1841. }
  1842. stringPos = end;
  1843. }
  1844. case 's', 'z':
  1845. {
  1846. new
  1847. i = 0,
  1848. ch;
  1849. if (format[formatPos])
  1850. {
  1851. while ((ch = string[stringPos++]) && ch != delim)
  1852. {
  1853. setarg(paramPos, i++, ch);
  1854. }
  1855. if (!i)
  1856. {
  1857. return -1;
  1858. }
  1859. }
  1860. else
  1861. {
  1862. while ((ch = string[stringPos++]))
  1863. {
  1864. setarg(paramPos, i++, ch);
  1865. }
  1866. }
  1867. stringPos--;
  1868. setarg(paramPos, i, '\0');
  1869. }
  1870. default:
  1871. {
  1872. continue;
  1873. }
  1874. }
  1875. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1876. {
  1877. stringPos++;
  1878. }
  1879. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1880. {
  1881. stringPos++;
  1882. }
  1883. paramPos++;
  1884. }
  1885. do
  1886. {
  1887. if ((delim = format[formatPos++]) > ' ')
  1888. {
  1889. if (delim == '\'')
  1890. {
  1891. while ((delim = format[formatPos++]) && delim != '\'') {}
  1892. }
  1893. else if (delim != 'z')
  1894. {
  1895. return delim;
  1896. }
  1897. }
  1898. }
  1899. while (delim > ' ');
  1900. return 0;
  1901. }
Advertisement
Add Comment
Please, Sign In to add comment