Das Problem ist das die Gutscheine nicht gespeichert werden gesprintet werden die beim Laden und Speichern steht aber immer 0/250.
SO erstelle ich ingame ein Gutschein "Sollte er in der Datenbank sein" ist aber leider nicht so warum auch immer habe denk ich mal alles richtig gemacht kann mir den Fehler auch nicht erklären warum die Gutscheine nicht gespeichert werden.
//E:
Speicherung:
while(gSchein<MAX_GUTSCHEINE && Gutschein[gSchein][gErstellt] != 0)
{
format(query,sizeof(query),"UPDATE "#DATENBANKTAG"_gutschein SET `Erstellt`='%d', `Ersteller`='%s', `Datum`='%s', `Ablauf`='%d',",
Gutschein[gSchein][gErstellt], Gutschein[gSchein][gErsteller], Gutschein[gSchein][gDatumErstellt], Gutschein[gSchein][gAblauf]);
strcat(mainquery,query);
format(query,sizeof(query),"`Code`='%s', `Typ`='%d', `Gebunden`='%d', `GebundenAn`='%s', `Eingeloest`='%d', `Wert`='%d', `Abgelaufen`='%d', `EingeloestVon`='%s' WHERE `id`='%d' ",
Gutschein[gSchein][gCode], Gutschein[gSchein][gTyp], Gutschein[gSchein][gGebunden], Gutschein[gSchein][gGebundenAn], Gutschein[gSchein][gEingeloest], Gutschein[gSchein][gWert], Gutschein[gSchein][gAbgelaufen], Gutschein[gSchein][gEingeloestVon], Gutschein[gSchein][gID],gSchein);
strcat(mainquery,query);
mysql_function_query(MySqlConnection,mainquery,false,"","");
strdel(mainquery,0,sizeof(mainquery));
strdel(query,0,sizeof(query));
gSchein++;
}
printf("- Gutschein gespeichert %d/%d -",gSchein-1,MAX_GUTSCHEINE);
strdel(query,0,sizeof(query));
Alles anzeigen
Laden:
case _SQL_GUTSCHEINE_LOAD:
{
cache_get_data(rows,fields);
new count = 0;
new gIDs = cache_get_field_content_int(count, "id");
if(rows)
{
while(count<=rows)
{
cache_get_field_content(count,"id",result);
Gutschein[gIDs][gID] = strval(result);
cache_get_field_content(count,"Ersteller",result);
Gutschein[gIDs][gErsteller] = strval(result);
cache_get_field_content(count,"Datum",result);
Gutschein[gIDs][gDatumErstellt] = strval(result);
cache_get_field_content(count,"Ablauf",result);
Gutschein[gIDs][gAblauf] = strval(result);
cache_get_field_content(count,"Code",result);
Gutschein[gIDs][gCode] = strval(result);
cache_get_field_content(count,"Typ",result);
Gutschein[gIDs][gTyp] = strval(result);
cache_get_field_content(count,"Gebunden",result);
Gutschein[gIDs][gGebunden] = strval(result);
cache_get_field_content(count,"GebundenAn",result);
Gutschein[gIDs][gGebundenAn] = strval(result);
cache_get_field_content(count,"Eingeloest",result);
Gutschein[gIDs][gEingeloest] = strval(result);
cache_get_field_content(count,"Wert",result);
Gutschein[gIDs][gWert] = strval(result);
cache_get_field_content(count,"Abgelaufen",result);
Gutschein[gIDs][gAbgelaufen] = strval(result);
cache_get_field_content(count,"EingeloestVon",result);
Gutschein[gIDs][gEingeloestVon] = strval(result);
count++;
}
}
printf("- Gutscheine %i/%i -",count,MAX_GUTSCHEINE);
return 1;
}
Alles anzeigen
Gutschein erstell Befehl:
if(strcmp(cmd,"Gutschein",true) == 0)
{
for(new i=1;i<MAX_GUTSCHEINE;i++)
{
if(Gutschein[i][gErstellt] != 1)
{
new pYear, pMonth, pDay, pHour, pMinute, pSecond, myCon;
format(query,sizeof(query),"INSERT INTO `"#DATENBANKTAG"_gutschein` (id) VALUES ('%d')",i);
mysql_function_query(myCon, query, false, "", "");
pCreateGutschein[playerid] = i;
Gutschein[i][gID] = i;
Gutschein[i][gErstellt] = 1;
Gutschein[i][gWert] = 0;
format(Gutschein[i][gErsteller], 16, "%s", Spieler[playerid][pName]);
strmid(Gutschein[i][gEingeloestVon], "-", 0, strlen("-"), 32);
getdate(pYear, pMonth, pDay);
gettime(pHour, pMinute, pSecond);
new value = gettime()+31536000;
Gutschein[i][gAblauf] = value;
format(Gutschein[i][gDatumErstellt], 32, "%02d.%02d.%02d %02d:%02d:%02d", pDay, pMonth, pYear, pHour, pMinute, pSecond);
format(Gutschein[i][gCode], 64, "%c%d%c%d-%c%d%c%d-%c%d%c%d",getRandomLetter(),getRandomNumber(10), getRandomLetter(),getRandomNumber(10),getRandomLetter(),getRandomNumber(10), getRandomLetter(),getRandomNumber(10),getRandomLetter(),getRandomNumber(10), getRandomLetter(),getRandomNumber(10));
Gutschein[i][gEingeloest] = 0;
ShowPlayerDialog(playerid, DIALOG_GUTSCHEIN1, DIALOG_STYLE_LIST, "Gutschein erstellen", ""HTML_WHITE"Gebundenen Gutschein erstellen\nUngebundenen Gutschein erstellen", "Auswählen", "Abbrechen");
return 1;
}
}
return SendClientMessage(playerid, GRAU, "Maximale Anzahl an Gutscheinen erreicht!");
}
return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /erstellen [Haus/Business/Schwarzmarkt/Gutschein]");
}
Alles anzeigen
Von wo er die Gutscheine laden soll:
mysql_function_query(MySqlConnection,"SELECT * FROM "#DATENBANKTAG"_gutschein",true,"OnQueryFinish","siii","SELECT * FROM "#DATENBANKTAG"_gutschein",_SQL_GUTSCHEINE_LOAD,0,MySqlConnection);