Gutschein System, 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 in meinem Gutschein System einen Fehler und weiß ganz ehrlich nicht, woher dieser kommt.

    enum e_Gutscheine
    {
    gID, //
    gErstellt, //
    gErsteller[MAX_PLAYER_NAME], //
    gDatumErstellt[16], //
    gAblauf[16],
    gCode[16],
    gTyp,
    gGebunden,
    gGebundenAn[32],
    gEingeloest
    };
    new Gutschein[e_Gutscheine][MAX_GUTSCHEINE];



    else if(strcmp(str, "Gutschein", true) == 0)
    {
    for(new i=1;i<MAX_GUTSCHEINE;i++)
    {
    if(Gutschein[i][gErstellt] != 1) // - Fehlerzeile
    {
    new pYear, pMonth, pDay, pHour, pMinute, pSecond;
    format(query, sizeof(query), "INSERT INTO `script_gutscheine` (id) VALUES ('%d')", i);
    mysql_function_query(myCon, query, false, "", "");
    pCreateGutschein[playerid] = i;
    Gutschein[i][gErstellt] = 1; // - Fehlerzeile
    strmid(Gutschein[i][gErsteller], GetName(playerid), 0, strlen(GetName(playerid)), 24); // - Fehlerzeile
    TimestampToDate(Gutschein[i][gDatumErstellt], pYear, pMonth, pDay, pHour, pMinute, pSecond, 2, 0); // - Fehlerzeile
    //strmid(Gutscheine[i][gCode], "%c%d%c%d-%c%d%c%d-%c%d%c%d", 0, getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), getRandomLetter(), random(10), 16);
    Gutschein[i][gEingeloest] = 0; // - Fehlerzeile
    ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN1, DIALOG_STYLE_LIST, "Gutschein erstellen", "Gebundenen Gutschein erstellen\nUngebundenen Gutschein erstellen", "Auswählen", "Abbrechen");
    }
    }
    return SendClientMessage(playerid, COLOR_GREY, "Maximale Anzahl an Gutscheinen erreicht!");
    }


    Code
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch


    Die Fehlerzeilen habe ich markiert.


    Gruß

  • Hast du eventuell schon einen anderen Enumerator, wo du diese Namen wie gErstellt usw verwendest? :huh:


    for(new i=1;i<MAX_GUTSCHEINE;i++)
    Wieso startest du hier i ab 1? o:


    Arrays beginnen in Pawn bei 0.

    ast2ufdyxkb1.png


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

  • dummer Denkfehler von mir, dankt euch.
    Weiß jemand von euch zufällig, warum meine Funktion keinen Sinn ergibt?

    Code
    warning 202: number of arguments does not match definition


    SaveGutschein(pCreateGutschein[playerid]);



    public SaveGutschein()
    {
    new count = 0, mainQuery[1537], secondQuery[256];
    for(new i=1;i<MAX_GUTSCHEINE;i++)
    {
    if(Gutschein[i][gErstellt] == 1)
    {
    format(secondQuery, sizeof(secondQuery), "UPDATE `script_gutscheine` SET `Erstellt`='%d', `Ersteller`='%s', `Datum`='%s', `Ablauf`='%s', ",
    Gutschein[i][gErstellt], Gutschein[i][gErsteller], Gutschein[i][gDatumErstellt], Gutschein[i][gAblauf]);
    strcat(mainQuery, secondQuery);
    format(secondQuery, sizeof(secondQuery), "`Code`='%s', `Typ`='%d', `Gebunden`='%d', `GebundenAn`='%s', `Eingeloest`='%d' WHERE `id`='%d' ",
    Gutschein[i][gCode], Gutschein[i][gTyp], Gutschein[i][gGebunden], Gutschein[i][gGebundenAn], Gutschein[i][gEingeloest], Gutschein[i][gID]);
    strcat(mainQuery, secondQuery);
    mysql_function_query(myCon, mainQuery, false, "", "");
    strdel(mainQuery, 0, sizeof(mainQuery));
    count++;
    }
    }
    printf("[SAVE] Gutscheine wurden gespeichert. (%d/%d)", count, MAX_GUTSCHEINE);
    return 1;
    }

  • SaveGutschein(pCreateGutschein[playerid]);

    Du übergibst eine Variable..dabei hat die Funktion keinen Parameter..also nur so schreiben (oder Funktion anpassen):


    SaveGutschein();

    ast2ufdyxkb1.png


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