Console | Function Errors

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
  • Ok, nun schließt sich nur noch der Server beim starten.


  • [18:42:52] [debug] Server crashed while executing Roleplay.amx
    [18:42:52] [debug] AMX backtrace:
    [18:42:52] [debug] #0 native fwrite () from samp-server.exe
    [18:42:52] [debug] #1 003aa54c in public Fight_Init () from Roleplay.amx
    [18:42:52] [debug] #2 000140d4 in public SSCANF_OnGameModeInit () from Roleplay.amx
    [18:42:52] [debug] #3 00009e60 in public FC_OnGameModeInit () from Roleplay.amx
    [18:42:52] [debug] #4 native CallLocalFunction () from samp-server.exe
    [18:42:52] [debug] #5 000052fc in public Streamer_OnGameModeInit () from Roleplay.amx
    [18:42:52] [debug] #6 native CallLocalFunction () from samp-server.exe
    [18:42:52] [debug] #7 00002df8 in public zcmd_OnGameModeInit () from Roleplay.amx
    [18:42:52] [debug] #8 native CallLocalFunction () from samp-server.exe
    [18:42:52] [debug] #9 00002500 in public OnGameModeInit () from Roleplay.amx
    [18:42:52] [debug] Native backtrace:
    [18:42:52] [debug] #0 77b122d2 in ?? () from C:\Windows\SysWOW64\ntdll.dll
    [18:42:52] [debug] #1 00493990 in ?? () from samp-server.exe
    [18:42:52] [debug] #2 0040531e in ?? () from samp-server.exe[/code]

    6b8bf7dd12b5e47dc8d0ebbd3b5f940276ef6e33?url=https%3A%2F%2Fi.giphy.com%2Fmedia%2Ff4J90sgnAqwAjtAxRm%2Fsource.gif

    Einmal editiert, zuletzt von Dean_Conery ()

  • fwrite ()
    Du versuchst in eine Datei zu schreiben die nicht existiert.



    Füge das unter den Includes ein, dann sollte das Problem nicht mehr auftreten:
    stock my_fwrite(File:f, str[])
    {
    if(f) return fwrite(f, str);
    else return 1;
    }


    #if defined _HOOK_fwrite
    #undef fwrite
    #else
    #define _HOOK_fwrite
    #endif
    #define fwrite my_fwrite



  • Und welche genau sind betroffen?

    6b8bf7dd12b5e47dc8d0ebbd3b5f940276ef6e33?url=https%3A%2F%2Fi.giphy.com%2Fmedia%2Ff4J90sgnAqwAjtAxRm%2Fsource.gif

    Einmal editiert, zuletzt von Dean_Conery ()

  • Das weiß ich nicht, daher die Funktion, die fängt das ab.



    Code
    C:\Users\Olli\Desktop\rp2\pawno\include\file.inc(34) : error 025: function heading differs from prototype
    C:\Users\Olli\Desktop\rp2\pawno\include\file.inc(34) : error 025: function heading differs from prototype



    Code
    native fwrite(File: handle, const string[]);
  • Was? :wacko:


    Ich kann das bei mir ohne Probleme kompilieren, es funktioniert auch. Ich habe es selbst mal verwendet um einen Fehler zu verhindern, bis ich ihn gefunden hatte.


    Kannst es ja auch mal so schreiben:
    stock my_fwrite(File: handle, const string[])
    {
    if(handle) return fwrite(handle, string);
    else return 1;
    }


    Der Hook bleibt gleich. Geht es dann?

  • Naja, ich habe die a_samp und file.inc durch das original ersetzt, weil vorher alles funktioniert hat.
    Soll ich deine o.g. Funktion auch an das Ende der file.inc packen?


    /e: Hab es jetzt mal in die file.inc gepackt. Beim kompolieren, kommt folgender Fehler:

    Code
    C:\Users\Olli\Desktop\rp2\pawno\include\file.inc(34) : error 025: function heading differs from prototypeC:\Users\Olli\Desktop\rp2\pawno\include\file.inc(34) : error 025: function heading differs from prototypeC:\Users\Olli\Desktop\rp2\pawno\include\file.inc(46) : error 021: symbol already defined: "my_fwrite"C:\Users\Olli\Desktop\rp2\pawno\include\file.inc(48) : error 010: invalid function or declarationC:\Users\Olli\Desktop\rp2\pawno\include\file.inc(49) : error 010: invalid function or declaration

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


    Also, damit keine Fehler passieren:
    stock my_fwrite(File:f, str[])
    {
    if(f) return fwrite(f, str);
    else return 1;
    }


    #if defined _HOOK_fwrite
    #undef fwrite
    #else
    #define _HOOK_fwrite
    #endif
    #define fwrite my_fwrite


    Das einfach in deinem Gamemode unter den #include's einfügen. Dann geht es.

  • Ok, habe ich noch ne alternative, da nicht alle includes zweingen oben im Gamemode includiert werden, sondern auch an verschiedenen anderen Stellen? - Weil es so nach wie vor zu den gleichen Crashs kommt.


    /e²: Folgende Errors:


    Die rpFunctions.inc würde ich gerne nicht öffentlich posten, vllt kann ich dir diese via PN schicken Jeffrey: ??

  • Nein, in der Include habe ich nichts verändert.


    Habe jetzt nochmal andere Logs:

    6b8bf7dd12b5e47dc8d0ebbd3b5f940276ef6e33?url=https%3A%2F%2Fi.giphy.com%2Fmedia%2Ff4J90sgnAqwAjtAxRm%2Fsource.gif

    Einmal editiert, zuletzt von Dean_Conery ()

  • Schau mal, das ist nicht die gleiche Meldung. Jetzt ist es fclose. ;)


    Also, das hier auch einfügen:
    stock my_fclose(File:f)
    {
    if(f) return fclose(f);
    else return 1;
    }


    #if defined _HOOK_fclose
    #undef fclose
    #else
    #define _HOOK_fclose
    #endif
    #define fclose my_fclose


    Einfach nach dem anderen eingefügten Code einfügen. Das macht genau das gleiche, nur eben für fclose.



    EDIT:
    DeaN Hunter: Alles klar, sag dann Bescheid. Danke :)

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Kanns gerade nicht testen editiere es später ein. Sollten wir es schaffen, bist du mein Held des Tages :love:
    Allgemein kann man dich ja nur loben :)


    /e: Neue Log, neues Glück!


    fread habe ich aber schon reingemacht:
    stock my_fread(File:f)
    {
    if(f) return fread(f);
    else return 1;
    }


    #if defined _HOOK_fread
    #undef fread
    #else
    #define _HOOK_fread
    #endif
    #define fclose my_fread


    Desweiteren, habe ich jetzt viele Warnings bekommen (Vorher waren bereits 24 enthalten, die mMn aber keine Auswirkung auf das starten hatten)

    Code
    C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(73) : warning 202: number of arguments does not match definitionC:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(82) : warning 201: redefinition of constant/macro (symbol "fclose")C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(7356) : warning 202: number of arguments does not match definitionC:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(7356) : warning 202: number of arguments does not match definitionC:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(7356) : warning 202: number of arguments does not match definitionC:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(7356) : warning 202: number of arguments does not match definitionC:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(7356) : warning 202: number of arguments does not match definitionC:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(107007) : warning 203: symbol is never used: "zeit"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(107007) : warning 203: symbol is never used: "ban"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(107007) : warning 203: symbol is never used: "playerid"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(118623) : warning 203: symbol is never used: "AltesLSPD"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(118623) : warning 203: symbol is never used: "BSNHB"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(118623) : warning 203: symbol is never used: "Bankraubwand"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103) : warning 204: symbol is assigned a value that is never used: "CSRunden"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "CSS"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "Einstellungen"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "FWErw"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "Feuer1"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "Feuer2"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "MST"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "RR2"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "SAPD"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "SHBoden"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "SHWand"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "SkateWand"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "SprunkHaus"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "TextTimer"C:\Users\Olli\Desktop\rp2\gamemodes\Roleplay.pwn(67103 -- 118623) : warning 203: symbol is never used: "gFerrisCageOffsets"Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase28 Warnings.


    Sollten die Zeilen erwünscht sein, poste ich diese.
    Jeffrey:

    6b8bf7dd12b5e47dc8d0ebbd3b5f940276ef6e33?url=https%3A%2F%2Fi.giphy.com%2Fmedia%2Ff4J90sgnAqwAjtAxRm%2Fsource.gif

    Einmal editiert, zuletzt von Dean_Conery ()

  • Im Ansatz schonmal richtig, aber eine Kleinigkeit fehlt.
    Schreibe es so:


    stock my_fread(File:f, str[], size = sizeof str, bool:pack = false)
    {
    if(f) return fread(f, str, size, pack);
    else return 1;
    }


    #if defined _HOOK_fread
    #undef fread
    #else
    #define _HOOK_fread
    #endif
    #define fread my_fread

  • Also, jetzt mal keine Errors, allerdings crash der Server (Programm funktioniert nicht mehr)



    In der MySQL Log steht nur folgendes:

    Code
    ** MySQL Debugging disabled
  • Dann bleibt dir leider nur noch das händische debuggen übrig, indem du am besten hier anfängst:
    Fight_Init


    Einfach zwischen jede Zeile einen print setzen, damit du anhand des Logs dann weißt, vor welcher Zeile der Code stoppt.
    Wenn du die Zeile gefunden hast, und den Fehler nicht erkennst, poste sie hier.


    Debugge es einfach so:
    //Code...
    printf("1");
    //Code
    printf("2");
    ...