Haussystem (non-constant)

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, habe Errors, wenn ich das Haussystem in mein Script packen will. Habe es zurzeit als Filterscript, wills aber in mein richtiges haben...


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(!GetPVarInt(playerid,"HUHNFISCH_InHaus"))
    {
    new ID=GetNearestHaus(playerid,4);
    if(ID == -1) return true; // Hier
    if(Haus[ID][Abgeschlossen]) return true;
    SetPlayerInterior(playerid,Haus[ID][Int]);
    SetPlayerPos(playerid,Haus[ID][Pos][3],Haus[ID][Pos][4],Haus[ID][Pos][5]);
    SetPlayerVirtualWorld(playerid,Haus[ID][VirtualWorld]);
    SetPVarInt(playerid,"HUHNFISCH_InHaus",true);
    return true;
    }
    new ID=GetNearestHausExit(playerid,3);
    if(ID == -1) return true; // Hier
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2]);
    SetPlayerVirtualWorld(playerid,0);
    DeletePVar(playerid,"HUHNFISCH_InHaus");
    return true;
    }


    local variable "ID" shadows a variable at a preceding level
    error 022: must be lvalue (non-constant)
    warning 215: expression has no effect


    Wie kann man das entfernen?

  • new ID=GetNearestHaus(playerid,4);
    und später hast du nochmal
    new ID=GetNearestHausExit(playerid,3);
    erstell die variable einfach davor:


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    new ID;
    if(!GetPVarInt(playerid,"HUHNFISCH_InHaus"))
    {
    ID = GetNearestHaus(playerid,4);
    if(ID == -1) return true; // Hier
    if(Haus[ID][Abgeschlossen]) return true;
    SetPlayerInterior(playerid,Haus[ID][Int]);
    SetPlayerPos(playerid,Haus[ID][Pos][3],Haus[ID][Pos][4],Haus[ID][Pos][5]);
    SetPlayerVirtualWorld(playerid,Haus[ID][VirtualWorld]);
    SetPVarInt(playerid,"HUHNFISCH_InHaus",true);
    return true;
    }
    ID=GetNearestHausExit(playerid,3);
    if(ID == -1) return true; // Hier
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2]);
    SetPlayerVirtualWorld(playerid,0);
    DeletePVar(playerid,"HUHNFISCH_InHaus");
    return true;
    }

  • SO?


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    #pragma unused ID
    if(!GetPVarInt(playerid,"HUHNFISCH_InHaus"))
    {
    new ID=GetNearestHaus(playerid,4);
    if(ID == -1) return true;
    if(Haus[ID][Abgeschlossen]) return true;
    SetPlayerInterior(playerid,Haus[ID][Int]);
    SetPlayerPos(playerid,Haus[ID][Pos][3],Haus[ID][Pos][4],Haus[ID][Pos][5]);
    SetPlayerVirtualWorld(playerid,Haus[ID][VirtualWorld]);
    SetPVarInt(playerid,"HUHNFISCH_InHaus",true);
    return true;
    }
    new ID=GetNearestHausExit(playerid,3);
    if(ID == -1) return true;
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2]);
    SetPlayerVirtualWorld(playerid,0);
    DeletePVar(playerid,"HUHNFISCH_InHaus");
    return true;
    }


    Zeigt aber noch error an.

  • Meinst du nicht, dass es Gründe hat, warum der Ersteller, in diesem Fall ich :rolleyes:, das Script als Filterscript gemacht hat?


    Richtig, damit es NICHT zu inkompabilität führt, wie es jetzt bei dir der Fall ist.


    Dein "Problem" ist einfach, das du keine Ahnung hast was du da schon wieder anstellst,
    aber ich bin mal Nett und sag dir was der Fehler ist.


    Du hast irgendwo in deinem Script eine Globale Variable die exakt so heißt,
    somit kommt der Compiler durcheinander, wenn du eine neue mit genau dem "Namen" erstellst.


    Lösung: benenne die Variable um, bei der er dir die Fehler rausspuckt

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • GEIL GEIL GEIL GEIL! Danke :)


    Habe aus den ganzen "ID" 's "ID1" gemacht :) funzt :love:


    Zitat

    Meinst du nicht, dass es Gründe hat, warum der Ersteller, in diesem Fall ich , das Script als Filterscript gemacht hat?


    Wenn das so ist: Nice filterscript ! :)