Ich habe ein Vertrag-System gebastelt, welches mit PVars arbeitet (da diese in meinen Augen ihren Zweck gzt erfüllen).
In Form von mehreren Input-Dialogen werden die "Zeilen" des Vertrages zusammengefasst und am Ende angzeigt.
Das Funktioniert soweit auch einwandfrei.
Sobald ich den Vertrag letztendlich annehme und er in die Datenbank gespeichert wird, ist zwar alles da (User die den Vertrag eingegangen sind und das Datum),
jedoch fehlt der komplette Text des Vertrags!
Hier der Abschnitt wo der Vertrag gespeichert wird:
if(dialogid == DIALOG_VERTRAG5)
{
if(response)
{
SCM(playerid,WHITE,"Vertrag angenommen! Er wurde in der Datenbank gespeichert.");
SCM(VertragInfo[playerid][Partner],WHITE,"Der Vertrag wurde angenommen und in der Datenbank gespeichert.");
new gesstr[384];
new vz1[128],vz2[128],vz3[128];
GetPVarString(playerid,"vz1",vz1,sizeof(vz1));
GetPVarString(playerid,"vz2",vz2,sizeof(vz2));
GetPVarString(playerid,"vz3",vz3,sizeof(vz3));
format(gesstr,sizeof(gesstr),"%s %s %s",vz1,vz2,vz3);
new query[640],datum[64];
new Year, Month, Day, Mins, Hours, Secs;
getdate(Year, Month, Day);
gettime(Hours,Mins,Secs);
format(datum,sizeof(datum),"%02d/%02d/%d %02d:%02d:%02d", Day, Month, Year,Hours,Mins,Secs);
format(query, sizeof(query), "INSERT INTO `vertraglog` (`Ersteller`, `Partner`, `Datum`, `Text`) VALUES ('%s','%s','%s','%s')",SpielerName(VertragInfo[playerid][Partner]),SpielerName(playerid),datum,gesstr);
mysql_query(query);
DeletePVar(VertragInfo[playerid][Partner],"vz1");
DeletePVar(VertragInfo[playerid][Partner],"vz2");
DeletePVar(VertragInfo[playerid][Partner],"vz3");
VertragInfo[playerid][Zeile] = -1;
VertragInfo[playerid][Partner] = -1;
VertragInfo[VertragInfo[playerid][Partner]][Zeile] = -1;
VertragInfo[VertragInfo[playerid][Partner]][Partner] = -1;
return 1;
}
else
{
SCM(playerid,RED,"Vertrag abgebrochen!");
SCM(VertragInfo[playerid][Partner],WHITE,"Der Vertrag wurde abgelehnt.");
VertragInfo[playerid][Zeile] = -1;
VertragInfo[playerid][Partner] = -1;
VertragInfo[VertragInfo[playerid][Partner]][Zeile] = -1;
VertragInfo[VertragInfo[playerid][Partner]][Partner] = -1;
DeletePVar(VertragInfo[playerid][Partner],"vz1");
DeletePVar(VertragInfo[playerid][Partner],"vz2");
DeletePVar(VertragInfo[playerid][Partner],"vz3");
return 1;
}
}
P.S: In meiner Datenbank (Table = vertraglog) habe ich die die Column (Text nicht als VarChar, sondern als "TEXT()" angegeben!)