Guest User

Untitled

a guest
Dec 14th, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.10 KB | None | 0 0
  1. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. // The Next Generation Reallife //
  3. // by DarkShadow //
  4. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  5. /*
  6. Dieses Script wurde von DarkShadow erstellt und ist Eigentum von TNGR Reallife.
  7.  
  8.  
  9.  
  10. */
  11.  
  12. #include <a_samp>
  13. #include <dini>
  14. #include <zcmd>
  15.  
  16. #define DIALOG_LOGIN 1
  17. #define DIALOG_REGISTER 2
  18.  
  19. #define COLOR_RED 0xEB0000FF
  20. #define COLOR_GREEN 0x419C00FF
  21. #define COLOR_GREY 0xBEBEBEFF
  22. #define COLOR_WHITE 0xFAFAFAFF
  23.  
  24. new TutTime[MAX_PLAYERS];
  25. new supmobil[MAX_PLAYERS];
  26. new Menu:LCNSkin;
  27. new Menu:GroveSkin;
  28.  
  29.  
  30. enum SpielerDatei
  31. {
  32. pLevel,
  33. pAdmin,
  34. pSkin,
  35. pGeld,
  36. pBankgeld,
  37. pFraktion,
  38. pLeader,
  39. pName[MAX_PLAYER_NAME],
  40. pRank
  41. }
  42. new Spieler[MAX_PLAYERS][SpielerDatei];
  43.  
  44. main()
  45. {
  46. print("");
  47. print("");
  48. print("");
  49. print("Gamemode von DarkShadow");
  50. }
  51.  
  52.  
  53. public OnGameModeInit()
  54. {
  55. SetGameModeText("German Reallife");
  56. // Menüs
  57. LCNSkin = CreateMenu("Skin wählen", 2, 200.0, 100.0, 150.0, 150.0);
  58. AddMenuItem(LCNSkin, 0, "Skin nehmen");
  59. AddMenuItem(LCNSkin, 0, "anderen Skin aussuchen");
  60. GroveSkin = CreateMenu("Skin wählen", 2, 200.0, 100.0, 150.0, 150.0);
  61. AddMenuItem(GroveSkin, 0, "Skin nehmen");
  62. AddMenuItem(GroveSkin, 0, "anderen Skin aussuchen");
  63. return 1;
  64. }
  65.  
  66. public OnGameModeExit()
  67. {
  68. return 1;
  69. }
  70.  
  71. public OnPlayerRequestClass(playerid, classid)
  72. {
  73. new pfad[128];
  74. new name[MAX_PLAYER_NAME];
  75. GetPlayerName(playerid,name,sizeof(name));
  76. format(pfad,sizeof(pfad),"/Accounts/%s.ini",name);
  77. if(dini_Exists(pfad))
  78. {
  79. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gebe nun dein Passwort ein","Login","Abbrechen");
  80. }
  81. else
  82. {
  83. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Bitte wähle ein Passwort für deinen Account","Register","Abbrechen");
  84. }
  85. return 1;
  86. }
  87.  
  88. public OnPlayerConnect(playerid)
  89. {
  90. return 1;
  91. }
  92.  
  93. public OnPlayerDisconnect(playerid, reason)
  94. {
  95. return 1;
  96. }
  97.  
  98. public OnPlayerSpawn(playerid)
  99. {
  100. if(GetPVarInt(playerid,"Neuling") == 1)
  101. {
  102. TogglePlayerControllable(playerid,0);
  103. SetPlayerPos(playerid,1956.5836,1343.0247,15.3746);
  104. SendClientMessage(playerid,COLOR_GREEN,"Du musst dir nun folgendes Tutorial ansehen um auf dem Server spielen zu können!");
  105. SetTimerEx("Tutorial",1000,true,"u",playerid);
  106. }
  107. return 1;
  108. }
  109.  
  110. public OnPlayerDeath(playerid, killerid, reason)
  111. {
  112. return 1;
  113. }
  114.  
  115. public OnVehicleSpawn(vehicleid)
  116. {
  117. return 1;
  118. }
  119.  
  120. public OnVehicleDeath(vehicleid, killerid)
  121. {
  122. return 1;
  123. }
  124.  
  125. public OnPlayerText(playerid, text[])
  126. {
  127. return 1;
  128. }
  129.  
  130. public OnPlayerCommandText(playerid, cmdtext[])
  131. {
  132. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  133. {
  134. // Do something here
  135. return 1;
  136. }
  137. return 0;
  138. }
  139.  
  140. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  141. {
  142. return 1;
  143. }
  144.  
  145. public OnPlayerExitVehicle(playerid, vehicleid)
  146. {
  147. return 1;
  148. }
  149.  
  150. public OnPlayerStateChange(playerid, newstate, oldstate)
  151. {
  152. return 1;
  153. }
  154.  
  155. public OnPlayerEnterCheckpoint(playerid)
  156. {
  157. return 1;
  158. }
  159.  
  160. public OnPlayerLeaveCheckpoint(playerid)
  161. {
  162. return 1;
  163. }
  164.  
  165. public OnPlayerEnterRaceCheckpoint(playerid)
  166. {
  167. return 1;
  168. }
  169.  
  170. public OnPlayerLeaveRaceCheckpoint(playerid)
  171. {
  172. return 1;
  173. }
  174.  
  175. public OnRconCommand(cmd[])
  176. {
  177. return 1;
  178. }
  179.  
  180. public OnPlayerRequestSpawn(playerid)
  181. {
  182. return 1;
  183. }
  184.  
  185. public OnObjectMoved(objectid)
  186. {
  187. return 1;
  188. }
  189.  
  190. public OnPlayerObjectMoved(playerid, objectid)
  191. {
  192. return 1;
  193. }
  194.  
  195. public OnPlayerPickUpPickup(playerid, pickupid)
  196. {
  197. return 1;
  198. }
  199.  
  200. public OnVehicleMod(playerid, vehicleid, componentid)
  201. {
  202. return 1;
  203. }
  204.  
  205. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  206. {
  207. return 1;
  208. }
  209.  
  210. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  211. {
  212. return 1;
  213. }
  214.  
  215. public OnPlayerSelectedMenuRow(playerid, row)
  216. {
  217. if(GetPlayerMenu(playerid) == LCNSkin)
  218. {
  219. switch(row)
  220. {
  221. case 0:
  222. {
  223. SetPlayerPos(playerid,-2719.5110,-318.6884,7.8438);
  224. TogglePlayerControllable(playerid,1);
  225. SetPVarInt(playerid,"GutSkin",0);
  226. }
  227. case 1:
  228. {
  229. if(GetPVarInt(playerid,"GutSkin") == 0)
  230. {
  231. SetPlayerSkin(playerid,112);
  232. TogglePlayerControllable(playerid,0);
  233. ShowMenuForPlayer(LCNSkin,playerid);
  234. SetPVarInt(playerid,"GutSkin",1);
  235. }
  236. else if(GetPVarInt(playerid,"GutSkin") == 1)
  237. {
  238. SetPlayerSkin(playerid,113);
  239. TogglePlayerControllable(playerid,0);
  240. ShowMenuForPlayer(LCNSkin,playerid);
  241. SetPVarInt(playerid,"GutSkin",2);
  242. }
  243. else if(GetPVarInt(playerid,"GutSkin") == 2)
  244. {
  245. SetPlayerSkin(playerid,111);
  246. TogglePlayerControllable(playerid,0);
  247. ShowMenuForPlayer(LCNSkin,playerid);
  248. SetPVarInt(playerid,"GutSkin",0);
  249. }
  250. }
  251. }
  252. }
  253. if(GetPlayerMenu(playerid) == GroveSkin)
  254. {
  255. switch(row)
  256. {
  257. case 0:
  258. {
  259. SetPlayerPos(playerid,2492.4546,-1672.3051,13.3359);
  260. TogglePlayerControllable(playerid,1);
  261. SetPVarInt(playerid,"GutSkin",0);
  262. }
  263. case 1:
  264. {
  265. if(GetPVarInt(playerid,"GutSkin") == 0)
  266. {
  267. SetPlayerSkin(playerid,106);
  268. TogglePlayerControllable(playerid,0);
  269. ShowMenuForPlayer(GroveSkin,playerid);
  270. SetPVarInt(playerid,"GutSkin",1);
  271. }
  272. else if(GetPVarInt(playerid,"GutSkin") == 1)
  273. {
  274. SetPlayerSkin(playerid,107);
  275. TogglePlayerControllable(playerid,0);
  276. ShowMenuForPlayer(GroveSkin,playerid);
  277. SetPVarInt(playerid,"GutSkin",2);
  278. }
  279. else if(GetPVarInt(playerid,"GutSkin") == 2)
  280. {
  281. SetPlayerSkin(playerid,105);
  282. TogglePlayerControllable(playerid,0);
  283. ShowMenuForPlayer(GroveSkin,playerid);
  284. SetPVarInt(playerid,"GutSkin",0);
  285. }
  286. }
  287. }
  288. }
  289. return 1;
  290. }
  291.  
  292. public OnPlayerExitedMenu(playerid)
  293. {
  294. return 1;
  295. }
  296.  
  297. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  298. {
  299. return 1;
  300. }
  301.  
  302. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  303. {
  304. return 1;
  305. }
  306.  
  307. public OnRconLoginAttempt(ip[], password[], success)
  308. {
  309. return 1;
  310. }
  311.  
  312. public OnPlayerUpdate(playerid)
  313. {
  314. return 1;
  315. }
  316.  
  317. public OnPlayerStreamIn(playerid, forplayerid)
  318. {
  319. return 1;
  320. }
  321.  
  322. public OnPlayerStreamOut(playerid, forplayerid)
  323. {
  324. return 1;
  325. }
  326.  
  327. public OnVehicleStreamIn(vehicleid, forplayerid)
  328. {
  329. return 1;
  330. }
  331.  
  332. public OnVehicleStreamOut(vehicleid, forplayerid)
  333. {
  334. return 1;
  335. }
  336.  
  337. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  338. {
  339. if(dialogid == DIALOG_LOGIN)
  340. {
  341. if(response == 0)
  342. {
  343. SendClientMessage(playerid,COLOR_RED,"Du hast den Login Vorgang abgebrochen!");
  344. Kick(playerid);
  345. return 1;
  346. }
  347. if(response == 1)
  348. {
  349. if(!strlen(inputtext))
  350. {
  351. SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
  352. ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Ihr Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
  353. return 1;
  354. }
  355. else
  356. {
  357. Login(playerid,inputtext);
  358. return 1;
  359. }
  360. }
  361. }
  362. if(dialogid == DIALOG_REGISTER)
  363. {
  364. if(response == 0)
  365. {
  366. SendClientMessage(playerid,COLOR_RED,"Sie haben die Registrierung abgebrochen!");
  367. Kick(playerid);
  368. return 1;
  369. }
  370. if(response == 1)
  371. {
  372. if(!strlen(inputtext))
  373. {
  374. SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
  375. ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registrierung auf AimLike","Willkommen auf DeinRL!\nBitte geben sie nun ihr gewünschtes Passwort ein","Register","Abbrechen");
  376. return 1;
  377. }
  378. else
  379. {
  380. Register(playerid,inputtext);
  381. return 1;
  382. }
  383. }
  384. }
  385. return 1;
  386. }
  387.  
  388. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  389. {
  390. return 1;
  391. }
  392.  
  393. /* ===== Stocks ====== */
  394. stock Register(playerid,key[])
  395. {
  396. new pfad[128];
  397. new name[MAX_PLAYER_NAME];
  398. GetPlayerName(playerid,name,sizeof(name));
  399. format(pfad,sizeof(pfad),"/Spieler/%s.ini",name);
  400. dini_Create(pfad);
  401. dini_Set(pfad,"Passwort",key);
  402. dini_IntSet(pfad,"Admin",0);
  403. SetPVarInt(playerid,"Eingeloggt",1);
  404. SetPVarInt(playerid,"Neuling",1);
  405. SpawnPlayer(playerid);
  406. return 1;
  407. }
  408.  
  409. stock Login(playerid,key[])
  410. {
  411. new pfad[128];
  412. new name[MAX_PLAYER_NAME];
  413. GetPlayerName(playerid,name,sizeof(name));
  414. format(pfad,sizeof(pfad),"/Accounts/%s.ini",name);
  415. if(!strcmp(key,dini_Get(pfad,"Passwort"),false))
  416. {
  417. AccountLaden(playerid);
  418. }
  419. else
  420. {
  421. SendClientMessage(playerid,COLOR_GREEN,"Du hast ein falsches Passwort eingegeben!");
  422. ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
  423. }
  424. return 1;
  425. }
  426.  
  427. stock AccountLaden(playerid)
  428. {
  429. new pfad[128];
  430. new name[MAX_PLAYER_NAME];
  431. GetPlayerName(playerid,name,sizeof(name));
  432. format(pfad,sizeof(pfad),"/Accounts/%s.ini",name);
  433. Spieler[playerid][pLevel] = dini_Int(pfad,"Level");
  434. Spieler[playerid][pAdmin] = dini_Int(pfad,"Admin");
  435. Spieler[playerid][pSkin] = dini_Int(pfad,"Skin");
  436. Spieler[playerid][pGeld] = dini_Int(pfad,"Geld");
  437. Spieler[playerid][pBankgeld] = dini_Int(pfad,"Bankgeld");
  438. Spieler[playerid][pFraktion] = dini_Int(pfad,"Fraktion");
  439. Spieler[playerid][pLeader] = dini_Int(pfad,"Fraktion");
  440. Spieler[playerid][pName] = GetPlayerName(playerid,name,24);
  441. SetPVarInt(playerid,"Eingeloggt",1);
  442. return 1;
  443. }
  444.  
  445. stock SpielerSpeichern(playerid)
  446. {
  447. if(GetPVarInt(playerid,"Eingeloggt") == 1)
  448. {
  449. new pfad[128];
  450. new name[MAX_PLAYER_NAME];
  451. GetPlayerName(playerid,name,sizeof(name));
  452. format(pfad,sizeof(pfad),"/Accounts/%s.ini",name);
  453. dini_IntSet(pfad,"Level", Spieler[playerid][pLevel]);
  454. dini_IntSet(pfad, "Admin", Spieler[playerid][pAdmin]);
  455. dini_IntSet(pfad, "Skin", GetPlayerSkin(playerid));
  456. dini_IntSet(pfad, "Geld", GetPlayerMoney(playerid));
  457. dini_IntSet(pfad, "Bankgeld", Spieler[playerid][pBankgeld]);
  458. dini_IntSet(pfad, "Fraktion", Spieler[playerid][pFraktion]);
  459. dini_IntSet(pfad, "Leader", Spieler[playerid][pLeader]);
  460. }
  461. }
  462.  
  463. stock sscanf(string[], format[], {Float,_}:...)
  464. {
  465. #if defined isnull
  466. if (isnull(string))
  467. #else
  468. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  469. #endif
  470. {
  471. return format[0];
  472. }
  473. #pragma tabsize 4
  474. new
  475. formatPos = 0,
  476. stringPos = 0,
  477. paramPos = 2,
  478. paramCount = numargs(),
  479. delim = ' ';
  480. while (string[stringPos] && string[stringPos] <= ' ')
  481. {
  482. stringPos++;
  483. }
  484. while (paramPos < paramCount && string[stringPos])
  485. {
  486. switch (format[formatPos++])
  487. {
  488. case '\0':
  489. {
  490. return 0;
  491. }
  492. case 'i', 'd':
  493. {
  494. new
  495. neg = 1,
  496. num = 0,
  497. ch = string[stringPos];
  498. if (ch == '-')
  499. {
  500. neg = -1;
  501. ch = string[++stringPos];
  502. }
  503. do
  504. {
  505. stringPos++;
  506. if ('0' <= ch <= '9')
  507. {
  508. num = (num * 10) + (ch - '0');
  509. }
  510. else
  511. {
  512. return -1;
  513. }
  514. }
  515. while ((ch = string[stringPos]) > ' ' && ch != delim);
  516. setarg(paramPos, 0, num * neg);
  517. }
  518. case 'h', 'x':
  519. {
  520. new
  521. num = 0,
  522. ch = string[stringPos];
  523. do
  524. {
  525. stringPos++;
  526. switch (ch)
  527. {
  528. case 'x', 'X':
  529. {
  530. num = 0;
  531. continue;
  532. }
  533. case '0' .. '9':
  534. {
  535. num = (num << 4) | (ch - '0');
  536. }
  537. case 'a' .. 'f':
  538. {
  539. num = (num << 4) | (ch - ('a' - 10));
  540. }
  541. case 'A' .. 'F':
  542. {
  543. num = (num << 4) | (ch - ('A' - 10));
  544. }
  545. default:
  546. {
  547. return -1;
  548. }
  549. }
  550. }
  551. while ((ch = string[stringPos]) > ' ' && ch != delim);
  552. setarg(paramPos, 0, num);
  553. }
  554. case 'c':
  555. {
  556. setarg(paramPos, 0, string[stringPos++]);
  557. }
  558. case 'f':
  559. {
  560.  
  561. new changestr[16], changepos = 0, strpos = stringPos;
  562. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  563. {
  564. changestr[changepos++] = string[strpos++];
  565. }
  566. changestr[changepos] = '\0';
  567. setarg(paramPos,0,_:floatstr(changestr));
  568. }
  569. case 'p':
  570. {
  571. delim = format[formatPos++];
  572. continue;
  573. }
  574. case '\'':
  575. {
  576. new
  577. end = formatPos - 1,
  578. ch;
  579. while ((ch = format[++end]) && ch != '\'') {}
  580. if (!ch)
  581. {
  582. return -1;
  583. }
  584. format[end] = '\0';
  585. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  586. {
  587. if (format[end + 1])
  588. {
  589. return -1;
  590. }
  591. return 0;
  592. }
  593. format[end] = '\'';
  594. stringPos = ch + (end - formatPos);
  595. formatPos = end + 1;
  596. }
  597. case 'u':
  598. {
  599. new
  600. end = stringPos - 1,
  601. id = 0,
  602. bool:num = true,
  603. ch;
  604. while ((ch = string[++end]) && ch != delim)
  605. {
  606. if (num)
  607. {
  608. if ('0' <= ch <= '9')
  609. {
  610. id = (id * 10) + (ch - '0');
  611. }
  612. else
  613. {
  614. num = false;
  615. }
  616. }
  617. }
  618. if (num && IsPlayerConnected(id))
  619. {
  620. setarg(paramPos, 0, id);
  621. }
  622. else
  623. {
  624. #if !defined foreach
  625. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  626. #define __SSCANF_FOREACH__
  627. #endif
  628. string[end] = '\0';
  629. num = false;
  630. new
  631. name[MAX_PLAYER_NAME];
  632. id = end - stringPos;
  633. foreach (Player, playerid)
  634. {
  635. GetPlayerName(playerid, name, sizeof (name));
  636. if (!strcmp(name, string[stringPos], true, id))
  637. {
  638. setarg(paramPos, 0, playerid);
  639. num = true;
  640. break;
  641. }
  642. }
  643. if (!num)
  644. {
  645. setarg(paramPos, 0, INVALID_PLAYER_ID);
  646. }
  647. string[end] = ch;
  648. #if defined __SSCANF_FOREACH__
  649. #undef foreach
  650. #undef __SSCANF_FOREACH__
  651. #endif
  652. }
  653. stringPos = end;
  654. }
  655. case 's', 'z':
  656. {
  657. new
  658. i = 0,
  659. ch;
  660. if (format[formatPos])
  661. {
  662. while ((ch = string[stringPos++]) && ch != delim)
  663. {
  664. setarg(paramPos, i++, ch);
  665. }
  666. if (!i)
  667. {
  668. return -1;
  669. }
  670. }
  671. else
  672. {
  673. while ((ch = string[stringPos++]))
  674. {
  675. setarg(paramPos, i++, ch);
  676. }
  677. }
  678. stringPos--;
  679. setarg(paramPos, i, '\0');
  680. }
  681. default:
  682. {
  683. continue;
  684. }
  685. }
  686. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  687. {
  688. stringPos++;
  689. }
  690. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  691. {
  692. stringPos++;
  693. }
  694. paramPos++;
  695. }
  696. do
  697. {
  698. if ((delim = format[formatPos++]) > ' ')
  699. {
  700. if (delim == '\'')
  701. {
  702. while ((delim = format[formatPos++]) && delim != '\'') {}
  703. }
  704. else if (delim != 'z')
  705. {
  706. return delim;
  707. }
  708. }
  709. }
  710. while (delim > ' ');
  711. return 0;
  712. }
  713.  
  714. stock AdminRang(playerid)
  715. {
  716. new arang[132];
  717. switch(Spieler[playerid][pAdmin])
  718. {
  719. case 1: format(arang, sizeof arang,"Probe Supporter");
  720. case 2: format(arang, sizeof arang,"Supporter");
  721. case 3: format(arang, sizeof arang,"Moderator");
  722. case 1337: format(arang, sizeof arang,"Admin");
  723. case 1338: format(arang, sizeof arang,"Co Projektleiter");
  724. case 1339: format(arang, sizeof arang,"Serverleiter");
  725. }
  726. return arang;
  727. }
  728. stock FraktionsRang(playerid)
  729. {
  730. new arang[132];
  731. if(Spieler[playerid][pFraktion] == 1)
  732. {
  733. switch(Spieler[playerid][pRank])
  734. {
  735. case 1: format(arang, sizeof arang,"");
  736. case 2: format(arang, sizeof arang,"");
  737. case 3: format(arang, sizeof arang,"");
  738. case 4: format(arang, sizeof arang,"");
  739. case 5: format(arang, sizeof arang,"Co Boss");
  740. case 6: format(arang, sizeof arang,"Boss");
  741. }
  742. }
  743. else if(Spieler[playerid][pFraktion] == 2)
  744. {
  745. switch(Spieler[playerid][pRank])
  746. {
  747. case 1: format(arang, sizeof arang,"");
  748. case 2: format(arang, sizeof arang,"");
  749. case 3: format(arang, sizeof arang,"");
  750. case 4: format(arang, sizeof arang,"");
  751. case 5: format(arang, sizeof arang,"Co Boss");
  752. case 6: format(arang, sizeof arang,"Boss");
  753. }
  754. }
  755. return arang;
  756. }
  757. stock FraktionsName(playerid)
  758. {
  759. new Fraktion[132];
  760. switch(Spieler[playerid][pFraktion])
  761. {
  762. case 0: format(Fraktion, sizeof Fraktion,"Penner");
  763. case 1: format(Fraktion, sizeof Fraktion,"LCN");
  764. case 2: format(Fraktion, sizeof Fraktion,"Grove Street");
  765. }
  766. return Fraktion;
  767. }
  768. stock LeaderName(playerid)
  769. {
  770. new Fraktion[132];
  771. switch(Spieler[playerid][pFraktion])
  772. {
  773. case 0: format(Fraktion, sizeof Fraktion,"-");
  774. case 1: format(Fraktion, sizeof Fraktion,"LCN Leader");
  775. case 2: format(Fraktion, sizeof Fraktion,"Grove Street Leader");
  776. }
  777. return Fraktion;
  778. }
  779.  
  780. /* ===== Timer ====== */
  781. forward Tutorial(playerid);
  782. public Tutorial(playerid)
  783. {
  784. TutTime[playerid] += 1;
  785. if(TutTime[playerid] == 1)
  786. {
  787.  
  788. }
  789. }
  790.  
  791. /* ===== Admin Commands ====== */
  792.  
  793. // Rang 1 Probe Supporter
  794. /*CMD:ahelp(playerid,params[])
  795. {
  796. if(Spieler[playerid][pAdmin] >= 1)
  797. {
  798. SendClientMessage(playerid,COLOR_RED," ----> Admincenter <----");
  799. SendClientMessage(playerid,COLOR_RED,"Befehle (1): /a(chat) /kick /gotospawn /gotogrove ");
  800. }
  801. if(Spieler[playerid][pAdmin] >= 2)
  802. {
  803. SendClientMessage(playerid,COLOR_RED,"Befehle (2): /setint /sethp ");
  804. }
  805. if(Spieler[playerid][pAdmin] >= 3)
  806. {
  807. SendClientMessage(playerid,COLOR_RED,"Befehle (3): /freeze /unfreeze ");
  808. }
  809. if(Spieler[playerid][pAdmin] >= 1337)
  810. {
  811. SendClientMessage(playerid,COLOR_RED,"Befehle (1337): /veh /givemoney");
  812. }
  813. if(Spieler[playerid][pAdmin] >= 1338)
  814. {
  815. SendClientMessage(playerid,COLOR_RED,"Befehle (1338): /setadmin /setleader ");
  816. }
  817. return 1;
  818. }
  819.  
  820. CMD:a(playerid,params[])
  821. {
  822. if(Spieler[playerid][pAdmin] >= 1)
  823. {
  824. new text[128],string[128];
  825. if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /a(chat) [Nachricht]");
  826. format(string,sizeof string,"(( AdminChat %s %s : %s ))",AdminRang(playerid),Spieler[playerid][pName],text);
  827. for(new i;i<MAX_PLAYERS;i++)
  828. {
  829. if(Spieler[i][pAdmin])
  830. {
  831. SendClientMessage(i,0xFF2800FF,string);
  832. }
  833. }
  834. }
  835. return 1;
  836. }
  837.  
  838. CMD:kick(playerid,params[])
  839. {
  840. if(Spieler[playerid][pAdmin] >= 1)
  841. {
  842. new pID,Grund[55],string[123];
  843. if(sscanf(params,"us",pID,Grund)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /kick [playerid] [Grund]");
  844. format(string,sizeof(string),"%s wurde von %s %s gekickt, Grund: %s",Spieler[pID][pName],AdminRang(playerid),Spieler[playerid][pName],Grund);
  845. SendClientMessageToAll(COLOR_RED,string);
  846. Kick(pID);
  847. }
  848. return 1;
  849. }
  850. CMD:gotospawn(playerid,params[])
  851. {
  852. if(Spieler[playerid][pAdmin] >= 1)
  853. {
  854. SetPlayerPos(playerid,-2765.1836,375.2714,6.3359);
  855. SetPlayerFacingAngle(playerid,269.5055);
  856. }
  857. return 1;
  858. }
  859.  
  860. CMD:gotogrove(playerid,params[])
  861. {
  862. if(Spieler[playerid][pAdmin] >= 1)
  863. {
  864. SetPlayerPos(playerid,2492.4546,-1672.3051,13.3359);
  865. SetPlayerFacingAngle(playerid,269.5055);
  866. }
  867. return 1;
  868. }
  869. // Rang 2
  870. CMD:setint(playerid,params[])
  871. {
  872. if(Spieler[playerid][pAdmin] >= 2)
  873. {
  874. new pID,string[123],intid;
  875. if(sscanf(params,"ui",pID,intid)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /setint [playerid] [Interiorid]");
  876. SetPlayerInterior(pID,intid);
  877. format(string,sizeof(string),"%s %s hat dein Interior auf %i gesetzt.",AdminRang(playerid),Spieler[playerid][pName],intid);
  878. SendClientMessage(playerid,COLOR_RED,string);
  879. SendClientMessage(pID,COLOR_RED,string);
  880. }
  881. return 1;
  882. }
  883. CMD:sethp(playerid,params[])
  884. {
  885. if(Spieler[playerid][pAdmin] >= 2)
  886. {
  887. new pID,string[123],intid;
  888. if(sscanf(params,"ui",pID,intid)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /sethp [playerid] [Health]");
  889. SetPlayerHealth(pID,intid);
  890. format(string,sizeof(string),"%s %s hat dein Leben auf %i gesetzt.",AdminRang(playerid),Spieler[playerid][pName],intid);
  891. SendClientMessage(playerid,COLOR_RED,string);
  892. SendClientMessage(pID,COLOR_RED,string);
  893. }
  894. return 1;
  895. }
  896.  
  897. // Rang 3
  898. CMD:freeze(playerid,params[])
  899. {
  900. if(Spieler[playerid][pAdmin] >= 2)
  901. {
  902. new pID,string[123];
  903. if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /freeze [playerid]");
  904. TogglePlayerControllable(pID,0);
  905. format(string,sizeof(string),"%s %s hat dich gefreezet.",AdminRang(playerid),Spieler[playerid][pName]);
  906. SendClientMessage(playerid,COLOR_RED,string);
  907. SetCameraBehindPlayer(pID);
  908. SendClientMessage(pID,COLOR_RED,string);
  909. }
  910. return 1;
  911. }
  912.  
  913. CMD:unfreeze(playerid,params[])
  914. {
  915. if(Spieler[playerid][pAdmin] >= 2)
  916. {
  917. new pID,string[123];
  918. if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /unfreeze [playerid]");
  919. TogglePlayerControllable(pID,1);
  920. format(string,sizeof(string),"%s %s hat dich entfreezet.",AdminRang(playerid),Spieler[playerid][pName]);
  921. SendClientMessage(playerid,COLOR_RED,string);
  922. SetCameraBehindPlayer(pID);
  923. SendClientMessage(pID,COLOR_RED,string);
  924. }
  925. return 1;
  926. }
  927. // Rang 1337
  928. CMD:veh(playerid,params[])
  929. {
  930. if(Spieler[playerid][pAdmin] >= 1337)
  931. {
  932. new veh,Float:X,Float:Y,Float:Z;
  933. GetPlayerPos(playerid,X,Y,Z);
  934. if(sscanf(params,"i",veh)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /veh [Vehicleid]");
  935. supmobil[playerid] = CreateVehicle(veh,X,Y,(Z)+2,69,1,1,30);
  936. PutPlayerInVehicle(playerid,supmobil[playerid],0);
  937. }
  938. return 1;
  939. }
  940.  
  941. CMD:givemoney(playerid,params[])
  942. {
  943. if(Spieler[playerid][pAdmin] >= 1337)
  944. {
  945. new pID,Betrag,string[123];
  946. if(sscanf(params,"ui",pID,Betrag)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /givemoney [playerid] [Betrag]");
  947. GivePlayerMoney(pID,Betrag);
  948. format(string,sizeof(string),"%s hat dir %i gegeben.",Spieler[playerid][pName],Betrag);
  949. SendClientMessage(playerid,COLOR_RED,string);
  950. SendClientMessage(pID,COLOR_RED,string);
  951. }
  952. return 1;
  953. }
  954. // Rang 1338
  955. CMD:setadmin(playerid,params[])
  956. {
  957. if(Spieler[playerid][pAdmin] >= 1338 || IsPlayerAdmin(playerid))
  958. {
  959. new pID,rank,string[128];
  960. if(sscanf(params,"ui",pID,rank)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /setadmin [playerid] [Adminlevel]");
  961. format(string,sizeof(string),"%s wurde von %s %s zum Admin (%i) befördert.",Spieler[pID][pName],AdminRang(playerid),Spieler[playerid][pName],rank);
  962. SendClientMessageToAll(COLOR_RED,string);
  963. Spieler[pID][pAdmin] = rank;
  964. }
  965. return 1;
  966. }
  967.  
  968. CMD:setleader(playerid,params[])
  969. {
  970. if(Spieler[playerid][pAdmin] >= 1338)
  971. {
  972. new pID,rank,string[128];
  973. if(sscanf(params,"ui",pID,rank)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /setleader [playerid] [Fraktionsid]");
  974. format(string,sizeof(string),"%s wurde von %s %s zum Leader (%i) gemacht.",Spieler[pID][pName],AdminRang(playerid),Spieler[playerid][pName],rank);
  975. SendClientMessageToAll(COLOR_RED,string);
  976. Spieler[pID][pLeader] = rank;
  977. Spieler[pID][pFraktion] = rank;
  978. Spieler[pID][pRank] = 6;
  979. if(rank == 0)
  980. {
  981. SetPlayerSkin(playerid,7);
  982. }
  983. if(rank == 1)
  984. {
  985. ShowMenuForPlayer(LCNSkin,playerid);
  986. SetPlayerPos(pID,-1977.9935,130.4027,36.9623);
  987. SetPlayerSkin(playerid,111);
  988. TogglePlayerControllable(playerid,0);
  989. }
  990. if(rank == 2)
  991. {
  992. ShowMenuForPlayer(GroveSkin,playerid);
  993. SetPlayerPos(pID,-1977.9935,130.4027,36.9623);
  994. SetPlayerSkin(playerid,105);
  995. TogglePlayerControllable(playerid,0);
  996. }
  997. }
  998. return 1;
  999. } */
  1000.  
  1001. /* ===== User Commands ====== */
  1002. /*CMD:o(playerid,params[])
  1003. {
  1004. new text[55],string[123];
  1005. if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_GREY,"VERWENDUNG: /o(ochat) [Nachricht]");
  1006. if(Spieler[playerid][pAdmin] != 0)
  1007. {
  1008. format(string,sizeof(string),"(( %s %s: %s ))",AdminRang(playerid),Spieler[playerid][pName],text);
  1009. }
  1010. else
  1011. {
  1012. format(string,sizeof(string),"(( %s: %s ))",Spieler[playerid][pName],text);
  1013. }
  1014. for(new i;i<MAX_PLAYERS;i++)
  1015. {
  1016. if(GetPVarInt(i,"Eingeloggt") == 1)
  1017. {
  1018. SendClientMessage(i,COLOR_WHITE,string);
  1019. }
  1020. }
  1021. return 1;
  1022. } */
Advertisement
Add Comment
Please, Sign In to add comment