Haussystem Probleme

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
  • Guten Tag Community,


    ich habe probleme mit meinem haussystem, ich wollte das mein Haussystem nur die erstellen Häuser speichert aber es speichert insgesamt 14 Häuser die garnicht erstellt sind.
    Und wenn ich das haus kaufe wird in der datenbank mein Name nicht eingetragen.


    Bitte hilft mir :/


    stock SaveHaus(haus)
    {
    if(Hauser[haus][pCreated] != 0 && haus !=0)
    {
    new query[256];
    format(query,sizeof(query),"UPDATE `Hauser` SET `Besitzer` = '%s' WHERE `id` = '%d'",Hauser[haus][pOwner],haus);
    mysql_query(query);
    printf("Es wurden %d Häuser gespeichert",haus);
    }
    return 1;
    }


    stock CreateHaus(hausid,Float:X,Float:Y,Float:Z,level,price)
    {
    Hauser[hausid][pOwner] = 0;
    Hauser[hausid][pPrice] = price;
    Hauser[hausid][pEnterX] = 0;
    Hauser[hausid][pEnterY] = 0;
    Hauser[hausid][pEnterZ] = 0;
    Hauser[hausid][pExitX] = X;
    Hauser[hausid][pExitY] = Y;
    Hauser[hausid][pExitZ] = Z;
    Hauser[hausid][pLevel] = level;
    Hauser[hausid][plock] = 1;
    Hauser[hausid][pInt] = 0;
    Hauser[hausid][pMieter] = 0;
    Hauser[hausid][pMiete] = 0;
    Hauser[hausid][pRentable] = 0;
    return 1;
    }


    ocmd:ch(playerid,params[])
    {
    for(new i = 0; i < MAX_HAUSER; i++)
    {
    if(Hauser_[pCreated] == 0)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO `haus` (`id`) VALUES ('%d')",i);
    mysql_query(query);
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    CreateHaus(i,X,Y,Z,1,0);
    SaveHaus(i);
    }
    }
    return 1;
    }
    ocmd:bh(playerid,params[])
    {
    for(new i = 0; i < MAX_HAUSER; i++)
    {
    if(Hauser[i][pCreated] == 1)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,24);
    strmid(Hauser[i][pOwner],name,0,strlen(name),24);
    SaveHaus(i);
    }
    }
    return 1;
    }

  • Ziemlich chaotische Variablen-Benennung hast du da.


    Versuch mal:
    Hauser[haus][pCreated] = 1;
    bei CreateHaus hinzuzufügen.


    An sich hast du aber noch einen weiten Weg vor dir, weil so wie das jetzt ist, erstellst du immer ALLE Häuser und kaufst auch immer ALLE auf einmal.

  • Er meint, dass du hier diese Variable nicht gesetzt hast:
    ocmd:ch(playerid,params[])
    {
    for(new i = 0; i < MAX_HAUSER; i++)
    {
    if(Hauser_[pCreated] == 0)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO `haus` (`id`) VALUES ('%d')",i);
    mysql_query(query);
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    CreateHaus(i,X,Y,Z,1,0);
    SaveHaus(i);
    }
    }
    return 1;
    }


    Mach das mal so:
    ocmd:ch(playerid,params[])
    {
    for(new i = 0; i < MAX_HAUSER; i++)
    {
    if(Hauser_[pCreated] == 0)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO `haus` (`id`) VALUES ('%d')",i);
    mysql_query(query);
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    CreateHaus(i,X,Y,Z,1,0);
    SaveHaus(i);
    Hauser_[pCreated]=1
    }
    }
    return 1;
    }

  • habe ich auch gemacht


    aber diese sachen funktionieren nicht:


    1.Er trägt nix in der Datenbank ein
    2.Er speichert irgendwie 14 ids obwohl er nur 1 speichern sollte.
    3.Beim kauf eines Hauses steht iregdnwie bei Besitzer garnix Leere Tabelle


    //edit


    Nach ch and bh siehts so aus

    Brauche noch HIlfe :/

    2 Mal editiert, zuletzt von Master147 ()