Guest User

Untitled

a guest
Jan 16th, 2012
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.55 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4.  
  5. #define BLAU 0x0087FFFF
  6. #define ROT 0xE10000FF
  7.  
  8. #define DIALOG_TUTORIAL 1
  9. #define DIALOG_REGISTER 2
  10. #define DIALOG_LOGIN 3
  11. #define Radio 2
  12.  
  13. //Fraktionsnamen
  14. #define fraktname1 "LSPD"//Spawns bitte noch verschieben! //und erstellen
  15. #define fraktname2 "FBI"//Spawns bitte noch verschieben!//und erstellen
  16. #define fraktname3 "Army"//Spawns bitte noch verschieben!//und erstellen
  17. new Text:Uhrzeit;
  18. new Text:Copyright;
  19. new Text:Ts3;
  20. new Text:Datum;
  21. #define fraktname4 "Medic"//Spawns bitte noch verschieben!//und erstellen
  22. #define fraktname5 "Feuerwehr"//Spawns bitte noch verschieben!//und erstellen
  23. #define fraktname6 "LCN"//Spawns bitte noch verschieben!//und erstellen
  24. //Mafia
  25. #define mafiaspawn 1188.7655,-943.9813,42.7585
  26.  
  27. //LSPD
  28. #define lspdspawn 1520.0, 1541.0, 1655.0
  29.  
  30. //Medic
  31. #define medicspawn 1520.0,1568.0,1510.0
  32.  
  33. new bsnenter;
  34. new bsnexit;
  35. new fbicar[2];
  36. new PolizeiVehs[3];
  37. new ArmyCars[3];
  38. new MedicCars[2];
  39. new FeuerCars[2];
  40. new LCNCars[2];
  41. // Erstellt unter OnGameModeInit Cars mit fbicar[Anzahl] = Dann das car Dahinter usw. Das mit allen Fraktionen
  42.  
  43.  
  44. main()
  45. {
  46. print("\n----------------------------------");
  47. print("TutorialServer");
  48. print("----------------------------------\n");
  49. }
  50.  
  51.  
  52. public OnGameModeInit()
  53. {
  54. Copyright = TextDrawCreate(27.000000, 424.000000, "TEST");
  55. TextDrawBackgroundColor(Copyright, 255);
  56. TextDrawFont(Copyright, 2);
  57. TextDrawLetterSize(Copyright, 0.340000, 1.600000);
  58. TextDrawColor(Copyright, -1);
  59. TextDrawSetOutline(Copyright, 1);
  60. TextDrawSetProportional(Copyright, 1);
  61. TextDrawShowForAll(Copyright);
  62.  
  63. Ts3 = TextDrawCreate(372.000000,429.000000,"TS3: TEST");
  64. TextDrawAlignment(Ts3,0);
  65. TextDrawBackgroundColor(Ts3,0xffffffcc);
  66. TextDrawFont(Ts3,3);
  67. TextDrawLetterSize(Ts3,0.599999,1.000000);
  68. TextDrawColor(Ts3,0x000000ff);
  69. TextDrawSetOutline(Ts3,1);
  70. TextDrawSetProportional(Ts3,1);
  71. TextDrawSetShadow(Ts3,1);
  72. TextDrawShowForAll(Ts3);
  73. //test
  74. //test
  75.  
  76. Uhrzeit = TextDrawCreate(554.000000, 30.000000, " ");
  77. TextDrawBackgroundColor(Uhrzeit, 255);
  78. TextDrawFont(Uhrzeit, 2);
  79. TextDrawLetterSize(Uhrzeit, 0.390000, 1.300000);
  80. TextDrawColor(Uhrzeit, -1);
  81. TextDrawSetOutline(Uhrzeit, 1);
  82. TextDrawSetProportional(Uhrzeit, 1);
  83. TextDrawShowForAll(Uhrzeit);
  84.  
  85. UsePlayerPedAnims();
  86. bsnexit=CreatePickup(1559,1,362.8524,-75.1179,1001.5078);
  87. bsnenter=CreatePickup(1559,1,1199.2235,-918.1543,43.1233);
  88.  
  89. Create3DTextLabel("BSN\n Eingang",BLAU,1199.2235,-918.1543,43.1233,10,0);
  90.  
  91. DisableInteriorEnterExits();
  92. SetGameModeText("TutorialMode");
  93. AddPlayerClass(0,1104.0176,-1314.2327,13.4097,90.7697,0,0,0,0,0,0); // position;
  94. AddPlayerClass(1,1104.0176,-1314.2327,13.4097,90.7697,25,200,0,0,0,0); // position
  95.  
  96. //fraktautos
  97.  
  98. //zäune
  99.  
  100.  
  101. return 1;
  102. }
  103. public OnGameModeExit()
  104. {
  105. return 1;
  106. }
  107.  
  108. public OnPlayerRequestClass(playerid, classid)
  109. {
  110. if(IsPlayerNPC(playerid))return 1;
  111. SetPlayerPos(playerid,2047.4270,1336.5569,10.6719);
  112. SetPlayerFacingAngle(playerid,188.9284);
  113. SetPlayerCameraPos(playerid,2047.6205,1333.3314,10.6719);
  114. SetPlayerCameraLookAt(playerid,2047.4270,1336.5569,10.6719);
  115. return 1;
  116. }
  117.  
  118. public OnPlayerConnect(playerid)
  119. {
  120. if(IsPlayerNPC(playerid))return 1;
  121. new Spielerdatei[64];
  122. TextDrawShowForPlayer(playerid,Copyright);
  123. TextDrawShowForPlayer(playerid,Ts3);
  124. TextDrawShowForPlayer(playerid,Datum);
  125. new name[MAX_PLAYER_NAME];
  126. GetPlayerName(playerid,name,sizeof(name));
  127. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  128. if(dini_Exists(Spielerdatei))
  129. {
  130. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  131. }
  132. else
  133. {
  134. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  135. }
  136. return 1;
  137. }
  138.  
  139. public OnPlayerDisconnect(playerid, reason)
  140. {
  141. if(GetPVarInt(playerid,"loggedin")==1)
  142. {
  143. SpielerSpeichern(playerid);
  144. }
  145. return 1;
  146. }
  147.  
  148. public OnPlayerSpawn(playerid)
  149. {
  150. return 1;
  151. }
  152.  
  153. public OnPlayerDeath(playerid, killerid, reason)
  154. {
  155. return 1;
  156. }
  157.  
  158. public OnVehicleSpawn(vehicleid)
  159. {
  160. return 1;
  161. }
  162.  
  163. public OnVehicleDeath(vehicleid, killerid)
  164. {
  165. for(new playerid = 0; playerid < GetMaxPlayers(); playerid++)
  166. {
  167. StopAudioStreamForPlayer(playerid);
  168. }
  169. return 1;
  170. }
  171. public OnPlayerText(playerid, text[])
  172. {
  173. return 1;
  174. }
  175.  
  176. ocmd:f(playerid,params[])
  177. {
  178. new text[128];
  179. if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"/f [text]");
  180. format(text,sizeof(text),"Member %s: %s",SpielerName(playerid),text);
  181. for(new i=0; i<GetMaxPlayers(); i++)
  182. {
  183. if(IsPlayerConnected(i))
  184. {
  185. if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
  186. {
  187. SendClientMessage(i,BLAU,text);
  188. }
  189. }
  190. }
  191. return 1;
  192. }
  193. ocmd:makeleader(playerid,params[])
  194. {
  195. if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
  196. new pID,fID;
  197. if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
  198. SetPVarInt(pID,"Fraktion",fID);
  199. SendClientMessage(playerid,BLAU,"Ein Admin hat dich zu einer Fraktion zugeteilt!.");
  200. return 1;
  201. }
  202. ocmd:setadmin(playerid,params[])
  203. {
  204. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  205. new pID, rank;
  206. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
  207. if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
  208. SetPVarInt(pID,"Adminlevel",rank);
  209. SpielerSpeichern(pID);
  210. SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
  211. return 1;
  212. }
  213. ocmd:ban(playerid,params[])
  214. {
  215. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  216. new pID, reason[128],string[128];
  217. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]");
  218. format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  219. SendClientMessageToAll(ROT,string);
  220. SetPVarInt(pID,"Baned",1);
  221. Kick(pID);
  222. return 1;
  223. }
  224. ocmd:kick(playerid,params[])
  225. {
  226. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  227. new pID, reason[128],string[128];
  228. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
  229. format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  230. SendClientMessageToAll(ROT,string);
  231. Kick(pID);
  232. return 1;
  233. }
  234.  
  235. public OnPlayerCommandText(playerid, cmdtext[])
  236. {
  237. if(strcmp(cmdtext,"/bsn",true)==0)
  238. {
  239. if(isPlayerAnAdmin(playerid,3))
  240. {
  241. ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"BSN","Möchten sie wirklich zum BSN?","JA","NEIN");
  242. return 1;
  243. }
  244. SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  245. return 1;
  246. }
  247. //test______________________________________________________________
  248.  
  249. if (strcmp("/radio", cmdtext, true, 10) == 0)
  250. {
  251. if(IsPlayerInAnyVehicle(playerid))ShowPlayerDialog(playerid, 2 , DIALOG_STYLE_LIST, "Radiosender", "{FF00FF}ClubTime.FM\n{FFBF00}TechnoBase.FM\n{00FFFF}BigFM\n{FF0000}RPR1\n{FF0040}1LIVE\n{3ADF00}BlackBeats.FM\nRadio ausschalten", "Auswählen", "Abbrechen");
  252. else SendClientMessage(playerid,0x00FF00AA,"Du bist in keinem Fahrzeug");StopAudioStreamForPlayer(playerid);
  253. return 1;
  254. }
  255.  
  256. //test______________________________________________________________
  257. if(strcmp(cmdtext,"/kill",true)==0)
  258. {
  259. SetPlayerHealth(playerid,0);
  260. return 1;
  261. }
  262. if(strcmp(cmdtext,"/restart",true)==0)
  263. {
  264. if(isPlayerAnAdmin(playerid,5))
  265. {
  266. SendRconCommand("gmx");
  267. return 1;
  268. }
  269. SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  270. return 1;
  271. }
  272. if(strcmp(cmdtext,"/stats",true)==0)
  273. {
  274. new string[128];
  275. new fraktname[64];
  276. switch(GetPVarInt(playerid,"Fraktion"))
  277. {
  278. case 0:{fraktname="Keine";}
  279. case 1:{fraktname=fraktname1;}
  280. case 2:{fraktname=fraktname2;}
  281. case 3:{fraktname=fraktname3;}
  282. case 4:{fraktname=fraktname4;}
  283. case 5:{fraktname=fraktname5;}
  284. case 6:{fraktname=fraktname6;}
  285. }
  286. //1 reihe
  287. format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
  288. SendClientMessage(playerid,BLAU,string);
  289. //2 reihe
  290. return 1;
  291. }
  292. if(strcmp(cmdtext,"/nschild",true)==0)
  293. {
  294. if(IsPlayerInAnyVehicle(playerid))
  295. {
  296. new vehicleid;
  297. vehicleid=GetPlayerVehicleID(playerid);
  298. SetVehicleNumberPlate(vehicleid,"Test");
  299. SetVehicleToRespawn(vehicleid);
  300. PutPlayerInVehicle(playerid,vehicleid,0);
  301. }
  302. return 1;
  303. }
  304. return 0;
  305. }
  306.  
  307. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  308. {
  309. return 1;
  310. }
  311.  
  312. public OnPlayerExitVehicle(playerid, vehicleid)
  313. {
  314. return 1;
  315. }
  316.  
  317. public OnPlayerStateChange(playerid, newstate, oldstate)
  318. {
  319. if(newstate==PLAYER_STATE_DRIVER)
  320. {
  321. for(new i=0; i<sizeof(fbicar); i++)
  322. {
  323. if(GetPlayerVehicleID(playerid)==fbicar[i])
  324. {
  325. if(GetPVarInt(playerid,"Fraktion")!=2)
  326. {
  327. RemovePlayerFromVehicle(playerid);
  328. SendClientMessage(playerid,ROT,"Du hast keine Schlüssel.");
  329. }
  330. }
  331. }
  332. }
  333. if(newstate==PLAYER_STATE_DRIVER)
  334. {
  335. for(new i=0; i<sizeof(PolizeiVehs); i++)
  336. {
  337. if(GetPlayerVehicleID(playerid)==PolizeiVehs[i])
  338. {
  339. if(GetPVarInt(playerid,"Fraktion")!=1)
  340. {
  341. RemovePlayerFromVehicle(playerid);
  342. SendClientMessage(playerid,ROT,"Du hast keine Schlüssel.");
  343. }
  344. }
  345. }
  346. }
  347. if(newstate==PLAYER_STATE_DRIVER)
  348. {
  349. for(new i=0; i<sizeof(ArmyCars); i++)
  350. {
  351. if(GetPlayerVehicleID(playerid)==ArmyCars[i])
  352. {
  353. if(GetPVarInt(playerid,"Fraktion")!=3)
  354. {
  355. RemovePlayerFromVehicle(playerid);
  356. SendClientMessage(playerid,ROT,"Du hast keine Schlüssel.");
  357. }
  358. }
  359. }
  360. }
  361. if(newstate==PLAYER_STATE_DRIVER)
  362. {
  363. for(new i=0; i<sizeof(MedicCars); i++)
  364. {
  365. if(GetPlayerVehicleID(playerid)==MedicCars[i])
  366. {
  367. if(GetPVarInt(playerid,"Fraktion")!=4)
  368. {
  369. RemovePlayerFromVehicle(playerid);
  370. SendClientMessage(playerid,ROT,"Du hast keine Schlüssel.");
  371. }
  372. }
  373. }
  374. }
  375. if(newstate==PLAYER_STATE_DRIVER)
  376. {
  377. for(new i=0; i<sizeof(FeuerCars); i++)
  378. {
  379. if(GetPlayerVehicleID(playerid)==FeuerCars[i])
  380. {
  381. if(GetPVarInt(playerid,"Fraktion")!=5)
  382. {
  383. RemovePlayerFromVehicle(playerid);
  384. SendClientMessage(playerid,ROT,"Du hast keine Schlüssel.");
  385. }
  386. }
  387. }
  388. }
  389. if(newstate==PLAYER_STATE_DRIVER)
  390. {
  391. for(new i=0; i<sizeof(LCNCars); i++)
  392. {
  393. if(GetPlayerVehicleID(playerid)==LCNCars[i])
  394. {
  395. if(GetPVarInt(playerid,"Fraktion")!=6)
  396. {
  397. RemovePlayerFromVehicle(playerid);
  398. SendClientMessage(playerid,ROT,"Du hast keine Schlüssel.");
  399. }
  400. }
  401. }
  402. }
  403. return 1;
  404. }
  405.  
  406. public OnPlayerEnterCheckpoint(playerid)
  407. {
  408. return 1;
  409. }
  410.  
  411. public OnPlayerLeaveCheckpoint(playerid)
  412. {
  413. return 1;
  414. }
  415.  
  416. public OnPlayerEnterRaceCheckpoint(playerid)
  417. {
  418. return 1;
  419. }
  420.  
  421. public OnPlayerLeaveRaceCheckpoint(playerid)
  422. {
  423. return 1;
  424. }
  425.  
  426. public OnRconCommand(cmd[])
  427. {
  428. return 1;
  429. }
  430.  
  431. public OnPlayerRequestSpawn(playerid)
  432. {
  433. return 1;
  434. }
  435.  
  436. public OnObjectMoved(objectid)
  437. {
  438. return 1;
  439. }
  440.  
  441. public OnPlayerObjectMoved(playerid, objectid)
  442. {
  443. return 1;
  444. }
  445.  
  446. public OnPlayerPickUpPickup(playerid, pickupid)
  447. {
  448. if(pickupid==bsnenter)
  449. {
  450. SetPlayerPos(playerid,375.962463,-65.816848,1001.507812);
  451. SetPlayerInterior(playerid,10);
  452. GameTextForPlayer(playerid,"~w~Du ~r~hast ~b~den ~n~~g~BSN betreten.",3000,3);
  453. }
  454. if(pickupid==bsnexit)
  455. {
  456. SetPlayerPos(playerid,1199.4618,-920.8215,43.1059);
  457. SetPlayerFacingAngle(playerid,185.7090);
  458. SetCameraBehindPlayer(playerid);
  459. SetPlayerInterior(playerid,0);
  460. }
  461. return 1;
  462. }
  463.  
  464. public OnVehicleMod(playerid, vehicleid, componentid)
  465. {
  466. return 1;
  467. }
  468.  
  469. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  470. {
  471. return 1;
  472. }
  473.  
  474. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  475. {
  476. return 1;
  477. }
  478.  
  479. public OnPlayerSelectedMenuRow(playerid, row)
  480. {
  481. return 1;
  482. }
  483.  
  484. public OnPlayerExitedMenu(playerid)
  485. {
  486. return 1;
  487. }
  488.  
  489. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  490. {
  491. return 1;
  492. }
  493.  
  494. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  495. {
  496. return 1;
  497. }
  498.  
  499. public OnRconLoginAttempt(ip[], password[], success)
  500. {
  501. return 1;
  502. }
  503.  
  504. public OnPlayerUpdate(playerid)
  505. {
  506. return 1;
  507. }
  508.  
  509. public OnPlayerStreamIn(playerid, forplayerid)
  510. {
  511. return 1;
  512. }
  513.  
  514. public OnPlayerStreamOut(playerid, forplayerid)
  515. {
  516. return 1;
  517. }
  518.  
  519. public OnVehicleStreamIn(vehicleid, forplayerid)
  520. {
  521. return 1;
  522. }
  523.  
  524. public OnVehicleStreamOut(vehicleid, forplayerid)
  525. {
  526. return 1;
  527. }
  528.  
  529. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  530. {
  531. if(dialogid==DIALOG_LOGIN)
  532. {
  533. if(response==0)
  534. {
  535. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  536. Kick(playerid);
  537. return 1;
  538. }
  539. if(response==1)
  540. {
  541. if(!strlen(inputtext))
  542. {
  543. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  544. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  545. return 1;
  546. }
  547. else
  548. {
  549. Login(playerid,inputtext);
  550. return 1;
  551. }
  552. }
  553. }
  554. //_________________________________________________________
  555. if(response) {
  556. switch(dialogid == 2)
  557. {
  558. case 1: {
  559. switch(listitem)
  560. {
  561. case 0: {
  562. StopAudioStreamForPlayer(playerid);
  563. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  564. PlayAudioStreamForPlayer(playerid, "http://listen.clubtime.fm/dsl.pls");
  565. SendClientMessage(playerid,0x00FFFAFF,"Du hast ClubTime.FM eingeschaltet!");
  566. return 1;
  567. }
  568. case 1: {
  569. StopAudioStreamForPlayer(playerid);
  570. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  571. PlayAudioStreamForPlayer(playerid, "http://listen.technobase.fm/dsl.pls");
  572. SendClientMessage(playerid,0x00FFFAFF,"Du hast TechnoBase.FM eingeschaltet!");
  573. return 1;
  574. }
  575. case 2: {
  576. StopAudioStreamForPlayer(playerid);
  577. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  578. PlayAudioStreamForPlayer(playerid, "http://srv04.bigstreams.de/bigfm-mp3-64");
  579. SendClientMessage(playerid,0x00FFFAFF,"Du hast BigFM eingeschaltet!");
  580. return 1;
  581. }
  582. case 3: {
  583. StopAudioStreamForPlayer(playerid);
  584. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  585. PlayAudioStreamForPlayer(playerid, "http://rpr1.fmstreams.de/stream1");
  586. SendClientMessage(playerid,0x00FFFAFF,"Du hast RPR1 eingeschaltet!");
  587. return 1;
  588. }
  589. case 4: {
  590. StopAudioStreamForPlayer(playerid);
  591. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  592. PlayAudioStreamForPlayer(playerid, "http://gffstream.ic.llnwd.net/stream/gffstream_stream_wdr_einslive_a");
  593. SendClientMessage(playerid,0x00FFFAFF,"Du hast 1Live eingeschaltet!");
  594. return 1;
  595. }
  596. case 5: {
  597. StopAudioStreamForPlayer(playerid);
  598. PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
  599. PlayAudioStreamForPlayer(playerid, "http://stream.blackbeats.fm/");
  600. SendClientMessage(playerid,0x00FFFAFF,"Du hast BlackBeats.FM eingeschaltet!");
  601. return 1;
  602. }
  603. case 6: {
  604. StopAudioStreamForPlayer(playerid);
  605. SendClientMessage(playerid,0xFF0000FF,"Du hast das Radio ausgeschaltet!");
  606. }
  607. }
  608. }
  609. }
  610. }
  611. //_________________________________________________________
  612. if(dialogid==DIALOG_REGISTER)
  613. {
  614. if(response==0)
  615. {
  616. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  617. Kick(playerid);
  618. return 1;
  619. }
  620. if(response==1)
  621. {
  622. if(!strlen(inputtext))
  623. {
  624. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  625. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  626. return 1;
  627. }
  628. else
  629. {
  630. Register(playerid,inputtext);
  631. return 1;
  632. }
  633. }
  634. }
  635. if(dialogid==DIALOG_TUTORIAL)
  636. {
  637. if(response==1)
  638. {
  639. SetPlayerPos(playerid,1227.1797,-914.0590,42.6812);
  640. SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
  641. }
  642. if(response==0)
  643. {
  644. SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
  645. }
  646. }
  647. return 1;
  648. }
  649.  
  650. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  651. {
  652. return 1;
  653. }
  654.  
  655. stock SpielerName(playerid)
  656. {
  657. new name[MAX_PLAYER_NAME];
  658. GetPlayerName(playerid,name,sizeof(name));
  659. return name;
  660. }
  661.  
  662. stock Register(playerid,key[])
  663. {
  664. new Spielerdatei[64];
  665. new name[MAX_PLAYER_NAME];
  666. GetPlayerName(playerid,name,sizeof(name));
  667. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  668. dini_Create(Spielerdatei);
  669. dini_Set(Spielerdatei,"Passwort",key);
  670. SendClientMessage(playerid,BLAU,"Du hast dich gerade Erfolgreich Registriert, viel Spaß weiterhin auf DEIN SERVER!");
  671. SetPlayerScore(playerid,0);
  672. SetPVarInt(playerid,"loggedin",1);
  673. return 1;
  674. }
  675.  
  676. stock Login(playerid,key[])
  677. {
  678. new Spielerdatei[64];
  679. new name[MAX_PLAYER_NAME];
  680. GetPlayerName(playerid,name,sizeof(name));
  681. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  682. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  683. {
  684. LoadAccount(playerid);
  685. SendClientMessage(playerid,BLAU,"Du hast dich Erfolgreich in deinen Account eingeloggt!");
  686. return 1;
  687. }
  688. else
  689. {
  690. SendClientMessage(playerid,BLAU,"Falsches Passwort.");
  691. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in der Datenbank gefunden, logg dich ein.","Login","Abbrechen");
  692. return 1;
  693. }
  694. }
  695.  
  696. stock LoadAccount(playerid)
  697. {
  698. new Spielerdatei[64];
  699. new name[MAX_PLAYER_NAME];
  700. GetPlayerName(playerid,name,sizeof(name));
  701. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  702. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  703. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  704. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  705. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  706. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  707. if(GetPVarInt(playerid,"Baned")==1)
  708. {
  709. SendClientMessage(playerid,ROT,"Du bist vom Server gebannt, denk doch mal nach...");
  710. Kick(playerid);
  711. }
  712. SetPVarInt(playerid,"loggedin",1);
  713. return 1;
  714. }
  715.  
  716. stock SpielerSpeichern(playerid)
  717. {
  718. if(GetPVarInt(playerid,"loggedin")==1)
  719. {
  720. new Spielerdatei[64];
  721. new name[MAX_PLAYER_NAME];
  722. GetPlayerName(playerid,name,sizeof(name));
  723. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  724. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  725. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  726. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  727. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  728. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  729. }
  730. return 1;
  731. }
  732.  
  733. stock isPlayerInFrakt(playerid,fraktid)
  734. {
  735. if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
  736. return 0;
  737. }
  738.  
  739. stock isPlayerAnAdmin(playerid,rang)
  740. {
  741. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  742. return 0;
  743. }
  744.  
  745. stock sscanf(sstring[], format[], {Float,_}:...)
  746. {
  747. #if defined isnull
  748. if (isnull(sstring))
  749. #else
  750. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  751. #endif
  752. {
  753. return format[0];
  754. }
  755. #pragma tabsize 4
  756. new
  757. formatPos = 0,
  758. sstringPos = 0,
  759. paramPos = 2,
  760. paramCount = numargs(),
  761. delim = ' ';
  762. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  763. {
  764. sstringPos++;
  765. }
  766. while (paramPos < paramCount && sstring[sstringPos])
  767. {
  768. switch (format[formatPos++])
  769. {
  770. case '\0':
  771. {
  772. return 0;
  773. }
  774. case 'i', 'd':
  775. {
  776. new
  777. neg = 1,
  778. num = 0,
  779. ch = sstring[sstringPos];
  780. if (ch == '-')
  781. {
  782. neg = -1;
  783. ch = sstring[++sstringPos];
  784. }
  785. do
  786. {
  787. sstringPos++;
  788. if ('0' <= ch <= '9')
  789. {
  790. num = (num * 10) + (ch - '0');
  791. }
  792. else
  793. {
  794. return -1;
  795. }
  796. }
  797. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  798. setarg(paramPos, 0, num * neg);
  799. }
  800. case 'h', 'x':
  801. {
  802. new
  803. num = 0,
  804. ch = sstring[sstringPos];
  805. do
  806. {
  807. sstringPos++;
  808. switch (ch)
  809. {
  810. case 'x', 'X':
  811. {
  812. num = 0;
  813. continue;
  814. }
  815. case '0' .. '9':
  816. {
  817. num = (num << 4) | (ch - '0');
  818. }
  819. case 'a' .. 'f':
  820. {
  821. num = (num << 4) | (ch - ('a' - 10));
  822. }
  823. case 'A' .. 'F':
  824. {
  825. num = (num << 4) | (ch - ('A' - 10));
  826. }
  827. default:
  828. {
  829. return -1;
  830. }
  831. }
  832. }
  833. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  834. setarg(paramPos, 0, num);
  835. }
  836. case 'c':
  837. {
  838. setarg(paramPos, 0, sstring[sstringPos++]);
  839. }
  840. case 'f':
  841. {
  842.  
  843. new changestr[16], changepos = 0, strpos = sstringPos;
  844. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  845. {
  846. changestr[changepos++] = sstring[strpos++];
  847. }
  848. changestr[changepos] = '\0';
  849. setarg(paramPos,0,_:floatstr(changestr));
  850. }
  851. case 'p':
  852. {
  853. delim = format[formatPos++];
  854. continue;
  855. }
  856. case '\'':
  857. {
  858. new
  859. end = formatPos - 1,
  860. ch;
  861. while ((ch = format[++end]) && ch != '\'') {}
  862. if (!ch)
  863. {
  864. return -1;
  865. }
  866. format[end] = '\0';
  867. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  868. {
  869. if (format[end + 1])
  870. {
  871. return -1;
  872. }
  873. return 0;
  874. }
  875. format[end] = '\'';
  876. sstringPos = ch + (end - formatPos);
  877. formatPos = end + 1;
  878. }
  879. case 'u':
  880. {
  881. new
  882. end = sstringPos - 1,
  883. id = 0,
  884. bool:num = true,
  885. ch;
  886. while ((ch = sstring[++end]) && ch != delim)
  887. {
  888. if (num)
  889. {
  890. if ('0' <= ch <= '9')
  891. {
  892. id = (id * 10) + (ch - '0');
  893. }
  894. else
  895. {
  896. num = false;
  897. }
  898. }
  899. }
  900. if (num && IsPlayerConnected(id))
  901. {
  902. setarg(paramPos, 0, id);
  903. }
  904. else
  905. {
  906. #if !defined foreach
  907. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  908. #define __SSCANF_FOREACH__
  909. #endif
  910. sstring[end] = '\0';
  911. num = false;
  912. new
  913. name[MAX_PLAYER_NAME];
  914. id = end - sstringPos;
  915. foreach (Player, playerid)
  916. {
  917. GetPlayerName(playerid, name, sizeof (name));
  918. if (!strcmp(name, sstring[sstringPos], true, id))
  919. {
  920. setarg(paramPos, 0, playerid);
  921. num = true;
  922. break;
  923. }
  924. }
  925. if (!num)
  926. {
  927. setarg(paramPos, 0, INVALID_PLAYER_ID);
  928. }
  929. sstring[end] = ch;
  930. #if defined __SSCANF_FOREACH__
  931. #undef foreach
  932. #undef __SSCANF_FOREACH__
  933. #endif
  934. }
  935. sstringPos = end;
  936. }
  937. case 's', 'z':
  938. {
  939. new
  940. i = 0,
  941. ch;
  942. if (format[formatPos])
  943. {
  944. while ((ch = sstring[sstringPos++]) && ch != delim)
  945. {
  946. setarg(paramPos, i++, ch);
  947. }
  948. if (!i)
  949. {
  950. return -1;
  951. }
  952. }
  953. else
  954. {
  955. while ((ch = sstring[sstringPos++]))
  956. {
  957. setarg(paramPos, i++, ch);
  958. }
  959. }
  960. sstringPos--;
  961. setarg(paramPos, i, '\0');
  962. }
  963. default:
  964. {
  965. continue;
  966. }
  967. }
  968. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  969. {
  970. sstringPos++;
  971. }
  972. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  973. {
  974. sstringPos++;
  975. }
  976. paramPos++;
  977. }
  978. do
  979. {
  980. if ((delim = format[formatPos++]) > ' ')
  981. {
  982. if (delim == '\'')
  983. {
  984. while ((delim = format[formatPos++]) && delim != '\'') {}
  985. }
  986. else if (delim != 'z')
  987. {
  988. return delim;
  989. }
  990. }
  991. }
  992. while (delim > ' ');
  993. return 0;
  994. }
Advertisement
Add Comment
Please, Sign In to add comment