Advertisement
Guest User

Untitled

a guest
Aug 9th, 2013
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.01 KB | None | 0 0
  1. /*
  2. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. ||Dynamic Roleplay Selfmade ||
  4. ||Das Dynamic Roleplay Selfmade Script basiert auf Dini. ||
  5. ||Gescriptet von : ||
  6. ||[DR]Gummibaer21 ||
  7. ||[DR]Mr.Bubbles ||
  8. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  9. */
  10.  
  11. //Includes
  12. #include <a_samp>
  13. #include <Dini>
  14.  
  15. //Farben
  16. #define GELB 0xFFFF00FF
  17. #define ROT 0xFF2800FF
  18. #define BLAU 0x000FFFFF
  19. #define HLILA 0xA000FF3E
  20. #define HBLAU 0x00F5FFFF
  21.  
  22. //Stats system
  23. #define STATS 3
  24.  
  25. //Login Register
  26. #define REGISTER 1
  27. #define LOGIN 2
  28.  
  29. //Fraktion defines
  30. #define sFraktion "LSPD"
  31. #define sFraktion2 "FBI"
  32. #define sFraktion3 "Feuerwehr"
  33.  
  34. //Fraktion news
  35. new LSPDWagen[23];
  36.  
  37. //Job defines
  38. #define sJob "Busfahrer"
  39. #define sJob2 "Muelmann"
  40. #define sJob3 "Pilot"
  41.  
  42. //Job news
  43. new BusFahrerFahrzeug[4];
  44.  
  45. //dcmd
  46. #define dcmd(%1,%2,%3) if(!strcmp((%3)[1],#%1, true, (%2)) && ((((%3) [ (%2) + 1]
  47.  
  48.  
  49. //motor system
  50. new engine,lights,alarm,doors,bonnet,boot,objective;
  51. new bool:Motor[MAX_VEHICLES]=false;
  52.  
  53. //Enums
  54.  
  55. enum SpielerDaten
  56. {
  57. Adminlevel,
  58. Level,
  59. Fraktion,
  60. Job,
  61. Team,
  62. Skin,
  63. sLogin,
  64. Geld
  65. };
  66.  
  67. new sSpieler[MAX_PLAYERS][SpielerDaten];
  68.  
  69.  
  70. main()
  71. {
  72. print("\n----------------------------------");
  73. print(" Dynamic Roleplay Selfmade wurde gestartet");
  74. print("----------------------------------\n");
  75. }
  76.  
  77. public OnGameModeInit()
  78. {
  79. SetGameModeText("German Reallife");
  80. //Büse
  81. BusFahrerFahrzeug[1] = AddStaticVehicle(431,1051.2938,-1378.1139,13.5628,179.2141,75,59); // bus1
  82. BusFahrerFahrzeug[2] = AddStaticVehicle(431,1051.1073,-1364.0217,13.4833,180.3900,92,72); // bus2
  83. BusFahrerFahrzeug[3] = AddStaticVehicle(431,1051.3445,-1346.6021,13.4833,178.9842,75,59); // bus3
  84.  
  85. //LSPDCars
  86. LSPDWagen[1] = AddStaticVehicle(596,1602.7900,-1683.8688,5.6897,87.6164,2,1); // pdcar1
  87. LSPDWagen[2] = AddStaticVehicle(596,1602.7834,-1687.9835,5.6904,89.2419,2,1); // pdcar2
  88. LSPDWagen[3] = AddStaticVehicle(596,1602.8632,-1691.8994,5.6902,87.0716,2,1); // pdcar3
  89. LSPDWagen[4] = AddStaticVehicle(596,1602.7452,-1696.0103,5.6920,91.6564,2,1); // pdcar4
  90. LSPDWagen[5] = AddStaticVehicle(596,1602.8774,-1700.3597,5.6901,90.0439,2,1); // pdcar5
  91. LSPDWagen[6] = AddStaticVehicle(596,1602.7909,-1704.1433,5.6908,89.3426,2,1); // pdcar6
  92. LSPDWagen[7] = AddStaticVehicle(596,1595.3419,-1711.8015,5.6894,359.6440,2,1); // pdcar7
  93. LSPDWagen[8] = AddStaticVehicle(596,1591.2985,-1711.8956,5.6913,0.0939,2,1); // pdcar8
  94. LSPDWagen[9] = AddStaticVehicle(596,1587.7522,-1711.8265,5.6915,0.8699,2,1); // pdcar9
  95. LSPDWagen[10] = AddStaticVehicle(596,1583.7185,-1711.8759,5.6895,0.5345,2,1); // pdcar10
  96. LSPDWagen[11] = AddStaticVehicle(596,1578.5400,-1711.7177,5.6914,3.9767,2,1); // pdcar11
  97. LSPDWagen[12] = AddStaticVehicle(596,1574.6619,-1712.0906,5.7372,358.2341,2,1); // pdcar12
  98. LSPDWagen[13] = AddStaticVehicle(596,1570.4850,-1711.8315,5.6890,3.0005,2,1); // pdcar13
  99. LSPDWagen[14] = AddStaticVehicle(560,1547.0475,-1684.5133,5.6052,90.7777,2,1); // pdcar14
  100. LSPDWagen[15] = AddStaticVehicle(560,1546.9030,-1680.5571,5.5929,88.9729,2,1); // pdcar15
  101. LSPDWagen[16] = AddStaticVehicle(560,1546.5892,-1676.7172,5.5949,88.8980,2,1); // pdcar16
  102. LSPDWagen[17] = AddStaticVehicle(560,1546.8143,-1672.4680,5.5962,89.2124,2,1); // pdcar17
  103. LSPDWagen[18] = AddStaticVehicle(560,1546.9414,-1668.5319,5.5959,89.5211,2,1); // pdcar18
  104. LSPDWagen[19] = AddStaticVehicle(541,1547.2094,-1664.0055,5.5235,89.7903,2,1); // pdcar19
  105. LSPDWagen[20] = AddStaticVehicle(541,1547.0894,-1658.7531,5.5153,90.8323,2,1); // pdcar20
  106. LSPDWagen[21] = AddStaticVehicle(541,1547.2633,-1654.8112,5.5431,90.1417,2,1); // pdcar21
  107. LSPDWagen[22] = AddStaticVehicle(541,1547.2144,-1651.1122,5.5251,88.3879,2,1); // pdcar22
  108.  
  109. //Motor system
  110. ManualVehicleEngineAndLights(); // Dies muss in OnGameModeInit angegeben werden, damit das ganze System überhaupt funktioniert.
  111.  
  112. for (new i=0; i< MAX_VEHICLES; i++)
  113. {
  114. GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  115. SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  116. Motor[i] = false;
  117. }
  118. }
  119.  
  120. public OnGameModeExit()
  121. {
  122. return 1;
  123. }
  124.  
  125. public OnPlayerConnect(playerid)
  126. {
  127. //Spawnbutton system löschen
  128. CallRemoteFunction("OnPlayerRequestSpawn","i",playerid);
  129.  
  130. //Register und Login system
  131. new Spieler[64];
  132. new Sname[MAX_PLAYER_NAME];
  133. GetPlayerName(playerid,Sname,sizeof(Sname));
  134. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  135. if(dini_Exists(Spieler))
  136. {
  137. SendClientMessage(playerid,HLILA,"________-> Willkommen auf Dynamic Roleplay Selfmade <-________");
  138. SendClientMessage(playerid,HBLAU,"Dein Account wurde gefunden, bitte Log dich nun ein!");
  139. ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Wilkommen zurück","Wilkommen zurück auf DR.\nGebe dein Passwort ein das du beim Regestieren eingegeben hast.","Login","Abbrechen");
  140. return 1;
  141. }
  142. else
  143. {
  144. SendClientMessage(playerid, HLILA,"________-> Willkommen auf Dynamic Roleplay Selfmade <-________");
  145. SendClientMessage(playerid, HBLAU,"Dein Account wurde nicht gefunden, bitte Registriere dich!");
  146. ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Wilkommen auf DynamR","Wilkommen auf DR dem neuen Selfmade server.\nUm aber erst richtig los zu legen muss du dich regestieren.\nBitte gebe dein gewünschtes passwort ein:","Regestieren","Abbrechen");
  147. return 1;
  148. }
  149. }
  150.  
  151. public OnPlayerDisconnect(playerid, reason)
  152. {
  153. new Spieler[64];
  154. new Sname[MAX_PLAYER_NAME];
  155. GetPlayerName(playerid,Sname,sizeof(Sname));
  156. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  157. SetPlayerSkin(playerid,dini_Int(Spieler,"Skin"));
  158. SpielerSpeichern(playerid);
  159. return 1;
  160. }
  161.  
  162. public OnPlayerSpawn(playerid)
  163. {
  164.  
  165. if(IstSpielerInFraktion(playerid, 0))//Zivi spawn
  166. {
  167. SetPlayerPos(playerid,1755.1953,-1894.3553,13.5567);
  168. SetPlayerColor(playerid,HLILA);
  169. ResetPlayerWeapons(playerid);
  170. return 1;
  171. }
  172. if(IstSpielerBusfahrer(playerid, 1))//Busfahrer
  173. {
  174. SetPlayerPos(playerid,1755.1953,-1894.3553,13.5567);
  175. SetPlayerColor(playerid,HLILA);
  176. ResetPlayerWeapons(playerid);
  177. return 1;
  178. }
  179. if(IstSpielerInFraktion(playerid, 1))//LSPD spawn
  180. {
  181. SetPlayerPos(playerid,1755.1953,-1894.3553,13.5567);
  182. SetPlayerColor(playerid,HBLAU);
  183. SetPlayerSkin(playerid,266);
  184. SetPlayerHealth(playerid,200);
  185. SetPlayerArmour(playerid,100);
  186. GivePlayerWeapon(playerid,3,1);
  187. GivePlayerWeapon(playerid,24,999);
  188. GivePlayerWeapon(playerid,24,999);
  189. GivePlayerWeapon(playerid,24,999);
  190. GivePlayerWeapon(playerid,29,999);
  191. GivePlayerWeapon(playerid,29,999);
  192. GivePlayerWeapon(playerid,29,999);
  193. GivePlayerWeapon(playerid,31,999);
  194. GivePlayerWeapon(playerid,31,999);
  195. GivePlayerWeapon(playerid,31,999);
  196. return 1;
  197. }
  198. if(IstSpielerInFraktion(playerid, 2))//FBI spawn
  199. {
  200. SetPlayerPos(playerid,1755.1953,-1894.3553,13.5567);
  201. SetPlayerColor(playerid,BLAU);
  202. SetPlayerSkin(playerid,286);
  203. SetPlayerHealth(playerid,200);
  204. SetPlayerArmour(playerid,100);
  205. GivePlayerWeapon(playerid,3,1);
  206. GivePlayerWeapon(playerid,24,999);
  207. GivePlayerWeapon(playerid,24,999);
  208. GivePlayerWeapon(playerid,24,999);
  209. GivePlayerWeapon(playerid,29,999);
  210. GivePlayerWeapon(playerid,29,999);
  211. GivePlayerWeapon(playerid,29,999);
  212. GivePlayerWeapon(playerid,31,999);
  213. GivePlayerWeapon(playerid,31,999);
  214. GivePlayerWeapon(playerid,31,999);
  215. return 1;
  216. }
  217. if(IstSpielerInFraktion(playerid, 3))//Feuerwehr spawn
  218. {
  219. SetPlayerPos(playerid,1755.1953,-1894.3553,13.5567);
  220. SetPlayerColor(playerid,ROT);
  221. SetPlayerSkin(playerid,278);
  222. SetPlayerHealth(playerid,200);
  223. SetPlayerArmour(playerid,100);
  224. GivePlayerWeapon(playerid,9,1);
  225. GivePlayerWeapon(playerid,42,999);
  226. GivePlayerWeapon(playerid,42,999);
  227. GivePlayerWeapon(playerid,42,999);
  228. GivePlayerWeapon(playerid,42,999);
  229. GivePlayerWeapon(playerid,42,999);
  230. GivePlayerWeapon(playerid,42,999);
  231. return 1;
  232. }
  233. return 1;
  234. }
  235.  
  236. public OnPlayerDeath(playerid, killerid, reason)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnVehicleSpawn(vehicleid)
  242. {
  243. //Motor system
  244. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  245. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  246. Motor[vehicleid] = false;
  247.  
  248. //Lock system
  249. SetVehicleParamsForPlayer(vehicleid,0,0);
  250. return 1;
  251. }
  252.  
  253. public OnVehicleDeath(vehicleid, killerid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnPlayerText(playerid, text[])
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerCommandText(playerid, cmdtext[])
  264. {
  265. if (strcmp("/Stats",cmdtext, true, 10) == 0)
  266. {
  267. new string[128];
  268. new ftext[20];
  269. new level = sSpieler[playerid][Fraktion];
  270. if(level == 0) { ftext= "Zivilist"; }
  271. if(level == 1) { ftext= "Polizei"; }
  272. if(level == 2) { ftext= "FBI"; }
  273. format(string,sizeof(string),"Dein Level : %d\n Dein Geld Status liegt bei : %d\n Deine derzeitige Fraktion : %s",sSpieler[playerid][Level],GetPlayerMoney(playerid),ftext);
  274. ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Statistiken",string,"Beenden","Beenden");
  275. return 1;
  276. }
  277. if (strcmp("/Mieten", cmdtext, true, 10) == 0) //Noobspawn rollermietung
  278. {
  279. if(IsPlayerInRangeOfPoint(playerid, 7.0,1772.3368,-1891.7960,13.5531))
  280. {
  281. GivePlayerMoney(playerid,-500);
  282. AddStaticVehicle(462,1776.9113,-1892.1366,12.9874,261.2408,14,14);
  283. return 1;
  284. }
  285. else SendClientMessage(playerid,ROT,"Du bist nicht am Mietpoint");
  286. return 1;
  287. }
  288. if (strcmp("/Neustarten", cmdtext, true, 10) == 0) //Neustart system
  289. {
  290. if(IstSpielerAdmin(playerid, 6))
  291. {
  292. SendRconCommand("gmx");
  293. return 1;
  294. }
  295. else
  296. {
  297. SendClientMessage(playerid,ROT,"Du hast nicht den Mindestrang dafür");
  298. return 1;
  299. }
  300. }
  301. if (strcmp(cmdtext, "/zu", true)==0 || strcmp(cmdtext, "/lock", true) == 0) //
  302. {
  303. if(IsPlayerInAnyVehicle(playerid))
  304. {
  305. new Statu ;
  306. Statu=GetPlayerState(playerid);
  307. new vehicleid = GetPlayerVehicleID(playerid);
  308. if(Statu!=PLAYER_STATE_DRIVER)
  309. {
  310. SendClientMessage(playerid,ROT,"Nur der Fahrer kann abschliessen!");
  311. return 1;
  312. }
  313. new i;
  314. for(i=0;i<MAX_PLAYERS;i++)
  315. {
  316. if(i != playerid)
  317. {
  318. SetVehicleParamsForPlayer(vehicleid,i, 0, 1);
  319. }
  320. }
  321. new Float:X;
  322. new Float:Y;
  323. new Float:Z;
  324. SendClientMessage(playerid, HLILA, "Fahrzeug abgeschlossen");
  325. GetPlayerPos(playerid,X,Y,Z);
  326. PlayerPlaySound(playerid,1056,X,Y,Z);
  327. }
  328. else
  329. {
  330. SendClientMessage(playerid, ROT, "Du kannst nur in einem Auto ein Fahrzeug abschliessen!");
  331. }
  332. return 1;
  333. }
  334. if (strcmp(cmdtext, "/auf", true) == 0 || strcmp(cmdtext, "/unlock", true) == 0)
  335. {
  336. if(IsPlayerInAnyVehicle(playerid))
  337. {
  338. new Status ;
  339. Status = GetPlayerState(playerid);
  340. new vehicleid = GetPlayerVehicleID(playerid);
  341. if(Status!=PLAYER_STATE_DRIVER)
  342. {
  343. SendClientMessage(playerid,ROT,"Nur der Fahrer hat den Schluessel zum aufschliessen!");
  344. return 1;
  345. }
  346. new i;
  347. for(i=0;i<MAX_PLAYERS;i++)
  348. {
  349. SetVehicleParamsForPlayer(vehicleid,i, 0, 0);
  350. }
  351. SendClientMessage(playerid, HBLAU, "Fahrzeug aufgeschlossen");
  352. new Float:X;
  353. new Float:Y;
  354. new Float:Z;
  355. GetPlayerPos(playerid,X,Y,Z);
  356. PlayerPlaySound(playerid,1057,X,Y,Z);
  357. }
  358. else
  359. {
  360. SendClientMessage(playerid, HLILA, "Du bist in keinem Fahrzeug!");
  361. }
  362. return 1;
  363. }
  364. if(strcmp(cmdtext, "/Hilfe", true) == 0)
  365. {
  366. SendClientMessage(playerid,HLILA,"||__________Auto system__________||");
  367. SendClientMessage(playerid,HBLAU,"Gebe (/Motor) ein um den motor ");
  368. SendClientMessage(playerid,HBLAU,"zu starten. Gebe (/Zu) ein um ");
  369. SendClientMessage(playerid,HBLAU,"es abzuschließen und (/Auf) um ");
  370. SendClientMessage(playerid,HBLAU,"es aufzuschließen. ");
  371. SendClientMessage(playerid,HLILA,"||_______________________________||");
  372. SendClientMessage(playerid,HLILA,"||__________AFK system__________||");
  373. SendClientMessage(playerid,HLILA,"Gebe (/[G]urz[W]eg) ein um in den");
  374. SendClientMessage(playerid,HBLAU,"AFK(Gurzweg)modus zu gehn und ");
  375. SendClientMessage(playerid,HBLAU,"(/Zurück)um vom (Gurzweg)modus ");
  376. SendClientMessage(playerid,HBLAU,"zurück zu gehren");
  377. SendClientMessage(playerid,HLILA,"||______________________________||");
  378. return 1;
  379. }
  380. if(strcmp(cmdtext, "/afk", true) == 0)
  381. {
  382. new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
  383. format(str, 256, "*%s ist GurzWeg!", pname, cmdtext[4]);
  384. SendClientMessage(playerid, ROT, "Um dich Zurück zumelden, tippe /Zurück");
  385. SendClientMessageToAll(BLAU, str);
  386. TogglePlayerControllable(playerid, 0);
  387. return 1;
  388. }
  389. if(strcmp(cmdtext, "/Zurück", true) == 0)
  390. {
  391. new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
  392. format(str, 256, "*%s ist von afk zurueck!", pname, cmdtext[4]);
  393. SendClientMessageToAll(BLAU, str);
  394. GameTextForPlayer(playerid,"~w~willkommen zurueck. :)!",2500,3);
  395. TogglePlayerControllable(playerid, 1);
  396. return 1;
  397. }
  398. if(strcmp(cmdtext, "/Motor", true) == 0)
  399. {
  400. if(GetPlayerVehicleSeat(playerid) == 0)
  401. {
  402. new car = GetPlayerVehicleID(playerid);
  403. if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
  404. {
  405. SendClientMessage(playerid, ROT, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
  406. }
  407. else if (Motor[car] == false)
  408. {
  409. GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  410. SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  411. Motor[car] = true;
  412. SendClientMessage(playerid,GELB,"Du hast den motor angeschaltet");
  413. }
  414. else
  415. {
  416. GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  417. SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  418. Motor[car] = false;
  419. SendClientMessage(playerid,ROT,"Du hast den motor ausgeschaltet");
  420. }
  421. }
  422. return 1;
  423. }
  424. return 1;
  425. }
  426.  
  427. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  428. {
  429. return 1;
  430. }
  431.  
  432. public OnPlayerExitVehicle(playerid, vehicleid)
  433. {
  434. return 1;
  435. }
  436.  
  437. public OnPlayerStateChange(playerid, newstate, oldstate)
  438. {
  439. if(newstate == PLAYER_STATE_DRIVER)
  440. {
  441. for(new i = 0; i<sizeof(LSPDWagen); i++)
  442. {
  443. if(GetPlayerVehicleID(playerid) == LSPDWagen[i])
  444. {
  445. if(IstSpielerInFraktion(playerid, 1))
  446. {
  447. return 1;
  448. }
  449. else
  450. {
  451. RemovePlayerFromVehicle(playerid);
  452. SendClientMessage(playerid,ROT,"Du bist kein Polizist");
  453. return 1;
  454. }
  455. }
  456. }
  457. return 1;
  458. }
  459. return 1;
  460. }
  461.  
  462. public OnPlayerEnterCheckpoint(playerid)
  463. {
  464. return 1;
  465. }
  466.  
  467. public OnPlayerLeaveCheckpoint(playerid)
  468. {
  469. return 1;
  470. }
  471.  
  472. public OnPlayerEnterRaceCheckpoint(playerid)
  473. {
  474. return 1;
  475. }
  476.  
  477. public OnPlayerLeaveRaceCheckpoint(playerid)
  478. {
  479. return 1;
  480. }
  481.  
  482. public OnRconCommand(cmd[])
  483. {
  484. return 1;
  485. }
  486.  
  487. public OnPlayerRequestSpawn(playerid)
  488. {
  489. return 1;
  490. }
  491.  
  492. public OnObjectMoved(objectid)
  493. {
  494. return 1;
  495. }
  496.  
  497. public OnPlayerObjectMoved(playerid, objectid)
  498. {
  499. return 1;
  500. }
  501.  
  502. public OnPlayerPickUpPickup(playerid, pickupid)
  503. {
  504. return 1;
  505. }
  506.  
  507. public OnVehicleMod(playerid, vehicleid, componentid)
  508. {
  509. return 1;
  510. }
  511.  
  512. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  513. {
  514. return 1;
  515. }
  516.  
  517. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  518. {
  519. return 1;
  520. }
  521.  
  522. public OnPlayerSelectedMenuRow(playerid, row)
  523. {
  524. return 1;
  525. }
  526.  
  527. public OnPlayerExitedMenu(playerid)
  528. {
  529. return 1;
  530. }
  531.  
  532. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  533. {
  534. return 1;
  535. }
  536.  
  537. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  538. {
  539. return 1;
  540. }
  541.  
  542. public OnRconLoginAttempt(ip[], password[], success)
  543. {
  544. return 1;
  545. }
  546.  
  547. public OnPlayerUpdate(playerid)
  548. {
  549. return 1;
  550. }
  551.  
  552. public OnPlayerStreamIn(playerid, forplayerid)
  553. {
  554. return 1;
  555. }
  556.  
  557. public OnPlayerStreamOut(playerid, forplayerid)
  558. {
  559. return 1;
  560. }
  561.  
  562. public OnVehicleStreamIn(vehicleid, forplayerid)
  563. {
  564. return 1;
  565. }
  566.  
  567. public OnVehicleStreamOut(vehicleid, forplayerid)
  568. {
  569. return 1;
  570. }
  571.  
  572. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  573. {
  574. if(dialogid == STATS)
  575. {
  576. if(response == 0)
  577. {
  578. return 1;
  579. }
  580. if(response == 1)
  581. {
  582. return 1;
  583. }
  584. }
  585. if(dialogid == REGISTER)
  586. {
  587. if(response == 0)
  588. {
  589. SendClientMessage(playerid,ROT,"Du wurdest gekickt weil du die Regesteration abgebrochen hast!");
  590. Kick(playerid);
  591. return 1;
  592. }
  593. if(response == 1)
  594. {
  595. if(!strlen(inputtext))
  596. {
  597. SendClientMessage(playerid,BLAU,"Bitte gebe ein Passwort ein");
  598. ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Wilkommen auf DR","Wilkommen auf DR dem neuen Selfmade server.\nUm aber erst richtig los zu legen muss du dich regestieren.\nBitte gebe dein gewünschtes passwort ein:","Regestieren","Abbrechen");
  599. }
  600. Register(playerid,inputtext);
  601. }
  602. return 1;
  603. }
  604. if(dialogid == LOGIN)
  605. {
  606. if(response ==0)
  607. {
  608. SendClientMessage(playerid,ROT,"Du wurdest gekickt weil du den Login vorgang abgebrochen hast!");
  609. Kick(playerid);
  610. return 1;
  611. }
  612. if(response ==1)
  613. {
  614. Login(playerid,inputtext);
  615. return 1;
  616. }
  617. return 1;
  618. }
  619. return 1;
  620. }
  621.  
  622. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  623. {
  624. return 1;
  625. }
  626.  
  627. stock Register(playerid,Key[])
  628. {
  629. new Spieler[64];
  630. new Sname[MAX_PLAYER_NAME];
  631. GetPlayerName(playerid,Sname,sizeof(Sname));
  632. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  633. dini_Create(Spieler);
  634. dini_Set(Spieler,"Passwort",Key);
  635. dini_IntSet(Spieler,"Adminlevel",0);
  636. dini_IntSet(Spieler,"Level",0);
  637. dini_IntSet(Spieler,"Fraktion",0);
  638. dini_IntSet(Spieler,"Job",0);
  639. dini_IntSet(Spieler,"Team",0);
  640. dini_IntSet(Spieler,"Geld",10000);
  641. SendClientMessage(playerid,BLAU,"Du hast dich Erfolgreich regestiert");
  642. SpielerReset(playerid);
  643. GivePlayerMoney(playerid,10000);
  644. return 1;
  645. }
  646.  
  647. stock Login(playerid,Key[])
  648. {
  649. new Spieler[64];
  650. new Sname[MAX_PLAYER_NAME];
  651. GetPlayerName(playerid,Sname,sizeof(Sname));
  652. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  653. if(!strcmp(Key,dini_Get(Spieler,"Passwort"),true))
  654. {
  655. SendClientMessage(playerid,BLAU,"Du hast dich Eingeloggt");
  656. SpielerLaden(playerid);
  657. return 1;
  658. }
  659. else
  660. {
  661. ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Wilkommen zurück","Wilkommen zurück auf DR.\nGebe dein Passwort ein das du beim Regestieren eingegeben hast.","Login","Abbrechen");
  662. SendClientMessage(playerid,ROT,"Du hast das Falsche Passwort eingegeben");
  663. return 1;
  664. }
  665. }
  666.  
  667. stock SpielerSpeichern(playerid)
  668. {
  669. new Spieler[64];
  670. new Sname[MAX_PLAYER_NAME];
  671. GetPlayerName(playerid,Sname,sizeof(Sname));
  672. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  673. if(dini_Exists(Spieler))
  674. {
  675. dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
  676. dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
  677. dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
  678. dini_IntSet(Spieler,"Job",sSpieler[playerid][Job]);
  679. dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
  680. dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
  681. dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
  682. return 1;
  683. }
  684. return 1;
  685. }
  686.  
  687. stock SpielerLaden(playerid)
  688. {
  689. new Spieler[64];
  690. new Sname[MAX_PLAYER_NAME];
  691. GetPlayerName(playerid,Sname,sizeof(Sname));
  692. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  693. if(dini_Exists(Spieler))
  694. {
  695. sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
  696. sSpieler[playerid][Level] = dini_Int(Spieler,"Level");
  697. sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
  698. sSpieler[playerid][Job] = dini_Int(Spieler,"Job");
  699. sSpieler[playerid][Team] = dini_Int(Spieler,"Team");
  700. sSpieler[playerid][sLogin] = 1;
  701. sSpieler[playerid][Geld] = dini_Int(Spieler,"Geld");
  702. GivePlayerMoney(playerid, sSpieler[playerid][Geld]);
  703. return 1;
  704. }
  705. return 1;
  706. }
  707.  
  708. stock SpielerReset(playerid)
  709. {
  710. sSpieler[playerid][Adminlevel] = 0;
  711. sSpieler[playerid][Level] = 0;
  712. sSpieler[playerid][Fraktion] = 0;
  713. sSpieler[playerid][Job] = 1;
  714. sSpieler[playerid][Team] = 0;
  715. sSpieler[playerid][Geld] = 10000;
  716. return 1;
  717. }
  718.  
  719. //Adminsystem
  720.  
  721. stock IstSpielerAdmin(playerid,level)
  722. {
  723. if(sSpieler[playerid][Adminlevel] >= level) return 1;
  724. return 0;
  725. }
  726.  
  727. //Fraktion stock
  728. stock IstSpielerInFraktion(playerid, fraktionsid)
  729. {
  730. if(sSpieler[playerid][Fraktion] == fraktionsid) return 1;
  731. return 0;
  732. }
  733.  
  734. //Job stock
  735. stock IstSpielerBusfahrer(playerid)
  736. {
  737. if(sSpieler[playerid][Job] = 1)
  738. return 0;
  739. }
  740.  
  741. //Login abfrage
  742.  
  743. stock IstSpielerLogged(playerid)
  744. {
  745. if(sSpieler[playerid][sLogin] == 1) return 1;
  746. return 0;
  747. }
  748.  
  749. //Tacho system STOCK
  750. stock GetVehicleSpeed(vehicleid)
  751. {
  752. new Float:X,Float:Y,Float:Z;
  753. new Float:Speed;
  754. GetVehicleVelocity(vehicleid, X, Y, Z);
  755. Speed = floatsqroot(X*X + Y*Y + Z*Z)*200;
  756. new dd;
  757. dd = floatround(Speed);
  758. return dd;
  759. }
  760.  
  761. //Sscanf
  762.  
  763. stock sscanf(string[], format[], {Float,_}:...)
  764. {
  765. #if defined isnull
  766. if (isnull(string))
  767. #else
  768. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  769. #endif
  770. {
  771. return format[0];
  772. }
  773. #pragma tabsize 4
  774. new
  775. formatPos = 0,
  776. stringPos = 0,
  777. paramPos = 2,
  778. paramCount = numargs(),
  779. delim = ' ';
  780. while (string[stringPos] && string[stringPos] <= ' ')
  781. {
  782. stringPos++;
  783. }
  784. while (paramPos < paramCount && string[stringPos])
  785. {
  786. switch (format[formatPos++])
  787. {
  788. case '\0':
  789. {
  790. return 0;
  791. }
  792. case 'i', 'd':
  793. {
  794. new
  795. neg = 1,
  796. num = 0,
  797. ch = string[stringPos];
  798. if (ch == '-')
  799. {
  800. neg = -1;
  801. ch = string[++stringPos];
  802. }
  803. do
  804. {
  805. stringPos++;
  806. if ('0' <= ch <= '9')
  807. {
  808. num = (num * 10) + (ch - '0');
  809. }
  810. else
  811. {
  812. return -1;
  813. }
  814. }
  815. while ((ch = string[stringPos]) > ' ' && ch != delim);
  816. setarg(paramPos, 0, num * neg);
  817. }
  818. case 'h', 'x':
  819. {
  820. new
  821. num = 0,
  822. ch = string[stringPos];
  823. do
  824. {
  825. stringPos++;
  826. switch (ch)
  827. {
  828. case 'x', 'X':
  829. {
  830. num = 0;
  831. continue;
  832. }
  833. case '0' .. '9':
  834. {
  835. num = (num << 4) | (ch - '0');
  836. }
  837. case 'a' .. 'f':
  838. {
  839. num = (num << 4) | (ch - ('a' - 10));
  840. }
  841. case 'A' .. 'F':
  842. {
  843. num = (num << 4) | (ch - ('A' - 10));
  844. }
  845. default:
  846. {
  847. return -1;
  848. }
  849. }
  850. }
  851. while ((ch = string[stringPos]) > ' ' && ch != delim);
  852. setarg(paramPos, 0, num);
  853. }
  854. case 'c':
  855. {
  856. setarg(paramPos, 0, string[stringPos++]);
  857. }
  858. case 'f':
  859. {
  860.  
  861. new changestr[16], changepos = 0, strpos = stringPos;
  862. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  863. {
  864. changestr[changepos++] = string[strpos++];
  865. }
  866. changestr[changepos] = '\0';
  867. setarg(paramPos,0,_:floatstr(changestr));
  868. }
  869. case 'p':
  870. {
  871. delim = format[formatPos++];
  872. continue;
  873. }
  874. case '\'':
  875. {
  876. new
  877. end = formatPos - 1,
  878. ch;
  879. while ((ch = format[++end]) && ch != '\'') {}
  880. if (!ch)
  881. {
  882. return -1;
  883. }
  884. format[end] = '\0';
  885. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  886. {
  887. if (format[end + 1])
  888. {
  889. return -1;
  890. }
  891. return 0;
  892. }
  893. format[end] = '\'';
  894. stringPos = ch + (end - formatPos);
  895. formatPos = end + 1;
  896. }
  897. case 'u':
  898. {
  899. new
  900. end = stringPos - 1,
  901. id = 0,
  902. bool:num = true,
  903. ch;
  904. while ((ch = string[++end]) && ch != delim)
  905. {
  906. if (num)
  907. {
  908. if ('0' <= ch <= '9')
  909. {
  910. id = (id * 10) + (ch - '0');
  911. }
  912. else
  913. {
  914. num = false;
  915. }
  916. }
  917. }
  918. if (num && IsPlayerConnected(id))
  919. {
  920. setarg(paramPos, 0, id);
  921. }
  922. else
  923. {
  924. #if !defined foreach
  925. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  926. #define __SSCANF_FOREACH__
  927. #endif
  928. string[end] = '\0';
  929. num = false;
  930. new
  931. name[MAX_PLAYER_NAME];
  932. id = end - stringPos;
  933. foreach (Player, playerid)
  934. {
  935. GetPlayerName(playerid, name, sizeof (name));
  936. if (!strcmp(name, string[stringPos], true, id))
  937. {
  938. setarg(paramPos, 0, playerid);
  939. num = true;
  940. break;
  941. }
  942. }
  943. if (!num)
  944. {
  945. setarg(paramPos, 0, INVALID_PLAYER_ID);
  946. }
  947. string[end] = ch;
  948. #if defined __SSCANF_FOREACH__
  949. #undef foreach
  950. #undef __SSCANF_FOREACH__
  951. #endif
  952. }
  953. stringPos = end;
  954. }
  955. case 's', 'z':
  956. {
  957. new
  958. i = 0,
  959. ch;
  960. if (format[formatPos])
  961. {
  962. while ((ch = string[stringPos++]) && ch != delim)
  963. {
  964. setarg(paramPos, i++, ch);
  965. }
  966. if (!i)
  967. {
  968. return -1;
  969. }
  970. }
  971. else
  972. {
  973. while ((ch = string[stringPos++]))
  974. {
  975. setarg(paramPos, i++, ch);
  976. }
  977. }
  978. stringPos--;
  979. setarg(paramPos, i, '\0');
  980. }
  981. default:
  982. {
  983. continue;
  984. }
  985. }
  986. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  987. {
  988. stringPos++;
  989. }
  990. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  991. {
  992. stringPos++;
  993. }
  994. paramPos++;
  995. }
  996. do
  997. {
  998. if ((delim = format[formatPos++]) > ' ')
  999. {
  1000. if (delim == '\'')
  1001. {
  1002. while ((delim = format[formatPos++]) && delim != '\'') {}
  1003. }
  1004. else if (delim != 'z')
  1005. {
  1006. return delim;
  1007. }
  1008. }
  1009. }
  1010. while (delim > ' ');
  1011. return 0;
  1012. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement