[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
  • Hat jemand die Coords wo ich

    die Uhrzeit nach geschrieben habe.


    Keiner weiß dir Coords auswendig

    Das ist zwar korrekt, aber man kann sie ja versuchen zu raten.


    Alsooo wir wissen, dass das Feld max 640x448 groß ist.

    CreatePlayerTextDraw(playerid, 548.750000, 65.333332, "00:00");

    Seine aktuelle Position: 548.75 und 65.333


    Wollen wir es also weiter nach oben verschieben, muss Y kleiner werden und ein stück nach rechts, also X ein wenig erhöhen.


    CreatePlayerTextDraw(playerid, 570, 45, "00:00");


    Wäre so ein guess hahaha xD



    Aber natürlich wäre es 1000x einfacher einfach einen TextDraw Editor zu nutzen, gerade dann, wenn du auch noch die Größe etc anpassen magst :D

    ast2ufdyxkb1.png


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

  • sa-mp-308_LI.jpg

    Hat jemand die Coords wo ich

    die Uhrzeit nach geschrieben habe.


    Code
        Clock[playerid] = CreatePlayerTextDraw(playerid, 548.750000, 65.333332, "00:00");
        PlayerTextDrawLetterSize(playerid, Clock[playerid], 0.326875, 1.308333);
        PlayerTextDrawAlignment(playerid, Clock[playerid], 1);
        PlayerTextDrawColor(playerid, Clock[playerid], -1);
        PlayerTextDrawSetShadow(playerid, Clock[playerid], 0);
        PlayerTextDrawSetOutline(playerid, Clock[playerid], 1);
        PlayerTextDrawBackgroundColor(playerid, Clock[playerid], 51);
        PlayerTextDrawFont(playerid, Clock[playerid], 3);
        PlayerTextDrawSetProportional(playerid, Clock[playerid], 1);

    Würde dir empfehlen, dass mit einen TextDraw-Editor zu machen (Zum Beispiel den: https://forum.sa-mp.com/showthread.php?t=641085).

    Aber wieso PlayerTextDraw bei der Uhrzeit? Globales wäre da besser meiner Meinung nach.

  • Hallo,

    hab ein Problem mit Pawno. Hab gestern ein Funktionsupdate von Windows 10 gemacht & jetzt compiled Pawno kein Script mehr.

    Es stürzt nicht ab & es kommt auch keine Fehlermeldung. So sieht das dann aus: https://prnt.sc/t4glwb


    Eigentlich bedeutet das ja, dass mehr als 26 Fehler im Script sind...Allerdings ist es so, dass es vor dem Funktionsupdate noch ging & ich auf seitdem nichts mehr an dem Script geändert habe.Ich habe es auch bei einigen anderen Scripts versucht, da funktioniert es auch nicht.


    Weiß jemand wie ich das Problem beheben kann?


    MFG

  • Mal versucht das als Admin zu starten?


    Und um sicher zu gehen, mal das Empty-Skript genommen und kompiliert?

    Ich starte es immer nur als Admin, damit ich rechts in der Leiste die Funktionen von den Includes sehe.

    Mit der Empty Version compiled es, allerdings bei keiner anderen

  • Mit der Empty Version compiled es, allerdings bei keiner anderen

    Damm damm damm :D


    Bei den Skripten die du getestet hast, nutzt du da evtl Includes?


    Evtl ja die Selben und dort hat sich ein Fehler eingeschlichen? :)


    Aber du kannst zu 99.9% davon ausgehen, dass es sich hier entweder um einen Klammerfehler handelt, oder dass eine Zeile zu lang wurde .)


    Hatte dafür mal ein Tool geschrieben: Klammerfehler finden


    Good Luck :thumbup:

    ast2ufdyxkb1.png


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

  • Habe es gerade damit versucht. Hab STRG+A gedrückt, es kopiert, bei deiner Seite da eingefügt & überprüfen lassen und es kommt die Meldung: Es konnte kein Klammerfehler gefunden werden!


    Wenn ich versuche den Server zu starten kriege ich Run time error 17: "Invalid/unsupported P-code file format"

  • Es konnte kein Klammerfehler gefunden werden!

    Das ist doch schon einmal gut, das bedeutet, dass in deinem Main-Gamemode keine Fehler sind.


    Aber wie gesagt, evtl ja bei den includes, das würde eben Sinn machen, wenn du die Selben nutzt bei deinen Skripten, wo du es getestet hast.



    Wenn ich versuche den Server zu starten kriege ich Run time error 17: "Invalid/unsupported P-code file format"

    ...du kannst doch ohne amx keinen Server starten (bei Fehlern wird evtl eine mit 0 Bytes erzeugt, aber das doch Müll).


    Ergo, fix die Fehler, compile das Skript und starte dann den Server...


    (Oder poste hier den ganzen Server Log pls...)

    ast2ufdyxkb1.png


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

  • Anscheinend liegt es an einem Include namens "md-sort". Hab das gerade ausgeklammert im Script. Jetzt compiled es.

  • Guten Abend,


    ich hab folgenden Code aber dieser funktioniert nicht.


    mysql_format(handle, string1, sizeof(string1), "UPDATE `account_team` SET `admin` = '%d' WHERE `id` = '%d'",TeamInfo[playerid][account_team_Admin],AccountInfo[playerid][account_ID]);mysql_tquery(handle, string1);


    Was kann ich machen, damit die Query ausgeführt wird da dies zwei verschiedene Enums sind?


    Danke im Voraus.


    MfG


    Allrounder18



  • Code
    new query[128];
    mysql_format(handle, query, sizeof(query), "UPDATE `account_team` SET `admin` = '%d' WHERE `id` = '%d'",TeamInfo[playerid][account_team_Admin],AccountInfo[playerid][account_ID]);
    mysql_tquery(handle, query);
  • Code
    new query[128];
    mysql_format(handle, query, sizeof(query), "UPDATE `account_team` SET `admin` = '%d' WHERE `id` = '%d'",TeamInfo[playerid][account_team_Admin],AccountInfo[playerid][account_ID]);
    mysql_tquery(handle, query);

    Das geht leider nicht, Die Zahl in der Datenbank ändert sich nicht.

    Edit: Es kommen auch keine Errors

  • Deine SQL Query ist ja auch soweit korrekt, ich denke eher das die Variablen nicht befüllt werden.

    Okay, die Variablen sind im Enum vorhanden, wenn ich die Zahl direkt in MYSQL einfüge kennt das Script die Zahl auch. Was mache ich falsch?


    Edit auch der print von TeamInfo[playerid][account_team_Admin] spuckt die richtige Zahl aus.

  • Printe dir doch mal das Query..und poste es hier :)


    oder gib das query dann 1:1 in Phpmyadmin ein und schau, was gesagt wird :)

    Wenn ich die query 1;1 in HeidiSQL eingebe kommt garnichts.


    Edit: Ich habs mit nem anderen Account versucht, dort klappte es interessanterweise. Aber generell klappt es nicht.


    Edit2: Das Problem geht jetzt, da ich den Adminrang wieder in das AccountInfoEnum gegeben habe aber nun kommen folgende Fehler.


    Code
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter1' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:42)
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter2' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:43)
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter3' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:44)
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter4' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:45)

    account_Verwalter[4], steht im AccountInfoEnum, die Tabellenspalten sind in der Tabelle account_team, der rest es AccountInfoEnum ist in der Tabelle accounts.


    Code
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:58)
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:59)
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:60)
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:61)

    Die rot markierten Stellen sind in der Fehlermeldung gemeint.


    Beim Registrieren befülle ich die Felder wie folgt aber leider steht dann da nichts drin.

    Code
        AccountInfo[playerid][account_Verwalter][0]  = 0;
        AccountInfo[playerid][account_Verwalter][1]  = 0;
        AccountInfo[playerid][account_Verwalter][2]  = 0;
        AccountInfo[playerid][account_Verwalter][3]  = 0;


    Was mache ich falsch?


    Danke im Voraus.


    MfG


    Allrounder18

  • Guten Abend,


    hat jemand ne Idee was da falsch sein könnte ab dem Edit2?


    Danke im Voraus.


    MfG


    Allrounder18

  • Der Timer funktioniert irgendwie nicht, die Dinger gehen nie bei mir.

    Wie wird das denn aufgerufen?


    Setz halt mal ein paar prints...schau was nicht aufgerufen wird, wie die Variablen sind...


    So ohne Debug-Infos kann man da jetzt nur Mutmaßen xD



    at jemand ne Idee was da falsch sein könnte ab dem Edit2?

    In deiner SQL Tabelle, musst du die Spalten mit NOT NULL und DEFAULT 0 erstellen! :)

    ast2ufdyxkb1.png


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