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,


    habe jetzt ein ganz neues Haussystem geschrieben aber bei dem ist es so das wenn ich MAXIMAL nur 15 Häuser erstellen kann direkt beim createhaus 14 erstellt werden ich möchte aber das bei dem Befehl nur 1 Haus erstellt wird.


    saveHausToDB(hausid)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO haus (besitzer,created,Enx,Eny,EnZ,preis,level) VALUES ('%i','%i','%f','%f','%f','%i','%i')",hInfo[hausid][hBesitzer],hInfo[hausid][hCreated],hInfo[hausid][h_enx],hInfo[hausid][h_eny],hInfo[hausid][h_enz],hInfo[hausid][hPreis],hInfo[hausid][hLevel]);
    mysql_function_query(dbhandle,query,true,"hausSavedToDB","i",hausid);
    return 1;
    }
    public hausSavedToDB(hausid)
    {
    hInfo[hausid][hID]=cache_insert_id(dbhandle);
    return 1;
    }
    createhaus(Float:X,Float:Y,Float:Z,Preis,Level)
    {
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(hInfo[i][hCreated]!=0)continue;
    hInfo[i][hBesitzer] = 0;
    hInfo[i][hPreis] = Preis;
    hInfo[i][hLevel] = Level;
    hInfo[i][h_enx] = X;
    hInfo[i][h_eny] = Y;
    hInfo[i][h_enz] = Z;
    hInfo[i][hCreated] = 1;
    hInfo[i][hOwned] = 0;
    new string[128];
    format(string,sizeof(string),"Das Haus hInfo[%i] wurde erstellt.",i);
    SendClientMessageToAll(COLOR_RED,string);
    saveHausToDB(i);
    }
    }
    ocmd:ch(playerid,params[])
    {
    new preis,level;
    if(sscanf(params,"ii",preis,level))return SendClientMessage(playerid,COLOR_RED,"LOL");
    for(new i = 0; i<sizeof(hInfo); i++)
    {
    if(hInfo[i][hCreated]!=0)continue;
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    createhaus(X,Y,Z,preis,level);
    }
    return 1;
    }


    Ich hoffe jemand kann mir helfen


    MfG


    Master

  • createhaus(Float:X,Float:Y,Float:Z,Preis,Level)
    {
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(hInfo[i][hCreated]!=0)continue;
    hInfo[i][hBesitzer] = 0;
    hInfo[i][hPreis] = Preis;
    hInfo[i][hLevel] = Level;
    hInfo[i][h_enx] = X;
    hInfo[i][h_eny] = Y;
    hInfo[i][h_enz] = Z;
    hInfo[i][hCreated] = 1;
    hInfo[i][hOwned] = 0;
    new string[128];
    format(string,sizeof(string),"Das Haus hInfo[%i] wurde erstellt.",i);
    SendClientMessageToAll(COLOR_RED,string);
    saveHausToDB(i);
    return 1;//<<--- schleife wird beendet nachdem ein haus erstellt wurde
    }
    }


    ocmd:ch(playerid,params[])
    {
    new preis,level;
    if(sscanf(params,"ii",preis,level))return SendClientMessage(playerid,COLOR_RED,"LOL");
    for(new i = 0; i<sizeof(hInfo); i++)//und hier ist die schleife überflüssig?
    {
    if(hInfo[i][hCreated]!=0)continue;
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    createhaus(X,Y,Z,preis,level);
    }
    return 1;
    }

    Einmal editiert, zuletzt von Tround ()