Beiträge von Legö


    Was auch gut ist, wenn du bei OnPlayerconnect einmal GetPlayerName in eine Variabel enspeicherst und dann nur noch diese Aufrufst. Kleines Bespiel:



    new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];


    public OnPlayerConnect(playerid)
    {
    GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[50];
    if(strcmp(cmd, "/test", true) == 0)
    {
    format(string, sizeof(string), "%s",PlayerName[playerid]);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    }
    }


    Jetzt habe ich aber auch noch mal ne frage ist es besser einen Globalen string[500] zu definieren oder lieber bei jedem public oder sogar bei jedem Befehl einen neuen aber dafür eben mit der genauen größe??

    Ich würde einfach gar keine PlayerClass erstellen... Wenn du am anfang shift bzw. auf Spawn Dürckst wird der Public OnPlayerSpawn aufgerufen. Da kannst du dann z.B. SetplayerPos(playerid, x,y,z) rein schreiben. So kannst du immerhin schonmal auf der Map rummlaufen!

    Soo schon mal vielen Dank an BloodyEric!


    Ich habs jetzt mit nem einfachen Debug mal hinbekommen!


    printf("clickedid = %d | Invalid_Text_Draw = %d", text:clickedid, text:INVALID_TEXT_DRAW);


    Wenn ich dann ESC Drücke kommt da flogendes bei raus!


    Code
    [23:34:42] clickedid = 65535 | Invalid_Text_Draw = 65535


    Somit lautet der Code um zu überprüfen ob ein Spieler die Auswahl verlässt:

    else if (clickedid == Text:INVALID_TEXT_DRAW)
    {
    SendClientMessage(playerid, 0xFFFFFFAA, "Abbrechen");
    TextDrawHideForPlayer(playerid, ClothesTextNext);
    TextDrawHideForPlayer(playerid, ClothesTextPrev);
    TextDrawHideForPlayer(playerid, ClothesTextDone);
    CancelSelectTextDraw(playerid);
    SetCameraBehindPlayer(playerid);
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) - playerid);
    FreezePlayer(playerid, 1);
    OnPlayerShowClothes(playerid, showclothes[playerid], 5);// reset
    showclothes[playerid] = 0;
    }


    das funktioniert auch einwandfrei :)


    Danke nochmal!

    Hätte mal ne Frage!


    SelectTextDraw Ist ja eine neue Funktion bei 0.3e Jetzt habe ich mir überlegt ein kleines Menü ähnlich wie das am Anfang beim Connecten für die Spawnauswahl.


    War auch soweit kein größeres Problem aber wenn ich nun ESC Drücke ist es ja das gleiche als wenn ich CancelSelectTextDraw(playerid); eingebe
    Das heißt der Spieler kann die Textdraws nicht mehr anklicken aber Sie stehen noch da... Wie bekomme ich es hin, das mit dem drücken auf ESC auch der Command TextDrawHideForPlayer(playerid, ClothesTextDone); kommt

    Der Public public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) wird aufgerufen wenn ein spielr z.B. angeschossen wird und schaden nimmt. Jetzt kannst du darin eine abfrage erstellen. Ich zeigs dr mal anhand von deinem Beispiel!



    Public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    new Float:Armour;
    GetPlayerArmour(playerid, Armour);
    if(Armour >= 1)// Auch möglich ist glaube ich (Armour - amount >= 1) Dann würde der schuss schon mit abgezogen!
    {
    //leer, es soll alles so bleiben wie SA es vor sieht!
    }
    else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE && GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )//die Waffen die eingesetzt werden dürfen für den 'ONEHIT'
    {
    SetPlayerHealth(playerid, 0)//Player ist sofort Tod!
    }
    return 1;
    }

    [size=5]untested by Lego[/size]


    Tya das wäre meine Idee!

    Falls ich dich richtig verstanden habe würde ich den Enforcer am 0 Punkt Spawnen lassen. Aber die Z Cordinate auf 2 Setzen. Dann sich hinterdas fahrzeug stellen und dan hast du die diferenz zwichen dem Fahrzeug (0.0, 0.0, 2.0) und dem Spieler z.B (1.845456, 1.5464, 2.0)


    wenn du dann den Spieler hinter demn Fahrzeugspawnen möchtest solltest du einfach



    new float:X, float:Y, float:Z;
    GetVehiclePos(vehicleid, X, Y, Z);
    SetPlayerPos(playerid, X+1.85, Y+1.55, Z+0.0);//Z könnte auch Variieren!



    Hätte aber auch mal ne frage


    Ich benutze dieses MYSQL Plugin: http://forum.sa-mp.com/showthread.php?t=56564&page=1 Allerdings die R6 Version.
    Wenn ich nun meinen Server von 0.3d auf 0.3d RC2 aufrüste schmeißt mich der Server mit der Meldung "Server closed the connection" sofort nach OnPlayerConnect raus!
    könnte das an dem Plugin liegen? Wieter Plugins habe ich testweise raus genommen nur das MYSQL Plugin ist noch drin wäre mir zuviel arbeit alles rauszubauen. Außerdem würde ich nur ungerne auf MYSQL verzichten.
    Oder gibt es iwas was sonst nicht mehr compatibel ist?


    Zitat von Kalcor

    This problem will be fixed in the next server update. Either continue using the R1 server, wait for a fix, or add SetSpawnInfo before calling SpawnPlayer.


    könnte das das Problem sein?

    Hallo,


    Ich möchte gerne prüfen ob ich ein gewissenes Object angucke oder nicht.
    Dafür sind mir folgende Koordinaten bekannt.


    Spielerposition, Kameraposition, FrontVector der kamera, Rotation des Spielers bzw. des fahrzeuges, und die Object Position.


    Nun ich habe bereits heraus gefunden wie ich die Distance zwichen meiner Kamera und dem Object berechne aber ich finde nie heraus ob ich auch in die richtung des Objects gucke.


    Vielen Dank vorab!

    Hallo, ich versuche grade das gleiche! habe das momentan wie volgt aufgebaut:



    new Float:speed_x, Float:speed_y, Float:speed_z, Float:VA;
    GetVehicleVelocity(vehid, speed_x, speed_y, speed_z);
    if(GetSpeed(vehid) >= 50)
    {
    speed_x=speed_x+(floatcos(VA+90, degrees));
    speed_y=speed_y+(floatcos(360-VA, degrees));
    SetVehicleVelocity(vehid, speed_x, speed_y, speed_z);
    }
    ALlerdings werde ich immer nach Norden hingezogen! das hat sicherlich etwas mit der rotation zutuhen nur ich weiß nicht genau was falls davon einer ne Ahnung hatt bitte melden!

    Beziehungsweise kannst du auch gleich die komplette URL mit den GET-Variablen formatieren und dann HTTP_GET ohne zusätzlichen Parameter-String verwenden



    Das wäre noch mal ein versuch wert allerdings mit ? haatten wir das auch schon ausprobiert!


    Vielen Dank ich berichte gleich von dem Ergebnis!



    Funktioniert

    Hallo,


    Ich habe ein Problem mit dem HTTP Befehl.


    Wie folgt habe ich diesen eingebunden:



    format(string3, sizeof(string3), "check=12345697726666554433456727654345682=%s&pass=%s", PlayerName[playerid], password);
    printf("HTTP: %s", string3);
    HTTP(1, HTTP_GET, "www.gamernetzwerk.com/confirm.php" , string3, " MyHttpResponse");



    public MyHttpResponse(index, response_code, data[])
    {
    // In this callback "index" would normally be called "playerid" ( if you didn't get it already :) )
    if(response_code == 200) //Did the request succeed?
    {
    //Yes!
    printf("The URL replied: %s", data);
    }
    else
    {
    //No!
    printf("The request failed! The response code was: %d", response_code);
    }
    }


    Als Antwort bekommen wir immer nur CODE: 6


    Wenn wir es aber wie folgt im browser eingeben führt er unser PHP script einwandfrei aus. Daher die Vermutung das es an dem HTTP Befehl liegt.


    Code
    http://www.gamernetzwerk.com/confirm.php?check=gamernetzwerk&user=Lego&pass=123


    Vieleicht kennt jemand die lösung vielen Dank!

    Hallo,


    Ich muss ehrlich sagen das ich die Bewertungen fast immer unangemessen finde!
    Solltet ihr allerdings Spaß daran empfinden möchte ich euch darn nicht hindern.
    Jedoch finde ich etwas was man nicht selbst gesehn hatt soltte man nicht Bewerten.


    Editierung: Satzbau und Meinugs Änderung!


    Servervorstellung von...




    'http://rp-gamernetzwerk.de/wcf/images/bynate/rp-logo.png[/img


    ~Was ist ein Roleplay Server~


    In einem Roleplay Server muss du als Virtuelle Person sozusagen ein echtes Leben nachspielen.
    Das heißt du must bestimmte jobs ausführen und regelmäßig essen gehen.
    In einem Roleplay Server gibt es so genannte "Nebenjobs" und Hauptfrakionen. Nebenjobs sind ganz leicht in einer Stadthalle erhältlich, bei einer Hauptfrakion musst du dich im Forum bewerben.
    Hauptfrakionen sind zum Beispiel, Polizei oder verschiedene Gangs. etwas besonderes an einem GTA Roleplay Server ist das man für seine spielzeit immer Respektpunkte bekommt womit man sich ein neues lvl kaufen kann.
    Das wars erstmal zu einem Roleplay Server und nun kommen wir zu unserer Servervorstellung.


    ~Über den Server~
    [Kleine Geschichte]


    Die beiden Freunde Lego und Krnel kennen sich im echtem Leben schon ziehmlich lange.
    Nachdem Lego die echte welt nach einiger Zeit zu langweilig wurde dachte sich der liebe Lego mal eine Virtuele Grand theft auto San Andreas world zu erstellen und fragte darauf hin gleich seinen besten Kumpel Krnel ob er ihn vielleicht dabei unterstützen möchte. Krnel sagt sofort zu und schon setzen sich die beiden zusammen und bauen gewaltig an ihrem Projekt rum. Nach langer Zeit wurde die virtuelle Welt gestart und in die riesen San Andreas Multiplayer Community gesetzt.
    Nach dem der Server eröffnet wurde dauerte es nicht lange bis die ersten User connecten. Mit der Zeit wurde der Server immeer bekannter. Doch eines Tages gab es einen Absturz. Lego der Hauptscripter ist zurück in der Realität. Das wahre Leben hatte ihn eingeholt, arbeiten, lernen und was auch immer noch so angefallen ist.
    Aber jetzt nach Ca. einem Jahr hatt sich die Lage für Lego wieder entspannt und das Projekt geht weiter.




    ~Fraktion~


    Auf unseren Server gibt es 5 Polizeifraktionen, 8 Zivil Fraktionen und 4 Gangs:


    Polizeifraktionen:


    • LSPD: Das LSPD kümmert sich um Recht und Ortnung in Los Santos. mit Haupt Sitz in der Innenstadt und Nebesitz in Dillimore ist die Fläche von LS sehr gut abgedeckt.


    • SFPD: Auch das SFPD kümmert sich um solche kleinigkeiten. Sie beschützen neben San Fiero auch Bayside und El_Quebrados sowie Angel Pine und haben Somit ein größeres Gebiet als das LSPD


    • FBI: Das FBI hilft dann wenn die Polizei nicht mehr weiter kommt. mit Sitz in der Mitte von Los Santos haben Sie einen sehr Zentralen aufenthaltsort und können so schnellstens zur Einsatzstelle

    • Army: Die Army ist ausgerüstet mit Panzern und schweren MGs. Sie rücken an wenn Sperrgebiete durchgesetzt werden müssen, Staatsoberhäupter eskortiert werden oder andere Internationale Bedrohungen erwartet werden.


    • Special Forces: Das sind die höchsten Ansprechpartner der Polizei. Die SF hat mitsprachercht über alles was in den Polizeifraktionen passiert. Man kann sich nicht zu einem SF Member bewerben man kann höhstens ausgesucht werden.



    Zivilefraktionen:


    • Major: Der Major hat keine festgelegte Aufgabe und wird im Forum gewählt. Der Amtierende Bügermeister hat auf alle entscheidungen des Adminteams alls Stellverteretener für das Volk ein mitspracherecht. Daher ist es besonders wichtig das der Bügermeister vor potentiellen Erpressern beschützt wird.


    • Rettungsdienst: Sie werden gerufen wenn Gangs sich bekriegen oder Jemand einfach nur von der Bortsteinkannte gefallen ist. Als Retter in der Not werden Sie oft bezeichnet.


    • Hitman: Ein Hitman wäre am liebsten unsichtbar. Ganz so ist es wohl nicht aber dank der Tarnfunktionen können Sie sich sehr unaufällig bewegen und so optimal ihr Auftragsmorde erledigen. Denn das ist ihr Spezialgebiet.


    • News Reporter: Man könnte Sie auch Wetterpropheten nennen. Denn das Wettersystem meldet dem Newsreporter bis zu 10 Minuten vorher, welches Wetter kommen wird. So mit kann er Die Bevölkerung rechtzeitig vor Unwettern warnen. Außerdem stehen Interwies Zeitungen schreiben und Livenews veröffentlichen auf der Tagesordnung.


    • Fahrlehrer: Er hatt es in der Hand ob du ein Fahrzeug, Flugzeug oder Boot führen darfst oder nicht. Also halte dich besser gut mit Ihm!


    • San Andreas Delivery Service: Kurz: SADS. Sie können einmal in der Stunde ein Schiff aus einem fernen Land entladen und zu einem Lager am Festland bringen, Packete ausliefern oder Die Geschäfte mit Nachschub versorgen.


    • Farmer: Ein Farmer muss ein Feld aussähen, warten und ernten. Mit etwas Phantasie wird daraus eine Rüstung welche er dann an Gangs oder einzelnen Spielern verkauft.


    • ADAC: Manche sagen OAmt... Sie schleppen Autos ab, reperieren sie oder lackieren alte Rostlaugen um so dass diese in neuem glanz umhült sind. Desweitern helfen sie auch gerne wenn du auf halben Weg liegen bleibst.



    Gangs:


    • LCN


    • Yakuza


    • Triaden


    • El Surenos


    Alle Gängmitglieder können einen gewissen Nebenjob ausführen welcher der Gang zu gute kommen soll. So z.B. der Beruf Waffenhändeler. Das ist wesentlich günstiger und unabhängiger als in einem Ammunation.




    ~Besonderheiten~


    Autohaus-System:
    Standart House-Cars gibt es nicht mehr. Ein selbst entwickeltes Script mit vielen tollen Funktionen wurde statt dessen bei uns eingebaut.
    Es gibt 2 Autohäuser die unterteilt in Normalklasse und Edelklasse sind. Dort kann man via Einsteigen in ein Auto alle einzelheiten einsehen. Denn Jedes Auto ist bei uns anders! Das eine braucht länger zum starten ist also ein schlechtes Fluchtfahrzeug das andere schnell verbraucht aber zuviel Spritt. Jeder muss sein Auto eben selbst finden. Doch das wirklich tolle an unserem System ist, dass mit einem Auto nicht schluss ist. Jeder kann sich soviele Fahrzeuge kaufen wie er Geld hat und diese auch Unterhalten kann. Alle gekauften Autos müssen in der Stadthalle angemeldet werden. Nach der Anmeldung fallen bei jedem PayDay Gebühren an. Dafür bekommt man allerdings auch ein Kennzeichen nach seinen eigenen vorstellelungen. Ähnlich wie das Deutsche Kennzeichen System muss dieses aus 2x2 Buchstaben und 2 Nummern bestehen. So mache ich meine kennzelichen immer mit 'le-go-01'.
    Meldet man sein Auto nicht an riskiert man Ärger mit der Polizei. Wenn man die Schnautze von seinem Fahrzeug gestrichen voll hatt. Gibt es drei möglichkeiten die Situation zu verbessern.
    1. ADAC anrufen und dem Auto einen neuen Look zuweisen.
    2. Auto verschrotten lassen. Der Schrottplatz in Angel Pine nimmt alle Autos gerne an.
    3. Auto auf dem Gebrauchtwagenmarkt verschrebeln.
    Damit man sein Auto auch nach Server restarten immer da hat wo man es am besten gebrauchen kann gibt es einen Befehl mit dem die Fahrzeugposition gespeichert wird dort respawnt das Fahrzeug auch nach einem Crash. Der ADAC kann falsch geparkte Fahrzeuge einfach abschleppen und dan im Car Depot neu speichern. So muss der Fahrzeughalter das Auto kostenpflichtig abholen und wartet nicht bis zum restart.



    kleines Feuerwehr-System:


    Ein selbst gemachtes Feuerwehr System kommt durch zufallsgenereirte einsätze in Los Santos zum einsatz. Das System basiert auf dem realem Funksystem der Feuerwehren NRW. So müssen Statusse gesetzt werden und Funkdisziplin eingehalten werden. Allerdings ist die Feuerwehr bei uns auf dem Server eine reine Freiwillige Feuerwehr. Das bedeutet das alle Mitglieder ganz Normal in einer Fraktion sein und einen Nebenberuf ausüben können. Im Falle eines Einsatzes werden alle angehörigen der Feuerwehr via Textmelder alarmiert. Darauf hin müssen diese in das Feuerwehrhaus fahren und sich umziehen. Anschließend gehts ins Auto um dann mit Sirene und Bundlicht durch SA zum einsatzort zu fahren. Dort angekommen ermittelt das System Automatisch den Einsatzleiter der am Ende der Löscharbeiten den Einsatz für beendet erklärt.
    Außerdem muss der Einsatzleiter ggf. Presse und andere Behörden allarmieren.



    Autmoatische Fahrschule:


    Wie zu gewissen teielen bereits oben erklärt wurde muss ein Auto bei uns durch den Spieler gestartet werden. Damit ein neuer Spieler weiss wie er mit dem Auto umzuegehen hat wurde eine Automatische Fahrschule eingerichtet. In dieser Fahrschule soll der Schüler nicht selbst fahren sondern nur aufpassen und lesen. Den in diesem Tutorial wird schritt für schritt erklät wie ein Fahrzeug gestartet wird oder wie das Licht an / aus geht. Außerden stehen die STVO Vorrschrifften und noch eingie andere Dinge auf dem Programm.




    Bankrob-System:


    Ein Bankrobsystem welches es ermöglicht 2 Banken auszurauben.
    Mind. ein Spieler muss eine Waffe in der hand halten und ein Befehl eingeben um den Überfall zu starten.
    Beginnt ein Raub bekommt die Polizei einen roten Marker und eine Meldung. Zugelassen sind alle Eineiheiten egal ob FBI ARMY oder nur die Polizei.
    Während dem Raub müssen die Spieler sich in der Bank verbarrikadieren, da die Räuber nicht gefreezt sind und somit verwundbar für Polizei bleiben. Der Raub dauert 5 Minuten.
    Ist der Überfall beendet bekommt der Rüber einen Zufallsbetrag zwichen 40k und 60k Auf die Hand. Dann heißt es nur noch flüchten!!!



    Anwalt:


    Cops können einem Sträfling Bail gewähren wenn er sich verhaften lässt. Der Anwalt kann ihn dan für einen vom Script berechneten Betrag frei Kaufen.
    Ab Skill 4 Kann der Lawyer /breakout. Damit ist es einem Häftling möglich zu fliehen. Der Häftling muss 50.000$ an den Anwalt zahlen und 30 Sekunden warten. Für das Ausbrechen erhält er 10 Autowanteds.
    Die Cops wissen ab dem moment der Bezahlung von dem Breakout bescheid und haben die besagten 30 Sekunden Zeit zum PD zu kommen um den flüchtling zu stopen.



    Weitere kleine Besonderheiten:


    • Verstärkungs System für die Polizeifraktionen.

    • Blitzer sind überall verteilt und können von der polizei eingerichtet werden.

    • /cuff und /tazer für Polizei bearbeitet und angepasst.

    • Bankautomate überall verteilt.

    • Der Klingelton des Handys kann geändert werden.

    • Anwaltsystem verbessert.

    • Hitmanmorde enden mit Friedhof.

    • Bei Tod, respawn im Krankenhaus.

    • Eigen entwickeltes Führerscheinsystem.

    • Führerscheinvergabe geändert. Script überprüft das Level und teilt das Geld bei nächstem PayDay zu.

    • Fraktionsfahrzeuge lassen sich nur als Memberfahren.

    • Postsystem.

    • Sadthalle eingerichtet.

    • Navigationsgerät im 24/7 erhältlich.

    • ...und vieles Mehr!



    Weitere Systeme und Besonderheiten werde ich noch online stellen..



    ~Connection~


    Forum: http://www.rp-gamernetzwerk.de
    Server IP: 188.138.90.40:7777
    TS³ IP: 188.138.90.40:9987



    //edit etwas raus gelöscht

    ahh ich habs jetzt! Dank für die Hilfe


    so habe ich es nun gemacht ich denke so meintest du es auch.



    if(dialogid == 24)// zweiten 2
    {
    if(response == 1)
    {
    new tmp[24];
    new x;
    tmp = strtok(inputtext, x);
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"Buchstaben","Falsche Kombination! (Min. 1 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    if(strlen(inputtext) > 2)
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"Buchstaben","Falsche Kombination! (Max. 2 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    format(string, sizeof(string), "%s", inputtext);
    if(!strfind(string,"1",true) || !strfind(string,"2",true)|| !strfind(string,"3",true)|| !strfind(string,"4",true)|| !strfind(string,"5",true)|| !strfind(string,"6",true)|| !strfind(string,"7",true)|| !strfind(string,"8",true)|| !strfind(string,"9",true)|| !strfind(string,"10",true|| !strfind(string,"!",true)|| !strfind(string,"§",true)|| !strfind(string,"-",true)|| !strfind(string,"=",true)|| !strfind(string,"$",true)|| !strfind(string,"&",true)))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"Buchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    strmid(Buchstaben2[playerid], string, 0, strlen(string), 5);
    ShowPlayerDialog(playerid,25,DIALOG_STYLE_INPUT,"Buchstaben","Gib die 2 Zahlen ein!","Anwenden","Abbrechen");
    return 1;
    }
    return 1;
    }


    Allerdings kann ich sonderzeichen verwenden! Das möchte ich aber nicht kann ich das verhindern?




    //edit Achso und 1a verweigert er aber a1 lässt er durch!?



    //edit² Vielen Dank für die Hilfe ich habe das letzte Problem selber hinbekommen


    //edit³ Aufgrund der bitte von Trooper[Y] stelle ich nun rein wie ich das Problem behoben habe!



    new musnt;
    musnt = strfind(string, "$", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "?", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "}", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "{", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "[", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "]", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "²", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "³", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "!", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "#", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "§", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "%", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "&", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "/", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "(", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ")", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "=", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "-", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "_", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ",", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ".", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ";", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ":", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "<", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ">", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "|", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "^", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "°", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "*", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "+", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "~", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "'", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "1", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "2", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "3", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "4", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "5", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "6", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "7", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "8", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "9", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "0", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }

    derzeit habe ich das ganze so aufgebaut!




    new tmp[24];
    new x;
    tmp = strtok(inputtext, x);
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"2 Buchstaben","Falsche Kombination! (Min. 1 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    if(strlen(inputtext) > 2)
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"2 Buchstaben","Falsche Kombination! (Max. 2 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }

    if(!strfind(inputtext,"1",true) || !strfind(tmp,"2",true)|| !strfind(tmp,"3",true)|| !strfind(tmp,"4",true)|| !strfind(tmp,"5",true)|| !strfind(tmp,"6",true)|| !strfind(tmp,"7",true)|| !strfind(tmp,"8",true)|| !strfind(tmp,"9",true)|| !strfind(tmp,"10",true|| !strfind(tmp,"!",true)|| !strfind(tmp,"§",true)|| !strfind(tmp,"-",true)|| !strfind(tmp,"=",true)|| !strfind(tmp,"$",true)|| !strfind(tmp,"&",true)))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"2 Buchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    strmid(Buchstaben[playerid], inputtext, 0, strlen(inputtext), 5);
    ShowPlayerDialog(playerid,25,DIALOG_STYLE_INPUT,"2 Buchstaben","Gib die 2 Zahlen ein!","Anwenden","Abbrechen");
    return 1;
    }



    aller dings gibt Buchstaben[playerid] nur den ersten Buchstaben aus!