Hausproblem

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
  • 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

  • Ich denke du hast die Datenbankstruktur von MrMonatHD.


    Deswegen machst du aus


    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]);


    das hier:


    format(query,sizeof(query),"UPDATE house SET besitzer='%i', h_preis='%i' WHERE id='%i'",hInfo[id][h_besitzerid],hInfo[id][h_preis],hInfo[id][h_id]);


    Musst das halt noch setzen lassen, zeig uns mal deine Datenbankstruktur.


    mfg :thumbup:

  • ne beim Haussystem verwende ich momentan noch einen String


    enum hausenum
    {
    Float:h_x,
    Float:h_y,
    Float:h_z,
    Float:h_ix,
    Float:h_iy,
    Float:h_iz,
    h_interior,
    h_besitzer[MAX_PLAYER_NAME],
    h_preis,
    h_id,
    h_pickup,
    Text3D:h_text
    }




    Müsste doch eigentlich funktionieren oder nicht?
    Bitte um Hilfe..!

    Einmal editiert, zuletzt von IceWave () aus folgendem Grund: Code angehängt