Haussystem: Es wird nur das erste Haus geladen

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
  • Ich bin gerade dabei ein Dynamisches Haussytem mit MySQL zu errichten. Ich habe derzeit das Problem, das nur das erste Haus geladen wird.


    server_log.cfg:
    https://picload.org/view/dcolwwwl/hauscheck.png.html


    public OnHausLoaded() // Hier Lade ich die vorhanden Häuser der Datenbank

    new rows;
    cache_get_row_count(rows);
    for(new i = 0; i != rows; i++)
    {
    cache_get_value_name_int(0, "ID", HausInfo[i][h_id]);
    cache_get_value_name(0, "besitzer", HausInfo[i][hBesitzer]);
    cache_get_value_name_float(0, "coordsX", HausInfo[i][hX]);
    cache_get_value_name_float(0, "coordsY", HausInfo[i][hY]);
    cache_get_value_name_float(0, "coordsZ", HausInfo[i][hZ]);
    cache_get_value_name_float(0, "coordsFA", HausInfo[i][hFA]);
    cache_get_value_name_float(0, "coordsX2", HausInfo[i][hX2]);
    cache_get_value_name_float(0, "coordsY2", HausInfo[i][hY2]);
    cache_get_value_name_float(0, "coordsZ2", HausInfo[i][hZ2]);
    cache_get_value_name_float(0, "coordsFA2", HausInfo[i][hFA2]);
    cache_get_value_name_int(0, "preis", HausInfo[i][hPreis]);
    cache_get_value_name_int(0, "interior", HausInfo[i][hInterior]);
    cache_get_value_name_int(0, "free", HausInfo[i][hFree]);
    cache_get_value_name_int(0, "vermietet", HausInfo[i][hVermietet]);
    cache_get_value_name_int(0, "mietpreis", HausInfo[i][hMietpreis]);
    cache_get_value_name(rows, "mieter", HausInfo[i][hMieter]);
    HausInfo[i][hLoggedIn] = true;
    new freehouse, str[128];
    if(HausInfo[i][hFree] == 0)
    {
    freehouse = 1272;
    if(HausInfo[i][hVermietet] == 0)
    {
    format(str, sizeof(str), "Besitzer: %s\nMieter: %s",HausInfo[i][hBesitzer], HausInfo[i][hMieter]);
    }
    else
    {
    format(str, sizeof(str), "Besitzer: %s\nMietpreis: %d\n/renthouse - Haus mieten",HausInfo[i][hBesitzer], HausInfo[i][hMietpreis]);
    }
    haus3DText[i] = Create3DTextLabel(str, COLOR_RED,HausInfo[i][hX], HausInfo[i][hY], HausInfo[i][hZ], 5.0, 0, 1 );
    }
    else
    {
    freehouse = 1273;
    format(str, sizeof(str), "Haus zu Verkaufen\nKaufpreis: %d\n/buyhouse - Haus kaufen",HausInfo[i][hPreis]);
    haus3DText[i] = Create3DTextLabel(str, COLOR_GREEN,HausInfo[i][hX], HausInfo[i][hY], HausInfo[i][hZ], 5.0, 0, 1 );
    }
    hausPickup[i] = CreatePickup(freehouse, 0, HausInfo[i][hX], HausInfo[i][hY], HausInfo[i][hZ]);
    printf("LOAD: Haus[%d] | X[%f] | Y[%f] | Z[%f] | Int[%d]", HausInfo[i][h_id], HausInfo[i][hX], HausInfo[i][hY], HausInfo[i][hZ], HausInfo[i][hInterior]);
    }
    printf("[HAUSSYSTEM] Es wurden %i Häuser geladen.", rows);
    return 1;


    OCMD:createhouse // Hiermit erstelle ich InGame ein Haus
    if(SpielerInfo[playerid][pAdmin] == 1338)
    {
    new interior, preis, str[128];
    format(str, sizeof(str), "Nutze /createhouse [InteriorID 0-%d] [Kaufpreis]",hausInteriors);
    if(sscanf(params,"ii",interior, preis) || interior >= sizeof(hausInterior)){ return SendClientMessage(playerid,COLOR_GREY,str); }
    if(preis < 0) return SendClientMessage(playerid, COLOR_GREY, "Sie müssen einen Preis für das Haus wählen, welcher über null liegt.");
    for(new i = 0; i != MAX_HAUS; i++)
    {
    if(HausInfo[i][h_id] == 0)
    {
    new Float:X,Float:Y,Float:Z,Float:FA,query[512];
    GetPlayerPos(playerid,X, Y, Z);
    GetPlayerFacingAngle(playerid, FA);
    HausInfo[i][hPreis] = preis;
    HausInfo[i][hInterior] = interior;
    HausInfo[i][hX] = X;
    HausInfo[i][hY] = Y;
    HausInfo[i][hZ] = Z;
    HausInfo[i][hFA] = FA;
    HausInfo[i][hX2] = hausInterior[HausInfo[i][hInterior]][iX];
    HausInfo[i][hY2] = hausInterior[HausInfo[i][hInterior]][iY];
    HausInfo[i][hZ2] = hausInterior[HausInfo[i][hInterior]][iZ];
    HausInfo[i][hFA2] = hausInterior[HausInfo[i][hInterior]][iFA];
    mysql_format(handle, query, sizeof(query), "INSERT INTO haus (coordsX, coordsY, coordsZ, coordsFA, coordsX2, coordsY2, coordsZ2, coordsFA2, preis, free, interior) VALUES ('%f','%f','%f','%f','%f','%f','%f','%f','%i','1','%i')", X,Y,Z,FA,hausInterior[HausInfo[i][hInterior]][iX],hausInterior[HausInfo[i][hInterior]][iY],hausInterior[HausInfo[i][hInterior]][iZ],hausInterior[HausInfo[i][hInterior]][iFA],HausInfo[i][hPreis],HausInfo[i][hInterior]);
    mysql_pquery(handle, query, "OnHausRegister", "dd",playerid, i);
    return 1;
    }
    }
    printf("[HAUSSYSTEM] Die maximale Häuseranzahl ist erreicht, erhöhen sie *MAX_HAUS* !");
    SendClientMessage(playerid, COLOR_RED, "[HAUSSYSTEM] Die maximale Häuseranzahl ist erreicht, erhöhen sie *MAX_HAUS* !");
    }
    return 1;


    OnHausRegister(playerid, hid) // Hier füge ich das erstellte Haus in der Datenbank ein
    new str[256];
    HausInfo[hid][h_id] = cache_insert_id();
    HausInfo[hid][hLoggedIn] = true;
    format(str, sizeof(str), "[HAUSSYSTEM] Haus[%d] wurde erfolgreich mit dem Interior[%d] erstellt, es steht nun für %d$ zum Verkauf bereit.",HausInfo[hid][h_id], HausInfo[hid][hInterior], HausInfo[hid][hPreis]);
    SendClientMessage(playerid, COLOR_GREEN, str);
    printf("[HAUSSYSTEM] Admin %s hat ein Haus[%d/INT:%d] für %d$ erstellt.", SpielerInfo[playerid][pName], HausInfo[hid][h_id], HausInfo[hid][hInterior], HausInfo[hid][hPreis]);
    return 1;


    In bedanke mich für jede Hilfe, die mir weiterhilft :thumbup:


    MFG
    EllBundy