Textdraws spinnen

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
  • Hey,


    nach dem bisschen normales gescriptet habe, habe ich den Server restartet und die Textdraws spinnen rum
    Ich hatte das TD-Filterscript drinne ( /text ), habe das unloaded und unzählige Male den Server restartet, jedoch ohne Erfolg.


    Beim Login springt das Report-System-Textdraw in den Bildschirm sehr groß, wenn ich mit /aduty rein und raus gehe, kommt es ganz wo anders.
    Davor war alles normal und in der richtigen Größe etc ( Position usw. ).


    Außerdem werden auch Server-Textdraws auch nicht geladen, bspw. Textdraw vom Servername...


    Hatte jemand ein ähnliches Problem, und wie behebt man das?


    // Update


    Außerdem sind mehrere Cars wie z.B Taxis / Jobcars und Mappings nicht da...


    Bitte um dringende Hilfe


    Habe eine ältere .AMX hochgeladen, auch dort ist das Problem, obwohl die AMX von einem Tag ist wo es noch funktioniert hat...


    // Wenn ich das Textdraw-Filterscript lade und ein neues erstelle, ersetzt sich der String vom Textdraw also der Text direkt mit den Texten vom Report-Textdraw...


    Sprich ich erstelle eins :


    "NEW TEXTDRAW", und dann in der nächsten Sekunde wird das automatisch durch "/reports /cheaters" etc. ersetzt...

    3 Mal editiert, zuletzt von Kalash ()

  • Du hast das Limit von Textdraw erreicht.
    Was ist daran nicht zu verstehen?

  • Das weißt auf nicht vollständige Zurücksetzung von Variablen bzw. nicht richtige Nutzung der Textdraw Variablen.


    Bei dir könnte es vielleicht so sein: Du hast einen Timer für alle Admins um die Reports anzuzeigen (das ganze via Textdraw), du hast jedoch das Textdraw dafür noch nicht erstellt, aktualisiert jedoch das Textdraw trotzdem und da bei Initialisierung von Variablen für Textdraws diese nicht diesen Standardwert beinhalten: "Text:INVALID_TEXT_DRAW" sondern einfach 0 aktualisiert dieser Timer eben das Textdraw was auf der ID gerade vom Server gelegt wurde und in deinem Fall wären das die Textdraws des Filterscripts.
    Lösung hierfür wäre in Zukunft sauberer zu arbeiten (Textdraw Variablen richtig initialisieren, richtig zurücksetzen, nur nutzen wenn auch erstellt, wobei dieser Punkt nicht unbedingt beachtet werden muss wenn die ersten beiden Punkte richtig umgesetzt sind).

  • Davor ging es, und ich habe nichts geändert sondern nur normale Sachen gescriptet.



    Ich habe keine Textdraws über Filterscripts, sondern ein Filterscript womit ich Textdraws INGAME erstellen kann...

  • Lese meinen Beitrag genauer, solche Konflikte treten bei einem Script eher selten auf, auch wenn man es hier komplett vergisst die Variablen richtig zu initialisieren oder zurückzusetzen. Wenn ein Filterscript dazu kommt sieht es wiederum schon anders aus da beide Script keine separaten Array für die Textdraws haben und dadurch Wissen was belegt ist und was nicht.


    Dein Szenario:


    Hauptscript aktualisiert dauerhaft invaliden Textdraw welcher momentan gar nicht existiert (Hauptscript)
    Filterscript erstellt Textdraw auf der invaliden ID (Filterscript)
    Textdraw wird (in deinem Fall) zu diesem Admin Report Textdraw (Hauptscript)


    Hast du jetzt verstanden wo das Problem ist?
    Falls nicht dein Hauptscript zerschießt dir deine Textdraws, schau mal über deine Textdraws drüber und passe sie ggf. an das sie nicht mit invaliden IDs um sich werfen.

  • Leider weiß ich nicht wie ich das machen soll ( Anpassen ). Kann mir einer bitte helfen über Teamviewer?


    //
    @Jeffry kannst du mir vielleicht genauer erklären wie ich das nun beheben kann? Ich meine... es sind ja nicht wenige Textdraws sondern schon etwas mehr.

    Einmal editiert, zuletzt von Kalash ()

  • Ganz einfach? Das textdraws Filterscript auf einem leeren Gamemode Server nutzen?

  • //


    Einige Fahrzeuge z.B Taxis spawnen auch nicht bzw. sind nicht da.


    Sowie Busse / andere Jobfahrzeuge... das heißt es kann doch eigentlich nicht nur an den Textdraws liegen?


    Außerdem sind paar Mapping wieder da die ich entfernt habe mit RemoveBuild o.O? Davor waren die weg, erst seit dem der Bug da ist sind die Mappings wieder da.


    Pickups sind auch nicht da... sowie Textlabels.



    @Jeffry weißt du was da falsch läuft´?

    4 Mal editiert, zuletzt von Kalash ()

  • Also ich benutze es zum ersten Mal, ist das der Code? Ist neu in der server-log.


    Code
    [00:32:49] [debug] Run time error 4: "Array index out of bounds"
    [00:32:49] [debug]  Attempted to read/write array element at negative index -400
    [00:32:49] [debug] AMX backtrace:
    [00:32:49] [debug] #0 000125bc in public weapon_OnGameModeInit () from gamemode.amx
    [00:32:49] [debug] #1 0000fa2c in public OnGameModeInit () from gamemode.amx
    [00:32:49]
  • Das ist richtig so. Um die Zeile mit dem Fehler zu identifizieren, gehe bitte nach Punkt 1.5 vor: Tipps: Scripting-Probleme richtig erklären


  • Bin etwas verwirrt, habe die .cfg Datei mit dem Inhalt erstellt.


    pawno.exe geöffnet -> Script ausgewählt und compilet, AMX hochgeladen auf den Linux-Server -> Restartet -> server.log nichts neues bzw. keine Zeilenangabe etc.


    //
    morgen bin ich wieder erreichbar

  • So hey,


    anscheinend wollte sich das Textdokument nicht in .cfg speichern, lag wohl an Notepad.


    Das "Fertig-Compilet"-Fenster war auch anders mit mehreren Daten und habe jetzt auch etwas neues in der Log :


    Code
    [09:55:23] [debug] Run time error 4: "Array index out of bounds"
    [09:55:23] [debug]  Attempted to read/write array element at negative index -400
    [09:55:23] [debug] AMX backtrace:
    [09:55:23] [debug] #0 00016a00 in public weapon_OnGameModeInit () at C:\Users\Safa\Desktop\Server\gamemodes\gamemode.pwn:2270
    [09:55:23] [debug] #1 00013384 in public OnGameModeInit () at ../AntiCheats/Anti-WeaponHack.pwn:16
    [09:55:23]

    Zeile 2270 unter Gamemodeinit :



    Code
    printf("%s | %s | %d",CarName[GetVehicleModel(ccc)-400],FrakInfo[FrakCars[ccc][frakid]][frakname], ccc);
  • Jetzt hast du da die Zeilenangabe. Schicke uns mal aus gamemode.pwn die Zeile 2270 und aus Anti-WeaponHack.pwn die Zeile 16. ;)

  • Aus Antiweaponhack die Public :