Advertisement
mskamilor

LRAS by mskamilor

Jan 31st, 2012
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.30 KB | None | 0 0
  1. /*==============================================================================
  2. Copyright (c) 2012-2013
  3. mskamilor
  4.  
  5.  
  6. LRAS - Login Register Admin System by mskamilor
  7.  
  8. V.0.1
  9.  
  10. - Login/Register
  11. - (TAB) Mini Admin Panel
  12. - stats
  13. - Administatoren Namen
  14. =========================
  15. Befehle V.0.1:
  16.  
  17. - Spec,Specoff
  18. - Ban
  19. - Kick
  20. - Fixveh
  21. - Cveh
  22. - Makeadmin
  23. - Heal
  24. - Kill
  25. - mute
  26. - unmute
  27. - muteall
  28. - unmuteall
  29.  
  30. ===============================================================================*/
  31.  
  32.  
  33. #include <a_samp>
  34. #include <dini>
  35. #include <ocmd>
  36.  
  37. #define COLOR_RED 0xFF6347AA
  38. #define COLOR_WHITE 0xFFFFFFFF
  39. #define hellblau 0xFFFFFF
  40. #define BLAU 0xFFFFFF
  41.  
  42. #define DIALOG_REGISTER 1
  43. #define DIALOG_LOGIN 2
  44. #define DIALOG_AH 3
  45. #define DIALOG_STATS 4
  46. #define DIALOG_PANEL 5
  47.  
  48. #define Adminlevel1 "Supporter"
  49. #define Adminlevel2 "Admin"
  50. #define Adminlevel3 "Super Admin"
  51. #define Adminlevel4 "Server Manager"
  52. #define Adminlevel5 "Server Owner"
  53.  
  54. #define SLOT 50 // HIER IMMER DIE DERZEITIGE SOLTS ANZAHL EINGEBEN
  55.  
  56. new bool:MuteNET[SLOT];
  57. new
  58. Mut,
  59. MutTime,
  60. StrMut[100],
  61. PlayerName[MAX_PLAYER_NAME],
  62. PlayerName2[MAX_PLAYER_NAME];
  63.  
  64. forward UnMute(playerid);
  65.  
  66.  
  67. main()
  68. {
  69. print("\n----------------------------------");
  70. print(" LRAS by mskamilor");
  71. print("----------------------------------\n");
  72. }
  73.  
  74. public OnFilterScriptInit()
  75. {
  76.  
  77. return 1;
  78. }
  79.  
  80. public OnFilterScriptExit()
  81. {
  82. return 1;
  83. }
  84.  
  85. public OnPlayerRequestClass(playerid, classid)
  86. {
  87. return 1;
  88. }
  89.  
  90. public OnPlayerConnect(playerid)
  91. {
  92. for(new i=0; i<10; i++) SendClientMessage(playerid,COLOR_WHITE,"");
  93. new Datei[64];
  94. new name[MAX_PLAYER_NAME];
  95. GetPlayerName(playerid,name,sizeof(name));
  96. format(Datei,sizeof(Datei),"/%s.txt",name);
  97. if(dini_Exists(Datei))
  98. {
  99. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Dein {FF8A05}Account {FFFFFF}wurde gefunden.\nDu kannst dich nun mit deinen Passwort einlogen{FF8A05}:","Login","Abbrechen");
  100. }
  101. else
  102. {
  103. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","{FF8A05}Willkommen\n{FFFFFF}schön das du unseren Server gefunden hast\nWir sind ein Freeroam\nAlso ist hier alles außer Cheats erlaubt\n\n\nViel Spaß wünscht ihnen das {FF8A05}Team","Register","Abbrechen");
  104. }
  105. SetPVarInt(playerid,"spect",-1);
  106. SetPVarInt(playerid,"spec",-1);
  107. MuteNET[playerid] = false;
  108. return 1;
  109. }
  110.  
  111. public OnPlayerDisconnect(playerid, reason)
  112. {
  113. if(GetPVarInt(playerid,"loggedin")==1)
  114. {
  115. SpielerSpeichern(playerid);
  116. }
  117. if(GetPVarInt(playerid,"spect")!=-1)
  118. {
  119. TogglePlayerSpectating(GetPVarInt(playerid,"spect"),0);
  120. SetCameraBehindPlayer(GetPVarInt(playerid,"spect"));
  121. SetPVarInt(GetPVarInt(playerid,"spect"),"spec",-1);
  122. }
  123. else if(GetPVarInt(playerid,"spec")!=-1)SetPVarInt(GetPVarInt(playerid,"spec"),"spec",-1);
  124. return 1;
  125. }
  126.  
  127. public OnPlayerSpawn(playerid)
  128. {
  129. return 1;
  130. }
  131.  
  132. public OnPlayerDeath(playerid, killerid, reason)
  133. {
  134. return 1;
  135. }
  136.  
  137. public OnVehicleSpawn(vehicleid)
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnVehicleDeath(vehicleid, killerid)
  143. {
  144. return 1;
  145. }
  146.  
  147. public OnPlayerText(playerid, text[])
  148. {
  149. if(MuteNET[playerid] == true)
  150. {
  151. SendClientMessage(playerid,COLOR_RED,"Du bist gemutet und kannst nicht reden!");
  152. return 0;
  153. }
  154. return 1;
  155. }
  156.  
  157. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  158. {
  159. return 1;
  160. }
  161.  
  162. public OnPlayerExitVehicle(playerid, vehicleid)
  163. {
  164. return 1;
  165. }
  166.  
  167. public OnPlayerStateChange(playerid, newstate, oldstate)
  168. {
  169. if(GetPVarInt(playerid,"spect")!=-1)
  170. {
  171. switch(newstate)
  172. {
  173. case 0,1,7,8: PlayerSpectatePlayer(GetPVarInt(playerid,"spect"),playerid);
  174. case 2,3:PlayerSpectateVehicle(GetPVarInt(playerid,"spect"),GetPlayerVehicleID(playerid));
  175. case 9:
  176. {
  177. SetPVarInt(GetPVarInt(playerid,"spect"),"spec",-1);
  178. TogglePlayerSpectating(GetPVarInt(playerid,"spect"),0);
  179. SetCameraBehindPlayer(GetPVarInt(playerid,"spect"));
  180. }
  181. }
  182. }
  183. return 1;
  184. }
  185.  
  186. public OnPlayerEnterCheckpoint(playerid)
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerLeaveCheckpoint(playerid)
  192. {
  193. return 1;
  194. }
  195.  
  196. public OnPlayerEnterRaceCheckpoint(playerid)
  197. {
  198. return 1;
  199. }
  200.  
  201. public OnPlayerLeaveRaceCheckpoint(playerid)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnRconCommand(cmd[])
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnPlayerRequestSpawn(playerid)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnObjectMoved(objectid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerObjectMoved(playerid, objectid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnPlayerPickUpPickup(playerid, pickupid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnVehicleMod(playerid, vehicleid, componentid)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnPlayerSelectedMenuRow(playerid, row)
  247. {
  248. return 1;
  249. }
  250.  
  251. public OnPlayerExitedMenu(playerid)
  252. {
  253. return 1;
  254. }
  255.  
  256. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  257. {
  258. return 1;
  259. }
  260.  
  261. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  262. {
  263. return 1;
  264. }
  265.  
  266. public OnRconLoginAttempt(ip[], password[], success)
  267. {
  268. return 1;
  269. }
  270.  
  271. public OnPlayerUpdate(playerid)
  272. {
  273. return 1;
  274. }
  275.  
  276. public OnPlayerStreamIn(playerid, forplayerid)
  277. {
  278. return 1;
  279. }
  280.  
  281. public OnPlayerStreamOut(playerid, forplayerid)
  282. {
  283. return 1;
  284. }
  285.  
  286. public OnVehicleStreamIn(vehicleid, forplayerid)
  287. {
  288. return 1;
  289. }
  290.  
  291. public OnVehicleStreamOut(vehicleid, forplayerid)
  292. {
  293. return 1;
  294. }
  295. new plID;
  296. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  297. {
  298. if(dialogid==DIALOG_LOGIN)
  299. {
  300. if(response==0)
  301. {
  302. SendClientMessage(playerid,COLOR_WHITE,"Du hast den Vorgang abgebrochen.");
  303. Kick(playerid);
  304. return 1;
  305. }
  306. if(response==1)
  307. {
  308. if(!strlen(inputtext))
  309. {
  310. SendClientMessage(playerid,COLOR_WHITE,"Das Passwort war nicht lang genug.");
  311. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Du hast nix eingegeben\n\nVersuche es erneut:","Login","Abbrechen");
  312. return 1;
  313. }
  314. else
  315. {
  316. Login(playerid,inputtext);
  317. return 1;
  318. }
  319. }
  320. }
  321. if(dialogid==DIALOG_REGISTER)
  322. {
  323. if(response==0)
  324. {
  325. SendClientMessage(playerid,COLOR_WHITE,"Du hast den Vorgang abgebrochen.");
  326. Kick(playerid);
  327. return 1;
  328. }
  329. if(response==1)
  330. {
  331. if(!strlen(inputtext))
  332. {
  333. SendClientMessage(playerid,COLOR_WHITE,"Das Passwort war nicht lang genug.");
  334. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","{FFFFFF}Du hast nix eingegeben\n\nVersuche es erneut:","Register","Abbrechen");
  335. return 1;
  336. }
  337. else
  338. {
  339. Register(playerid,inputtext);
  340. return 1;
  341. }
  342. }
  343. if(dialogid == DIALOG_PANEL)
  344. {
  345. if(listitem==0)
  346. {
  347. SendClientMessage(plID,COLOR_RED,"Du wurdest Gebannt"),Ban(plID);
  348. }
  349. if(listitem==1)
  350. {
  351. SendClientMessage(plID,COLOR_RED,"Du wurdest Gekickt"),Kick(plID);
  352. }
  353. if(listitem==2)
  354. {
  355. new Float:x,Float:y,Float:z;
  356. GetPlayerPos(plID,x,y,z);
  357. SetPlayerPos(playerid,x,y,z);
  358. }
  359. if(listitem==3)
  360. {
  361. new Float:x,Float:y,Float:z;
  362. GetPlayerPos(playerid,x,y,z);
  363. SetPlayerPos(plID,x,y,z);
  364. }
  365. if(listitem==4)
  366. {
  367. new Float:x,Float:y,Float:z;
  368. GetPlayerPos(plID,x,y,z);
  369. CreateExplosion(x,y,z,0,20);
  370. }
  371. }
  372. return 1;
  373. }
  374. return 1;
  375. }
  376.  
  377. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  378. {
  379. plID=clickedplayerid;
  380. if(!IsAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  381. ShowPlayerDialog(playerid,DIALOG_PANEL,DIALOG_STYLE_LIST,"Admin Panel","Ban\nKick\nGo to\nGet here\nExplode\n","Weahlen","Abbrechen");
  382. return 1;
  383. }
  384. ocmd:stats(playerid,params[])
  385. {
  386. new string[124];
  387. new adminlevel[124];
  388. switch(GetPVarInt(playerid,"Adminlevel"))
  389. {
  390. case 1:{adminlevel=Adminlevel1;}
  391. case 2:{adminlevel=Adminlevel2;}
  392. case 3:{adminlevel=Adminlevel3;}
  393. case 4:{adminlevel=Adminlevel4;}
  394. case 5:{adminlevel=Adminlevel5;}
  395. }
  396. format(string,sizeof(string),"{FFFFFF}Name: %s\n\n{FF805A}Score: %i\n\n{FF8A05}Adminlevel: %s",SpielerName(playerid),GetPlayerScore(playerid),adminlevel);
  397. ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Stats",string,"OK","");
  398. return 1;
  399. }
  400. ocmd:fixveh(playerid,params[])
  401. {
  402. if(IsAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
  403. new Vehicle;
  404. Vehicle = GetPlayerVehicleID(playerid);
  405. SetVehicleHealth(Vehicle,100);
  406. SendClientMessage(playerid,hellblau,"Fahrzeug erfolgreich gehealt.");
  407. return 1;
  408. }
  409. ocmd:cveh(playerid,params[])
  410. {
  411. if(IsAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  412. new vID,cID,cID2;
  413. new Float:X,Float:Y,Float:Z;
  414. GetPlayerPos(playerid,X,Y,Z);
  415. if(sscanf(params,"iii",vID,cID,cID2))return SendClientMessage(playerid,COLOR_RED,"Benutze /cveh [vID][cID][cID2]");
  416. CreateVehicle(vID,X,Y,Z,0,cID,cID2,-1);
  417. SendClientMessage(playerid,hellblau,"Fahrzeug erfolgreich erstellt.");
  418. return 1;
  419. }
  420. ocmd:makeadmin(playerid,params[])
  421. {
  422. if(IsAdmin(playerid,5))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  423. new pID,rank;
  424. new string[124];
  425. new adminlevel[124];
  426. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,COLOR_RED,"Benutze /makeadmin [playerid][alevel]");
  427. if(rank<1||rank>5)return SendClientMessage(playerid,COLOR_RED,"Bitte Gültigen Rang angeben.");
  428. SpielerSpeichern(pID);
  429. SetPVarInt(pID,"Adminlevel",rank);
  430. switch(GetPVarInt(playerid,"Adminlevel"))
  431. {
  432. case 1:{adminlevel=Adminlevel1;}
  433. case 2:{adminlevel=Adminlevel2;}
  434. case 3:{adminlevel=Adminlevel3;}
  435. case 4:{adminlevel=Adminlevel4;}
  436. case 5:{adminlevel=Adminlevel5;}
  437. }
  438. format(string,sizeof(string),"%s Wurde zum %s ernannt",SpielerName(pID),adminlevel);
  439. SendClientMessage(playerid,COLOR_RED,string);
  440. SendClientMessage(pID,COLOR_RED,string);
  441. return 1;
  442. }
  443. ocmd:ban(playerid,params[])
  444. {
  445. if(IsAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
  446. new reason[124],pID,string[124];
  447. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,COLOR_RED,"Benutze /ban [playerid] [grund]");
  448. format(string,sizeof(string),"Admcmd: %s wurde von %s gebannt. Mit dem Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  449. SetPVarInt(pID,"Baned",1);
  450. Kick(pID);
  451. SendClientMessageToAll(COLOR_RED,string);
  452. return 1;
  453. }
  454. ocmd:kick(playerid,params[])
  455. {
  456. if(IsAdmin(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
  457. new reason[124],pID,string[124];
  458. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,COLOR_RED,"Benutze /kick [playerid][grund]");
  459. format(string,sizeof(string),"Admcmd: %s wurde von %s gekickt. Mit dem Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  460. SendClientMessageToAll(COLOR_RED,string);
  461. Kick(pID);
  462. return 1;
  463. }
  464. ocmd:spec(playerid, params[])
  465. {
  466. if(IsAdmin(playerid,1))return SendClientMessage(playerid,0xFF0000AA,"Du bist kein Admin");
  467. if(!strlen(params))return SendClientMessage(playerid,0xFFFFFFAA,"/spec [id]");
  468. new giveid=strval(params);
  469. if(!IsPlayerConnected(giveid) || giveid==playerid)return SendClientMessage(playerid,0xFF0000AA,"Falsche ID");
  470. TogglePlayerSpectating(playerid,1);
  471. switch(GetPlayerState(giveid))
  472. {
  473. case 2,3:PlayerSpectateVehicle(playerid,GetPlayerVehicleID(giveid));
  474. case 0,1,7,8,4:PlayerSpectatePlayer(playerid,giveid);
  475. case 9:return SendClientMessage(playerid,0x00CC00AA,"Diesen Spieler kannst du nicht specen");
  476. }
  477. SendClientMessage(playerid,0x00CC00AA,"Benutze /specoff wenn du den Spec modus verlassen willst");
  478. SetPVarInt(playerid,"spect",giveid);
  479. SetPVarInt(giveid,"spec",playerid);
  480. return 1;
  481. }
  482. ocmd:specoff(playerid, params[])
  483. {
  484. #pragma unused params
  485. TogglePlayerSpectating(playerid,0);
  486. SetCameraBehindPlayer(playerid);
  487. if(GetPVarInt(playerid,"spec")!=-1)SetPVarInt(GetPVarInt(playerid,"spec"),"spect",-1);
  488. SetPVarInt(playerid,"spec",-1);
  489. return 1;
  490. }
  491. ocmd:heal(playerid,params[])
  492. {
  493. new pID,HP,str[200];
  494. if(IsAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"du bist kein Admin");
  495. if(sscanf(params,"ud",pID,HP))return SendClientMessage(playerid,COLOR_RED,"/heal [ID] [HP]");
  496. if(HP<0||HP>100)return SendClientMessage(playerid,COLOR_RED,"Num ab 0 bis 100 möglich");
  497. SetPlayerHealth(pID,HP);
  498. format(str,sizeof(str),"Du hast das HP von %s auf %d eingestellt",SpielerName(pID),HP);
  499. SendClientMessage(playerid,COLOR_RED,str);
  500. return 1;
  501. }
  502. ocmd:kill(playerid,params[])
  503. {
  504. new pID,str[100],str2[100];
  505. if(IsAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  506. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"/kill [ID]");
  507. SetPlayerHealth(pID,0);
  508. format(str,sizeof(str),"Du hast den Spieler %s Getötet",SpielerName(pID));
  509. SendClientMessage(playerid,COLOR_RED,str);
  510. format(str,sizeof(str2),"Du wurdest durch den Admin: %s Getötet",SpielerName(playerid));
  511. SendClientMessage(pID,COLOR_RED,str2);
  512. return 1;
  513. }
  514. ocmd:mute(playerid, params[])
  515. {
  516. if(IsAdmin(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  517. if(sscanf(params,"ud",Mut,MutTime))return SendClientMessage(playerid,COLOR_RED,"/Mute [ID] [Sekunden]");
  518. if(!IsPlayerConnected(Mut))return SendClientMessage(playerid,COLOR_RED,"Falsche ID");
  519. if(MuteNET[Mut] == true)return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist schon gemutet");
  520. if(MutTime < 2 || MutTime > 900000)return SendClientMessage(playerid,COLOR_RED,"/Mute [ID] [2 - 900000]");
  521. MuteNET[Mut] = true;
  522. SetTimerEx("UnMute",MutTime*1000,0,"d",Mut);
  523. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  524. GetPlayerName(Mut, PlayerName2, sizeof(PlayerName2));
  525. format(StrMut, sizeof(StrMut), "Admin: %s Hat den Spieler: %s für %d sekunden gemutet ", PlayerName, PlayerName2, MutTime*1000);
  526. SendClientMessageToAll(COLOR_RED, StrMut);
  527. SendClientMessage(Mut,COLOR_RED, "Du wurdest gemutet");
  528. return 1;
  529. }
  530.  
  531. ocmd:unmute(playerid, params[])
  532. {
  533. if(IsAdmin(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  534. if(sscanf(params,"u",Mut))return SendClientMessage(playerid,COLOR_RED,"/UnMute [ID]");
  535. if(IsPlayerConnected(Mut))return SendClientMessage(playerid,COLOR_RED,"Falsche ID");
  536. if(IsPlayerConnected(playerid == Mut))return SendClientMessage(playerid,COLOR_RED,"Du kannst dich selber nicht unmuten");
  537. if(MuteNET[Mut] == false)return SendClientMessage(playerid,COLOR_RED,"dieser Spieler ist nicht gemutet");
  538. MuteNET[Mut] = false;
  539. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  540. GetPlayerName(Mut, PlayerName2, sizeof(PlayerName2));
  541. format(StrMut, sizeof(StrMut), "Admin: %s Hat den Spieler: %s Unmutet", PlayerName, PlayerName2);
  542. SendClientMessageToAll(COLOR_RED, StrMut);
  543. return 1;
  544. }
  545. ocmd:muteall(playerid, params[])
  546. {
  547. if(IsAdmin(playerid,2))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  548. for(new i, g = GetMaxPlayers(); i < g; i++)
  549. {
  550. if(IsPlayerConnected(i))
  551. {
  552. MuteNET[i] = true;
  553. }
  554. }
  555. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  556. format(StrMut, sizeof(StrMut), "Admin: %s Hat alle gemutet", PlayerName);
  557. SendClientMessageToAll(COLOR_RED, StrMut);
  558. return 1;
  559. }
  560.  
  561. ocmd:unmuteall(playerid, params[])
  562. {
  563. if(IsAdmin(playerid,2))
  564. return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin");
  565. for(new i, g = GetMaxPlayers(); i < g; i++)
  566. {
  567. if(IsPlayerConnected(i))
  568. {
  569. MuteNET[i] = false;
  570. }
  571. }
  572. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  573. format(StrMut, sizeof(StrMut), "Admin: %s hat alle ungemutet", PlayerName);
  574. SendClientMessageToAll(COLOR_RED, StrMut);
  575. return 1;
  576. }
  577.  
  578. ocmd:ah(playerid,params[])
  579. {
  580. if(IsAdmin(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
  581. ShowPlayerDialog(playerid,DIALOG_AH,DIALOG_STYLE_MSGBOX,"Admin Hilfe","{FFFFFF}/kick - Spieler kicken\n/fixveh - Fahrzeug reperieren\n/ban - Spieler Banen\n/cveh - Fahrzeug spawnen\n/spec - Einen Spieler beobachten\n/makeadmin - Einen Spieler zum Admin machen\n/heal - HP einstellen\n/kill - Spieler töten\n/mute - Spieler Muten\n/unmute - Spieler Unmuten\n/muteall - Alle muten\n/unmuteall - Alle unmuten","OK","");
  582. return 1;
  583. }
  584.  
  585. /* STOCKS BZW. PUBLICS */
  586. stock SpielerName(playerid)
  587. {
  588. new name[MAX_PLAYER_NAME];
  589. GetPlayerName(playerid,name,sizeof(name));
  590. return name;
  591. }
  592.  
  593. stock Register(playerid,key[])
  594. {
  595. new Spielerdatei[64];
  596. new name[MAX_PLAYER_NAME];
  597. GetPlayerName(playerid,name,sizeof(name));
  598. format(Spielerdatei,sizeof(Spielerdatei),"/%s.txt",name);
  599. dini_Create(Spielerdatei);
  600. dini_Set(Spielerdatei,"Passwort",key);
  601. SetPlayerScore(playerid,1);
  602. SetPVarInt(playerid,"loggedin",1);
  603. return 1;
  604. }
  605.  
  606. stock Login(playerid,key[])
  607. {
  608. new Spielerdatei[64];
  609. new name[MAX_PLAYER_NAME];
  610. GetPlayerName(playerid,name,sizeof(name));
  611. format(Spielerdatei,sizeof(Spielerdatei),"/%s.txt",name);
  612. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  613. {
  614. LoadAccount(playerid);
  615. SendClientMessage(playerid,COLOR_RED,"Erfolgreich eingeloggt.");
  616. return 1;
  617. }
  618. else
  619. {
  620. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Du hast ein Falsches Passwort angegeben.\n\nVersuche es erneut:","Login","Abbrechen");
  621. return 1;
  622. }
  623. }
  624.  
  625. stock LoadAccount(playerid)
  626. {
  627. new Spielerdatei[64];
  628. new name[MAX_PLAYER_NAME];
  629. GetPlayerName(playerid,name,sizeof(name));
  630. format(Spielerdatei,sizeof(Spielerdatei),"/%s.txt",name);
  631. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  632. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  633. if(GetPVarInt(playerid,"Baned")==1)
  634. {
  635. SendClientMessage(playerid,COLOR_RED,"Du bist vom Server gebannt.");
  636. Kick(playerid);
  637. }
  638. SetPVarInt(playerid,"loggedin",1);
  639. return 1;
  640. }
  641.  
  642. stock SpielerSpeichern(playerid)
  643. {
  644. if(GetPVarInt(playerid,"loggedin")==1)
  645. {
  646. new Spielerdatei[64];
  647. new name[MAX_PLAYER_NAME];
  648. GetPlayerName(playerid,name,sizeof(name));
  649. format(Spielerdatei,sizeof(Spielerdatei),"/%s.txt",name);
  650. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  651. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  652. }
  653. return 1;
  654. }
  655. stock IsAdmin(playerid,rank)
  656. {
  657. if(GetPVarInt(playerid,"Adminlevel")<=rank)return 1;
  658. return 0;
  659. }
  660.  
  661. stock sscanf(sstring[], format[], {Float,_}:...)
  662. {
  663. #if defined isnull
  664. if (isnull(sstring))
  665. #else
  666. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  667. #endif
  668. {
  669. return format[0];
  670. }
  671. #pragma tabsize 4
  672. new
  673. formatPos = 0,
  674. sstringPos = 0,
  675. paramPos = 2,
  676. paramCount = numargs(),
  677. delim = ' ';
  678. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  679. {
  680. sstringPos++;
  681. }
  682. while (paramPos < paramCount && sstring[sstringPos])
  683. {
  684. switch (format[formatPos++])
  685. {
  686. case '\0':
  687. {
  688. return 0;
  689. }
  690. case 'i', 'd':
  691. {
  692. new
  693. neg = 1,
  694. num = 0,
  695. ch = sstring[sstringPos];
  696. if (ch == '-')
  697. {
  698. neg = -1;
  699. ch = sstring[++sstringPos];
  700. }
  701. do
  702. {
  703. sstringPos++;
  704. if ('0' <= ch <= '9')
  705. {
  706. num = (num * 10) + (ch - '0');
  707. }
  708. else
  709. {
  710. return -1;
  711. }
  712. }
  713. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  714. setarg(paramPos, 0, num * neg);
  715. }
  716. case 'h', 'x':
  717. {
  718. new
  719. num = 0,
  720. ch = sstring[sstringPos];
  721. do
  722. {
  723. sstringPos++;
  724. switch (ch)
  725. {
  726. case 'x', 'X':
  727. {
  728. num = 0;
  729. continue;
  730. }
  731. case '0' .. '9':
  732. {
  733. num = (num << 4) | (ch - '0');
  734. }
  735. case 'a' .. 'f':
  736. {
  737. num = (num << 4) | (ch - ('a' - 10));
  738. }
  739. case 'A' .. 'F':
  740. {
  741. num = (num << 4) | (ch - ('A' - 10));
  742. }
  743. default:
  744. {
  745. return -1;
  746. }
  747. }
  748. }
  749. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  750. setarg(paramPos, 0, num);
  751. }
  752. case 'c':
  753. {
  754. setarg(paramPos, 0, sstring[sstringPos++]);
  755. }
  756. case 'f':
  757. {
  758.  
  759. new changestr[16], changepos = 0, strpos = sstringPos;
  760. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  761. {
  762. changestr[changepos++] = sstring[strpos++];
  763. }
  764. changestr[changepos] = '\0';
  765. setarg(paramPos,0,_:floatstr(changestr));
  766. }
  767. case 'p':
  768. {
  769. delim = format[formatPos++];
  770. continue;
  771. }
  772. case '\'':
  773. {
  774. new
  775. end = formatPos - 1,
  776. ch;
  777. while ((ch = format[++end]) && ch != '\'') {}
  778. if (!ch)
  779. {
  780. return -1;
  781. }
  782. format[end] = '\0';
  783. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  784. {
  785. if (format[end + 1])
  786. {
  787. return -1;
  788. }
  789. return 0;
  790. }
  791. format[end] = '\'';
  792. sstringPos = ch + (end - formatPos);
  793. formatPos = end + 1;
  794. }
  795. case 'u':
  796. {
  797. new
  798. end = sstringPos - 1,
  799. id = 0,
  800. bool:num = true,
  801. ch;
  802. while ((ch = sstring[++end]) && ch != delim)
  803. {
  804. if (num)
  805. {
  806. if ('0' <= ch <= '9')
  807. {
  808. id = (id * 10) + (ch - '0');
  809. }
  810. else
  811. {
  812. num = false;
  813. }
  814. }
  815. }
  816. if (num && IsPlayerConnected(id))
  817. {
  818. setarg(paramPos, 0, id);
  819. }
  820. else
  821. {
  822. #if !defined foreach
  823. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  824. #define __SSCANF_FOREACH__
  825. #endif
  826. sstring[end] = '\0';
  827. num = false;
  828. new
  829. name[MAX_PLAYER_NAME];
  830. id = end - sstringPos;
  831. foreach (Player, playerid)
  832. {
  833. GetPlayerName(playerid, name, sizeof (name));
  834. if (!strcmp(name, sstring[sstringPos], true, id))
  835. {
  836. setarg(paramPos, 0, playerid);
  837. num = true;
  838. break;
  839. }
  840. }
  841. if (!num)
  842. {
  843. setarg(paramPos, 0, INVALID_PLAYER_ID);
  844. }
  845. sstring[end] = ch;
  846. #if defined __SSCANF_FOREACH__
  847. #undef foreach
  848. #undef __SSCANF_FOREACH__
  849. #endif
  850. }
  851. sstringPos = end;
  852. }
  853. case 's', 'z':
  854. {
  855. new
  856. i = 0,
  857. ch;
  858. if (format[formatPos])
  859. {
  860. while ((ch = sstring[sstringPos++]) && ch != delim)
  861. {
  862. setarg(paramPos, i++, ch);
  863. }
  864. if (!i)
  865. {
  866. return -1;
  867. }
  868. }
  869. else
  870. {
  871. while ((ch = sstring[sstringPos++]))
  872. {
  873. setarg(paramPos, i++, ch);
  874. }
  875. }
  876. sstringPos--;
  877. setarg(paramPos, i, '\0');
  878. }
  879. default:
  880. {
  881. continue;
  882. }
  883. }
  884. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  885. {
  886. sstringPos++;
  887. }
  888. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  889. {
  890. sstringPos++;
  891. }
  892. paramPos++;
  893. }
  894. do
  895. {
  896. if ((delim = format[formatPos++]) > ' ')
  897. {
  898. if (delim == '\'')
  899. {
  900. while ((delim = format[formatPos++]) && delim != '\'') {}
  901. }
  902. else if (delim != 'z')
  903. {
  904. return delim;
  905. }
  906. }
  907. }
  908. while (delim > ' ');
  909. return 0;
  910. }
  911.  
  912. public UnMute(playerid)
  913. {
  914. if(MuteNET[playerid] == true)
  915. {
  916. MuteNET[playerid] = false;
  917. SendClientMessage(playerid,COLOR_RED,"Du bist nicht mehr gemutet");
  918. }
  919. return 1;
  920. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement