[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Könnte mir einer helfen bei einem sicheren Bansystem?

    Das gibt es nicht.



    Ich habe schon probiert die Farbe beim Anklickbaren durchsichtig zu machen aber dann ist das überall so das ist der Scheiß.

    Achso meinst du das, ja dann geht das nicht.
    Momentan ist es so, dass wenn du mehrere TextDraws anklicken magst, dann leuchten diese alle in der selben Farbe, sry.


    Dachte du meintest, du hast TextDraws die du nicht anklicken willst, bei denen kannst du dafür sorgen, dass du sie nicht anklicken kannst und dann leuchten sie auch nicht xD

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hey,


    Habe kurz eine Frage wie lasse ich am besten von jeder tankstelle den Namen auslesen lasse also nach ID nach?



    enum:







    Der Befehl dafür.

  • von jeder tankstelle den Namen auslesen lasse also nach ID nach?

    Was ist das für ein Deutsch? hahaha xD


    Aber ja einfach mit einer Schleife?


    C
    for(new i; i<sizeof(Tanke); i++)
    {
        Tanke[i][tName] //Hier haste jetzt den Tankstellennamen von allen Tankstellen xD
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ja,


    Ich habe es falsch ausgedrückt bin total müde sry.

    Habe das nun so gemacht

  • Warum ignorierst du denn einfach Kalibers Code?



    new string[550];
    for(new i; i<sizeof(Tanke); i++)
    {
    format(string,sizeof(string),"%s\n%s\t\t\t\tBenötigt: %d Liter",string,getTankName(i), getProdukts(i));
    }
    ShowPlayerDialog(playerid, DIALOG_TANKSTELLEN, DIALOG_STYLE_LIST,"Transport GmbH - Tankstellen Übersicht",string,"GPS","Schließen");

  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Gelöst sehr schlau gewesen :D ().
  • Hallo,


    Habe das Problem habe ingesamt momentan 6 Tankstellen.


    Werden geladen alles kein Problem.


    Die Sache ist nun wen ich /lieferung ausführe wird mir kaum was angezeigt außer von der letzten Tankstelle die ich in der DB drinnen habe.




    Datenkbank:




    Dialog:


    Einmal editiert, zuletzt von Dr. Frauenarzt () aus folgendem Grund: Code Aktualisiert #1 #2

  • 1. Für die Übersicht http://wiki.sa-mp.com/wiki/Dialog_Styles wurde extra z.B. DIALOG_STYLE_TABLIST_HEADERS dafür eingeführt.


    2. Es scheint, als würden wohl nicht alle deine Tankstellen geladen werden...wenn die Arrays leer sind, sind sie leer.


    3. Lerne zu debuggen, du siehst hier oh, es scheint als wäre das leer.

    • Da müssen jetzt folgende Gedanken in dir vorgehen.
      • Vielleicht da ich das nur in dem String hier mache, ein formatierungs fehler.
      • Also mal ohne format einfach mal alles durch printen.
      • Dann siehst du oh immer noch alles bis auf 1 leer.
      • Hmm dann muss der Fehler wohl beim laden passieren, da ja in der Datenbank alles gespeichert ist.
    • Dann schaust du dir den Code an, wo du alles lädst.
      • Dann machst du hier einen print, was er alles lädt und ob das funktioniert.
      • und dann wirst du feststellen, dass dem nicht so ist :)
      • Deshalb zeig uns direkt mal deinen Code vom laden :P


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Es stand ja immer da das 6/6 Tankstellen geladen wurden wen ich ingame gehe sind die Tankstellen auch da an der Richtigen Position der Name ect.




    So sieht das aus es wird alles erstellt alles geladen laut den Sprint auch die Namen. Es steht überall der Name richtig von den Tankstellen.

  • new tankeID = cache_get_value_name_int(i, "id", Tanke[tankeID][tdbID]);

    Das hier ist dein Fehler.


    Die Zeile macht keinen Sinn, da die Funktion cache_get_value_name_int immer nur den selben Wert returnt, somit überschreibst du fortwährend dein Array.


    Deshalb wird dir alles angezeigt, aber letztlich wird das alles nur in einem Feld gespeichert und immer überschrieben.


    Deshalb lösche diese Variable und verwende anstelle von tankeID einfach dein i :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Es stand ja immer da das 6/6 Tankstellen geladen wurden wen ich ingame gehe sind die Tankstellen auch da an der Richtigen Position der Name ect.




    So sieht das aus es wird alles erstellt alles geladen laut den Sprint auch die Namen. Es steht überall der Name richtig von den Tankstellen.


    Wenn du schon aus dem Virtual Reallife Script kopierst und es nur leicht umgeändert einfügst, brauchst du dich nicht wundern, wenn du nur Fehler bekommst.


  • Habe ich verstanden werde so nun auch weiter arbeiten.
    Dachte halt nur das es sein muss das man den nochmal auslesen muss dachte aber nicht das es überschrieben wird?


    Habe das nun beim Haus system auch ausgebessert.




    Klar möchte ich damit arbeiten aber irgendwie spinnt das bei mir bei mir wird das alles 5 mal ausgegeben ?







    Liegt das eventuell am string oder an was kann das liegen?

  • aber irgendwie spinnt das bei mir bei mir wird das alles 5 mal ausgegeben ?

    Nein da spinnt nichts, du formatierst den String nur immer wieder in den String, deshalb wird das 5x ausgegeben :D



    Als "Bezugspreis" hab ich nur so den PreisProLiter angegeben, kp was du damit aussagen magst.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke @Kaliber



    Wollte kurz fragen wie kann ich machen das er keine menge mehr angeben muss um das abzuladen?
    Das heißt er fährt einfach dahin gibt /unload ein dann wird die menge abgegeben die im Truck sind falls das zuviel sind wird nur das angeliefert was benötigt wird und der rest bleibt dann ja drinnen wen es zuviel war..


  • Wollte kurz fragen wie kann ich machen das er keine menge mehr angeben muss um das abzuladen?

    Ja, versuch dich mal daran, das ist ja nicht so schwer.


    • Du nimmst logischerweise die Eingabe Abfragen raus, die willst du schließlich raus haben.
    • Dann überlegst du dir, wie du jetzt an die Liter kommst.
      • Dann merkst du ah, die stehen ja alle in der in Tank Variable. (Als Tipp schau einfach wo int überall verwendet wurde.)
      • Im Endeffekt ist ja das was du willst nichts anderes als die Differenz von MAX_LITER - AKTUELLE_LITER = int
      • Das verwendest du dann einfach überall da und passt das an.

    Und dann bist du feritg, komm, das schaffst du! :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S