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
  • Der Fehler liegt in Zeile 2270.

    C
    printf("%s | %s | %d",CarName[GetVehicleModel(ccc)-400],FrakInfo[FrakCars[ccc][frakid]][frakname], ccc);

    So kann ich hier aber kein Fehler erkennen. Wie sieht CarName denn aus? ccc ist die vehicleid, oder?

  • CCC :

    Code
    new ccc=CreateVehicle(mysql_GetInt_ID("frakcars", "modelid", "db_id",i), mysql_GetFloat_ID("frakcars", "parkx", "db_id",i), mysql_GetFloat_ID("frakcars", "parky", "db_id",i),
  • Hey,



    Ist in meiner Include-Datei enthalten, die ich auch ganz normal include die auch funktioniert ( Farbdefinierungen etc. alles enthalten in der Include )

  • C
    printf("model: %d",GetVehicleModel(ccc));
    printf("%s | %s | %d",CarName[GetVehicleModel(ccc)-400],FrakInfo[FrakCars[ccc][frakid]][frakname], ccc);

    Was wird dir bei "model" geprintet?

  • Also das untere Print mit %s %s und %d sieht folgt aus :




    versuche das mal eben



    //


    Wird jetzt so geprintet :



    Code
    [10:47:57] ============= FRAKTIONS AUTOS =============
    [10:47:57] model: 560
    [10:47:57] Sultan | SAPD | 1
    [10:47:57] model: 560
    [10:47:57] Sultan | SAPD | 2
    [10:47:57] model: 560
    [10:47:57] Sultan | SAPD | 3
    [10:47:57] model: 427
    [10:47:57] Enforcer | SAPD | 4
    [10:47:57] model: 427
  • Dann funktioniert das jetzt, oder wie soll ich das verstehen? Die Namen der Fahrzeuge werden ja jetzt geprintet.

  • Jep, nur wieso tauchen dann diese Fehler in der .Log auf ( Crashdetect )...


    // Vermutung


    Könnte es vielleicht an dieser -400 liegen? Ich weiß nicht für was die gut sein soll bei so einem Print xD

  • Die -400 musst du da haben, denn:
    Im Array CarNames geht es von 0 bis 211, die Models von den Fahrzeugen fangen aber bei 400 an und enden bei 611.
    So, wenn du jetzt im Infernus (Model: 411 sitzt) und die 400 abziehst dann ergibt das 11. Der 11. Eintrag in CarNames sollte dann Infernus sein. :D


    Wieso der Fehler trotzdem noch in der Log auftaucht, weiß ich selbst nicht. Das funktioniert aber einwandfrei, mal abgesehen von den Fehlern in der Log, oder?

  • Vielleicht kennt sich da @Jeffry etwas mehr aus?


    //
    Beim Anti-Weapon-Hack, merke ich dass in der server-log.txt sehr oft "Anti-Weapon Check" geprintet wird, vielleicht hat das ja was miteinander zutun , weil beide sind ja in der GameModeInit...


    Hier der Code vom Anti-Weapon-Hack.pwn :


    Einmal editiert, zuletzt von Kalash ()

  • Ändere
    printf("%s | %s | %d",CarName[GetVehicleModel(ccc)-400],FrakInfo[FrakCars[ccc][frakid]][frakname], ccc);
    zu:
    if(GetVehicleModel(ccc) > 0) printf("%s | %s | %d",CarName[GetVehicleModel(ccc)-400],FrakInfo[FrakCars[ccc][frakid]][frakname], ccc);
    else printf(">Unknown< | %s | %d",FrakInfo[FrakCars[ccc][frakid]][frakname], ccc);

  • Leider ist das Textdraw etc. immer noch durcheinander , außerdem sind irgendwie mehrere Flugzeuge etc. einfach mal an Noobspawn ( Hydras etc. ) ( glaube aber nicht dass es jetzt daran liegt :


    Crashdetect sagt immernoch :


    Code
    [12:21:36] [debug] Run time error 4: "Array index out of bounds"
    [12:21:36] [debug]  Attempted to read/write array element at index 22 in array of size 12
    [12:21:36] [debug] AMX backtrace:
    [12:21:36] [debug] #0 000169d4 in public weapon_OnGameModeInit () at C:\Users\Safa\Desktop\Server\gamemodes\gamemode.pwn:2270
    [12:21:36] [debug] #1 00013384 in public OnGameModeInit () at ../AntiCheats/Anti-WeaponHack.pwn:16
    [12:21:36]
  • Also Fahrzeuge printen :



    Bin mir nicht sicher da ich mich in dem Bereich nicht so gut auskenne , hier ist eine enum eFrakInfo :


    Code
    enum eFrakInfo
    {
    	frakname[40],
    	maxmembers,
    	maxrangs,
    	kasse,
    	drogen,
    	mats
    }

    enum für FrakCars :




    Code
    enum eFrakCars
    {
    	frakid,
    	Float:parkx,
    	Float:parky,
    	Float:parkz,
    	Float:parkr,
    	tank,
    	db_id
    }

    //////////////////////////////////////////////////////////
    Funktioniert jetzt aufeinmal wieder, lol?


    Habe den vorgeschlagenen Code von Jeffry wieder gelöscht und mit dem alten ersetzt, und habe den Server restartet nach dem Compilen / ersetzen der .AMX und habe auch die Datenbank resetted...




    Möchte aber gerne wissen an was das liegt ? 8| Einfach so ging es wieder...

    Einmal editiert, zuletzt von Kalash ()

  • Der Code passt dann so.
    Mit der Änderung, die ich dir gegeben habe, hat es nichts zu tun, das ist ja der gleiche Code mit einer Abfrage zusätzlich.


    habe auch die Datenbank resetted...

    Dann könnte ich mir vorstellen, dass ein Fahrzeug die Fraktions ID 22 angegeben hatte, wobei die maximale ID die 11 ist.

  • Eventuell hast du in "new FrakInfo" 12 im Array eingetragen, sprich Fraktions-IDs von 0 bis 11 (12 Stück). Gibst du dann in der Datenbank für das Fahrzeug die Fraktions-ID 22 an, dann geht das nicht.
    Ist aber wie gesagt nur eine Vermutung.

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