Hilfe beim Warning

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Heyho, kann mir jemand weiter helfen? Er sagt mir: warning 219: local variable "haus" shadows a variable at a preceding level


    Folgende Zeile:
    for(new haus=1;haus<MAX_HAUS;haus++)


    Danke im Vorraus.
    @Jeffry

  • Das heißt, dass du auf vorhergehender Ebene im Code schonmal ein "haus" als "new" deklariert hast.
    Benenne es in dieser Schleife um, zum Beispiel zu "haus2".


    Achte auch darauf, dass du alle Arrays mit denen du mit dieser Schleife einen Zugriff im Code hast, auf die neue Zählervariable "haus2" anpasst.
    Poste gegebenenfalls mehr vom Code, falls du nicht weißt, was zu tun ist.

  • Das heißt, dass du auf vorhergehender Ebene im Code schonmal ein "haus" als "new" deklariert hast.
    Benenne es in dieser Schleife um, zum Beispiel zu "haus2".


    Achte auch darauf, dass du alle Arrays mit denen du mit dieser Schleife einen Zugriff im Code hast, auf die neue Zählervariable "haus2" anpasst.
    Poste gegebenenfalls mehr vom Code, falls du nicht weißt, was zu tun ist.

    Heyho, hat nichts gebracht.


    warning 219: local variable "haus2" shadows a variable at a preceding level

  • new hcounter = 0,haus;
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(HausInfo[haus][hauscreatet] == 1)
    {
    if(!strcmp(HausInfo[haus][haus_besitzer],Spieler[playerid][pName],true))
    {
    hcounter++;
    }
    }
    }

  • new hcounter = 0,haus;
    zu:
    new hcounter = 0;

    (18212) : error 017: undefined symbol "haus"
    18214) : error 017: undefined symbol "haus"
    (18228) : error 017: undefined symbol "haus"



    3 Errors.


    if(HausInfo[haus][haus_innenraum] == 255)
    {
    SetPlayerPosEx(playerid,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SendClientMessage(playerid,GRUEN,"Du solltest dir mal einen Innenraum besorgen.");
    SendClientMessage(playerid,WEISS,"");
    }
    else
    {
    SetPlayerPosEx(playerid,Homestore[HausInfo[hcounter][haus_innenraum]][Hx],Homestore[HausInfo[hcounter][haus_innenraum]][Hy],Homestore[HausInfo[hcounter][haus_innenraum]][Hz]);
    SetPlayerInterior(playerid,Homestore[HausInfo[hcounter][haus_innenraum]][Hint]);
    SetPlayerVirtualWorld(playerid,hcounter);
    format(string,sizeof(string),"Willkommen Zuhause %s",HausInfo[hcounter][haus_besitzer]);
    SendClientMessage(playerid,GRUEN,string);
    SendClientMessage(playerid,WEISS,"");
    HausInfo[haus][hausmull]++;
    if(HausInfo[hcounter][hausmull] >= 25)
    {
    SetPlayerACHealth(playerid,10);
    SendClientMessage(playerid,GRAU,"Der Müll staut sich bis an die Decke. | Du spawnst mit wenig Leben(-90).");
    }
    if(HausInfo[hcounter][hausmull] >= 20 && HausInfo[hcounter][hausmull] < 25)
    {
    SetPlayerACHealth(playerid,25);
    SendClientMessage(playerid,GRAU,"Der Müll verbreitet sich im ganzem Haus. | Du spawnst mit wenig Leben(-75).");
    }
    if(HausInfo[hcounter][hausmull] >= 15 && HausInfo[hcounter][hausmull] < 20)
    {
    SetPlayerACHealth(playerid,50);
    SendClientMessage(playerid,GRAU,"Der Müll staut sich mehr und mehr. | Du spawnst mit wenig Leben(-50).");
    }
    if(HausInfo[hcounter][hausmull] >= 10 && HausInfo[hcounter][hausmull] < 15)
    {
    SetPlayerACHealth(playerid,75);
    SendClientMessage(playerid,GRAU,"Der Müll liegt nur im Weg. | Du spawnst mit wenig Leben(-25).");
    }
    if(HausInfo[hcounter][hausmull] >= 5 && HausInfo[hcounter][hausmull] < 10)
    {
    SetPlayerACHealth(playerid,90);
    SendClientMessage(playerid,GRAU,"Der Müll hält sich in Grenzen. | Du spawnst mit wenig Leben(-10).");
    }
    }
    }

  • Dann mache es so:
    new hcounter = 0,haus;for(new h=1;h<MAX_HAUS;h++){ if(HausInfo[h][hauscreatet] == 1) { if(!strcmp(HausInfo[h][haus_besitzer],Spieler[playerid][pName],true)) { hcounter++; } }}

    (18193) : warning 217: loose indentation
    (18204) : warning 217: loose indentation

  • Entferne das Leerzeichen vor
    new hcounter = 0,haus;


    Die Warnung heißt lediglich, dass deine Einrückung an den entsprechenden Stellen nicht korrekt ist.
    Wie genau du das einrücken musst kann ich dir nicht sagen, da ich den Rest vom Code nicht kenne.


    Was du machen kannst ist, wenn du die korrekte Einrückung nicht findest, ist, das ganze public hier zu posten, dann kann ich es dir einrücken.