[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
  • Servus, hab ein kleines problem. Ich weiß nicht wieso es sowas zeigt (steht unten im Anhang)
    Normalerweise sollte es so zeigen https://files.prineside.com/gt…model_id/white/1650_w.jpg




    TachoDraw[playerid][8] = CreatePlayerTextDraw(playerid, 342.666381, 417.303619, "LD_SPAC:white");
    PlayerTextDrawLetterSize(playerid, TachoDraw[playerid][8], -1.720000, -51.888137);
    PlayerTextDrawTextSize(playerid, TachoDraw[playerid][8], 23.000015, 26.548118);
    PlayerTextDrawAlignment(playerid, TachoDraw[playerid][8], 1);
    PlayerTextDrawColor(playerid, TachoDraw[playerid][8], -1);
    PlayerTextDrawUseBox(playerid, TachoDraw[playerid][8], true);
    PlayerTextDrawBoxColor(playerid, TachoDraw[playerid][8], 0);
    PlayerTextDrawSetShadow(playerid, TachoDraw[playerid][8], 0);
    PlayerTextDrawSetOutline(playerid, TachoDraw[playerid][8], 0);
    PlayerTextDrawFont(playerid, TachoDraw[playerid][8], 5);


    Danke im voraus!

  • Gut, nur ist es nicht Transparent, also sehe immer noch das schwarze hintergrund

    Dann, den Hintergrund transparent machen:


    PlayerTextDrawBackgroundColor(playerid, TachoDraw[playerid][8], 0x00000000);

    ast2ufdyxkb1.png


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

  • Hello, liege mit MySQL noch hinten :D
    ich habe eine Tabelle in der Datenbank wo bestimmte Werte von jedem Spieler gespeichert werden, in der Art "Leaderboard".
    Wenn ich jetzt die 10 größten Werte heraussuchen will, wie mache ich dies am effektivsten?


    ich weiß nicht wie ich die 10 Größten Werte rausfiltere. Das ist ja der größte Wert:
    SELECT * FROM `/*Tabelle*/` ORDER BY `/*Spalte*/` DESC LIMIT 1 


    Das ganze soll mit einem Timer jede Stunde passieren, gibt es eine Möglichkeit das ganze asynchron zu machen?
    So dass der Server nicht belastet wird dadurch

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Statt LIMIT 1 einfach LIMIT 10 schreiben.

  • Hatte ich versucht, aber er holt da nichts heraus, wenn ich den höchsten Wert versuche rauszufiltern geht es
    //Edit
    Hab nur 1 Zeile in der Tabelle... Hat sich erledigt :D

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • @BrightLeaN Solange du für die Query mysql_tquery oder mysql_pquery verwendest, wird das automatisch in einem seperaten Thread verarbeitet, ist sozusagen schon asynchron. Aber eine normale Funktion kannst du nicht asynchron machen, so etwas bietet PAWN einfach nicht. (Denke Mal du meinst sowas wie async / await in Javascript)

  • #include "../gamemodes/sources/main" -> Dies habe ich ganz Oben im Script definiert.


    So Sieht das ganze nun auch aus.






    Zum Beispiel Includes inc.





    Hi,


    Mal eine frage,


    Wollte so nach und nach alles in ein Include verpacken da sonst das Script zu unübersichtlich wird.
    Er erkennt dies scheinbar nicht und wirft mir Fehler aus.


    Er erkennt die ganzen Farben auch nicht wie kann man da nun vorgehn?

  • Du musst das Include im /pawno/include Verzeichnis haben.

    Das stimmt nicht, so wie er es macht ist es eigentlich auch richtig.


    Er erkennt dies scheinbar nicht und wirft mir Fehler aus.

    Dann zeig uns diese Fehler doch... Das ist doch nicht das erste mal, dass wir dir helfen sollen.

  • @LeonMrBonnie


    Ist mir schon klar. Aber ich versuche dies akuell selbst hin zu kriegen.
    Liegt an includes die bereits vorhanden sind da findet er die sachen nicht.^^



    So sieht das aus^^

  • Vielleicht postest du einfach deinen Code, dann können wir gemeinsam den Fehler finden.So profitierst du ggf. mehr daran.
    Weiterhin ist es recht schwierig dir sowas ohne deine Variablen/Strukturen zu kennen zu machen

    Sorry total Verpeilt :D


    Mein Enum:

    enum pDataEnum
    {
    p_id,
    bool:pLoggedIn,
    pName[MAX_PLAYER_NAME],
    pLevel,
    pMoney,
    pKills,
    pDeaths,
    pAdmin,
    IP[16],
    pSkin
    }


    OnUserLogin(playerid):

    forward OnUserLogin(playerid);
    public OnUserLogin(playerid)
    {
    new rows;
    cache_get_row_count(rows);
    if(rows == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Falsches Passwort!", "Ok", "Abbrechen");
    }
    else
    {
    cache_get_value_name_int(0, "id", PlayerInfo[playerid][p_id]);
    cache_get_value_name_int(0, "level", PlayerInfo[playerid][pLevel]);
    cache_get_value_name_int(0, "money", PlayerInfo[playerid][pMoney]);
    cache_get_value_name_int(0, "kills", PlayerInfo[playerid][pKills]);
    cache_get_value_name_int(0, "Skin", PlayerInfo[playerid][pSkin]);
    PlayerInfo[playerid][pLoggedIn] = true;
    SendClientMessage(playerid, 0x00FF00FF, "[Konto] Eingeloggt");
    GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
    }
    return 1;
    }


    stock SaveUserStats(playerid)

    stock SaveUserStats(playerid)
    {
    if(!PlayerInfo[playerid][pLoggedIn]) return 1;
    new query[256];
    mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', kills = '%d', deaths = '%d', Skin = '%d', WHERE id = '%d'",PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths],PlayerInfo[playerid][pSkin], PlayerInfo[playerid][p_id]);
    mysql_pquery(handle, query);
    GetPlayerSkin(playerid);
    return 1;
    }