Dialog Fehler

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.
    Ich habe Ingame einen Befehl (/fahrlehrer), der soll alle aktiven Fahrlehrer anzeigen.
    Wenn ich Ingame Fahrlehrer bin, erscheint der Dialog. Doch wenn ein Freund Fahrlehrer ist und ich den Befehl ein tippe, kommt der Dialog nicht...


    Bitte um Hilfe!


    if(strcmp(cmdtext, "/fahrlehrer", true)==0)
    {
    new i = 0, aname[256];
    for(; i < MAX_PLAYERS; i++)
    {
    if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "Fahrlehrer %s [ID %d]\n", aname,playerid);
    ShowPlayerDialog(playerid, DIALOG_FAHR, DIALOG_STYLE_MSGBOX, "Fahrlehrer",string, "ok", "ok");
    }
    }
    return 1;
    }


    Mfg Oreo

  • if(strcmp(cmdtext, "/fahrlehrer", true)==0) {
    new i = 0, aname[20];
    for(;i < MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pMember] == 11 || PlayerInfo[i][pLeader] == 11)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string,sizeof(string), "Fahrlehrer %s [ID %d]\n", aname,i);
    ShowPlayerDialog(playerid, DIALOG_FAHR, DIALOG_STYLE_MSGBOX, "Fahrlehrer",string, "ok", "ok");
    }
    }
    return 1; }
    Versuch mal ;)


    /e
    Dazu, dein Array "aname" ist viel zu groß, niemand wird einen Namen haben, der 256 Zeichen lang ist. Mach den auf 15 - 20.

    2 Mal editiert, zuletzt von Winter ()

  • Danke klappt, nur habe ich noch ein Problem :)
    Wenn zwei Spieler Fahrlehrer sind, wird nur einer angezeigt ....

  • du musst den string auch immer neu formatieren, und am ende den dialog absenden

    if(strcmp(cmdtext, "/fahrlehrer", true)==0)
    {
    new i = 0, aname[256];
    for(; i < MAX_PLAYERS; i++)
    {
    if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "%sFahrlehrer %s [ID %d]\n",string,aname,playerid);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_FAHR, DIALOG_STYLE_MSGBOX, "Fahrlehrer",string, "ok", "");
    return 1;
    }

  • Jetzt wird das so angezeigt.
    Und unser Bot "trucker" ist auf einmal auch Fahrlehrer :D



  • if(strcmp(cmdtext, "/fahrlehrer", true)==0)
    {
    new i = 0, aname[256];
    for(; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerNPC(i))continue;
    if(PlayerInfo[i][pMember] == 11 || PlayerInfo[i][pLeader] == 11)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "%sFahrlehrer %s [ID %d]\n",string,aname,playerid);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_FAHR, DIALOG_STYLE_MSGBOX, "Fahrlehrer",string, "ok", "");
    return 1;
    }

  • Danke funktioniert :)
    Wie kann ich es nun noch machen, wenn kein Fahrlehrer Online ist, dass dem Spieler dies dann per SendClientMessage mitgeteilt wird?

  • setz einfach ne variable, die du bei jedem mal wenn ein fahrlehrer da ist, erhöhst, am ende fragst ab, ob sie 0 ist, also kein lehrer da gewesen.

    if(strcmp(cmdtext, "/fahrlehrer", true)==0)
    {
    new i = 0, aname[256],flehreron;
    for(; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerNPC(i))continue;
    if(PlayerInfo[i][pMember] == 11 || PlayerInfo[i][pLeader] == 11)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "%sFahrlehrer %s [ID %d]\n",string,aname,playerid);
    flehreron++;
    }
    }
    if(flehreron==0)return ShowPlayerDialog(playerid, DIALOG_FAHR, DIALOG_STYLE_MSGBOX, "Fahrlehrer","Es ist zur Zeit kein Fahrlehrer Online", "ok", "");
    ShowPlayerDialog(playerid, DIALOG_FAHR, DIALOG_STYLE_MSGBOX, "Fahrlehrer",string, "ok", "");
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen