Beiträge von JustMe.77

    Hmm, hat jemand vielleicht eine Lösung für mein Problem, @Jeffry vielleicht :) ?


    Ich rufe mit einem Befehl eine Top Liste für verschiedene Bereiche ab, alle funktionieren bis auf eins.
    So schaut's aus wenn's funktioniert (Top Kills)



    Und so mit dem was ich als letztes hinzugefügt habe



    Ich denke es liegt daran, das ich die Farbe abfragen möchte, die aber in der "players" Tabelle gespeichert ist und die Daten die für die Top-Liste in der "battlestats" gespeichert sind.
    Wie könnte ich das jetzt so machen, das er die Farbe von der players Tabelle aufruft, die anderen Daten aber von der Battlestats Tabelle, also von 2 verschiedenen Tabellen?



    format(cQuery, sizeof(cQuery), "SELECT Name, WonDuels, Color FROM `battlestats` ORDER BY `WonDuels` DESC LIMIT 10");
    mysql_query(MySQL, cQuery);
    mysql_store_result();

    Zu meinem Problem oben:



    format(cQuery, sizeof(cQuery), "SELECT Name, WonDuels, Color FROM `battlestats` ORDER BY `WonDuels` DESC LIMIT 10");
    mysql_query(MySQL, cQuery);
    mysql_store_result();


    Die Spieler Farbe befindet sich in der players Tabelle und WonDuels wird in der battlestats Tabelle gespeichert, könnte daran das Problem liegen? Wie kann ich die Farbe von der players Tabelle abfragen, aber gleichzeitig die Statistiken von der battlestats Tabelle?

    Hi, hab ein kleines Problem. Meine Top Duels werden mir irgendwie nicht ausgegeben, alle anderen Top Listen funktionieren.


    Funktioniert und Daten werden korrekt ausgegeben:



    case 1: {
    new cQuery[1024];



    format(cQuery, sizeof(cQuery), "SELECT Name, Kills, Color FROM `players` ORDER BY `Kills` DESC LIMIT 10");
    mysql_query(MySQL, cQuery);
    mysql_store_result();



    new num, top[10][24], score[10][10], Top[1024], color[10][10];



    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(top[num], "Name");
    mysql_fetch_field_row(score[num], "Kills");
    mysql_fetch_field_row(color[num], "Color");
    num ++;
    }



    format(Top, sizeof(Top),"Top\tNickname\tKills\n1\t{%06x}%s\t%i\n2\t{%06x}%s\t%i\n3\t{%06x}%s\t%i\n4\t{%06x}%s\t%i\n5\t{%06x}%s\t%i\n6\t{%06x}%s\t%i\n7\t{%06x}%s\t%i\n8\t{%06x}%s\t%i\n9\t{%06x}%s\t%i\n10\t{%06x}%s\t%i",
    strval(color[0]) >>> 8, top[0], strval(score[0]),
    strval(color[1]) >>> 8, top[1], strval(score[1]),
    strval(color[2]) >>> 8, top[2], strval(score[2]),
    strval(color[3]) >>> 8, top[3], strval(score[3]),
    strval(color[4]) >>> 8, top[4], strval(score[4]),
    strval(color[5]) >>> 8, top[5], strval(score[5]),
    strval(color[6]) >>> 8, top[6], strval(score[6]),
    strval(color[7]) >>> 8, top[7], strval(score[7]),
    strval(color[8]) >>> 8, top[8], strval(score[8]),
    strval(color[9]) >>> 8, top[9], strval(score[9])
    );



    ShowPlayerDialog(playerid, D_Tops+2, DIALOG_STYLE_TABLIST_HEADERS, "Top Killers", Top, "Close", "Back");



    mysql_free_result();
    }



    Funktioniert nicht, keine Daten werden ausgegeben:



    case 5:
    {
    new cQuery[1024];



    format(cQuery, sizeof(cQuery), "SELECT Name, WonDuels, Color FROM `players` ORDER BY `WonDuels` DESC LIMIT 10");
    mysql_query(MySQL, cQuery);
    mysql_store_result();



    new num, top[10][24], score[10][10], Top[1024], color[10][10];



    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(top[num], "Name");
    mysql_fetch_field_row(score[num], "WonDuels");
    mysql_fetch_field_row(color[num], "Color");
    num ++;
    }



    format(Top, sizeof(Top),"Top\tNickname\tWon Duels\n1\t{%06x}%s\t%i\n2\t{%06x}%s\t%i\n3\t{%06x}%s\t%i\n4\t{%06x}%s\t%i\n5\t{%06x}%s\t%i\n6\t{%06x}%s\t%i\n7\t{%06x}%s\t%i\n8\t{%06x}%s\t%i\n9\t{%06x}%s\t%i\n10\t{%06x}%s\t%i",
    strval(color[0]) >>> 8, top[0], strval(score[0]),
    strval(color[1]) >>> 8, top[1], strval(score[1]),
    strval(color[2]) >>> 8, top[2], strval(score[2]),
    strval(color[3]) >>> 8, top[3], strval(score[3]),
    strval(color[4]) >>> 8, top[4], strval(score[4]),
    strval(color[5]) >>> 8, top[5], strval(score[5]),
    strval(color[6]) >>> 8, top[6], strval(score[6]),
    strval(color[7]) >>> 8, top[7], strval(score[7]),
    strval(color[8]) >>> 8, top[8], strval(score[8]),
    strval(color[9]) >>> 8, top[9], strval(score[9])
    );



    ShowPlayerDialog(playerid, D_Tops+6, DIALOG_STYLE_TABLIST_HEADERS, "Top Duels", Top, "Close", "Back");



    mysql_free_result();




    }


    Wo habe ich ein Fehler gemacht ?

    Anhand der Besonderheiten, die Schwierigkeiten die das Script besitzt, die Art wie es erstellt wurde und die Zeit die darin investiert wurde :)


    Wer mehr als 1 Jahr an ein Gamemode arbeitet, kann es denke ich schwer abgeben. Ist bei mir und paar Freunden aufjedenfall so. Da ist auch egal wie hoch das Angebot ist ^^

    Problem gelöst, letzte Frage:


    Habe verschiedene Textdraws (Leben/Armour Anzeige & Level/Geld Anzeige, beide nutzen jeweils PlayerTextDrawSetOutline.
    Wenn ich die Level / Geld Anzeige Textdraws ins Gamemode einfüge, dann fehlt bei den Leben/Armour Anzeige die Outline, wieso? Ich bezweifle zwar das ich hierfür eine Problemlösung finde, aber vielleicht weiß ja einer bescheid woran das liegt..


    Edit:


    Nein, die Health/Armour Anzeige (nur Health) verschwindet hinter meiner Health-Bar..)


    Bild:


    Habe ich etwas falsch gemacht?



    UpdateWeedTextDraws(playerid)
    {
    new str[48], str2[48];
    //Updating Level & Weed TextDraw
    format(str, sizeof(str),"Level: ~g~%d", GetPlayerScore(playerid));
    PlayerTextDrawSetString(playerid, Weed0, str); //Level
    format(str2, sizeof(str2),"Weed: ~g~%d", pData[playerid][P_Weed]);
    PlayerTextDrawSetString(playerid, Weed1, str2); //Weed
    }



    Server Log:


    [17:47:09] [join] [LnD]JustMe.77 has joined the server (0:127.0.0.1)
    [17:47:19] [debug] Run time error 4: "Array index out of bounds"
    [17:47:19] [debug] Accessing element at index 65535 past array upper bound 999
    [17:47:19] [debug] AMX backtrace:
    [17:47:19] [debug] #0 00094d20 in UpdateWeedTextDraws (playerid=65535) at ../Modules/Player/Weed-TextDraws.pwn:51

    Die Frage könnte auch lauten: "Wieso nicht"?
    Wie bereits erwähnt bietet WBB eine Menge von Funktionen an, ich selbst bleibe zwar IPBoard treu, finde trotzdem WBB genau so gut, eigentlich sogar besser :)