Hi, und zwar habe ich jetzt auf einmal das Problem, dass der Besitzer nicht in die Datenbank geschrieben wird.
Und zwar wenn ich das Haus kaufe. Das Textlabel wird erstellt mit dem Besitzernamen.
ocmd:hauskaufen(playerid,params[])
{
if(hatPlayerHaus(playerid))return SendClientMessage(playerid,ROT,"Du hast bereits ein Haus!");
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
if(!strlen(hInfo[i][h_besitzer]))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(GetPlayerMoney(playerid)<hInfo[i][h_preis])return SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld!");
GivePlayerMoney(playerid,-hInfo[i][h_preis]);
strmid(hInfo[i][h_besitzer],name,0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
updateHaus(i);
saveHaus(i);
return 1;
}
return SendClientMessage(playerid,ROT,"Das Haus steht nicht zum Verkauf!");
}
return 1;
}
Das passiert unter updateHaus, wo hInfo[i][h_besitzer] abgefragt wird. das selbe mach ich beim speichern in die DB, funktioniert aber nicht.
saveHaus(id)
{
new query[128];
format(query,sizeof(query),"UPDATE house SET besitzer='%s', h_preis='%i' WHERE id='%i'",hInfo[id][h_besitzer],hInfo[id][h_preis],hInfo[id][h_id]);
mysql_function_query(dbverbindung, query, false,"","");
return 1;
}
Typ des Feldes besitzer ist varchar max. Länge ist auf 35