Label / Pickup und seine Probleme.

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
  • Guten Abend


    ich habe da ein kleines Problem mit meinem Labels und den Pickups wo rann ich zeit mehren Tagen
    verzweifel im vor raus ich habe mehre Dyn. Systeme wie [ Dyn. Label und Pickup System, Dyn. Haus System, Dyn. Bizz System,
    Dyn. Mietwagen System ] und wenn ich jetzt eines dieser Systeme verwende ist das Label und das Pickup für
    1. Sec da und verschwindet wieder das war vor einigen Tagen nicht so ich kann mich
    nicht daran erinnern und bin das Script 5 mal durch gegangen von oben bis unten jetzt
    frage ich hier ich denke mal so wie ich es in Google gesehen habe das es noch Leute gibt die das Selbe
    Problem haben nur keine Antwort darauf haben.
    (( Ich Sende mal die Killlabel und die Loaddaten ))


    Danke schon mal für eure Antworten ich guck mal weiter.



    Loaddaten:

    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    LoadHaus(haus);
    }
    for(new label=1;label<MAX_LABEL;label++)
    {
    LoadLabel(label);
    }
    for(new bizz=1;bizz<MAX_BIZZ;bizz++)
    {
    LoadBizz(bizz);
    }
    for(new i=1;i<MAX_MIET;i++)
    {
    LoadMietung(i);
    }


    Kill Label && Pickup

    for(new bizz=1;bizz<MAX_BIZZ;bizz++)
    {
    KillBizz(bizz);
    }
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    KillHaus(haus);
    }
    for(new label=1;label<MAX_LABEL;label++)
    {
    KillLabel(label);
    }
    for(new mietid=1;mietid<MAX_MIET;mietid++)
    {
    KillMiet(mietid);
    }



    stock KillBizz(bizzid)
    {
    Delete3DTextLabel(BizzInfo[bizzid][bizz_label]);
    return DestroyPickup(BizzInfo[bizzid][bizz_pickup]);
    }



    stock LoadBizz(bizzid)//bizz_typ
    {
    new pfad[50];
    format(pfad,50,"/Bizz/%d.txt",bizzid);
    if(!fexist(pfad))return 0;
    BizzInfo[bizzid][bizz_x] = dini_Float(pfad,"x");
    BizzInfo[bizzid][bizz_y] = dini_Float(pfad,"y");
    BizzInfo[bizzid][bizz_z] = dini_Float(pfad,"z");
    BizzInfo[bizzid][bizz_preis] = dini_Int(pfad,"preis");
    BizzInfo[bizzid][bizz_bank] = dini_Int(pfad,"bank");
    format(BizzInfo[bizzid][bizz_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    format(BizzInfo[bizzid][bizz_bezeichnung],100,"%s",dini_Get(pfad,"Text"));
    BizzInfo[bizzid][bizz_typ] = dini_Int(pfad,"TYP");
    BizzInfo[bizzid][bizz_schloss] = dini_Int(pfad,"open");
    BizzInfo[bizzid][bizz_eintritt] = dini_Int(pfad,"EINTRITT");
    BizzInfo[bizzid][bizz_ware] = dini_Int(pfad,"WAREN");
    BizzInfo[bizzid][bizz_pickup] = CreatePickup(1272 ,23,BizzInfo[bizzid][bizz_x],BizzInfo[bizzid][bizz_y],BizzInfo[bizzid][bizz_z],0);
    new s[228];
    if(BizzInfo[bizzid][bizz_typ] == 1)
    {
    format(s,228,"****24/7****\nBesitzer: %s\nPreis: %d$\n Bezeichnung:\n%s\nEintritt: %d$\nWaren: %d\n{FF8C00}Betrette mit {FAFAFA}F\n{FAFAFA}************",BizzInfo[bizzid][bizz_besitzer],BizzInfo[bizzid][bizz_preis],BizzInfo[bizzid][bizz_bezeichnung],BizzInfo[bizzid][bizz_eintritt],BizzInfo[bizzid][bizz_ware]);
    }
    if(BizzInfo[bizzid][bizz_typ] == 2)
    {
    format(s,228,"****Amunation****\nBesitzer: %s\nPreis: %d$\n Bezeichnung:\n%s\nEintritt: %d$\nWaren: %d\n{FF8C00}Betrette mit {FAFAFA}F\n{FAFAFA}************",BizzInfo[bizzid][bizz_besitzer],BizzInfo[bizzid][bizz_preis],BizzInfo[bizzid][bizz_bezeichnung],BizzInfo[bizzid][bizz_eintritt],BizzInfo[bizzid][bizz_ware]);
    }
    BizzInfo[bizzid][bizz_label] = Create3DTextLabel(s,0xFAFAFAFF,BizzInfo[bizzid][bizz_x],BizzInfo[bizzid][bizz_y],BizzInfo[bizzid][bizz_z],20,-1,1);
    return print("Das Bizz wurde erfolgreich geladen");
    }


    mit freundlichen Grüßen


    Marvinmauric


    ps: wen ihr was braucht bitte was sagen nur mit den kill und loads könnt ihr ja nichts anfangen

  • Bei OnGameModeExit
    und ein par Befehlen zb. zum preis ändern aber das kann ja nicht sein da
    das Killbizz ja erst aktiv wird wen dann der Befehl benutzt wird.


    ich benutze den auch bei einem Generellentimer aber nur um das bizz abzuschließen wen keine
    waren mehr vorhanden sind dort habe ich ihn mal ausgeklammert um es zu
    testen aber die verschwinden immer noch


    hier die Timer Function



    Function Aktuallisierer(playerid)
    {
    if(GetPVarInt(playerid,"Mute") == 1)
    {
    SetPlayerChatBubble(playerid,"<< Ich Stehe unter einer Straffe >>",0xFF6E00FF,40,999999999999999);
    }
    for(new bizz=1;bizz<MAX_BIZZ;bizz++)
    {
    if(BizzInfo[bizz][bizz_ware] < 100)//warum auf 100 das hat andere Gründe ;)
    {
    new pfad[50];
    format(pfad,50,"/Bizz/%d.txt",bizz);
    dini_IntSet(pfad,"open",1);
    KillBizz(bizz);
    LoadBizz(bizz);
    }
    }
    return 1;
    }


    Ich übersehe den Fehler bestimmt bei solchen Problem ist es echt schwer den Fehler zu finden
    darum bin ich echt froh wen mir da ein par Leute auf der Suche nach dem Fehler helfen
    und bedanke mich dafür auch.


    mfg.


    Marvinmauric

  • Simpson_Homer


    Die Function ist eine Mischung aus einem

    forward TEST();
    //und einem
    public TEST(){
    return 1;
    }
    Nur du musst die Function noch oben Definieren und zwar so:
    #define Function%0(%1) forward%0(%1); public%0(%1)
    sonst weiß er damit nichts anzufangen und gibt dir ein ERROR
    beim Compilen ab...


    Jetzt zu deiner eigentlichen frage warum den überhaupt:

    Zitat

    wieso benutzt du nicht public und forward


    für mich hat das den Vorteil das
    es dann nicht so unordentlich im Script ist aber
    es hat noch den Vorteil das du dadurch etwas an Zeilen
    sparst und dadurch auch Ressourcen.
    Mehr will ich dadurch nicht erreichen


    Mit freundlichen Grüßen.


    Marvinmauric

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • das du dadurch etwas an Zeilen sparst


    Nein, das tust du nur optisch, beim compilieren wird der Kram "aufgedröselt"
    dann wird aus
    Function Blaa()
    {
    return true;
    }
    das hier
    forward Blaa();
    public Blaa()
    {
    return true;
    }
    Zeilen Sparst du damit schoneinmal gar nicht

    dadurch auch Ressourcen.


    Schön wäre es.
    Weniger Zeilen heißt nicht - weniger Ressourcenverbrauch.


    Ob ich einen Code in eine Zeile quetsche oder aufdrösel hat nur was mit der Übersicht zu tun, mit nichts weiter


    B2T:
    Wenn deine Pickups verschwinden, liegt das vielleicht daran, dass du irgendwo eine ID Überschneidung hast und das irgendwo mit DestroyPickup löscht.


    Es könnte auch mit deinem PickupTypen zusammenhängen.
    Der Typ 23 ist wird idR nicht verwendet, wenn du das wie OnPlayerPickupPickUp nutzt, solltest du als Typ 22, 2 oder 3 nutzen,
    weitere Infos findest du hier: http://wiki.sa-mp.com/wiki/PickupTypes

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

    Margarete Stokowski