[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
  • Beitrag von Klex ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • servus ich bekomme die ganze zeit wenn man sich regestiert


    dabei habe ich es nicht anders wie im anderen script wo es geht


    Code
                new query[128];
                format(query, sizeof(query), "SELECT * FROM `VC_Spieler` WHERE `name`='%s' AND `password`=md5('%s')", GetName(playerid), inputtext);
                mysql_function_query(MySQLConnection, query, true, "OnPlayerLogin", "d", playerid);

    Wenn es beim registrieren ist, dann zeig bitte mal die Register & nicht die Login funktion

  • Beitrag von Klex ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: fehler gefunden habe vergessen ihn einmal speichern zu lassen .,. ().
  • Kurze frage ich suche schon lange aber finde nix wie heißt "mysql_free_result" in MySQL-R41-4?

    Da MySQL R41 mit Caches arbeitet, bedarf es dieser Funktion nicht, da das nach Aufrufen des Callbacks automatisch gelöscht wird.


    Es sei denn du hast vor den cache zwischenzuspeichern, dann könntest du sowas wie https://wiki.sa-mp.com/wiki/MySQL#cache_delete verwenden.

    ast2ufdyxkb1.png


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

  • Huhu

    wie kann ich Geld in einem Textdraw 3 ställig anzeigen lassen ? also zb


    100,000,000


    habe es derzeit so in versuch


    Code
        new str[144];
        format(str, sizeof(str),"%002d:%002d:%002d",SpielerInfo[playerid][pGeld]);
        PlayerTextDrawSetString(playerid,GeldHud[playerid][0],str);

    lg

  • wie kann ich Geld in einem Textdraw 3 ställig anzeigen lassen ?

    Hatte vor Ewigkeiten mal eine kleine Funktion dafür geschrieben gehabt:


    C
    stock sMoney(geld) {
        new str[24],i;valstr(str,geld),i=(geld > 0) ? strlen(str)-3 : strlen(str)-4;
        for(; i>0; i-=3) strins(str,".",(geld > 0) ? i : i+1,24);
        return str;
    }
    
    //Nutzung dann einfach so:
    PlayerTextDrawSetString(playerid,GeldHud[playerid][0],sMoney(SpielerInfo[playerid][pGeld]));

    PS: Kannst natürlich auch dann später den String zum Beispiel so formatieren, falls noch zusätzliche Infos rein müssen:


    ast2ufdyxkb1.png


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

  • Hey,


    Ganz kurze Frage möchte ein Textdraw erstellen komplett schwarzen Bildschirm ubd unten Rechte die Welt wird Aktualisiert.


    Wird der Textdraw bei jeden Spieler selbst an der Auflösung angepasst? Oder muss man da was beachten?

    Textdraws werden automatisch skaliert, du arbeitest ja mit Dimensionen von 640x480 ("GTASA Standard"), die haben ja wenige.

    Was aber viele vergessen und weswegen es kleine verschiebungen geben kann sind zuviele Dezimalstellen / Dezimalstellen an sich, da bei der Skalierung etwas präzision verloren geht.

    Daher empfehle ich dir deine Textdraws sogut wie du kannst auf ganzen Zahlen zu halten, wie z.B. 552,552.20,551.25 anstatt 552,576832 und so weiter, schau mal bei den bekannten Textdraw Editoren die haben auch ein Snapping feature.

  • Beitrag von Klex ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • was heißt eigentlich dieses hier ?

    Code
    Stack/heap size:      40000 bytes; estimated max. usage: unknown, due to recursion

    ich bekomme es erst wenn ich just vor fun sowas mache


    Code
    new bankstr[2000];
             format(bankstr, 800, "".... usw 
                        ShowPlayerDialog(playerid,D_BankKontoErstellen,DIALOG_STYLE_MSGBOX, "Bank Konto", bankstr, "erstellen", "Abbrechen");
  • wenn ich just vor fun sowas mache

    Just 4 Fun reservierst du da sehr viel Speicher (2000 * 4 Bytes).

    Dieser Speicher wird auf den Stack geschrieben.


    Hast du jetzt noch viele große globale Variablen, kommt es zu einer Stack-Heap Collission.


    Denn der Speicher ist begrenzt für das Programm (das prüft der Compiler).


    Du kannst über pragma dynamic den Compiler anweisen mehr Speicher zu reservieren.


    Allerdings zeugt das von keinem guten Ressourcenmanagement. Eigentlich sollte das problemlos alles klappen in diesem vorgegebenen Speicherbereich.


    Eventuell einfach mal auf die größe von Arrays achten.

    ast2ufdyxkb1.png


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen