Problem mit Schleife

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
  • Hallo,
    Ich habe ein problem mit einer Schleife, hier erstmal der Code:
    public Hausladen()
    {
    for(new z = 1; z < 50; z++)
    {
    new ZD[64];
    format(ZD,sizeof(ZD),"/Haus/%d.txt",z);
    if(dini_Exists(ZD))
    {
    HausInfo[z][Hausx] = dini_Float(ZD,"Hausx");
    HausInfo[z][Hausy] = dini_Float(ZD,"Hausy");
    HausInfo[z][Hausz] = dini_Float(ZD,"Hausz");
    format(HausInfo[z][Besitzer],32,"%s",dini_Get(ZD,"Besitzer"));
    HausInfo[z][InnenraumID] = dini_Int(ZD,"InnenraumID");
    HausInfo[z][HausPreis] = dini_Int(ZD,"Preis");
    HausInfo[z][HausLevel] = dini_Int(ZD,"Level");
    HausInfo[z][gekauft] = dini_Int(ZD,"gekauft");
    HausInfo[z][mietbar] = dini_Int(ZD,"mietbar");
    HausInfo[z][MietPreis] = dini_Int(ZD,"MietPreis");
    HausInfo[z][Mieter] = dini_Int(ZD,"Mieter");
    HausInfo[z][verschlossen] = dini_Int(ZD,"verschlossen");
    HausInfo[z][MAXMIETER] = dini_Int(ZD,"MAXMIETER");
    DestroyPickup(HausInfo[z][haus_pickup]);
    Delete3DTextLabel(HausInfo[z][haus_label]);
    new string1[128];
    new string2[128];
    new string3[128];
    new string4[128];
    new string5[128];
    new stringall[256];
    new stringall1[256];
    new stringggg[32];
    if(HausInfo[z][gekauft] == 0)
    {
    format(string1,sizeof(string1),"Preis: %d$",HausInfo[z][HausPreis]);
    format(string2,sizeof(string2),"Level: %d",HausInfo[z][HausLevel]);
    format(stringall,sizeof(stringall),"%s\n%s\nBenutze /hauskaufen um das \nHaus zu erwerben",string1,string2);
    HausInfo[z][haus_label] = Create3DTextLabel(stringall,COLOR_RED,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz],15.0,0,1);
    DestroyPickup(HausInfo[z][haus_pickup]);
    HausInfo[z][haus_pickup] = AddStaticPickup(1273,1,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz]);
    format(stringggg,sizeof stringggg,"Haus %i wurde erstellt!",z);
    print(stringggg);
    }
    else
    {
    if(HausInfo[z][mietbar] == 1)
    {
    if(HausInfo[z][verschlossen] == 1)
    {
    format(string3,sizeof(string3),"Besitzer: %s",HausInfo[z][Besitzer]);
    format(string4,sizeof(string4),"Mietpreis: %d$",HausInfo[z][MietPreis]);
    format(string5,sizeof(string5),"Freie Zimmer: %d",HausInfo[z][MAXMIETER]-HausInfo[z][Mieter]);
    format(stringall1,sizeof(stringall1),"%s\n%s\n%s\nBenutze /rentroom um dich einzumieten",string3,string4,string5);
    Delete3DTextLabel(HausInfo[z][haus_label]);
    DestroyPickup(HausInfo[z][haus_pickup]);
    HausInfo[z][haus_label] = Create3DTextLabel(stringall1,COLOR_RED,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz],15.0,0,1);
    HausInfo[z][haus_pickup] = AddStaticPickup(1239,1,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz]);
    }
    else
    {
    format(string3,sizeof(string3),"Besitzer: %s",HausInfo[z][Besitzer]);
    format(string4,sizeof(string4),"Mietpreis: %d$",HausInfo[z][MietPreis]);
    format(string5,sizeof(string5),"Freie Zimmer: %d",HausInfo[z][MAXMIETER]-HausInfo[z][Mieter]);
    format(stringall1,sizeof(stringall1),"%s\n%s\n%s\nBenutze /rentroom um dich einzumieten",string3,string4,string5);
    Delete3DTextLabel(HausInfo[z][haus_label]);
    DestroyPickup(HausInfo[z][haus_pickup]);
    HausInfo[z][haus_label] = Create3DTextLabel(stringall1,COLOR_GREEN,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz],15.0,0,1);
    HausInfo[z][haus_pickup] = AddStaticPickup(1239,1,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz]);
    }
    return 1;
    }
    else
    {
    if(HausInfo[z][verschlossen] == 1)
    {
    format(string3,sizeof(string3),"Besitzer: %s",HausInfo[z][Besitzer]);
    format(stringall1,sizeof(stringall1),"%s\n",string3);
    Delete3DTextLabel(HausInfo[z][haus_label]);
    DestroyPickup(HausInfo[z][haus_pickup]);
    HausInfo[z][haus_label] = Create3DTextLabel(stringall1,COLOR_RED,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz],15.0,0,1);
    HausInfo[z][haus_pickup] = AddStaticPickup(1239,1,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz]);
    }
    else
    {
    format(string3,sizeof(string3),"Besitzer: %s",HausInfo[z][Besitzer]);
    format(stringall1,sizeof(stringall1),"%s\n",string3);
    Delete3DTextLabel(HausInfo[z][haus_label]);
    DestroyPickup(HausInfo[z][haus_pickup]);
    HausInfo[z][haus_label] = Create3DTextLabel(stringall1,COLOR_GREEN,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz],15.0,0,1);
    HausInfo[z][haus_pickup] = AddStaticPickup(1239,1,HausInfo[z][Hausx],HausInfo[z][Hausy],HausInfo[z][Hausz]);
    }
    }
    return 1;
    }
    return 1;
    }
    else
    {
    return 0;
    }
    }
    return 1;
    }


    Also ganz oben die Schleife ist =1 definiert, also öffnet er die 1.txt bzw. erstellt das Haus.
    Allerdings geht es daran nicht weiter..
    Könnt ihr mir helfen?

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png

  • ocmd:hauserstellen(playerid,params[])
    {
    new Hausid;
    new Preis;
    new LLevel;
    new string[128];
    if(sscanf(params,"iii",Hausid,Preis,LLevel))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /hauserstellen Hausid Preis Level");
    }
    else if(SpielerInfo[playerid][Adminlevel] < 5)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Den Befehl /hauserstellen scheint es nicht zu geben.");
    }
    else
    {
    if(GetPlayerInterior(playerid) == 0)
    {
    if(LLevel > 0)
    {
    if(Preis > 0)
    {
    if(Hausid >= 0)
    {
    new Float:yx,Float:yy,Float:yz;
    GetPlayerPos(playerid,yx,yy,yz);
    new ZoneDatei[64];
    format(ZoneDatei,sizeof(ZoneDatei),"/Haus/%d.txt",Hausid);
    if(!fexist(ZoneDatei))
    {
    dini_Create(ZoneDatei);
    dini_FloatSet(ZoneDatei,"Hausx",yx);
    dini_FloatSet(ZoneDatei,"Hausy",yy);
    dini_FloatSet(ZoneDatei,"Hausz",yz);
    dini_IntSet(ZoneDatei,"Innenraum",0);
    dini_IntSet(ZoneDatei,"Preis",Preis);
    dini_IntSet(ZoneDatei,"Level",Level);
    dini_IntSet(ZoneDatei,"gekauft",0);
    dini_IntSet(ZoneDatei,"Mieter",0);
    dini_Set(ZoneDatei,"Besitzer","Keiner");
    format(string,sizeof(string),"Das Haus %d wurde gespeichert.",Hausid);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    DestroyPickup(HausInfo[Hausid][haus_pickup]);
    Delete3DTextLabel(HausInfo[Hausid][haus_label]);
    Hausladen();
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Es gibt bereits ein Haus mit dieser ID.");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Die Hausid muss mindestens 0 betragen.");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Mindestpreis muss 1$ betragen.");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Mindestlevel muss 1 betragen.");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Hier kannst du kein Haus erstellen.");
    }
    return 1;
    }
    return 1;
    }

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png

  • auch da alle return weg :x bis vor der letzten klammer.


    Ok, ich teste es eben mal


    /edit:
    Ok habe es ausprobiert, die Häuser bleiben nun aber nun wird bei dem neu erstellten Haus das Level auf 0 gesetzt bzw. bleibt.


    //edit: Ok habe den Fehler gefunden..
    Nun kommt aber das Problem wenn ein Haus bereits verkauft ist also wenn das Haus einen Besitzer hat wird es nicht geladen


    //edit: Ok auch diesen Fehler ahbe ich gefunden^^

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png

    2 Mal editiert, zuletzt von xXManuelXx ()