ID 0 Fehler ... Bekomm ihn nicht weg

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
  • Hey Co,


    Dieser Fehler tritt nur bei ID 0 auf, was soll ich tun:


    Also wenn ich takesupports schreibe, und ich id 0 bin wird meine eigene id genommen...


    if(dialogid == DIALOG_SUPS) {
    if(response) {
    new supstr[256];
    for(new i; i < MAX_PLAYERS; i++) {
    if(Support[i][id] == listitem) {
    PlayerInfo[playerid][supid] = Support[i][id], PlayerInfo[playerid][sup_pid] = Support[i][pid];
    format(supstr,sizeof(supstr),"Spieler %s hat folgenden Inhalt geschrieben:\n%s",PlayerInfo[i][_name],Support[i][stext]);
    ShowPlayerDialog(playerid,DIALOG_SUPDET,DIALOG_STYLE_MSGBOX,"Supportticket annehmen:",supstr,"Annehmen","Ablehnen");
    break;
    }
    }
    }
    }
    if (dialogid == DIALOG_SUPDET) {
    new player = PlayerInfo[playerid][sup_pid], msg[128];

    if(player == -1) return SendClientMessage(playerid,white,"["html_red"Fehler"html_white"]: Es ist ein Fehler aufgetreten, bitte melden sie das umgehend!");

    Support[player][angenommen] = true;
    Support[player][supporterid] = playerid;
    format(msg,sizeof(msg),"["html_white"Support"html_lightblue"]: Admin %s hat dein Ticket angenommen. Du kannst nun über /sup(port) mit ihm schreiben!",PlayerInfo[playerid][_name]), SendClientMessage(player,lightblue,msg);
    format(msg,sizeof(msg),"["html_white"Support"html_lightblue"]: Du hast das Ticket von %s angenommen!",PlayerInfo[player][_name]), SendClientMessage(playerid,lightblue,msg);
    format(msg,sizeof(msg),"["html_white"Support"html_lightblue"]: Nachricht: %s", Support[player][stext]), SendClientMessage(playerid,lightblue,msg);
    }


    So dennoch dürfte es nicht id 0 sein sonder hier in dem falle id 1 wennich id 0 bin und id 1 supporter ist geht alle swunderbar?

  • Vielleicht probierst du das mal so aus.
    if(dialogid == DIALOG_SUPS) {
    if(response) {
    new supstr[256];
    for(new i; i < MAX_PLAYERS; i++) {
    if(Support[i][id] != listitem)continue;
    PlayerInfo[playerid][supid] = Support[i][id], PlayerInfo[playerid][sup_pid] = Support[i][pid];
    format(supstr,sizeof(supstr),"Spieler %s hat folgenden Inhalt geschrieben:\n%s",PlayerInfo[i][_name],Support[i][stext]);
    ShowPlayerDialog(playerid,DIALOG_SUPDET,DIALOG_STYLE_MSGBOX,"Supportticket annehmen:",supstr,"Annehmen","Ablehnen");
    }
    }
    return 1;
    }


  • die variable player wird ja gesettet in der for schleife das supportsystem geht ja auch nur als id 0 gehts halt nicht

  • Mach bei der Schleife anstatt "new i;" ein "new i=0;"


    Das macht keinen Unterschied in Pawn, da hier Variablen mit 0x0 automatisch initialisiert werden.


    @NicoWiss:
    Mach doch einfach einen print-Debug, dann weißt du wo dein Fehler liegt :whistling:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das bringt dir in dem Fall, das du ID 0 mit einer anderen vergleichen kannst und dann siehst was bei ID 0 anders gemacht wird als bei der anderen ID und dadurch kannst du den Fehler evtl. reproduzieren bzw. weißt dann ungefähr wo das Problem auftritt und ab da an kannst du dem Problem Stück für Stück nach gehen.