Häuser laden nicht!

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


    ich schreibe momentan ein Haussystem, kann mir einer sagen, warum sie nicht geladen werden?


    stock LoadHouses()
    {
    mysql_query("SELECT * FROM `houses`");
    mysql_store_result();
    if(!mysql_num_rows()) return mysql_free_result();
    new data[100];
    for(new i=0; i<mysql_num_rows(); i++)
    {
    mysql_fetch_field_row("Besitzer",data);
    format(HouseInfo[i][Besitzer],32,"%s",data);
    strdel(data,0,100);
    mysql_fetch_field_row("Interior",data);
    HouseInfo[i][Interior]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Preis",data);
    HouseInfo[i][Preis]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("PosX",data);
    HouseInfo[i][Pos_X]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field_row("PosY",data);
    HouseInfo[i][Pos_Y]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field_row("PosZ",data);
    HouseInfo[i][Pos_Z]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Mietbar",data);
    HouseInfo[i][Mietbar]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Miete",data);
    HouseInfo[i][Miete]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Locked",data);
    HouseInfo[i][Locked]=strval(data);
    strdel(data,0,100);

    if(strcmp(HouseInfo[i][Besitzer],"Niemand",true,10)==0)
    {
    new hstr[64];
    format(hstr,64,"Besitzer: %s\nPreis: %i$",HouseInfo[i][Besitzer],HouseInfo[i][Preis]);
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(hstr,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    else
    {
    if(HouseInfo[i][Mietbar]==1)
    {
    new hstr[64];
    format(hstr,64,"Besitzer: %s\nMietbar: JA\n Mietpreis: %i$\nAbgeschlossen: %s",HouseInfo[i][Besitzer],HouseInfo[i][Miete],GetLocked(i));
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(hstr,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    else
    {
    new hstr[64];
    format(hstr,64,"Besitzer: %s\nMietbar: NEIN\nAbgeschlossen: %s",HouseInfo[i][Besitzer],GetLocked(i));
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(hstr,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    }
    }
    mysql_free_result();
    return 1;
    }

  • Es muss ein Fehler bei den mysql_fetch_field_row(); sein, denn mein Test, ergibt, dass alles als "0" geladen wird:

    &amp;amp;lt;-- Test
    ocmd:check(playerid,params[])
    {
    new string[128];
    for(new i=0; i<MAX_HOUSES; i++)
    {
    if(HouseInfo[i][slotUsed]==0)continue;
    format(string,128,"Besitzer:%s|Preis:%i$|Int:%i|PosX:%f|PosY:%f|PosZ:%f|Mietbar:%i|Miete:%i$|Locked:%i",HouseInfo[i][Besitzer],HouseInfo[i][Preis],HouseInfo[i][Interior],HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z],HouseInfo[i][Mietbar],HouseInfo[i][Miete],HouseInfo[i][Locked]);
    SendClientMessage(playerid,0xCCCCCCFF,string);
    }
    return 1;
    }



    MySQL Debug erkennt diese Sachen wohl ebenfalls alle als Leer:
    http://pastebin.com/rFURYeBi

  • Teste mal das hier aus
    stock LoadHouses()
    {
    new data[64];
    mysql_query("SELECT * FROM `houses`;");
    mysql_store_result();
    new rows = mysql_num_rows();
    if(row > 0)
    {
    for(new i = 0; i < row; i ++)
    {
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row("Besitzer",data); format(HouseInfo[i][Besitzer],32,"%s",data);
    mysql_fetch_field_row("Interior",data); HouseInfo[i][Interior]=strval(data);
    mysql_fetch_field_row("Preis",data); HouseInfo[i][Preis]=strval(data);
    mysql_fetch_field_row("PosX",data); HouseInfo[i][Pos_X]=floatstr(data);
    mysql_fetch_field_row("PosY",data); HouseInfo[i][Pos_Y]=floatstr(data);
    mysql_fetch_field_row("PosZ",data); HouseInfo[i][Pos_Z]=floatstr(data);
    mysql_fetch_field_row("Mietbar",data); HouseInfo[i][Mietbar]=strval(data);
    mysql_fetch_field_row("Miete",data); HouseInfo[i][Miete]=strval(data);
    mysql_fetch_field_row("Locked",data); HouseInfo[i][Locked]=strval(data);
    if(!strcmp(HouseInfo[i][Besitzer],"Niemand",true))
    {
    format(data,64,"Besitzer: %s\nPreis: %i$",HouseInfo[i][Besitzer],HouseInfo[i][Preis]);
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(data,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    else
    {
    if(HouseInfo[i][Mietbar]==1)
    {
    format(data,64,"Besitzer: %s\nMietbar: JA\n Mietpreis: %i$\nAbgeschlossen: %s",HouseInfo[i][Besitzer],HouseInfo[i][Miete],GetLocked(i));
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(data,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    else
    {
    format(data,64,"Besitzer: %s\nMietbar: NEIN\nAbgeschlossen: %s",HouseInfo[i][Besitzer],GetLocked(i));
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(data,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    }
    }
    }
    }
    mysql_free_result();
    return 1;
    }
    Sollte eigendlich so gehen


    //edit
    Sorry seh ich jetzt erst errors hab ich mal behoben ;)

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()