Beiträge von CptSky_

    Jeffry:


    Du hast meine Frage nicht verstanden, wenn ich einen Gutschein erstelle der die ID 0 trägt klappt alles.
    aber wenn ich noch 2-4 weitere erstelle und die eingeben möchte klappt dies nicht dann kommt das dieser Gutschein nicht existiert.

    Jeffry:


    Also wenn ich z.B. 5 Gutscheine erstelle und dann die ID 3 haben möchte sagt er mir das der Gutschein nicht existiert :o


    Immomenter Code:


    case DIALOG_GUTSCHEIN:
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN,DIALOG_STYLE_INPUT,"Gutschein einlösen","Gib im unteren Eingabe-Feld deinen Gutscheincode ein:","Absenden","Abbrechen");
    return 1;
    }
    new string[200];
    for(new i=0; i<sizeof(Gutschein); i++)
    {
    if(Gutschein[i][ID] == 0)continue;
    if(Gutschein[i][Vorhanden] != 1)continue;
    if(Gutschein[i][Gutscheincode] == strval(inputtext))
    {
    format(string,sizeof(string),"Hier werden dir kurze Informationen über dein Gutscheincode gegeben.\n\nName: %s\nCode: %d\nBeschreibung: %s\n",GetName(playerid),Gutschein[i][Gutscheincode],GetPremiumStatus(Gutschein[i][Gutscheintyp]));
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_INFORMATIONEN,DIALOG_STYLE_MSGBOX,"Gutschein Information",string,"Einlösen","Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_KEINS, DIALOG_STYLE_MSGBOX,"Gutschein existiert nicht", "\nEs wurde unter den angegebenen Code kein gültiger Gutschein gefunden.\n","Schließen","");
    return 1;
    }
    }
    }
    if(!response)
    {
    return 1;
    }
    }

    Jeffry:


    Danke alles funktioniert nun.



    //e


    Jeffry:


    Nun das klappt aber ich kann den Gutschein so oft wie ich will eingeben & einlösen.
    Und es wird nur die ID = 0 ausgelesen.



    case DIALOG_GUTSCHEIN:
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN,DIALOG_STYLE_INPUT,"Gutschein einlösen","Gib im unteren Eingabe-Feld deinen Gutscheincode ein:","Absenden","Abbrechen");
    return 1;
    }
    new string[200];
    for(new i=0; i<sizeof(Gutschein); i++)
    {
    if(Gutschein[i][Gutscheincreate] == 0)continue;
    if(Gutschein[i][Gutscheincode] != strval(inputtext))continue;
    if(Gutschein[i][Vorhanden] == 1)
    {
    format(string,sizeof(string),"Hier werden dir kurze Informationen über dein Gutscheincode gegeben.\n\nName: %s\nCode: %d\nBeschreibung: %s\n",GetName(playerid),Gutschein[i][Gutscheincode],GetPremiumStatus(Gutschein[i][Gutscheintyp]));
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_INFORMATIONEN,DIALOG_STYLE_MSGBOX,"Gutschein Information",string,"Einlösen","Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_BEREITS, DIALOG_STYLE_MSGBOX,"Gutschein bereits eingelöst", "\nEs wurde bereits dieser Gutscheincode eingelöst.\n","Schließen","");
    return 1;
    }
    }
    }
    if(!response)
    {
    return 1;
    }
    }

    Danke Jeffry:


    Nun wenn ich mein Gutscheincode eingebe klappt alles wunderbar.
    Aber wenn ich jetzt irgendwas eingebe was den Gutscheincode nicht gleich ist.
    Wird er trozdem erkannt und ich kann mehrere Gutscheine einlösen obwohl ich den Code nicht weiss.



    Gutschein:


    case DIALOG_GUTSCHEIN:
    {
    if(response == 0)return 1;
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN,DIALOG_STYLE_INPUT,"Gutschein einlösen","Gib im unteren Eingabe-Feld deinen Gutscheincode ein:","Absenden","Abbrechen");
    return 1;
    }
    for(new g=0;g<MAX_GUTSCHEIN;g++)
    {
    if(Gutschein[g][Gutscheincreate] == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_KEINS, DIALOG_STYLE_MSGBOX,"Gutschein existiert nicht", "\nEs wurde unter den angegebenen Code kein gültiger Gutschein gefunden.\n","Schließen","");
    return 1;
    }
    else
    {
    if(Gutschein[g][Vorhanden] == 0)
    {
    new string[150],gutscheinnn[22];
    switch(Gutschein[g][Gutscheintyp])
    {
    case 1:{gutscheinnn = "Premium (7 Tage)";}
    case 2:{gutscheinnn = "Premium (14 Tage)";}
    case 3:{gutscheinnn = "Premium (permanent)";}
    case 4:{gutscheinnn = "Respektpunkte (4 RP)";}
    case 5:{gutscheinnn = "Respektpunkte (8 RP)";}
    case 6:{gutscheinnn = "Respektpunkte (12 RP)";}
    case 7:{gutscheinnn = "Geld (7.500$)";}
    case 8:{gutscheinnn = "Geld (15.000$)";}
    case 9:{gutscheinnn = "Geld (25.000$)";}
    }
    format(string,sizeof(string),"Hier werden dir kurze Informationen über dein Gutscheincode gegeben.\n\nName: %s\nCode: %d\nBeschreibung: %s\n",GetName(playerid),Gutschein[g][Gutscheincode],gutscheinnn);
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_INFORMATIONEN,DIALOG_STYLE_MSGBOX,"Gutschein Information",string,"Einlösen","Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_BEREITS, DIALOG_STYLE_MSGBOX,"Gutschein bereits eingelöst", "\nEs wurde bereits dieser Gutscheincode eingelöst.\n","Schließen","");
    return 1;
    }
    }
    }
    return 1;
    }
    if(!response)
    {
    return 1;
    }
    }

    Habe das nun so gemacht, aber dies geht immernoch nicht :/


    format(query, sizeof(query), "UPDATE `script_gutscheine` SET `Vorhanden` = '1', `EingeloestName` = '%s' WHERE `ID` = '%s'",GetName(playerid));
    mysql_function_query(myCon, query, false, "", "");

    Danke Jeffry: das geht nun.
    Aber jetzt wenn ich meinen Gutschein eingelöst habe kommt eine neue Spalte in meine Datenbank und wo eig.. bei mein eingelösten Gutschein Niemand stehht soll eig.. mein Name stehen.



    Gutschein einkösen:


    case 1: // Premium (7 Tage)
    {
    new query[128];
    mysql_format(myCon, query, sizeof(query), "INSERT INTO `script_gutscheine` (Vorhanden, EingeloestName) VALUES ('%s', '%e')",1,GetName(playerid));
    mysql_tquery(myCon, query, "", "");
    Spieler[playerid][pPremium] = 1;
    Spieler[playerid][pPremiumTage] = gettime()+(86400*7);
    format(string,sizeof(string),"Du hast erfolgreich deinen Gutscheincode {40A5FE}Premium (7 Tage){FFFFFF} eingelöst.\n");
    ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN_EINGELOEST, DIALOG_STYLE_MSGBOX, "Gutschein eingelöst",string, "Schließen", "");
    return 1;
    }

    Hallo,


    Und zwar speichert er kein nicht den Gutscheincode sowie die anderen Sachen ab.
    Ich habe keine ahnung mehr wie ich dies noch machen könnte.
    Ich benutze das MySQL Plugin R39-2.


    Code:


    case DIALOG_GUTSCHEINCR:
    {
    for(new g=1;g<MAX_GUTSCHEIN;g++)
    {
    if(listitem==0)
    {
    new GutscheinAlle = Gutschein[g][Gutscheincode] = random(888888888) + random(111111111);
    new query[128],string[128];
    mysql_format(myCon, query, sizeof(query), "INSERT INTO `script_gutscheine` (Gutscheincode, Vorhanden, EingeloestName, Gutscheintyp) VALUES ('%d', '%d','Niemand', '%d')",GutscheinAlle,Gutschein[g][Vorhanden] = 0,Gutschein[g][Gutscheintyp] = 1);
    mysql_tquery(myCon, query, "", "");
    SendClientMessage(playerid, COLOR_WHITE, "Du hast erfolgreich einen Gutscheincode {40A5FE}Premium (7 Tage){FFFFFF} erstellt.");
    format(string,sizeof(string),"Dieser Gutschein {40A5FE}(%d){FFFFFF} ist sofort verwendbar.",GutscheinAlle);
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
    }
    }
    return 1;
    }


    ich hoffe es kann mir einer weiterhelfen.


    Jeffry:


    Mfg