Beiträge von Klemmlampe

    Vermutlich hast du es außerhalb des "/port"-Befehls, es wird also immer wenn ein Befehl eingegeben wird angezeigt. Versuche die Nachricht (SendClientMessage(...)) eine (oder mehrere, das musst du probieren) geschweifte Klammer (}) davor auszugeben bzw. das ganze in deinen Befehl zu verlegen.

    Habt ihr es auf mehreren Servern getestet oder nur auf einem? Wenn es bei mehreren so ist, kann man Martez' Idee ausschließen und es liegt am Clienten (-> Nachricht an Kalcor/SA:MP-Team).


    // OnDialogResponse
    LoadDialog(playerid, dialogid, response, listitem);
    // LoadDialog
    stock LoadDialog(playerid, dialogid, response, listitem)
    {
    if(dialogid == LanguageDialog)
    {
    if(!response) return ShowPlayerDialog(playerid,LanguageDialog,DIALOG_STYLE_LIST,"Select your Language","German\nEnglish","Choose","Choose");
    switch(listitem)
    {
    case 0:
    {
    SendClientMessage(playerid,0xFF0000FF,"Du wählst die deutsche Sprache aus.");
    PlayerLanguage[playerid] = German;
    }
    case 1:
    {
    SendClientMessage(playerid,0xFF0000FF,"You Choosen the English Language");
    PlayerLanguage[playerid] = English;
    }
    }
    }
    }


    // Edit: Klar geht das:

    // oben
    forward OnLanguageDialogResponse(playerid, dialogid, response, listitem, inputtext[]);


    // unten
    public OnLanguageDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == LanguageDialog)
    {
    if(!response) return ShowPlayerDialog(playerid,LanguageDialog,DIALOG_STYLE_LIST,"Select your Language","German\nEnglish","Choose","Choose");
    switch(listitem)
    {
    case 0:
    {
    SendClientMessage(playerid,0xFF0000FF,"Du wählst die deutsche Sprache aus.");
    PlayerLanguage[playerid] = German;
    }
    case 1:
    {
    SendClientMessage(playerid,0xFF0000FF,"You Choosen the English Language");
    PlayerLanguage[playerid] = English;
    }
    }
    }
    return 1;
    }
    #define OnLanguageDialogResponse OnDialogResponse

    Kein Wunder...
    Entweder übergibst du die Variablen als Parameter (Funktion unter OnDialogResponsedarunter und listitem, playerid und response als Parameter übergeben) oder du packst einfach den gesamten Code unter OnDialogResponse.

    Das Kommentieren war mein Fehler bzw. ein Schreibfehler, nicht /* und /*, ist ja klar, sondern /* und */.


    Du kannst eine Funktion nicht wie eine Variable/Array aufrufen:
    switch(GetPlayerLanguage(playerid))
    Dann immer noch:
    SendClientMessage(playerid,0xFF0000FF,"Du wählst die deutsche Sprache aus.");

    1. natives immer als Kommentare, heißt:
    /*native GetPlayerLanguage(playerid);
    native SetPlayerLanguage(playerid,Language[]);
    native SendLanguageMessage(playerid,color,English,German);
    native ShowPlayerLanguageDialog(playerid);
    native LoadDialog();/*
    // oder so, was aber schwachsinnig wäre

    2. forward nicht foeward:
    forward LoadDialog();
    3. Nur ein Tipp: Für normale Funktionen sollte man stocks verwenden (kann man ggf. auch weglassen), da sie schneller und ressourcenschonender sind. Positiver Nebeneffekt: Man braucht kein forward.


    //Edit: PlayerLanguage[playerid] = language) musst du zu PlayerLanguage[playerid] = language; ändern.
    Zeichenketten müssen immer beendet/geschlossen werden:
    SendClientMessage(playerid,0xFF0000FF,"Du wählst die deutsche Sprache aus.");

    Wer sagt, dass ein Klammerfehler immer 26 Error haben muss? Genauso müssen 26 Error nicht zwangsweise ein Klammerfehler sein, sondern können auch ein ganz anderer Fehler sein, da es nur die maximale Fehleranzahl die vom Compiler ausgespuckt wird ist.

    Junge! Das kann man auch anders sagen... Aber im Grunde hast du Recht.


    BTT:
    1. Das heißt IP nicht ID.
    2. Heißt das auch nicht Root ID sondern, ich vermute mal, dass du das meinst, den Port im Router.
    3. Ist der Server gestartet bzw. läuft der Server (schwarzes Serverfenster)?
    4. Poste uns mal die Serverlog-Datei.