Advertisement
JeffryUGP

Reparierter Code - lolbob

May 24th, 2015
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 31.16 KB | None | 0 0
  1. //----------------Gamemode für Anfänger by Oktabius-----------------------------
  2.  
  3. #include <a_samp>
  4. #include <dini>
  5. #include <Dudb>
  6. #include <sscanf2>
  7. #include <ocmd>
  8.  
  9. //Farben
  10. #define COLOR_GREY 0xAFAFAFAA // mache eine Farbe namens COLOR_GREY der Farbcode ist 0xAFAFAFAA
  11. #define COLOR_GREEN 0x33AA33AA
  12. #define COLOR_RED 0xAA3333AA
  13. #define COLOR_YELLOW 0xFFFF00AA
  14. #define COLOR_WHITE 0xFFFFFFAA
  15. #define COLOR_DARKRED 0x660000AA
  16. #define COLOR_BLUE 0x0000BBAA
  17. #define COLOR_ORANGE 0xFF9900AA
  18. #define COLOR_PINK 0xFF66FFAA
  19. #define COLOR_LIGHTBLUE 0x33CCFFAA
  20. #define COLOR_CYAN 0x00BFF3AA
  21. #define COLOR_BLACK 0x000000AA
  22. #define COLOR_BROWN 0XA52A2AAA
  23. #define COLOR_GOLD 0xB8860BAA
  24. #define COLOR_INDIGO 0x4B00B0AA
  25. #define COLOR_LAWNGREEN 0x7CFC00AA
  26. #define COLOR_LIMEGREEN 0x32CD32AA
  27. #define COLOR_OLIVE 0x808000AA
  28. #define COLOR_SEAGREEN 0x2E8B57AA
  29. #define COLOR_TOMATO 0xFF6347AA
  30. #define COLOR_YELLOWGREEN 0x9ACD32AA
  31. #define COLOR_MEDIUMAQUA 0x83BFBFAA
  32. #define COLOR_FLBLUE 0x6495EDAA
  33. #define COLOR_MAGENTA 0xFF00FFFF
  34. #define COLOR_PURPLE 0x800080AA
  35. #define COLOR_GRELLRED 0xFF000000
  36. #define COLOR_LIGHTGREEN 0x86FF59FF
  37. #define COLOR_LIGHTBLUE 0x33CCFFAA
  38.  
  39. #pragma unused ret_memcpy
  40. #pragma tabsize 0
  41.  
  42. #define ausruesten 1 // #Definiere  [Name] [Zahl] Namen könnt ihr euch ausdenken und Zahl ist die ID, des GUI, das nächste wäre dann 2
  43. #define stats 2
  44.  
  45. enum Info
  46. {
  47.     passwort[128],
  48.     alevel,
  49.     autos,
  50.     motorrad,
  51.     boot,
  52.     flug,
  53.     fRank,
  54.     gTeam,
  55.     gLeader,
  56.     skin,
  57.     pmoney,
  58. };
  59.  
  60. //neues
  61. new bool:loggedin[MAX_PLAYERS];
  62.  
  63. //Gangzones
  64.  
  65. //Fraktionen
  66. new pInfo[MAX_PLAYERS][Info];
  67. // wenn ihr es so wie ich es oben gemacht habe aufstappelt, sparrt dies viele Ressourcen, wodurch euer Server eine geringere Chance hat
  68. // Laggs zu verursachen.
  69.  
  70. #define Groove 1 //Die Zahlen hinter den Namen mache ich nur so als Gedächnisstütze
  71. #define Ballas 2 // Mache eine Fraktion Namens Ballas
  72. #define Vagos 3 // Mache eine Fraktion Names Fahrlehrer
  73. #define Lspd 4
  74.  
  75. //Pickups
  76. new pickuptest, pickupeingangtest, jailpickup;
  77.  
  78. main()
  79. {
  80.     print("----------------------------------");
  81.     print("          By Dark_Morales         ");
  82.     print("----------------------------------");
  83. }
  84.  
  85.  
  86. public OnGameModeInit() // Skins sind hier zu finden http://wiki.sa-mp.com/wiki/Skins
  87. {
  88.     EnableStuntBonusForAll(0); // Hier wird gesagt, das wenn man einen Stunt gemacht hat (EnableStuntBonusForAll), kein Geld bekommt (0)
  89.     UsePlayerPedAnims(); // Hier wird gesagt, dass der Spieler normal laufen soll und nicht so komisch
  90.     ShowPlayerMarkers(0); // ZeigeSpielerMarkierung(0) hier wird angegeben, dass man keinen Spieler auf der Karte durch ein Farbpickment sieht.
  91.     DisableInteriorEnterExits(); // Hier wird gesagt, dass die Interioreingänge weggemacht werden sollen, damit wir unsere eigenen Biz´s erstellen können
  92.     SetGameModeText("Real-Shit"); // Der Name des Gamemodes
  93.     AddPlayerClass(101,1193.2167,-1266.1366,23.6099,2.9239,0,0,0,0,0,0); // Füge eine Charakterauswahl hinzu( mit dem Skin 101, auf die Kordinaten x, y, z, angle, waffe 1, waffe 1 munition, waffe 2, waffe 2 munition, waffe 3, waffe munition 3=;
  94.  
  95.     AddStaticVehicle(560,-452.5457,412.5452,4.1573,273.4572,1,2); //Füge ein Auto hinzu(Auto Nummer 522, auf die Kordinaten x, y, z, Farbe 1, Farbe 2);
  96.  
  97.  
  98.     // Credits goes to SNM
  99.     // MaxY
  100.     // ____________________________
  101.     // | |
  102.     // | |
  103.     // | |
  104.     // MinX | Ganggebiet | MaxX
  105.     // | |
  106.     // | |
  107.     // | |
  108.     // | |
  109.     // |___________________________|
  110.     // MinY
  111.  
  112.  
  113.     pickuptest = CreatePickup(1239, 23, 0,0,0);// 1318 = Pickupzeichen i ; 23 = bedeutet das das Pickup für immer bleibt ; 0,0,0 = Kordinten x,y,z
  114.     pickupeingangtest = CreatePickup(1318, 23, 0,0,0); // die 3 Nullen auf x, y, z Kordinaten umschreiben
  115.     jailpickup = CreatePickup(1239, 23, 0, 0, 0); //              ""
  116.     return 1;
  117. }
  118.  
  119. public OnGameModeExit()
  120. {
  121.     return 1;
  122. }
  123.  
  124. public OnPlayerRequestClass(playerid, classid)
  125. {
  126.     SetPlayerPos(playerid, 1193.2167,-1266.1366,23.6099); // Setz die Positon( Vom Spieler auf, x, y, z);
  127.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); // Richte die Kamera( Vom Spieler auf, x, y,z);
  128.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); // Setze die Blickrichtung der Kamera( des Spielers auf, x, y, z);
  129.     return 1;
  130. }
  131.  
  132. public OnPlayerRequestSpawn(playerid)
  133. {
  134.     return 1;
  135. }
  136.  
  137. public OnPlayerConnect(playerid)
  138. {
  139.     // ID BEIM EINLOGGEN //
  140.     new nachricht [128];
  141.     format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
  142.     SendClientMessage(playerid,COLOR_RED,nachricht);
  143.  
  144.     if(dini_Exists(Datei(playerid)))
  145.     {
  146.         SendClientMessage(playerid, COLOR_YELLOW, "*** Willkommen Zurück, Logge dich mit /login [Passwort] ein");
  147.     }
  148.     if(!dini_Exists(Datei(playerid)))
  149.     {
  150.         SendClientMessage(playerid, COLOR_LIGHTBLUE, "~Ich sehe du bist neu, bitte registriere dich mit /register [Passwort]");
  151.     }
  152.     return 1;
  153. }
  154.  
  155. public OnPlayerDisconnect(playerid, reason)
  156. {
  157.     if(dini_Exists(Datei(playerid))) // steht
  158.     {
  159.         dini_IntSet(Datei(playerid),"Geld",GetPlayerMoney(playerid));
  160.         dini_IntSet(Datei(playerid),"Wanteds",GetPlayerWantedLevel(playerid));
  161.         dini_IntSet(Datei(playerid),"Skin",GetPlayerSkin(playerid));
  162.         dini_IntSet(Datei(playerid),"Autoführerschein",pInfo[playerid][autos]);
  163.         dini_IntSet(Datei(playerid),"Flugführerschein",pInfo[playerid][flug]);
  164.         dini_IntSet(Datei(playerid),"Motorradführerschein",pInfo[playerid][motorrad]);
  165.         dini_IntSet(Datei(playerid),"Bootsführerschein",pInfo[playerid][boot]);
  166.         dini_IntSet(Datei(playerid),"Adminlevel",pInfo[playerid][alevel]);
  167.         dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[playerid][fRank]);
  168.     }
  169.     return 1;
  170. }
  171.  
  172. public OnPlayerSpawn(playerid)
  173. {
  174.     if(loggedin[playerid] == false)
  175.     {
  176.         Kick(playerid);
  177.     }
  178.     return 1;
  179. }
  180.  
  181. public OnPlayerDeath(playerid, killerid, reason)
  182. {
  183.     SetPlayerPos(playerid,1176.5500,-1323.9135,14.0268); // Setz die Positon( Vom Spieler auf, x, y, z);
  184.     SendClientMessage(playerid,COLOR_RED,"Dein Arztbesuch kostet dich 700$"); // Sende eine Nachricht( An Spieler, mit der Farbe Rot, "und dem Text");
  185.     SetPlayerHealth(playerid, 100.0);
  186.     GivePlayerMoney(playerid,-700); // Ziehe dem (Spieler, 200 $ ab
  187.     return 1;
  188. }
  189.  
  190. public OnVehicleSpawn(vehicleid)
  191. {
  192.     return 1;
  193. }
  194.  
  195. public OnVehicleDeath(vehicleid, killerid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. public OnPlayerText(playerid, text[])
  201. {
  202.     return 1;
  203. }
  204.  
  205.  
  206. public OnPlayerCommandText(playerid, cmdtext[])
  207. {
  208.     new spieler[MAX_PLAYER_NAME]; // Den Begriff "spieler" können wir jetzt immer benutzen, wenn wir den Namen des Spielers bzw. playerid brauchen
  209.     new gegner[MAX_PLAYER_NAME]; // Den Begriff "gegner" können wir jetzt immer benutzen, wenn wir den Namen des Gegners bzw. ziel brauchen
  210.  
  211.     //----------------register---------------------------------
  212.     if(!strcmp(cmdtext, "/restart", true)) return SendRconCommand("gmx");
  213.     if(strcmp(strget(cmdtext,0), "/register", true) == 0)
  214.     {
  215.         if(!dini_Exists(Datei(playerid))) // wenn der Spieler sich regestriert und es noch keine .ini Datei mit seinem Namen gibt
  216.         {
  217.             dini_Create(Datei(playerid)); // Erstelle eine Neue .ini Datei
  218.             dini_IntSet(Datei(playerid),"passwort",udb_hash(strget(cmdtext,1))); // Setze in die .ini Datei(save,"dass passwort", welches er eingegebne hat)
  219.             SendClientMessage(playerid, COLOR_GREEN, "***Dein Account wurde erfolgreich registriert***");
  220.             SendClientMessage(playerid, COLOR_GREEN, "***Nutze /login [Passwort] um dich einzuloggen***");
  221.         }
  222.         else
  223.         {
  224.             if(dini_Exists(Datei(playerid))) // Wenn beim regestrieren die Datei schon besteht
  225.             {
  226.                 SendClientMessage(playerid, COLOR_RED, "Der Account ist bereits registriert");
  227.                 return 1;
  228.             }
  229.         }
  230.     }
  231.  
  232.     if(strcmp(strget(cmdtext,0), "/stats", true) == 0) // wenn man /perso eingibt
  233.     {
  234.         new string[100], string2[50], geld = GetPlayerMoney(playerid); // definiere
  235.         format(string, sizeof(string), "Stats: %s\nBargeld: %d", Spielername(playerid), geld); // setzt dem String "Name: (des Spielers) Bargeld(des Spielers)
  236.         //format(string,sizeof(string), das /n steht für einen Zeilenbruch sprich Enter ;) %s nimmt man wenn man Buchstaben herrausfinden will, %d für Zahlen
  237.         format(string2, sizeof(string2), "statistiken von %s", Spielername(playerid));
  238.         ShowPlayerDialog(playerid, stats, DIALOG_STYLE_MSGBOX, string2 , string, "Verlassen", "");
  239.         return 1;
  240.     }
  241.  
  242.     if(strcmp(strget(cmdtext,0), "/login", true) == 0)
  243.     {
  244.         new s2[256];
  245.         if(dini_Exists(Datei(playerid)))
  246.         {
  247.             s2=dini_Get(Datei(playerid),"passwort");
  248.             if(strval(s2)==udb_hash(strget(cmdtext,1))) // wenn die Eingabe nach /login mit dem Passwort übereinstimmt
  249.             {
  250.                 loggedin[playerid] = true;
  251.                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "***Du hast dich erfolgreich eingeloggt***");
  252.                 GivePlayerMoney(playerid,dini_Int(Datei(playerid),"Geld"));
  253.                 SetPlayerWantedLevel(playerid,dini_Int(Datei(playerid),"Wanteds"));
  254.                 SetPlayerSkin(playerid,dini_Int(Datei(playerid),"Skin"));
  255.                 pInfo[playerid][autos] =dini_Int(Datei(playerid),"Führerschein");
  256.                 pInfo[playerid][flug] =dini_Int(Datei(playerid),"Flugschein");
  257.                 pInfo[playerid][motorrad] =dini_Int(Datei(playerid),"Motorradschein");
  258.                 pInfo[playerid][boot] =dini_Int(Datei(playerid),"Bootsschein");
  259.                 pInfo[playerid][alevel] =dini_Int(Datei(playerid),"Adminlevel");
  260.                 pInfo[playerid][fRank] =dini_Int(Datei(playerid),"Fraktionsrank");
  261.             }
  262.             else
  263.             {
  264.                 SendClientMessage(playerid, COLOR_RED, "Passwort Falsch!");
  265.             }
  266.         }
  267.         return 1;
  268.     }
  269.     //-------Autoschein vergabe----------------
  270.     if(strcmp(strget(cmdtext,0), "/autoschein", true) == 0)
  271.     {
  272.         new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  273.         {
  274.             if(IsPlayerConnected(ziel)) return SendClientMessage(playerid, COLOR_RED, "Ziel ist nicht Online");
  275.             {
  276.                 if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du musst Online sein");
  277.                 {
  278.                     pInfo[ziel][autos] = 1;
  279.                     dini_IntSet(Datei(playerid),"Autoführerschein",1); // Speichere das Passwort in der .ini Datei unter passwort
  280.                     GivePlayerMoney(ziel, -1000); // entziehe dem Ziel 1000 €
  281.                     GivePlayerMoney(playerid, 1000); // gebe dem Fahrleher 1000 €
  282.                     SendClientMessage(ziel, COLOR_GREEN, "TEXT"); // Sende dem Ziel den Text, das er einen Autsoschein bekommen hat
  283.                     SendClientMessage(playerid, COLOR_GREEN, "TEXT"); // Sende dem Fahrleher den Text, das er einen Autoschein verkauft hat
  284.                 }
  285.             }
  286.         }
  287.  
  288.         return 1;
  289.     }
  290.  
  291.  
  292.  
  293.     //----------------Fraktions Ränge vergeben------------------
  294.     if(strcmp(strget(cmdtext,0), "/rank", true) == 0)
  295.     {
  296.         if(pInfo[playerid][gLeader] == Groove || pInfo[playerid][gLeader] == Ballas || pInfo[playerid][gLeader] == Vagos) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Leader einer Fraktion");
  297.         {
  298.             new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  299.             new rank= strval(strget(cmdtext,2)); // rank = das Ranklevel
  300.             {
  301.                 if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /rank [ID] [Rank]");
  302.                 {
  303.                     if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /rank [ID] [Rank]");
  304.                     {
  305.                         if(rank==1)
  306.                         {
  307.                             pInfo[ziel][fRank] = 1; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du hast soeben den Fraktions Rank (Amateur) bekommen");
  308.                         }
  309.                         // wenn rank 1 ) Gebe dem ziel rank 1 ) Speichere das Level ) Sende nachricht
  310.                         if(rank==2)
  311.                         {
  312.                             pInfo[ziel][fRank] = 2; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du hast soeben den Fraktions Rank (Fortgeschrittener) bekommen");
  313.                         }
  314.                         if(rank==4)
  315.                         {
  316.                             pInfo[ziel][fRank] = 3; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du hast soeben den Fraktions Rank (Profi) bekommen");
  317.                         }
  318.                         if(rank==5)
  319.                         {
  320.                             pInfo[ziel][fRank] = 4; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du bist nun der Co Leader dieser Fraktion");
  321.                         }
  322.                         if(rank==6)
  323.                         {
  324.                             pInfo[ziel][fRank] = 5; dini_IntSet(Datei(playerid),"Fraktionsrank",pInfo[ziel][fRank]); SendClientMessage(ziel, COLOR_YELLOW, "Du bist nun der Leader dieser Fraktion");
  325.                         }
  326.                     }
  327.                 }
  328.             }
  329.             return 1;
  330.         }
  331.     }
  332.    
  333.     if(strcmp(cmdtext,"/f",true,2) == 0)
  334.     {
  335.         new string[128],name[24]; // "string" und "name" definieren
  336.         GetPlayerName(playerid,name,sizeof name); // Bekomme den Spieler name(spieler, "name", größe von "name")
  337.         format(string,sizeof string,"[Fraktion]%s: %s",name,cmdtext[3]); // Hier bilden wir einen satz, wo wir den Namen und das,was der spieler eingegeben hat zusammengefügt wird.
  338.         for(new i=0 ; i <GetMaxPlayers() ; i++) // definiere alle Spieler
  339.         {
  340.             if(pInfo[i][gTeam] == pInfo[playerid][gTeam] || pInfo[i][gLeader] == pInfo[playerid][gLeader]) // wenn spieler i in der selben fraktion ist wie playerid, sende ihm die Nachricht
  341.             {
  342.                 SendClientMessage(i,COLOR_LIGHTBLUE,string);
  343.             }
  344.         }
  345.         return 1;
  346.     }
  347.  
  348.     if(strcmp(cmdtext,"/o",true,2) == 0 || strcmp(cmdtext,"/occ",true,2) == 0)
  349.     {
  350.         new string[128],name[24]; // "string" und "name" definieren
  351.         GetPlayerName(playerid,name,sizeof name); // Bekomme den Spieler name(spieler, "name", größe von "name")
  352.         format(string,sizeof string,"[OCC]%s: %s",name,cmdtext[3]); // Satz bilden
  353.         if(!strlen(cmdtext[2])) //wenn der cmd /f falsch eingegeben wird
  354.         {
  355.             return 1;
  356.         }
  357.         if(pInfo[playerid][alevel] >= 1)
  358.         {
  359.             SendClientMessageToAll(COLOR_WHITE,string);
  360.         }
  361.         return 1;
  362.     }
  363.  
  364.  
  365.     // Aond
  366.     new aond[128], aonda[128];
  367.     format(aond, sizeof(aond),  "%s hat sich als Supporter angemeldet.", Spielername(playerid)); // Supporter Xy anmeldung
  368.     format(aonda, sizeof(aonda),  "%s hat sich als Admin angemeldet.", Spielername(playerid)); // Admin Xy anmeldung
  369.     if (strcmp(cmdtext, "/aduty", true) == 0) // Befehl um Admin on Duty zu gehen!
  370.     {
  371.         if(pInfo[playerid][alevel] == 1) // Sende folgendes mit Admin Stufe 1
  372.         {
  373.             SendClientMessage(playerid, COLOR_RED, "|___________Supporter___________|");
  374.             SendClientMessage(playerid, COLOR_RED, "Du hast dich nun Als Supporter angemeldet.");
  375.             SendClientMessage(playerid, COLOR_RED, "Achtung! Missbrauch des befehles wird bestraft!");
  376.             SendClientMessageToAll(COLOR_RED, aond); // Sende die Nachricht an alle
  377.             SetPlayerAmmo(playerid,3,1000);
  378.             SetPlayerColor(playerid, COLOR_PINK);
  379.             return 1;
  380.         }
  381.         if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  382.         {
  383.             SendClientMessage(playerid, COLOR_RED, "|___________Admin___________|");
  384.             SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Admin angemeldet.");
  385.             SendClientMessageToAll(COLOR_PINK, aonda); // Sende die Nachricht wieder an alle
  386.             SetPlayerColor(playerid, COLOR_RED);
  387.             return 1;
  388.         }
  389.         if(pInfo[playerid][alevel] >= 3) // Sende folgendes über admin stufe 2
  390.         {
  391.             SendClientMessage(playerid, COLOR_RED, "|___________High Admin___________|");
  392.             SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als High Admin angemeldet.");
  393.             SendClientMessageToAll(COLOR_PINK, aonda); // Sende die Nachricht wieder an alle
  394.             SetPlayerColor(playerid, COLOR_RED);
  395.             return 1;
  396.         }
  397.         if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  398.         {
  399.             SendClientMessage(playerid, COLOR_RED, "|___________Projektleiter___________|");
  400.             SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Admin angemeldet.");
  401.             SendClientMessageToAll(COLOR_PINK, aonda); // Sende die Nachricht wieder an alle
  402.             SetPlayerColor(playerid, COLOR_RED);
  403.             return 1;
  404.         }
  405.         else
  406.         {
  407.             // Sende folgendes wenn er admin lvl 0 ist (Zivilist)
  408.             SendClientMessage(playerid, COLOR_LIGHTBLUE, "|______KeinAdmin!______|");
  409.             SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin!");
  410.             SendClientMessage(playerid, COLOR_GREY, "Deine Admin Stufe ist 0");
  411.             SendClientMessage(playerid, COLOR_GREY, "Und kannst somit keine Admin befehle ausführen!");
  412.         }
  413.         return 1; // Cmd zu Ende
  414.     }
  415.  
  416.     // Aoffd
  417.     new aoffd[128], aoffda[128];
  418.     format(aoffd, sizeof(aoffd),  "%s hat sich als Supporter abgemeldet.", spieler); // Befehl um Sup off Duty zu gehen!
  419.     format(aoffda, sizeof(aoffda),  "%s hat sich als Admin abgemeldet.", spieler); // Befehl um Admin off Duty zu gehen!
  420.     format(aoffda, sizeof(aoffda),  "%s hat sich als High Admin abgemeldet.", spieler); // Befehl um Admin off Duty zu gehen!
  421.     format(aoffda, sizeof(aoffda),  "%s hat sich als Projektleiter abgemeldet.", spieler); // Befehl um Admin off Duty zu gehen!
  422.     if (strcmp(cmdtext, "/aoffduty", true) == 0)
  423.     {
  424.     }
  425.     if(pInfo[playerid][alevel] == 1) // Sende folgendes mit Admin Stufe 1
  426.     {
  427.         SendClientMessage(playerid, COLOR_RED, "|___________Supporter___________|");
  428.         SendClientMessage(playerid, COLOR_RED, "Du hast dich nun Als Supporter abgemeldet.");
  429.         SendClientMessageToAll(COLOR_PINK, aoffd); // Sende die Nachricht an alle
  430.         SetPlayerColor(playerid, COLOR_WHITE);
  431.         return 1;
  432.     }
  433.     if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  434.     {
  435.         SendClientMessage(playerid, COLOR_RED, "|___________Admin___________|");
  436.         SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Admin abgemeldet.");
  437.         SendClientMessageToAll(COLOR_PINK, aoffda); // Sende die Nachricht wieder an alle
  438.         SetPlayerColor(playerid, COLOR_WHITE);
  439.         return 1;
  440.     }
  441.     if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  442.     {
  443.         SendClientMessage(playerid, COLOR_RED, "|___________High Admin___________|");
  444.         SendClientMessage(playerid, COLOR_RED, "Du hast dich nun Als High Admin abgemeldet.");
  445.         SendClientMessageToAll(COLOR_PINK, aoffd); // Sende die Nachricht an alle
  446.         SetPlayerColor(playerid, COLOR_WHITE);
  447.         return 1;
  448.     }
  449.     if(pInfo[playerid][alevel] >= 2) // Sende folgendes über admin stufe 2
  450.     {
  451.         SendClientMessage(playerid, COLOR_RED, "|___________Projektleiter___________|");
  452.         SendClientMessage(playerid, COLOR_RED, "Du hast dich nun als Projektleiter abgemeldet.");
  453.         SendClientMessageToAll(COLOR_PINK, aoffda); // Sende die Nachricht wieder an alle
  454.         SetPlayerColor(playerid, COLOR_WHITE);
  455.         return 1;
  456.     }
  457.  
  458.  
  459.     //--------------makeadmin-----------------------------------
  460.     if(strcmp(cmdtext,"/makeadmin", true) == 0)
  461.     {
  462.         if(pInfo[playerid][alevel] == 6) // Wenn die pInfo vom Spieler level 6 ist
  463.         {
  464.             new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  465.             new level= strval(strget(cmdtext,2)); // level = die Levelzahl
  466.             {
  467.                 if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeadmin [ID]");
  468.                 {
  469.                     if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeadmin [ID]");
  470.                     {
  471.                         if(level==1) // wenn er /makeadmin 0 macht
  472.                         {
  473.                             GetPlayerName(ziel,gegner,sizeof(gegner));
  474.                             new save[45];
  475.                             format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  476.                             pInfo[ziel][alevel] = 1; // Gebe dem ziel das Adminlevel (alevel) 0
  477.                             dini_IntSet(save,"Adminlevel",1); // Schreibe in seine Datei Adminlevel = 0
  478.                             SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Supporter___________|");
  479.                             SendClientMessage(playerid, COLOR_GREY, "Du bist nun ein Supporter!");
  480.                             SendClientMessage(playerid, COLOR_GREY, "Admin Level: 1");
  481.                             if(level==2) // wenn er /makeadmin 1 macht
  482.                             {
  483.                                 GetPlayerName(ziel,gegner,sizeof(gegner));
  484.                                 format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  485.                                 pInfo[ziel][alevel] = 2; // Gebe dem ziel das Adminlevel (alevel) 1
  486.                                 dini_IntSet(save,"Adminlevel",2); // Schreibe in seine Datei Adminlevel = 1
  487.                                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Admin___________|");
  488.                                 SendClientMessage(playerid, COLOR_GREY, "Du wurdest zu den rank: Admin gestuft.");
  489.                                 SendClientMessage(playerid, COLOR_GREY, "Admin Level: 2");
  490.                             }
  491.                             if(level==3) // wenn er /makeadmin 2 macht
  492.                             {
  493.                                 GetPlayerName(ziel,gegner,sizeof(gegner));
  494.                                 format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  495.                                 pInfo[ziel][alevel] = 3; // Gebe dem Ziel das Adminlevel 2
  496.                                 dini_IntSet(save,"Adminlevel",3); // Schreibe in seine Datei Adminlevel 2
  497.                                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________High Admin___________|");
  498.                                 SendClientMessage(playerid, COLOR_GREY, "Du wurdest zu den rank: High Admins gestuft.");
  499.                                 SendClientMessage(playerid, COLOR_GREY, "Admin Level: 3");
  500.                             }
  501.                             if(level==4) // wenn er 3 eintippt
  502.                             {
  503.                                 GetPlayerName(ziel,gegner,sizeof(gegner));
  504.                                 format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  505.                                 pInfo[ziel][alevel] = 4; // Gebe dem Ziel das Adminlevel 3
  506.                                 dini_IntSet(save,"Adminlevel",4); //schreibe in seine Datei Adminlevel 3
  507.                                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Projektleiter___________|");
  508.                                 SendClientMessage(playerid, COLOR_GREY, "Du wurdest zum Projektleiter gestuft.");
  509.                                 SendClientMessage(playerid, COLOR_GREY, "Admin Level: 3");
  510.                             }
  511.                             if(level==0) // wenn er 4 eintippt
  512.                             {
  513.                                 GetPlayerName(ziel,gegner,sizeof(gegner));
  514.                                 format(save,sizeof(save),"/Spieler/%s.ini",gegner);
  515.                                 pInfo[ziel][alevel] = 0; // Gebe dem Ziel Adminlevel 4
  516.                                 dini_IntSet(save,"Adminlevel",0); // schreibe in seine Datei Adminlevel 4
  517.                                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|___________Zivi___________|");
  518.                                 SendClientMessage(playerid, COLOR_GREY, "Du bist nun wieder ein Zivi.");
  519.                                 SendClientMessage(playerid, COLOR_GREY, "Admin Level: 0");
  520.                             }
  521.                             else
  522.                             {
  523.                                 SendClientMessage(playerid, COLOR_LIGHTBLUE, "|______KeinAdmin!______|");
  524.                                 SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin!");
  525.                                 SendClientMessage(playerid, COLOR_GREY, "Deine Admin Stufe ist 0");
  526.                                 SendClientMessage(playerid, COLOR_GREY, "Und kannst somit keine Admin befehle ausführen!");
  527.                             }
  528.                         }
  529.                     }
  530.                 }
  531.                 return 1;
  532.             }
  533.         }
  534.     }
  535.  
  536.     //------------------invite------------------------------------
  537.     if(strcmp(strget(cmdtext,0), "/invite", true) == 0)
  538.     {
  539.         if(pInfo[playerid][gLeader] == Groove || pInfo[playerid][gLeader] == Ballas || pInfo[playerid][gLeader] == Vagos) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Leader einer Fraktion");
  540.         {
  541.             new ziel = strval(strget(cmdtext,1)), team = strval(strget(cmdtext,2)),save[45];
  542.             {
  543.                 if(team==1)
  544.                 {
  545.                     pInfo[ziel][gTeam] = 1; SetPlayerSkin(ziel,106); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  546.                 }
  547.                 if(team==2)
  548.                 {
  549.                     pInfo[ziel][gTeam] = 2; SetPlayerSkin(ziel,104); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  550.                 }
  551.                 if(team==3)
  552.                 {
  553.                     pInfo[ziel][gTeam] = 3; SetPlayerSkin(ziel,108); dini_IntSet(save,"Fraktion",pInfo[ziel][gTeam]);
  554.                 }
  555.             }
  556.         }
  557.         return 1;
  558.     }
  559.  
  560.     //----------------------ban--------------------------------
  561.     new string[128],  Grund[128], save[45];
  562.     new ziel = strval(strget(cmdtext,1)); // Das gleiche wie bei teamid
  563.     Grund = strget(cmdtext,2);
  564.     GetPlayerName(ziel,gegner,sizeof(gegner));
  565.     format(save,sizeof(save),"/Bans/%s.ini",gegner);//mache einen neuen Ornder Namens Ban und füge die ini Datei vom Spieler ein
  566.     format(string, sizeof(string),  "*** %s wurde von %s gebannt. Grund:%s ***", gegner, Spielername(playerid), Grund); //Mache ein String. In einem String mit Namen etc. muss man %s schreiben und hinter der Nachricht wo für das %s stehen soll. Muss in exakter reihenfolge sein!
  567.     if(strcmp(strget(cmdtext,0), "/ban", true) == 0)
  568.     {
  569.         if(pInfo[playerid][alevel] == 2) // wenn der spieler Adminlevel 2 ist
  570.         {
  571.             if(!strlen(strget(cmdtext,1))) // wenn der cmd falsch ist
  572.             {
  573.                 SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /ban [id] [Grund] "); return 1; // Nachricht senden
  574.             }
  575.             if(!strlen(strget(cmdtext,2)))// wenn der cmd falsch ist
  576.             {
  577.                 SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /ban [id] [Grund] "); return 1;// Nachricht senden
  578.             }
  579.             Ban(ziel); // Ban ziel
  580.             SendClientMessageToAll(COLOR_RED, string); // Sende Allen eine Nachricht
  581.         }
  582.         else
  583.         {
  584.             SendClientMessage(playerid, COLOR_RED, "Du bist kein Adminlevel 2 !");
  585.         }
  586.         return 1;
  587.     }
  588.  
  589.  
  590.     //jail
  591.     if(!strcmp(strget(cmdtext,0),"/jail")) //Hier wird wieder beschrieben das wenn man den /jail befehl eingibt
  592.     {
  593.         new name[20], sstring[64]; // dernieren der Namen
  594.         GetPlayerName(ziel, name, sizeof name);// Bekomme den Namen des Ziels
  595.         format(string, sizeof(string), "%s wurde von %s eingebuchtet", name, Spielername(playerid)); // Satz bilden
  596.         ziel = strval(strget(cmdtext,1)); // /jail [ziel]
  597.         {
  598.             if(IsPlayerConnected(playerid))//  spieler muss online sein
  599.             {
  600.                 if(IsPlayerConnected(ziel)) return SendClientMessage(playerid, COLOR_RED, "Spieler ist nicht online");// ziel muss online sein
  601.                 {
  602.                     if(IsPlayerInRangeOfPoint(playerid, 1.0, 0, 0, 0)) return SendClientMessage(playerid, COLOR_RED, "Du bist vor keiner Zelle");
  603.                     {
  604.                         SetPlayerPos(ziel,0,0,0); // Setze Spieler auf Kordinaten
  605.                         SendClientMessageToAll(COLOR_LIGHTBLUE, sstring);
  606.                     }
  607.                 }
  608.             }
  609.         }
  610.         return 1;
  611.     }
  612.  
  613.     //----Makeleader Funktion-------------------
  614.     if(!strcmp(strget(cmdtext,0),"/makeleader"))
  615.     {
  616.         new target = strval(strget(cmdtext,1)), fraktion = strval(strget(cmdtext,2)), saves[32], name[20];
  617.         format(saves,sizeof(saves),"Spieler/%s.ini",name);
  618.         GetPlayerName(target, name, sizeof(name));
  619.         if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeleader [ID] [1-3]");
  620.         {
  621.             if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid, COLOR_RED, "Benutzte: /makeleader [ID] [1-3]");
  622.             {
  623.                 if(fraktion == Groove)
  624.                 {
  625.                     SetPlayerSkin(target, 288);
  626.                     SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der Grove gemacht");
  627.                     pInfo[target][gLeader] = fraktion;
  628.                     dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
  629.                 }
  630.                 if(fraktion == Ballas)
  631.                 {
  632.                     SetPlayerSkin(target, 275);
  633.                     SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Ledader der Ballas ernannt");
  634.                     pInfo[target][gLeader] = fraktion;
  635.                     dini_IntSet(save,"Fraktionsleader",pInfo[target][gTeam]);
  636.                     dini_IntSet(save,"Skin",pInfo[target][skin]);
  637.                 }
  638.                 if(fraktion == Vagos)
  639.                 {
  640.                     SetPlayerSkin(target, 163);
  641.                     SendClientMessage(target, COLOR_WHITE, "Du wurdest zum Leader der Vagos ernannt");
  642.                     pInfo[target][gLeader] = fraktion;
  643.                     dini_IntSet(save,"Fraktionsleader",pInfo[target][gLeader]);
  644.                     dini_IntSet(save,"Skin",pInfo[target][skin]);
  645.                 }
  646.             }
  647.         }
  648.         return 1;
  649.     }
  650.  
  651.     //--------waffen für ballas------------------
  652.     if(strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffenb eingegeben wird
  653.     {
  654.         if(pInfo[playerid][gTeam] == Ballas || pInfo[playerid][gLeader] == Ballas) // wenn der Spieler ein Teammitglieder oder Leader der Fraktion Ballas ist
  655.         {
  656.             GivePlayerWeapon(playerid, 1, 1); // Gib ihm die Waffe mit der ID 15
  657.             GivePlayerWeapon(playerid, 24, 50); // Gib ihm die Waffe mit der ID 32 und 150 Munition
  658.             GivePlayerWeapon(playerid, 25, 50); // Gib ihm die Waffe mit der ID 28 und 150 Munition
  659.         }
  660.         return 1; // Cmd zu Ende
  661.     }
  662.  
  663.     //---------waffen für groove----------------
  664.     if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  665.     {
  666.         if(pInfo[playerid][gTeam] == Groove || pInfo[playerid][gLeader] == Groove)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  667.         {
  668.             GivePlayerWeapon(playerid, 1, 1); // Gib ihm die Waffe mit der ID 1
  669.             GivePlayerWeapon(playerid, 24, 50);// Gib ihm die Waffe mit der ID 32 und 150 Munition
  670.             GivePlayerWeapon(playerid, 25, 50); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  671.         }
  672.         return 1; // Cmd zu Ende
  673.     }
  674.     //---------waffen für Vagos ----------------
  675.     if (strcmp(cmdtext, "/ausruesten", true) == 0) // wenn ( /waffeng eingegeben wird
  676.     {
  677.         if(pInfo[playerid][gTeam] == Vagos || pInfo[playerid][gLeader] == Vagos)// wenn der Spieler ein Teammitglieder oder Leader der Fraktion Groove ist
  678.         {
  679.             GivePlayerWeapon(playerid, 1, 1); // Gib ihm die Waffe mit der ID 1
  680.             GivePlayerWeapon(playerid, 24, 50);// Gib ihm die Waffe mit der ID 32 und 150 Munition
  681.             GivePlayerWeapon(playerid, 25, 50); // Gib ihm die Waffe mit der ID 29 und 150 Munition
  682.         }
  683.         return 1; // Cmd zu Ende
  684.     }
  685.     return 0;
  686. }
  687.  
  688. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  689. {
  690.     if(pInfo[playerid][autos] == 1)
  691.     {
  692.         SendClientMessage(playerid, COLOR_RED, " Du hast noch keinen Führerschein!");
  693.     }
  694.     else
  695.     {
  696.         return 1;
  697.     }
  698.     return 1;
  699. }
  700.  
  701.  
  702. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  703. {
  704.     return 1;
  705. }
  706.  
  707. public OnPlayerExitVehicle(playerid, vehicleid)
  708. {
  709.     return 1;
  710. }
  711.  
  712. public OnPlayerStateChange(playerid, newstate, oldstate)
  713. {
  714.     return 1;
  715. }
  716.  
  717. public OnPlayerEnterCheckpoint(playerid)
  718. {
  719.     return 1;
  720. }
  721.  
  722. public OnPlayerLeaveCheckpoint(playerid)
  723. {
  724.     return 1;
  725. }
  726.  
  727. public OnPlayerEnterRaceCheckpoint(playerid)
  728. {
  729.     return 1;
  730. }
  731.  
  732. public OnPlayerLeaveRaceCheckpoint(playerid)
  733. {
  734.     return 1;
  735. }
  736.  
  737. public OnRconCommand(cmd[])
  738. {
  739.     return 1;
  740. }
  741.  
  742. public OnObjectMoved(objectid)
  743. {
  744.     return 1;
  745. }
  746.  
  747. public OnPlayerObjectMoved(playerid, objectid)
  748. {
  749.     return 1;
  750. }
  751.  
  752. public OnPlayerPickUpPickup(playerid, pickupid) // Pickup Objektlisten findet ihr hier http://wiki.sa-mp.com/wiki/Pickup_help
  753. {
  754.     if(pickupid == pickuptest) // Bedeutet wenn(das pickup == namens pickuptest aufgehoben wird)
  755.     {
  756.         SendClientMessage(playerid, COLOR_GREEN, "Hello World"); // Sendet einen Text an ( Spieler, mit der Farbe Grün, "und den Text Hello World");
  757.     }
  758.     if(pickupid == pickupeingangtest)
  759.     {
  760.         SetPlayerInterior(playerid, 3); // Hier geben wir den Innenraum an (Interior = Innenraum). Die 3 gibt den Innenraum an, die Id´s findet ihr hier http://wiki.sa-mp.com/wiki/Interior oder wenn ihr in einen Raum geht und /interior eingebt. Wird in Savedposition.txt in eurem GTA verzeichnis gespeichert.
  761.         SetPlayerPos(playerid, 0, 0,0); // Hier wird angegeben wo der Spieler hinkommt wenn er in den Pickup geht. Geht auf einem Gf server oder Debug Modus und geht in ein Haus und gibt /save ein. Kordinaten wie bei interior zu finden.
  762.         SetPlayerFacingAngle( playerid, 360.0 ); // Setzt die Schaurichtung des Spielers auf den Angel wert.
  763.         GameTextForPlayer(playerid, "~w~Wilk~n~~r~ommen", 3000, 3); // Wenn jemand jetzt in dem Gebäude ist wird ein Text über ihm erscheinen. ~w~ sagt es soll eine weiße Shrift sein und ~r~ soll rot sein. http://wiki.sa-mp.com/wiki/Colors_List
  764.     }
  765.     if(pickupid == jailpickup)
  766.     {
  767.         GameTextForPlayer(playerid, "~gib ein~/jail [Zeit][Kosten]", 4000, 3);
  768.     }
  769.     return 1;
  770. }
  771.  
  772. public OnPlayerSelectedMenuRow(playerid, row)
  773. {
  774.     return 1;
  775. }
  776.  
  777. public OnPlayerExitedMenu(playerid)
  778. {
  779.     return 1;
  780. }
  781.  
  782. stock Datei(playerid)
  783. {
  784.     new str[128];
  785.     GetPlayerName(playerid, str, MAX_PLAYER_NAME);
  786.     format(str, sizeof(str), "/accounts/%s.txt", str);
  787.     return str;
  788. }
  789.  
  790. stock Spielername(playerid)
  791. {
  792.     new name[MAX_PLAYER_NAME];
  793.     GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  794.     return name;
  795. }
  796.  
  797. // strget
  798. stock strget(strx[], pos, search = ' ') {
  799.     new arg, ret[128], idxx;
  800.     for (new i = 0; i < strlen(strx); i++) {
  801.         if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
  802.             arg++;
  803.             if (arg == pos + 1){
  804.                 ret[i-idxx] = EOS;
  805.                 return ret;
  806.             } else if (arg == pos)
  807.                 idxx= i+1;
  808.         }
  809.         else if (arg == pos)
  810.                 ret[i - idxx] = strx[i];
  811.     }
  812.     return ret;
  813. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement