Haus Pickup verbuggt?

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


    Hab n ziemlich großes Problem!


    Undzwar wenn ich ein Haus erstelle , sollte eigentlich das grüne Haus-Pickup erscheinen und darüber der 3D Text.


    Es sieht allerdings so aus:



    Und wenn man durchläuft bekommt man Geld , die Nachricht und den Sack, der bei dem Bankraub-pickup gegeben werden soll!


    Spoiler anzeigen


    new tresorgeld;

    Spoiler anzeigen
    if(pickupid==tresorgeld)
    {
    DestroyPickup(tresorgeld);
    new rand=random(30000);
    if(rand<=5000)
    {
    rand+=5000;
    }
    aGivePlayerMoney(playerid,rand);
    new string[256];
    format(string,sizeof(string),"Du hast %d$ erbeutet ! Fliehe schnell !",rand);
    SendClientMessage(playerid,Orange,string);
    SendClientMessage(playerid,Orange,"Der Sack auf deinem Rücken fällt sehr auf!");
    SendClientMessage(playerid,Orange,"Du solltest lieber zum Checkpoint fahren und ihn loswerden.");
    SetPlayerCheckpoint(playerid,2163.6926,-1988.1489,14.0139,3.0);
    SetPlayerAttachedObject(playerid, 2, 1550, 15, -0.009999, 0.239999, -0.310000, 0.000000, 0.000000, 0.000000);
    }

    Spoiler anzeigen
    enum haus_info
    {
    haus_pickup
    }
    new HausInfo[MAX_HAUS][haus_info];

    Spoiler anzeigen
    HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z]-0.1,0);

  • Undzwar wenn ich ein Haus erstelle , sollte eigentlich das grüne Haus-Pickup erscheinen und darüber der 3D Text.


    dann Zeig den Befehl und dazu noch, die Funktion zum erstellen :!:


  • dann Zeig den Befehl und dazu noch, die Funktion zum erstellen :!:


    stimmt ,sry vergessen ^^


    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 Hausstring[50];
    for(new haus =1;haus<MAX_HAUS;haus++)
    {
    format(Hausstring,50,"/haus/%d.txt",haus); //nun ist der Pfad der Datei im String "pfad".
    if(!fexist(Hausstring)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(Hausstring); // dann erstellen wir sie
    dini_FloatSet(Hausstring,"x",x); // und füllen sie mit unseren Werten.
    dini_FloatSet(Hausstring,"y",y);
    dini_FloatSet(Hausstring,"z",z);
    dini_IntSet(Hausstring,"preis",preis);
    dini_Set(Hausstring,"besitzer",besitzer);
    dini_IntSet(Hausstring,"Besetzt",0);
    dini_IntSet(Hausstring,"innenraum",innenraum);
    dini_IntSet(Hausstring,"Mietpreis",1000);
    print("test");
    return LoadHaus(haus);
    }
    }
    return 1;
    }


    stock LoadHaus(hausid)
    {
    new Hausstring[50];
    format(Hausstring,50,"/haus/%d.txt",hausid);
    if(!fexist(Hausstring))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben
    {
    HausInfo[hausid][haus_x] = dini_Float(Hausstring,"x"); // hier laden wir die Werte
    HausInfo[hausid][haus_y] = dini_Float(Hausstring,"y");
    HausInfo[hausid][haus_z] = dini_Float(Hausstring,"z");
    HausInfo[hausid][haus_preis] = dini_Int(Hausstring,"preis");
    format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(Hausstring,"besitzer"));
    HausInfo[hausid][haus_innenraum] = dini_Int(Hausstring,"innenraum");
    HausInfo[hausid][haus_besetzt] = dini_Int(Hausstring,"Besetzt");
    HausInfo[hausid][haus_mietpreis] = dini_Int(Hausstring,"Mietpreis");
    HausInfo[hausid][haus_mieter] = dini_Int(Hausstring,"Mieter");
    format(HausInfo[hausid][haus_mietername1],32,"%s",dini_Get(Hausstring,"Mieter1"));
    format(HausInfo[hausid][haus_mietername2],32,"%s",dini_Get(Hausstring,"Mieter2"));
    format(HausInfo[hausid][haus_mietername3],32,"%s",dini_Get(Hausstring,"Mieter3"));
    format(HausInfo[hausid][haus_mietername4],32,"%s",dini_Get(Hausstring,"Mieter4"));
    format(HausInfo[hausid][haus_mietername5],32,"%s",dini_Get(Hausstring,"Mieter5"));
    HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z]-0.1,0); //erstellt ein Pickup an den Hauskoordinaten
    if(HausInfo[hausid][haus_besetzt] == 0)
    {
    new string[256]; //Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(string,sizeof(string),"*[Hausinfo]*\nDieses Haus steht zum Verkauf!\nPreis: %i$\n***",HausInfo[hausid][haus_preis]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(string,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!)
    }
    if(HausInfo[hausid][haus_besetzt] == 1)
    {
    new string[256]; //Hier erstellen wir einen neuen String, diesen formatieren wir mit den nötigen Infos:
    format(string,sizeof(string),"*[Hausinfo]*\nBesitzer: %s\nMietpreis: %i$\nMieter: %i\n***",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_mietpreis],HausInfo[hausid][haus_mieter]); //dürfte wohl klar sein
    HausInfo[hausid][haus_label] = Create3DTextLabel(string,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");
    }
    }


    ocmd:hauserstellen(playerid,params[])
    {
    new preis;
    new interior;
    if(sscanf(params,"ii",preis,interior))return SendClientMessage(playerid,Rot,"Fehler: /createhaus [Preis] [InnenraumID]");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateHaus(x,y,z,preis,"Niemand",interior);
    return 1;
    }