[HILFE] 2 Sprachigen Gamemode~Sprachauswahl...

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 Leute =)


    Ich bin grade fertig geworden, mein script 2 sprachig zu machen ;)...
    mein einziges problem ist: ich bekomms mit den dialogen nicht hin o.o....
    Also ich möchte das wenn man connectet, direkt nen dialog bekommt"Wähle deine sprache"
    dann klickt man auf deutsch oder english, und kommt zum login oder register vorgang...


    OnPlayerConnect:

    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[128],string[128],string2[128]; //Spielerdatei,sowie 2 Strings
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid)); //Ist klar
    if(dini_Exists(Spielerdatei)) //Hier wird abgefragt ob der User Bereits registriert ist
    { //Wenn er registriert ist...
    //DEUTSCH
    if(GetPVarInt(playerid,"Deutsch") == 1)
    {
    format(string,sizeof(string),"{FFFFFF}Herzlich Willkommen zurück {FFFA00}%s.\n{FFFFFF}Gib unten bitte dein Passwort ein!",SpielerName(playerid)); //String1......
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,ServerName,string,"Einloggen","Abbrechen"); //Login Dialog mit der Info string
    }
    //ENGLISCH
    else if(GetPVarInt(playerid,"English") == 1)
    {
    format(string,sizeof(string),"{FFFFFF}Welcome Back {FFFA00}%s.\n{FFFFFF}Please enter your Password!",SpielerName(playerid)); //String1......
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,ServerName,string,"Login","Cancel"); //Login Dialog mit der Info string


    }
    }
    else
    { //Wenn nicht...
    //DEUTSCH
    if(GetPVarInt(playerid,"Deutsch") == 1)
    {
    format(string2,sizeof(string2),"{FFFFFF}Dein Account wurde in unserer Datenbank nicht gefunden\nGib unten dein gewünschtes Passwort ein!",SpielerName(playerid)); //String 2
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,ServerName,string2,"Registrieren","Abbrechen"); //Register-Dialog mit der Info string2
    }
    //ENGLISCH
    else if(GetPVarInt(playerid,"English") == 1)
    {
    format(string2,sizeof(string2),"{FFFFFF}Your Account was not found!\nPlease enter your Passwort",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,ServerName,string2,"Register","Cancel");
    }
    }


    Ich bin für jede Hilfe dankbar :)
    Lg
    Unknow

  • ich kriegs mit den dialogen nich so ganz hin ^^...
    wie gesagt wenn jmd. connected soll er nen dialog bekommen mit 2 sprachen auswahl (deutsch, englisch)
    dann klickt er z.B. auf eine sprache und kommt zum login vorgang... ^^ ich habs die ganze zeit versuch nur bekomm ichs nicht hin ^^... lg :)

  • Hättest du es es gerne als DIALOG_STYLE_LIST oder DIALOG_STYLE_MSGBOX?
    Also bei List wären dann die zwei Sprachen untereinander und man könnte sie auswählen.
    Bei MSGBOX kann man dann den rechten Button (z.B. English) oder den linken Button (z.B. Deutsch) auswählen.


    €: Ich habs jetzt mit MSGBOX gemacht.



    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[128],string[128],string2[128]; //Spielerdatei,sowie 2 Strings
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid)); //Ist klar
    if(dini_Exists(Spielerdatei)) //Hier wird abgefragt ob der User Bereits registriert ist
    { //Wenn er registriert ist...
    //DEUTSCH
    if(GetPVarInt(playerid,"Deutsch") == 1)
    {
    format(string,sizeof(string),"{FFFFFF}Herzlich Willkommen zurück {FFFA00}%s.\n{FFFFFF}Gib unten bitte dein Passwort ein!",SpielerName(playerid)); //String1......
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,ServerName,string,"Einloggen","Abbrechen"); //Login Dialog mit der Info string
    }
    //ENGLISCH
    else if(GetPVarInt(playerid,"English") == 1)
    {
    format(string,sizeof(string),"{FFFFFF}Welcome Back {FFFA00}%s.\n{FFFFFF}Please enter your Password!",SpielerName(playerid)); //String1......
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,ServerName,string,"Login","Cancel"); //Login Dialog mit der Info string


    }
    }
    else
    {

    ShowPlayerDialog(playerid, DIALOG_SPRACHWAHL, DIALOG_STYLE_MSGBOX, Servername, "Your Account wasn't found in our database.\nFirst choose your language.", "Deutsch", "Englisch");

    }


    Ganz oben DIALOG_SPRACHWAHL definen und unter OnDialogResponse das einfügen.



    if(dialogid==DIALOG_SPRACHWAHL)
    {
    if(response)
    {
    new string2[400];
    SendClientMessage(playerid, 0xFFFFFFFF, "{FFFFFF}Du hast die Sprache {00C014}Deutsch{FFFFFF} gewählt.");
    SetPVarInt(playerid, "Deutsch", 1);
    format(string2,sizeof(string2),"{FFFFFF}Gib unten dein gewünschtes Passwort ein!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,ServerName,string2,"Registrieren","Abbrechen"); //Register-Dialog mit der Info string2
    }
    else
    {
    new string2[400];
    SendClientMessage(playerid, 0xFFFFFFFF, "{FFFFFF}You have chosen {00C014}english{FFFFFF} as your language.");
    SetPVarInt(playerid, "English", 1);
    format(string2,sizeof(string2),"{FFFFFF}Please enter your favorite password.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,ServerName,string2,"Register","Cancel");
    }

    }


    Wenn irgendwelche Bugs oder Fehler auftreten bitte Bescheid sagen.

    4 Mal editiert, zuletzt von Showtek ()