Dialoge werden irgendwie nicht aufgerufen

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, habe administrativ mal einen Befehl gebaut wo man einige Infos ändern kann wie z.B auch den Namen und das Alter



    Leider wird mir nur der 1. Dialog aufgerufen, alle weiteren leider nicht


    dann habe ich versucht es zu debuggen mit Prints aber es wird nicht geprintet


    vlt könnt ihr mir helfen Jeffry ne Nuss für dich :D
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_CHANGE_ANY)
    {
    new string[256],pID;
    pID = GetPVarInt(playerid,"changeID");
    if(response)
    {
    //SpielerName(pID),sInfo[pID][alter],sInfo[playerid][rang],sInfo[playerid][fraktion],sInfo[pID][treue]
    if(listitem == 0)
    {
    format(string,sizeof(string),"Gib bitte den neuen Namen von %s, Playerid %i ein!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_NAME_CHANGE,DIALOG_STYLE_INPUT,"Name ändern",string,"OK","Abbruch");
    printf("Namechange 1");
    return 1;
    }
    if(listitem == 1)
    {
    format(string,sizeof(string),"Gib bitte das neue Alter von %s, Playerid %i ein!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_AGE_CHANGE,DIALOG_STYLE_INPUT,"Alterswechsel",string,"OK","Abbruch");
    printf("Namechange 2");
    return 1;
    }
    }
    printf("Namechange Abbruch");
    }

    if(dialogid == DIALOG_NAME_CHANGE)
    {
    if(response)
    {
    //
    new string[256],pID;
    format(string,sizeof(string),"Du hast den Namen zu %s geändert!",inputtext);
    SendClientMessage(playerid,CL_GREEEN,string);
    SetPlayerName(pID,inputtext);
    changename(pID,inputtext);
    return 1;
    }
    else
    {
    return 1;
    }
    }

    if(dialogid == DIALOG_AGE_CHANGE)
    {
    if(response)
    {
    //
    new string[256],pID;
    pID = GetPVarInt(playerid,"changeID");
    new input = strval(inputtext);
    if(input <= 3) {

    format(string,sizeof(string),"Du hast das Alter zu %i geändert",input);
    SendClientMessage(playerid,CL_GREEEN,string);
    format(string,sizeof(string),"%s hat dein Alter aktualisiert;%i",input);
    SendClientMessage(pID,CL_GREEEN,string);
    sInfo[pID][alter] = inputtext[256];
    format(string,sizeof(string),"UPDATE user SET alter='%i' WHERE username='%s' AND id='%i'",input,SpielerName(pID),sInfo[pID][db_id]);
    mysql_function_query(dbhandle,string,false,"","");
    return 1;
    }
    else
    {
    format(string,sizeof(string),"Gib bitte das neue Alter von %s, Playerid %i ein! MAX 2 stellig!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_AGE_CHANGE,DIALOG_STYLE_INPUT,"Alterswechsel",string,"OK","Abbruch");
    }


    }
    else
    {
    return 1;
    }
    }


    und der befehl



    ocmd:changeme(playerid,params[])
    {
    new pID,string[1024];
    if(!isAdmin(playerid,9))
    {
    if(sscanf(params,"i",pID)) return SendClientMessage(playerid,RED,"Benutze /changeme [PID vom Spieler]");
    SetPVarInt(playerid,"changeID",pID);
    format(string,sizeof(string),"Name ändern (Aktuell %s)\nAlter ändern (Aktuell %i)\nFraktionsrang (Aktuell %i)\nFraktion (Aktuell %i)\nTreuepunkte (Aktuell %i)",
    SpielerName(pID),sInfo[pID][alter],sInfo[playerid][rang],sInfo[playerid][fraktion],sInfo[pID][treue]);
    ShowPlayerDialog(playerid,DIALOG_CHANGE_ANY,DIALOG_STYLE_LIST,"Ändern allgemeiner Statistiken",string,"OK","Abbruch");
    }
    else
    {
    SendClientMessage(playerid,RED,"ACHTUNG, das Ändern einer Einstellung kostet dich 50.000$, ausgenommen ist das Alter!");
    format(string,sizeof(string),"Name ändern (Aktuell %s)\nAlter ändern (Aktuell %i)",
    SpielerName(pID),sInfo[pID][alter]);
    ShowPlayerDialog(playerid,DIALOG_CHANGE_ME,DIALOG_STYLE_LIST,"Ändern eigener Statistiken",string,"OK","Abbruch");
    return 1;
    }

    return 1;
    }