Beiträge von Kaliber

    Okay...interessant.


    Hmm schreibs so:


    bzw. was msste ich machen damit die Namen statt den Zahlen da stehn?

    Ist das ein Scherz? :D


    Offensichtlich einfach nur die Namen darein schreiben anstatt der Zahlen...das war ja nur ein Beispiel.



    Wie kann ichs machen, dass dDie Ränge geördnet da stehn?

    Das ist etwas komplizierter, da du die ja sortieren musst, hier mal ein Beispiel:



    //Edit:
    Benötigt wird diese Include: https://raw.github.com/oscar-b…d-sort/master/md-sort.inc


    Thread: https://forum.sa-mp.com/showthread.php?t=343172

    sind da paar Memory leaks. (Z. 82, Z.90, Z. 100).

    Z. 82 = Create Table
    Z.90 = Insert
    Z.100 = Offensichtlich Leer


    Soweit ich das mal gelesen hatte, muss man da nichts clearen, weil da eh nichts existiert.



    Wenn die INSERT-Statements ein Problem sind was die Laufzeit betrifft, dann würde ich mir mal Transactions ansehen

    Ja, das gar keine schlechte Idee, schau ich mal, ob das die Performance verbessert, danke :)

    Achso deinen Query natürlich so schreiben:


    mysql_tquery(handle,"SELECT Name, Admin FROM `accounts` WHERE `Admin`>0", "AdminList", "d", playerid);


    Und du musst return 1; einfach darunter packen.


    Und den ganzen Code, der muss nur im Callback stehen, im Command steht nur das mysql_tquery :)


    cache_get_value_name_int(i, "Admin", r);


    Muss das außerdem natürlich sein, sry..



    Das sollte eigentlich alle deine Probleme lösen.

    Da kommt aber nur ne leere Liste

    Ich habe soo viele Fragen...


    1. Wie hast du denn in dem Kontext rows deklariert? Du musst das doch erstmal abfragen.


    2. Wieso verwendest du _int? Das sind keine ints? und was soll das mit den SpielerDaten da :D


    3. Wieso verwendest du stumpf "Name" und "Admin"...offensichtlich müssen da die Spalten Namen aus DEINER Tabelle rein..


    Und du musst dir halt jetzt sicher sein, dass sowohl "Name", als auch "Admin" in deiner Datenbank sich befinden als Spalten..

    Das?

    ...ich bin mir gerade nicht sicher, ob das ein Scherz sein soll oder nicht...


    Aber in dem Code gab es nur 2 Kommentare...die klar gekennzeichnet sind...die sich auf die Positionen des Codes beziehen...


    ..also JA natürlich dieser Code... xD


    Was du auch am Code selbst ablesen kannst...da ist von cache Funktionen und rows die Rede...

    Du solltest dir dringend nochmal die Grundlagen durchlesen und in Ruhe, erst mal ein den Basics feilen, bevor du direkt so große Sachen machen willst :)


    SELECT Name,Admin FROM `accounts` So müsstest du das machen, da du ja auch noch den Namen von dem Spieler benötigst, wie du in meinem Skript siehst.


    Und anstatt OnQueryLoaded brauchst einen eigenen Callback.


    C
    mysql_tquery(handle,"SELECT Name, Admin FROM `accounts`", "AdminList", "d", playerid);
    
    
    forward AdminList(playerid);
    public AdminList(playerid)
    {
        //Das hier ist dann der Callback, hier dann den anderen Code rein
    }

    Mir fällt gerade ein, da du das offline machen magst, kannst du das so nicht direkt machen.


    Du musst ne query Abfrage machen aus der Datenbank, wo alle Admins gespeichert sind.


    Und dann sowas wie:


    Wäre es irgendwie möglich die Namen und Räge ingame einzufügen in die Liste?

    Ja klar, wenn du das willst.

    C
    //Machst in dein Spieler Enum einfach
    pAdminRang
    
    
    //Nennen wir das hier mal SpielerInfo

    Das kannst du ja dann beliebig setzen.


    Und das sähe dann so aus:


    //Edit:
    Schau dir doch das Makro an, es sind 5 Sekunden.

    Okay...dafuq, die Funktion will kein Array returnen...


    Dämlicher Pawn Compiler :S


    Dann mach es so:


    Danke, ich bekom folgendeFehler.

    Ohh, jaa da war ja was, state ist ja ein Keyword :rolleyes:


    Dann nehmen wir halt Deutsch :)


    @Kaliber
    Ich hab da och keine Variable.

    Ahh jaa okay :D

    C
    //Pack oben in dein Skript
    #define IsPlayerAFK(%0) ((gettime()-AFK[%0])>5)
    
    
    //Das auch oben irgendwo hin
    new AFK[MAX_PLAYERS];
    
    
    //Und das unter OnPlayerUpdate
    AFK[playerid] = gettime();


    So jetzt hast ein AFK System :)


    Und dann den Befehl so:


    Also die Tickets hab ich aus dem Befehl weggelassen, weil ich da keine Infos hatte.


    Wenn du die noch haben magst, kannst du es gerne selbst probieren oder mir sagen, in welcher Variable du die speicherst, welchen Wert das haben soll, wenn der Spieler offline ist.