Haus System Frage!

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
  • Hi Leute ich habe eine Frage ich habe das Tutorial von [ SCRIPTING ] Simples Haussystem mir angeguckt und wollte mal fragen wie ich Level auslese das steht besitzer: %s\nLevel : %d.und wie ich es als 3DTextLabel mache das ich es von eine entfernug schon sehn kann.Und wenn das eienr weis wie ich noch mache das wenn er ein Haus hat das er da spawnt.Danke im voraus

  • Zitat

    und wie ich es als 3DTextLabel mache das ich es von eine entfernug schon sehn kann.


    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1);


    Die 20 ändern. In 50 oder 150, je nachdem wie du es willst.

  • HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1);


    Die 20 ändern. In 50 oder 150, je nachdem wie du es willst.


    Sorry das ich mich so dumm stelle aber bei mir kommt:
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(386) : error 017: undefined symbol "hausid"
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(386) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Wie hattest du es denn vorher?
    Eig. muss es so gehen:


    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);

  • Wie hattest du es denn vorher?
    Eig. muss es so gehen:


    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);


    Niergentwo ich habe es aber jetzt unetr CreateHaus gemacht aber er erkennt nicht HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);


  • Bitte was? Wenn wir die Helfen sollen, musst du dich besser Ausdrücken ;)



    Bitte was? Wenn wir die Helfen sollen, musst du dich besser Ausdrücken ;)


    Ich habe es so gemacht:
    stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32],innenraum) // die ersten 3 Werte sind die Koordinaten, der 4. der Preis und der 5. der Besitzer
    {
    new pfad[50];
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    format(pfad,50,"/haus/%d.txt",haus); //nun ist der Pfad der Datei im String "pfad".
    if(!fexist(pfad)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(pfad); // dann erstellen wir sie
    dini_FloatSet(pfad,"x",x); // und füllen sie mit unseren Werten.
    dini_FloatSet(pfad,"y",y);
    dini_FloatSet(pfad,"z",z);
    dini_IntSet(pfad,"preis",preis);
    dini_Set(pfad,"besitzer",besitzer);
    dini_IntSet(pfad,"preis",preis);
    dini_Set(pfad,"besitzer",besitzer);
    dini_IntSet(pfad,"innenraum",innenraum);
    return LoadHaus(haus);
    }
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);
    }
    return 1;
    }

    und ERROR:
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(386) : error 017: undefined symbol "hausid"
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(386) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Ach jetzt Versteh ich dich ;)


    Zitat

    Label erstellen
    Wenn wir das ganze jetzt mit einem Label haben wollen, das alle wichtigen Haus-Infos beinhaltet, müssen wir erstmal "Text3D:haus_label" unserer Enum-Struktur hinzufügen. Diese Variable speichert später die Label-ID damit wir es bei KillHaus löschen können. Das Label erstellen wir unter LoadHaus und zwar so:


    Muss also unter LoadHaus !

  • Ach jetzt Versteh ich dich ;)



    Muss also unter LoadHaus !


    sorry das ich mich immer noch so dumm anstelle aber jetzt hab ich es so:
    stock LoadHaus(hausid)
    {
    new pfad[50],s[128];
    format(pfad,50,"/haus/%d.txt",hausid);
    if(!fexist(pfad))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben
    HausInfo[hausid][haus_x] = dini_Float(pfad,"x"); // hier laden wir die Werte
    HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
    HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
    HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
    HausInfo[hausid][haus_innenraum] = dini_Int(pfad,"innenraum");
    format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0); //erstellt ein Pickup an den Hauskoordinaten
    return print("Das Haus wurde erfolgreich geladen");
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);
    }
    und habe den Warnigs:
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(362) : warning 225: unreachable code
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(362) : warning 213: tag mismatch
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(362) : warning 213: tag mismatch
    C:\Users\Administrator\Desktop\Script\filterscripts\test.pwn(363) : warning 209: function "LoadHaus" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Warnings.



    Warnigs sind nicht schlimm aber sind auch nicht gut :D wer echt nett wenn du mir auch helfen kannst!

  • Hörst du mir auch zu?



    HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0); //erstellt ein Pickup an den Hauskoordinaten
    return print("Das Haus wurde erfolgreich geladen");
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);
    }



    Das ist völliger Müll..
    Lösch das mit dem Pickup und füg das ein, was im Tutorial steht !
    Nähmlich das ->

    new s[128]; //Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    }


  • Hi ich nochmal Warnigs aber nur 2:
    stock LoadHaus(hausid)
    {
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",hausid);
    if(!fexist(pfad))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben
    HausInfo[hausid][haus_x] = dini_Float(pfad,"x"); // hier laden wir die Werte
    HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
    HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
    HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
    HausInfo[hausid][haus_innenraum] = dini_Int(pfad,"innenraum");
    format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    //HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0); //erstellt ein Pickup an den Hauskoordinaten
    //return print("Das Haus wurde erfolgreich geladen");
    //HausInfo[hausid][HausLabel] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);
    new s[128];//Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    }
    ist doch richtig wenn ich dich verstanden habe!

  • Ich verstehe kein Wort was du willst, schreib doch Ausführlich was du hast.. Mensch


    also ich ahbe oben: new Text3D:haus_label;
    unten:
    stock LoadHaus(hausid)
    {
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",hausid);
    if(!fexist(pfad))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben
    HausInfo[hausid][haus_x] = dini_Float(pfad,"x"); // hier laden wir die Werte
    HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
    HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
    HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
    HausInfo[hausid][haus_innenraum] = dini_Int(pfad,"innenraum");
    format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    //HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0); //erstellt ein Pickup an den Hauskoordinaten
    //return print("Das Haus wurde erfolgreich geladen");
    //HausInfo[hausid][HausLabel] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],150,0,1);
    new s[128];//Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    }

    und es ist richtig eingerückt!.Wo ist aber der fehler

  • ... Also wenn das richtig eingedrückt ist, dann bin ich weiß wer was.


    Die 3 Zeilen:


    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    Musst du richtig einrücken.

  • ... Also wenn das richtig eingedrückt ist, dann bin ich weiß wer was.


    Die 3 Zeilen:


    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    Musst du richtig einrücken.


    Wie gesagt ist eingerückt aber nun gut Warnigs bring ja keinen gleich um :P!

  • new s[128];//Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    So wer es eingedrückt.

  • new s[128];//Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1); //Hier erstellen wir das Label. Die ID wird in HausInfo[hausid][haus_label] gespeichert (das ist wichtig für uns, da wir das Label später wieder löschen wollen!)
    return print("Das Haus wurde erfolgreich geladen");
    So wer es eingedrückt.


    hab ich ja