Falsch Gescriptet. Doch wie richtig?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Community.
    Ich habe mit Anklickbaren Textdraws gearbeitet.
    Leider ist mir ein Fehler unterlaufen.


    Ich hatte vor kurzem noch ein Dialog Registrations System, jedoch habe ich es mit Anklickbaren Textdraws geändert.
    Wenn ich mich nun über den Textdraw "Login" Einloggen möchte, geht alles.
    Wen ich aber mit einem neuen Namen den Teaxtdraw "Registrieren" auswähle, passiert nichts.


    Code:


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == Textdraw4)
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","{ffff33}Herzlich Willkommen zurück auf {00FF00}***\n{ffff33}Logge dich bitte ein um fort zufahren","Login","Abbrechen" );
    }
    {
    if(clickedid == Textdraw5)
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","{ffff33}Herzlich Willkommen auf {00FF00}***\n{ffff33}Wie ich sehe besitzt du noch keinen Account, bitte erstell dir einen\nGebe/hilfe ein um die Commandos zuerfahren\nWir Wünschen dir noch viel Spaß auf unserem Server.","Register","Abbrechen");
    }
    return 1;
    }
    }
    }
    return 0;
    }


    stock Register(playerid,key[])
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,BLAU,"Du hast dich Erfolgreich registiert, wir wünschen dir noch viel Spaß auf ***.");
    SetPlayerScore(playerid,1);
    GivePlayerMoney(playerid,10000);
    SetPVarInt(playerid,"loggedin",1);
    SpawnPlayer(playerid);
    ShowPlayerDialog(playerid, DIALOG_GESCHLECHT, DIALOG_STYLE_LIST, "Dein Geschlecht", "Weiblich\nMännlich", "Auswählen", "");
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    {


    }
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"__________________________________________");
    SendClientMessage(playerid,COLOR_WHITE,"Du hast dich Erfolgreich eingeloggt.");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"*** wünscht dir viel Spaß!Unter /hilfe findest du Kommandos!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"__________________________________________");
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Das Passwort stimmt nicht mit dem Passwort dieses Accountes überein!Versuche es erneut!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","{ffff33}Herzlich Willkommen zurück auf {00FF00}***\n{ffff33}Logge dich bitte ein um fort zufahren","Login","Abbrechen");
    return 1;
    }
    }

  • Ich denke, dass du vorher noch überprüfen musst, ob der die angelickte Textdraw ID keine ungültige TextDrawID ist.


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Wie genau soll ich das machen ?


    if(Text:clickedid != INVALID_TEXT_DRAW) //Weiteres Vorhaben


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • so ?:


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == Textdraw4)
    {
    if(Text:clickedid != INVALID_TEXT_DRAW) //Weiteres Vorhaben
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","{ffff33}Herzlich Willkommen zurück auf {00FF00}GTA-SouthHunsley Reallife\n{ffff33}Logge dich bitte ein um fort zufahren","Login","Abbrechen" );
    }
    else
    {
    return SendClientMessage(playerid,Rot,"Fehler!");
    }
    {
    if(Text:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == Textdraw5)

    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","{ffff33}Herzlich Willkommen auf {00FF00}GTA-SouthHunsley Reallife\n{ffff33}Wie ich sehe besitzt du noch keinen Account, bitte erstell dir einen\nGebe/hilfe ein um die Commandos zuerfahren\nWir Wünschen dir noch viel Spaß auf unserem Server.","Register","Abbrechen");
    }
    else
    {
    return SendClientMessage(playerid,Rot,"Fehler!");
    }
    return 1;
    }
    }
    }
    }
    }
    return 0;
    }

  • Wenn die Datei existiert, soll er sich registrieren ? ^^

  • Ich habe zwar noch nie mit anklickbaren Texts gearbeitet, aber vielleicht funktioniert es ja so,,

    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == Textdraw4)
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","{ffff33}Herzlich Willkommen zurück auf {00FF00}***\n{ffff33}Logge dich bitte ein um fort zufahren","Login","Abbrechen" );
    return 1;
    }
    }
    if(clickedid == Textdraw5)
    {
    new Spielerdatei[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(!dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","{ffff33}Herzlich Willkommen auf {00FF00}***\n{ffff33}Wie ich sehe besitzt du noch keinen Account, bitte erstell dir einen\nGebe/hilfe ein um die Commandos zuerfahren\nWir Wünschen dir noch viel Spaß auf unserem Server.","Register","Abbrechen");
    return 1;
    }
    }
    return 1;
    }


    MfG
    AndyWalker