Advertisement
Guest User

Untitled

a guest
Jul 25th, 2014
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.85 KB | None | 0 0
  1. #include <a_samp>
  2. #include <ocmd>
  3. #include <sscanf>
  4. #include <a_mysql>
  5.  
  6. //_____________________ Defines und Variablen ____________________
  7. //MYSQL Daten
  8.  
  9.  
  10. //Globale Variablen
  11. new dbhandle;
  12. new pAFK[MAX_PLAYERS];
  13. new ADuty[MAX_PLAYERS];
  14. new SupDuty[MAX_PLAYERS];
  15. new SCT[MAX_PLAYERS]; //SupChatToggle
  16. new motor[MAX_VEHICLES];
  17. new RegStatus;
  18. new RTimer;
  19.  
  20. //-- ENUMS --
  21. enum
  22. {
  23. DIALOG_REGISTER = 1,
  24. DIALOG_LOGIN,
  25. }
  26.  
  27. enum pInfo
  28. {
  29. db_id,
  30. pName[MAX_PLAYER_NAME],
  31. pLevel,
  32. pAdmin,
  33. pGeld,
  34. pBank,
  35. pSkin,
  36.  
  37. }
  38. new PlayerInfo[MAX_PLAYERS][pInfo];
  39.  
  40. //-- Farben --
  41.  
  42. #define mgrün 0x00EC00FF
  43. #define agelb 0xFFEC00FF
  44. #define bblau 0x0073FFFF
  45. #define wrot 0xD80000FF
  46. #define frot 0xFF0000FF
  47. #define weiß 0xFFFFFFFF
  48. #define grün 0x00E500FF
  49. #define grau 0xC8C8C8FF
  50. #define orange 0xFFA100FF
  51.  
  52. //-- Admin --
  53.  
  54. #define supf 0xCA009DFF
  55. #define modf 0x000080FF
  56. #define adminf 0xFFF300FF
  57. #define manaf 0x00E000FF
  58. #define ownerf 0xEE0000FF
  59.  
  60. //-- Fraktionen --
  61.  
  62. #define CL_LSPD 0x0073FFFF
  63. #define CL_ADAC 0x00FFFFFF
  64. #define CL_MEDIC 0xFF8EA8FF
  65. #define CL_REGIERUNG 0xFFD800FF
  66. #define CL_NEWS 0xFF5700FF
  67. #define CL_TAXI 0xFFFF00FF
  68. #define CL_FAHRSCHULE 0xE00000FF
  69. #define CL_ARMY 0x00A300FF
  70.  
  71.  
  72.  
  73. main()
  74. {
  75. }
  76.  
  77. public OnGameModeInit()
  78. {
  79. UsePlayerPedAnims();
  80. RegStatus = 1;
  81. ManualVehicleEngineAndLights();
  82. SetGameModeText("MVS Reallife");
  83. SetGameModeText("Mea-Vita-Secunda-Reallife");
  84. print("Gamemode MVS wird geladen...");
  85. dbhandle = mysql_connect(DB_HOST,DB_NUTZERNAME,DB_NAME,DB_PASSWORD);
  86. if(mysql_errno() != 0)
  87. {
  88. print("Keine Verbindung zur Datenbank.");
  89. print("Keine Verbindung zur Datenbank.");
  90. print("Keine Verbindung zur Datenbank.");
  91. SendRconCommand("hostname DB-Verbindungsfehler");
  92. SendRconCommand("password gesperrt");
  93. return 1;
  94. }
  95. if(mysql_errno() == 0) print("Verbindung zur Datenbank erfolgreich hergestellt !");
  96. print("Gamemode MVS-Reallife erfolgreich geladen !");
  97. return 1;
  98. }
  99.  
  100.  
  101. public OnGameModeExit()
  102. {
  103. mysql_close(dbhandle);
  104. print("MYSQL Verbindung Geschlossen.\n Gamemode unloaded !");
  105. return 1;
  106. }
  107.  
  108. public OnPlayerRequestClass(playerid, classid)
  109. {
  110. SetSpawnInfo(playerid,0,PlayerInfo[playerid][pSkin],0,0,3,0,1,1,0,0,0,0);
  111. SpawnPlayer(playerid);
  112. return 1;
  113. }
  114.  
  115. public OnPlayerConnect(playerid)
  116. {
  117. new str[128],query[50];
  118. format(str,sizeof(str),"%s{FFEC00} hat den Server betreten",PlayerName(playerid));
  119. SendClientMessageToAll(frot,str);
  120. //Login/Register
  121. format(query,sizeof(query),"SELECT ID FROM accounts WHERE NAME='%s'",PlayerName(playerid));
  122. mysql_function_query(dbhandle,query,true,"UserCheck","i",playerid);
  123. //variablen
  124. pAFK[playerid] = 0;
  125. return 1;
  126. }
  127.  
  128. forward UserCheck(playerid);
  129. public UserCheck(playerid)
  130. {
  131. new num_rows,num_fields;
  132. cache_get_data(num_rows,num_fields,dbhandle);
  133. if(num_rows==0)
  134. {
  135. if(RegStatus == 1)
  136. {
  137. return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung auf MVS ","Bitte Registriere dich mit deinem Passwort.","Annehmen","Abbrechen");
  138. }
  139. SCM(playerid,frot,"Es tut uns leid aber die Registration am Server ist derzeit deaktiviert!");
  140. Kick(playerid);
  141. return 1;
  142. }
  143. else
  144. {
  145. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login auf MVS ","Bitte Logge dich mit deinem Passwort ein. ","Login","Abbrechen");
  146. return 1;
  147. }
  148. }
  149. public OnPlayerDisconnect(playerid, reason)
  150. {
  151. SavePlayer(playerid);
  152. return 1;
  153. }
  154.  
  155. public OnPlayerSpawn(playerid)
  156. {
  157. return 1;
  158. }
  159.  
  160. public OnPlayerDeath(playerid, killerid, reason)
  161. {
  162. return 1;
  163. }
  164.  
  165. public OnVehicleSpawn(vehicleid)
  166. {
  167. return 1;
  168. }
  169.  
  170. public OnVehicleDeath(vehicleid, killerid)
  171. {
  172. return 1;
  173. }
  174.  
  175. public OnPlayerText(playerid, text[])
  176. {
  177. return 1;
  178. }
  179.  
  180. public OnPlayerCommandText(playerid, cmdtext[])
  181. {
  182. return 0;
  183. }
  184.  
  185. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  186. {
  187. return 1;
  188. }
  189.  
  190. public OnPlayerExitVehicle(playerid, vehicleid)
  191. {
  192. return 1;
  193. }
  194.  
  195. public OnPlayerStateChange(playerid, newstate, oldstate)
  196. {
  197. return 1;
  198. }
  199.  
  200. public OnPlayerEnterCheckpoint(playerid)
  201. {
  202. return 1;
  203. }
  204.  
  205. public OnPlayerLeaveCheckpoint(playerid)
  206. {
  207. return 1;
  208. }
  209.  
  210. public OnPlayerEnterRaceCheckpoint(playerid)
  211. {
  212. return 1;
  213. }
  214.  
  215. public OnPlayerLeaveRaceCheckpoint(playerid)
  216. {
  217. return 1;
  218. }
  219.  
  220. public OnRconCommand(cmd[])
  221. {
  222. return 1;
  223. }
  224.  
  225. public OnPlayerRequestSpawn(playerid)
  226. {
  227. return 1;
  228. }
  229.  
  230. public OnObjectMoved(objectid)
  231. {
  232. return 1;
  233. }
  234.  
  235. public OnPlayerObjectMoved(playerid, objectid)
  236. {
  237. return 1;
  238. }
  239.  
  240. public OnPlayerPickUpPickup(playerid, pickupid)
  241. {
  242. return 1;
  243. }
  244.  
  245. public OnVehicleMod(playerid, vehicleid, componentid)
  246. {
  247. return 1;
  248. }
  249.  
  250. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  251. {
  252. return 1;
  253. }
  254.  
  255. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  256. {
  257. return 1;
  258. }
  259.  
  260. public OnPlayerSelectedMenuRow(playerid, row)
  261. {
  262. return 1;
  263. }
  264.  
  265. public OnPlayerExitedMenu(playerid)
  266. {
  267. return 1;
  268. }
  269.  
  270. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  271. {
  272. return 1;
  273. }
  274.  
  275. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  276. {
  277. if(IsPlayerInAnyVehicle(playerid))
  278. {
  279. if(newkeys == KEY_YES)
  280. {
  281. new cID = GetPlayerVehicleID(playerid);
  282. new engine,lights,alarm,doors,bonnet,boot,objective;
  283. GetVehicleParamsEx(cID,engine,lights,alarm,doors,bonnet,boot,objective);
  284. if(motor[cID] == 0)
  285. {
  286. SetVehicleParamsEx(cID,1,lights,alarm,doors,bonnet,boot,objective);
  287. SCM(playerid,bblau,"Du hast den Motor angeschalten");
  288. motor[cID] = 1;
  289. return 1;
  290. }
  291. SetVehicleParamsEx(cID,0,lights,alarm,doors,bonnet,boot,objective);
  292. SCM(playerid,bblau,"Du hast den Motor abgeschalten");
  293. motor[cID] = 0;
  294. return 1;
  295. }
  296. return 1;
  297. }
  298. return 1;
  299. }
  300.  
  301. public OnRconLoginAttempt(ip[], password[], success)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnPlayerUpdate(playerid)
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnPlayerStreamIn(playerid, forplayerid)
  312. {
  313. return 1;
  314. }
  315.  
  316. public OnPlayerStreamOut(playerid, forplayerid)
  317. {
  318. return 1;
  319. }
  320.  
  321. public OnVehicleStreamIn(vehicleid, forplayerid)
  322. {
  323. return 1;
  324. }
  325.  
  326. public OnVehicleStreamOut(vehicleid, forplayerid)
  327. {
  328. return 1;
  329. }
  330.  
  331. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  332. {
  333. if(dialogid==DIALOG_REGISTER)
  334. {
  335. if(response)
  336. {
  337. new name[MAX_PLAYER_NAME],query[128],passwort[128];
  338. GetPlayerName(playerid,name,sizeof(name));
  339. if(strlen(inputtext)>=5 || strlen(inputtext) <= 30)
  340. {
  341. mysql_escape_string(inputtext,passwort,dbhandle);
  342. format(query,sizeof(query),"INSERT INTO accounts (NAME, PASSWORT,LEVEL,ALEVEL,BARGELD,BANKGELD,SKIN) VALUES ('%s','%s','1','0','0','0','1')",name,passwort);//hier musst du ergänzen die daten
  343. mysql_function_query(dbhandle,query,false,"","");
  344. SCM(playerid,bblau,"[INFO]: Du hast dich erfolgreich registriert!");
  345. new str[128];
  346. format(str,sizeof(str),"Es hat sich ein neuer User registriert! {FF0000}Name: %s",PlayerName(playerid));
  347. SendAdminMessage(agelb,str);
  348. SpawnPlayer(playerid);
  349. return 1;
  350. }
  351. else
  352. {
  353. new string[128];
  354. format(string,128,"{FF0000}Dein eingegebenes Passwort war zu kurz oder zu lang! mind. 5 und maximal 30 Zeichen!\n{FFFFFF}Gib unten dein neues Passwort ein!");
  355. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung auf MVS",string,"Registrieren","Abbrechen");
  356. return 1;
  357. }
  358. }
  359. SCM(playerid,frot,"[FEHLER]: Du hast die Registrierung per Button abgebrochen.");
  360. KickPlayer(playerid);
  361. return 1;
  362. }
  363.  
  364. if(dialogid==DIALOG_LOGIN)
  365. {
  366. if(response)
  367. {
  368. new name[MAX_PLAYER_NAME],passwort[35];
  369. GetPlayerName(playerid,name,sizeof(name));
  370. if(strlen(inputtext)>0)
  371. {
  372. mysql_escape_string(inputtext,passwort,dbhandle);
  373. LoginPlayer(playerid,passwort);
  374. return 1;
  375. }
  376. SCM(playerid,bblau,"[INFO]: Gib dein Passwort ein!");
  377. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login auf MVS ","Bitte Logge dich mit deinem Passwort ein. ","Login","Abbrechen");
  378. return 1;
  379. }
  380. SCM(playerid,frot,"[FEHLER]: Du hast den Login bei MVS Abgebrochen !");
  381. KickPlayer(playerid);
  382. return 1;
  383. }
  384.  
  385.  
  386. return 1;
  387. }
  388.  
  389. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  390. {
  391. return 1;
  392. }
  393.  
  394.  
  395. //__________________________________________ Stocks ________________________________
  396.  
  397.  
  398. stock LoginPlayer(playerid,passwort[35])
  399. {
  400. new password[50],query[50];
  401. format(query,sizeof(query),"SELECT PASSWORT FROM accounts WHERE NAME=%s",PlayerName(playerid));
  402. mysql_function_query(dbhandle,query,true,"","");
  403. cache_get_field_content(0,"PASSWORT",password);
  404. if(password[49] == passwort[34])
  405. {
  406. SCM(playerid,bblau,"[INFO]: Du hast dich erfolgreich eingeloggt");
  407. LoadPlayer(playerid);
  408. return 1;
  409. }
  410. else
  411. {
  412. new str[128];
  413. SCM(playerid,frot,"[FEHLER]: Dein Passwort Stimmt nicht!");
  414. format(str,128,"{FF0000}Dein eingegebenes Passwort war falsch!\n{FFFFFF}Gib unten dein Passwort ein!");
  415. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login auf MVS ",str,"Login","Abbrechen");
  416. return 1;
  417. }
  418. }
  419.  
  420. stock SCM(playerid, color, fstring[], {Float, _}:...) {
  421. new n = numargs() * 4;
  422. if (n == 3 * 4) return SendClientMessage(playerid, color, fstring);
  423. new message[128],arg_start,arg_end,i = 0;
  424.  
  425. #emit CONST.pri fstring
  426. #emit ADD.C 0x4
  427. #emit STOR.S.pri arg_start
  428.  
  429. #emit LOAD.S.pri n
  430. #emit ADD.C 0x8
  431. #emit STOR.S.pri arg_end
  432.  
  433. for (i = arg_end; i >= arg_start; i -= 4) {
  434. #emit LCTRL 5
  435. #emit LOAD.S.alt i
  436. #emit ADD
  437. #emit LOAD.I
  438. #emit PUSH.pri
  439. }
  440.  
  441. #emit PUSH.S fstring
  442. #emit PUSH.C 128
  443. #emit PUSH.ADR message
  444. #emit PUSH.S n
  445. #emit SYSREQ.C format
  446. i = n / 4 + 1;
  447. while (--i >= 0) {
  448. #emit STACK 0x4
  449. }
  450. return SendClientMessage(playerid, color, message);
  451. }
  452.  
  453. stock SCMTA(color, fstring[], {Float, _}:...) {
  454. new n = numargs() * 4;
  455. if (n == 3 * 4) return SendClientMessageToAll(color, fstring);
  456. new message[128],arg_start,arg_end,i = 0;
  457.  
  458. #emit CONST.pri fstring
  459. #emit ADD.C 0x4
  460. #emit STOR.S.pri arg_start
  461.  
  462. #emit LOAD.S.pri n
  463. #emit ADD.C 0x8
  464. #emit STOR.S.pri arg_end
  465.  
  466. for (i = arg_end; i >= arg_start; i -= 4) {
  467. #emit LCTRL 5
  468. #emit LOAD.S.alt i
  469. #emit ADD
  470. #emit LOAD.I
  471. #emit PUSH.pri
  472. }
  473.  
  474. #emit PUSH.S fstring
  475. #emit PUSH.C 128
  476. #emit PUSH.ADR message
  477. #emit PUSH.S n
  478. #emit SYSREQ.C format
  479. i = n / 4 + 1;
  480. while (--i >= 0) {
  481. #emit STACK 0x4
  482. }
  483. return SendClientMessageToAll(color, message);
  484. }
  485.  
  486. stock PlayerName(playerid)
  487. {
  488. new name[MAX_PLAYER_NAME];
  489. GetPlayerName(playerid,name,sizeof(name));
  490. return name;
  491. }
  492.  
  493. stock SendAdminMessage(color,text[])
  494. {
  495. for(new i=0; i<MAX_PLAYERS; i++)
  496. {
  497. if(PlayerInfo[i][pAdmin] >= 2)
  498. {
  499. SCM(i,color,text);
  500. return 1;
  501. }
  502. }
  503. return 1;
  504. }
  505.  
  506. stock SendSupMessage(color,text[])
  507. {
  508. for(new i=0; i<MAX_PLAYERS; i++)
  509. {
  510. if(PlayerInfo[i][pAdmin] >= 1 && SCT[i] == 0)
  511. {
  512. SCM(i,color,text);
  513. return 1;
  514. }
  515. }
  516. return 1;
  517. }
  518.  
  519. stock SetPlayerMoney(playerid, geld)
  520. {
  521. ResetPlayerMoney(playerid);
  522. GivePlayerMoney(playerid,geld);
  523. return 1;
  524. }
  525.  
  526. stock LoadPlayer(playerid)
  527. {
  528. new query[50];
  529. format(query,sizeof(query),"SELECT * FROM accounts WHERE name = %s",PlayerName(playerid));
  530. mysql_function_query(dbhandle,query,true,"","");
  531. cache_get_field_content_int(0,"ID",PlayerInfo[playerid][db_id]); //Datenbank ID
  532. cache_get_field_content_int(0,"LEVEL",PlayerInfo[playerid][pLevel]); //Spieler Level
  533. SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);
  534. cache_get_field_content_int(0,"ALEVEL",PlayerInfo[playerid][pAdmin]); //Admin Level
  535. cache_get_field_content_int(0,"BARGELD",PlayerInfo[playerid][pGeld]); //Bargeld
  536. GivePlayerMoney(playerid,PlayerInfo[playerid][pGeld]);
  537. cache_get_field_content_int(0,"BANKGELD",PlayerInfo[playerid][pBank]); //Bankgeld
  538. cache_get_field_content_int(0,"SKIN",PlayerInfo[playerid][pSkin]); //Skin
  539. SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
  540. //Eingeloggt-Nachricht
  541. SpawnPlayer(playerid);
  542. }
  543.  
  544. stock SavePlayer(playerid)
  545. {
  546. new query[500];
  547. format(query,sizeof(query),"UPDATE 'accounts' SET NAME= '%s', LEVEL= '%d', ALEVEL= '%d', BARGELD= '%d', BANKGELD= '%d', SKIN= '%d', WHERE NAME= '%s'",
  548. PlayerInfo[playerid][pName],
  549. GetPlayerScore(playerid),
  550. PlayerInfo[playerid][pAdmin],
  551. GetPlayerMoney(playerid),
  552. PlayerInfo[playerid][pBank],
  553. PlayerInfo[playerid][pSkin],
  554. PlayerName(playerid));
  555. mysql_function_query(dbhandle,query,false,"","");
  556.  
  557. return 1;
  558. }
  559.  
  560.  
  561. stock SpielerName(playerid)
  562. {
  563. new name[MAX_PLAYER_NAME];
  564. GetPlayerName(playerid,name,sizeof(name));
  565. return name;
  566. }
  567.  
  568. stock KickPlayer(playerid)
  569. {
  570. SetTimerEx("KickTimer",15,false,"i",playerid);
  571. return 1;
  572. }
  573.  
  574. forward KickTimer(playerid);
  575. public KickTimer(playerid)
  576. {
  577. return Kick(playerid);
  578. }
  579.  
  580. stock TBan(playerid,const string[],dauer,bannerid)
  581. {
  582. if(PlayerInfo[playerid][pAdmin] == 2)
  583. {
  584. new timestamp = gettime();
  585. new stunden = dauer * 3600;
  586. new query[128];
  587. timestamp += stunden;
  588. SCMTA(wrot,"[ADMCMD]: %s wurde von %s für %d Stunden gebannt. Grund: %s",PlayerName(playerid),PlayerName(bannerid),dauer,string);
  589. Kick(playerid);
  590. format(query,sizeof(query),"UPDATE accounts SET 'TBAN'='%d' WHERE 'ID' = '%d'",timestamp,PlayerInfo[playerid][db_id]);
  591. mysql_function_query(dbhandle,query,false,"","");
  592. return 1;
  593. }
  594. return 1;
  595. }
  596.  
  597. //____________________Befehle___________________
  598.  
  599. //-- Allgemeine Befehle --
  600. ocmd:admins(playerid,params[])
  601. {
  602. for(new i=0; i<MAX_PLAYERS; i++)
  603. {
  604. if(PlayerInfo[i][pAdmin] == 2)
  605. {
  606. SCM(playerid,modf,"Moderator: %s",PlayerName(playerid));
  607. return 1;
  608. }
  609. if(PlayerInfo[i][pAdmin] == 3)
  610. {
  611. SCM(playerid,adminf,"Administrator: %s",PlayerName(playerid));
  612. return 1;
  613. }
  614. if(PlayerInfo[i][pAdmin] == 4)
  615. {
  616. SCM(playerid,manaf,"Manager: %s",PlayerName(playerid));
  617. return 1;
  618. }
  619. if(PlayerInfo[i][pAdmin] == 5)
  620. {
  621. SCM(playerid,ownerf,"Server Owner: %s",PlayerName(playerid));
  622. return 1;
  623. }
  624. }
  625. return 1;
  626. }
  627.  
  628. ocmd:afk(playerid,params[])
  629. {
  630. new Text3D:AFK[MAX_PLAYERS];
  631. if(pAFK[playerid] == 0)
  632. {
  633. new str[128];
  634. pAFK[playerid] = 1;
  635. SCM(playerid,bblau,"[INFO]: Du bist ab jetzt AFK");
  636. format(str,128,"Der User ist AFK");
  637. AFK[playerid] = Create3DTextLabel(str,frot,30.0,40.0,50.0,40.0,0);
  638. Attach3DTextLabelToPlayer(AFK[playerid], playerid, 0.0, 0.0, 0.6);
  639. TogglePlayerControllable(playerid,0);
  640. return 1;
  641. }
  642. Delete3DTextLabel(AFK[playerid]);
  643. SCM(playerid,bblau,"[INFO]: Du bist jetzt nichtmehr AFK");
  644. pAFK[playerid] = 0;
  645. TogglePlayerControllable(playerid,1);
  646. return 1;
  647. }
  648. ocmd:help(playerid,params[])
  649. {
  650. if(pAFK[playerid] == 0)
  651. {
  652. SCM(playerid,mgrün,"||________________________________________ Hilfe ________________________________________||");
  653. SCM(playerid,grau,"");
  654. SCM(playerid,mgrün,"||________________________________________ Hilfe ________________________________________||");
  655. return 1;
  656. }
  657. SCM(playerid,frot,"[FEHLER]: Du bist AFK");
  658. return 1;
  659. }
  660.  
  661. //-- Admin Befehle --
  662. ocmd:ahelp(playerid,params[])
  663. {
  664. if(PlayerInfo[playerid][pAdmin] >= 1 && pAFK[playerid] == 0)
  665. {
  666. SCM(playerid,orange,"||___________________________________ Admin Hilfe _____________________________________||");
  667. switch(PlayerInfo[playerid][pAdmin])
  668. {
  669. case 1: {
  670. SCM(playerid,supf,"//________________ Supporter ________________//");
  671. SCM(playerid,grau,"/supduty (/sc)/supchat ");
  672. }
  673. case 2: {
  674. SCM(playerid,modf,"//________________ Moderator ________________//");
  675. SCM(playerid,grau,"/adienst, (/a)dminchat /togglesupchat /pn /tban");
  676. }
  677. case 3: {
  678. SCM(playerid,adminf,"//________________ Administrator ________________//");
  679. SCM(playerid,grau,"/ban ");
  680. }
  681. case 4: {
  682. SCM(playerid,manaf,"//________________ Manager ________________//");
  683. SCM(playerid,grau,"/spawnveh, /delveh, /setcarheal, /tune");
  684. }
  685. case 5: {
  686. SCM(playerid,ownerf,"//________________ Server Owner ________________//");
  687. SCM(playerid,grau,"/makeadmin, /givemoney ");
  688. }
  689. }
  690. }
  691. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK");
  692. }
  693.  
  694. ocmd:restart(playerid,params[])
  695. {
  696. SCMTA(wrot,"[WARNUNG]: Der Server wird gleich neu gestartet!");
  697. SetTimer("RESTARTTIMER1",1000,false);
  698. SCM(playerid,bblau,"[INFO]: Du startest den Server jetzt neu!");
  699. return 1;
  700. }
  701.  
  702. forward RESTARTTIMER1();
  703. public RESTARTTIMER1()
  704. {
  705. switch(RTimer)
  706. {
  707. case 0: {SCMTA(wrot,"[WARNUNG]: Der Server wird in 5 Sekunden neu gestartet!"); RTimer = 1; SetTimer("RESTARTTIMER1",1000,false);}
  708. case 1: {SCMTA(wrot,"[WARNUNG]: Der Server wird in 4 Sekunden neu gestartet!"); RTimer = 2; SetTimer("RESTARTTIMER1",1000,false);}
  709. case 2: {SCMTA(wrot,"[WARNUNG]: Der Server wird in 3 Sekunden neu gestartet!"); RTimer = 3; SetTimer("RESTARTTIMER1",1000,false);}
  710. case 3: {SCMTA(wrot,"[WARNUNG]: Der Server wird in 2 Sekunden neu gestartet!"); RTimer = 4; SetTimer("RESTARTTIMER1",1000,false);}
  711. case 4: {SCMTA(wrot,"[WARNUNG]: Der Server wird in 1 Sekunde neu gestartet!"); RTimer = 5; SetTimer("RESTARTTIMER1",1000,false);}
  712. case 5: {SCMTA(wrot,"[WARNUNG]: Der Server wird jetzt neu gestartet!"); RTimer = 6; SetTimer("RESTARTTIMER1",1000,false);}
  713. case 6: SendRconCommand("gmx");
  714. }
  715. return 1;
  716. }
  717.  
  718. ocmd:makeadmin(playerid,params[])
  719. {
  720. new string[128],pID,level;
  721. if(sscanf(params,"ii",pID,level))return SCM(playerid,wrot,"[BENUTZE]: /makeadmin [PlayerID][AdminLevel]");
  722. if(level < 1 || level > 5)return SCM(playerid,frot,"[FEHLER]: Der Admin Level muss zwischen 1 und 5 liegen!");
  723. PlayerInfo[pID][pAdmin] = level;
  724. SCM(playerid,bblau,"Du hast dem User %s den Admin Level %d gegeben",PlayerName(pID),level);
  725. SCM(playerid,bblau,"Du hast vom Admin %s den Admin Level %d bekommen", PlayerName(playerid),level);
  726. format(string,128,"Der Admin %s hat dem User %s den Admin Level %d gegeben", PlayerName(playerid),PlayerName(pID),level);
  727. SendAdminMessage(bblau,string);
  728. return 1;
  729. }
  730.  
  731. ocmd:givemoney(playerid,params[])
  732. {
  733. if(PlayerInfo[playerid][pAdmin] == 5)
  734. {
  735. new pID,geld;
  736. if(sscanf(params,"ii",pID,geld))return SCM(playerid,wrot,"[BENUTZE]: /givemoney [PlayerID][Geld]");
  737. GivePlayerMoney(pID,geld);
  738. SCM(playerid,agelb,"Du hast dem Spieler %s %d$ gegeben",PlayerName(pID),geld);
  739. SCM(pID,agelb,"Du hast vom Admin %s %d$ bekommen",PlayerName(playerid),geld);
  740. return 1;
  741. }
  742. return 1;
  743. }
  744.  
  745. ocmd@2:a,adminchat(playerid,params[])
  746. {
  747. if(PlayerInfo[playerid][pAdmin] >= 2 && pAFK[playerid] == 0)
  748. {
  749. new text[130],str[130];
  750. if(sscanf(params,"s",text))return SCM(playerid,wrot,"[BENUTZE}: (/a)dminchat [Text]");
  751. switch(PlayerInfo[playerid][pAdmin])
  752. {
  753. case 2: { format(str,sizeof(str),"[AC]:{FFEC00} Moderator %s: %s",PlayerName(playerid), text); SendAdminMessage(frot, str);}
  754. case 3: { format(str,sizeof(str),"[AC]:{FFEC00} Administrator %s: %s",PlayerName(playerid), text); SendAdminMessage(frot, str);}
  755. case 4: { format(str,sizeof(str),"[AC]:{FFEC00} CO-Leiter %s: %s",PlayerName(playerid), text); SendAdminMessage(frot, str);}
  756. case 5: { format(str,sizeof(str),"[AC]:{FFEC00} Server Owner %s: %s",PlayerName(playerid), text); SendAdminMessage(frot, str);}
  757. }
  758. return 1;
  759. }
  760. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  761.  
  762. }
  763.  
  764.  
  765. ocmd:adienst(playerid,params[])
  766. {
  767. new string[128],str[128],sendername[MAX_PLAYER_NAME+1],Text3D:Admin[MAX_PLAYERS];
  768. GetPlayerName(playerid,sendername,MAX_PLAYER_NAME);
  769. if(PlayerInfo[playerid][pAdmin] >= 1 && pAFK[playerid] == 0)
  770. {
  771. if(ADuty[playerid] == 0 )
  772. {
  773. switch(PlayerInfo[playerid][pAdmin])
  774. {
  775. case 2:
  776. {
  777. format(string,128,"Moderator: %s {FFEC00}ist nun im Admindienst!",sendername);
  778. SCMTA(frot,string);
  779. SetPlayerColor(playerid,frot);
  780. format(str,128,"Moderator");
  781. Admin[playerid] = Create3DTextLabel(str,frot,30.0,40.0,50.0,40.0,0);
  782. Attach3DTextLabelToPlayer(Admin[playerid], playerid, 0.0, 0.0, 0.4);
  783. }
  784. case 3:
  785. {
  786. format(string,128,"Administrator: %s {FFEC00}ist nun im Admindienst!",sendername);
  787. SCMTA(frot,string);
  788. SetPlayerColor(playerid,frot);
  789. format(str,128,"Administrator");
  790. Admin[playerid] = Create3DTextLabel(str,frot,30.0,40.0,50.0,40.0,0);
  791. Attach3DTextLabelToPlayer(Admin[playerid], playerid, 0.0, 0.0, 0.4);
  792. }
  793. case 4:
  794. {
  795. format(string,128,"CO-Owner: %s {FFEC00}ist nun im Admindienst!",sendername);
  796. SCMTA(frot,string);
  797. SetPlayerColor(playerid,frot);
  798. format(str,128,"CO-Owner");
  799. Admin[playerid] = Create3DTextLabel(str,frot,30.0,40.0,50.0,40.0,0);
  800. Attach3DTextLabelToPlayer(Admin[playerid], playerid, 0.0, 0.0, 0.4);
  801. }
  802. case 5:
  803. {
  804. format(string,128,"ServerOwner: %s {FFEC00}ist nun im Admindienst!",sendername);
  805. SCMTA(frot,string);
  806. SetPlayerColor(playerid,frot);
  807. format(str,128,"ServerOwner");
  808. Admin[playerid] = Create3DTextLabel(str,frot,30.0,40.0,50.0,40.0,0);
  809. Attach3DTextLabelToPlayer(Admin[playerid], playerid, 0.0, 0.0, 0.4);
  810. }
  811. }
  812. SCM(playerid,agelb,"** Du bist nun im Admindienst **");
  813. SetPlayerHealth(playerid,100);
  814. SetPlayerArmour(playerid,100);
  815. SetPlayerSkin(playerid,217);
  816. return ADuty[playerid] = 1;
  817. }
  818. SCM(playerid,agelb,"** Du bist nun nicht mehr im Admindienst! **");
  819. SetPlayerHealth(playerid,100),SetPlayerArmour(playerid,100);
  820. SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
  821. Delete3DTextLabel(Admin[playerid]);
  822. return ADuty[playerid] = 0;
  823. }
  824. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  825.  
  826. }
  827.  
  828. ocmd@2:sc,supchat(playerid,params[])
  829. {
  830. if(PlayerInfo[playerid][pAdmin] >= 1 && pAFK[playerid] == 0)
  831. {
  832. new text[130],str[130];
  833. if(sscanf(params,"s",text))return SCM(playerid,wrot,"[BENUTZE]: (/sc) /supchat [Text]");
  834. format(str,sizeof(str),"[SC]:{0073FF} %s: %s",PlayerName(playerid),text);
  835. SendSupMessage(frot,str);
  836. SendAdminMessage(frot,str);
  837. return 1;
  838. }
  839. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  840.  
  841. }
  842.  
  843. ocmd:supduty(playerid,params[])
  844. {
  845. if(PlayerInfo[playerid][pAdmin] == 1 && pAFK[playerid] == 0)
  846. {
  847. if(SupDuty[playerid] == 0)
  848. {
  849. SCM(playerid,supf,"** - Du bist nur Supporter Duty - **");
  850. return SupDuty[playerid] = 1;
  851. }
  852. SCM(playerid,supf,"** - Du bist nun nichtmehr Supporter Duty - **");
  853. return SupDuty[playerid] = 1;
  854.  
  855. }
  856. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  857.  
  858. }
  859.  
  860. ocmd:togglesupchat(playerid,params[])
  861. {
  862. if(PlayerInfo[playerid][pAdmin] >= 2 && pAFK[playerid] == 0)
  863. {
  864. SCT[playerid] = 1;
  865. return SCM(playerid,agelb,"Du hast den Supporter Chat für dich ausgeblendet");
  866. }
  867. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  868.  
  869. }
  870.  
  871. ocmd:spawnveh(playerid,params[])
  872. {
  873. if(PlayerInfo[playerid][pAdmin] >= 4 && pAFK[playerid] == 0)
  874. {
  875. new cID,Float:pos[5];
  876. if(sscanf(params,"d",cID))return SCM(playerid,wrot,"[BENUTZE]: /spawnveh [VehID]");
  877. GetPlayerPos(playerid,pos[1],pos[2],pos[3]);
  878. new color1 = random(199)+1, color2 = random(199)+1;
  879. CreateVehicle(cID,pos[1]+5,pos[2],pos[3]+1,pos[4],color1,color2,0);
  880. SCM(playerid,agelb,"Du hast dir ein Auto mit der VehicleID %d gespawnt",cID);
  881. return 1;
  882. }
  883. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  884.  
  885. }
  886.  
  887. ocmd:delveh(playerid,params[])
  888. {
  889.  
  890. if(PlayerInfo[playerid][pAdmin] >= 4 && pAFK[playerid] == 0)
  891. {
  892. new car;
  893. if(sscanf(params,"i",car))return SCM(playerid,wrot,"[BENUTZE]: /delveh [ID]");
  894. DestroyVehicle(car);
  895. SCM(playerid,agelb,"[INFO]: Du hast das Fahrzeug mit der ID: %d gelöscht!",car);
  896. return 1;
  897. }
  898. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  899.  
  900. }
  901.  
  902. ocmd:setcarheal(playerid,params[])
  903. {
  904. if(PlayerInfo[playerid][pAdmin] >= 4 && pAFK[playerid] == 0)
  905. {
  906. if(IsPlayerInAnyVehicle(playerid))
  907. {
  908. new Float:carheal;
  909. new car = GetPlayerVehicleID(playerid);
  910. if(sscanf(params,"f",carheal)) return SCM(playerid,wrot,"[BENUTZE]: /setcarheal [Carheal]");
  911. SetVehicleHealth(car,carheal);
  912. SCM(playerid,agelb,"Du hast das Auto mit %.2f Carheal ausgerüstet",carheal);
  913. return 1;
  914. }
  915. new car,Float:carheal;
  916. if(sscanf(params,"if",car,carheal)) return SCM(playerid,frot,"[BENUTZE]: /setcarheal [FahrzeugID] [Carheal]");
  917. SetVehicleHealth(car,carheal);
  918. SCM(playerid,agelb,"Du hast das Auto mit der ID %d mit %.2f Carheal ausgerüstet",car,carheal);
  919. return 1;
  920.  
  921.  
  922. }
  923. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  924.  
  925. }
  926.  
  927.  
  928. ocmd:tune(playerid,params[])
  929. {
  930. if(PlayerInfo[playerid][pAdmin] >= 4 && pAFK[playerid] == 0)
  931. {
  932. if(!IsPlayerInAnyVehicle(playerid))
  933. {
  934. SCM(playerid,frot,"[FEHLER]: Du sitzst in keinem Auto!");
  935. return 1;
  936. }
  937. SCM(playerid,agelb,"[INFO]: Du hast dein Auto getunt");
  938. new carid = GetPlayerVehicleID(playerid);
  939. AddVehicleComponent(carid,1010);
  940. AddVehicleComponent(carid,1085);
  941. return 1;
  942. }
  943. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  944.  
  945. }
  946.  
  947. ocmd:pn(playerid,params[])
  948. {
  949. if(PlayerInfo[playerid][pAdmin] >= 2 && pAFK[playerid] == 0)
  950. {
  951. new pID,text[128];
  952. if(sscanf(params,"us[128]",pID,text))return SCM(playerid,wrot,"[BENUTZE]: /pn [playerid] [Text]");
  953. SCM(pID,agelb,"Der Admin %s(%d) schreibt dir: %s",PlayerName(playerid),playerid,text);
  954. SCM(playerid,mgrün,"[INFO]: Du hast den Text erfolgreich versendet!");
  955. return 1;
  956. }
  957. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  958. }
  959.  
  960. ocmd:kick(playerid,params[])
  961. {
  962. if(PlayerInfo[playerid][pAdmin] >= 2 && pAFK[playerid] == 0)
  963. {
  964. new pID,grund[50];
  965. if(sscanf(params,"ds",pID,grund))return SCM(playerid,wrot,"[BENUTZE]: /Kick [PlayerID][Grund]");
  966. KickPlayer(pID);
  967. SCMTA(wrot,"[ADCMD]: Der User %s wurde vom Admin %s gekickt. Grund: %s",PlayerName(pID),PlayerName(playerid),grund);
  968. return 1;
  969. }
  970. SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  971. return 1;
  972. }
  973.  
  974. ocmd:tban(playerid,params[])
  975. {
  976. if(PlayerInfo[playerid][pAdmin] >= 2 && pAFK[playerid] == 0)
  977. {
  978. new pID,grund[64],dauer;
  979. if(sscanf(params, "usd", pID, grund,dauer))return SCM(playerid, wrot,"[BENUTZE]: /tban [PlayerID] [Grund] [Dauer]");
  980. TBan(pID,grund,dauer,playerid);
  981. return 1;
  982. }
  983. return SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  984. }
  985.  
  986. ocmd:ban(playerid,params[])
  987. {
  988. if(PlayerInfo[playerid][pAdmin] >= 3 && pAFK[playerid] == 0)
  989. {
  990. new pID,grund[64],query[130];
  991. if(sscanf(params,"us",pID,grund))return SCM(playerid,wrot,"[BENUTZE]: /ban [PlayerID] [Grund]");
  992. format(query,sizeof(query),"UPDATE accounts SET Ban = 1 WHERE ID =",PlayerInfo[pID][db_id]);
  993. SCMTA(wrot,"[ADMCMD]: Der Admin %s hat den User %s gebannt! Grund: %s",PlayerName(playerid),PlayerName(pID),grund);
  994. return 1;
  995. }
  996. SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Admin Rang oder bist AFK!");
  997. return 1;
  998. }
  999.  
  1000. //-- Auto Befehle --
  1001.  
  1002. ocmd:veh(playerid,params[])
  1003. {
  1004. if(IsPlayerInAnyVehicle(playerid))
  1005. {
  1006. new cID,eingabe;
  1007. new engine,lights,alarm,doors,bonnet,boot,objective;
  1008. new licht,kofferraum,motorhaube,Alarm;
  1009. cID = GetPlayerVehicleID(playerid);
  1010. GetVehicleParamsEx(cID,engine,lights,alarm,doors,bonnet,boot,objective);
  1011. if(sscanf(params,"s",eingabe))return SCM(playerid,wrot,"[BENUTZE]: /veh [licht/kofferraum/motorhaube/alarm]");
  1012. if(eingabe == licht)
  1013. {
  1014. if(lights == 0)
  1015. {
  1016. SCM(playerid,bblau,"Du hast das Licht deines Autos angeschalten");
  1017. lights = 1;
  1018. }
  1019. else
  1020. {
  1021. SCM(playerid,bblau,"Du hast das Licht deines Autos ausgeschalten");
  1022. lights = 0;
  1023. }
  1024. }
  1025. if(eingabe == kofferraum)
  1026. {
  1027. if(boot == 0)
  1028. {
  1029. SCM(playerid,bblau,"Du hast den Kofferraum deines Autos geöffnet");
  1030. boot = 1;
  1031. }
  1032. else
  1033. {
  1034. SCM(playerid,bblau,"Du hast den Kofferraum deines Autos geschlossen");
  1035. boot = 0;
  1036. }
  1037. }
  1038. if(eingabe == motorhaube)
  1039. {
  1040. if(bonnet == 0)
  1041. {
  1042. SCM(playerid,bblau,"Du hast die Motorhaube deines Autos geöffnet");
  1043. bonnet = 1;
  1044. }
  1045. else
  1046. {
  1047. SCM(playerid,bblau,"Du hast die Motorhaube deines Autos geschlossen");
  1048. bonnet = 0;
  1049. }
  1050. }
  1051. if(eingabe == Alarm)
  1052. {
  1053. if(alarm == 0)
  1054. {
  1055. SCM(playerid,bblau,"Du hast den Alarm deines Autos aktiviert");
  1056. alarm = 1;
  1057. }
  1058. else
  1059. {
  1060. SCM(playerid,bblau,"Du hast den Alarm deines Autos deaktiviert");
  1061. alarm = 0;
  1062. }
  1063. }
  1064. SetVehicleParamsEx(cID,engine,lights,alarm,doors,bonnet,boot,objective);
  1065. return 1;
  1066.  
  1067. }
  1068. return 1;
  1069. }
  1070.  
  1071. ocmd:mtest(playerid,params[])
  1072. {
  1073. new query[20];
  1074. format(query,sizeof(query),"UPDATE 'accounts' SET LEVEL = '5', ALEVEL = '3', BANKGELD = '6', WHERE NAME = 'Hans'");
  1075. mysql_function_query(dbhandle,query,false,"","");
  1076. return 1;
  1077. }
  1078. //-- Fraktions Befehle --
  1079.  
  1080. ocmd:makeleader(playerid,params[])
  1081. {
  1082. return 1;
  1083. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement