Fatal error 100: "strtok" - Need help.

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
  • Hallo breadfishuser.
    Ich wollte gerade ein AFK-System machen und bin auf compilieren gegangen. Ergebnis: C:\Programme\Rockstar Games\GTA San Andreas\Pawno\new.pwn(3) : fatal error 100: cannot read from file: "strtok"
    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    1 Error.
    Die include ist da:

    Zitat

    C:\Programme\Rockstar Games\GTA San Andreas\Pawno\include


    Das folgende ist in strtok:
    [hide]

    [/hide]


    Und das ist mein Filterscript:
    [hide]//Wichtig!
    #include <a_samp>
    #include strtok
    //Filterscript
    #define FILTERSCRIPT
    //Farbcodes
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_GREY 0xBEBEBEAA
    #define COLOR_RED 0xAA3333AA
    //Wenn als Filterscript definiert
    #if defined FILTERSCRIPT


    //Hier wird ein new erstellt, womit wir später abfragen können ob er schon afk ist etc.
    new AFK[MAX_PLAYERS];
    //Wenn FS gestartet wird
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Filterscript by . . : :H O A N G: : . .");
    print("--------------------------------------\n");
    return 1;
    }
    //Befehle
    public OnPlayerCommandText()
    if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon AFK! Mach /back!");
    }
    return 1;
    }
    if(strcmp(cmd, "/back", true) == 0)
    {
    if(AFK[playerid] == 1)
    {
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht AFK");
    }
    return 1;
    }
    public OnPlayerText(playerid, text[])
    {



    if(AFK[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst nicht schreiben, schreibe /back um zu schreiben!");
    return 0;
    }[/hide]


    Ja. Ich bekomme es MIT suchfunktion auch nicht hin. Bitte um Hilfe!

  • du musst statt strtok schreiben ;)


    Und außerdem:
    if(strcmp(cmd, "/back", true) == 0){ if(AFK[playerid] == 1) { new spieler[MAX_PLAYER_NAME]; GetPlayerName(playerid, spieler, sizeof(spieler)); format(string, sizeof(string), "%s ist AFK!", spieler); SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 0;


    Willst du nicht schreiben, dass er bei /back: "%s ist back!" ausgibt?!

  • Ja.
    Hab ich. Oberer teil nochmal hier:
    //Wichtig!
    #include <a_samp>
    #include <strtok>
    //Filterscript
    #define FILTERSCRIPT
    //Farbcodes
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_GREY 0xBEBEBEAA
    #define COLOR_RED 0xAA3333AA
    //Wenn als Filterscript definiert
    #if defined FILTERSCRIPT


    //Hier wird ein new erstellt, womit wir später abfragen können ob er schon afk ist etc.
    new AFK[MAX_PLAYERS];
    //Wenn FS gestartet wird
    public OnFilterScriptInit()


    die datei heißt:

    Zitat

    strtok.inc

  • schließe mal pawno und dann mach folgendes:


    geh in deinem samp server order -> gehe dann auf pawno -> öffne dann pawno.exe -> klcike auf "öffnen" und wähl dein filterscript aus. -> danach compilest du nochmal das script.

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • schließe mal pawno und dann mach folgendes:


    geh in deinem samp server order -> gehe dann auf pawno -> öffne dann pawno.exe -> klcike auf "öffnen" und wähl dein filterscript aus. -> danach compilest du nochmal das script.


    das muss gehenhatte ich auch schon oft

  • Soo.. hab mal probiert. Der wollte immer wieder neue includes. Hab ich gemacht und jetzt:


  • if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;


    Zeilen 25 bis 33


  • new cmd[256];
    if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new string[256];
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;


    und zeig mal die zeile
    public OnPlayerCommandText

  • //Befehle
    public OnPlayerCommandText()
    if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;
    }

  • public OnPlayerCommandText(playerid)



    und such nach
    forward OnPlayerCommandText();
    und mach darauf
    forward OnPlayerCommandText(playerid);

  • forward OnPlayerCommandText(playerid);


    benutze ich gar nicht. nirgends..



    #include <a_samp>
    #include <strtok>
    #define FILTERSCRIPT
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_GREY 0xBEBEBEAA
    #define COLOR_RED 0xAA3333AA
    #if defined FILTERSCRIPT
    forward OnPlayerCommandText(playerid);
    new AFK[MAX_PLAYERS];
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Filterscript by . . : :H O A N G: : . .");
    print("--------------------------------------\n");
    return 1;
    }
    //Befehle
    public OnPlayerCommandText(playerid)
    if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon AFK! Mach /back!");
    }
    return 1;
    }
    if(strcmp(cmd, "/back", true) == 0)
    {
    if(AFK[playerid] == 1)
    {
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht AFK");
    }
    return 1;
    }
    public OnPlayerText(playerid, text[])
    {



    if(AFK[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst nicht schreiben, schreibe /back um zu schreiben!");
    return 0;
    }

  • #include <a_samp>
    #include <strtok>
    #define FILTERSCRIPT
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_GREY 0xBEBEBEAA
    #define COLOR_RED 0xAA3333AA
    #if defined FILTERSCRIPT
    forward OnPlayerCommandText(playerid);
    new AFK[MAX_PLAYERS];
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Filterscript by . . : :H O A N G: : . .");
    print("--------------------------------------\n");
    return 1;
    }
    //Befehle
    public OnPlayerCommandText(playerid)
    {
    new cmd[256];
    if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new string[256];
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon AFK! Mach /back!");
    }
    return 1;
    }
    if(strcmp(cmd, "/back", true) == 0)
    {
    if(AFK[playerid] == 1)
    {
    new string[256];
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht AFK");
    }
    return 1;
    }
    public OnPlayerText(playerid, text[])
    {



    if(AFK[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst nicht schreiben, schreibe /back um zu schreiben!");
    return 0;
    }

  • 4 errors.. einen behoben.


    Code
    C:\Programme\Rockstar Games\GTA San Andreas\Pawno\new.pwn(55) : error 029: invalid expression, assumed zero
    C:\Programme\Rockstar Games\GTA San Andreas\Pawno\new.pwn(55) : error 004: function "OnPlayerText" is not implemented
    C:\Programme\Rockstar Games\GTA San Andreas\Pawno\new.pwn(65) : error 030: compound statement not closed at the end of file (started at line 59)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    3 Errors.


    #endif hat gefehlt ma ende.

  • lösch das
    public OnPlayerText(playerid, text[])
    {



    if(AFK[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst nicht schreiben, schreibe /back um zu schreiben!");
    return 0;
    }

  • Code
    C:\Programme\Rockstar Games\GTA San Andreas\Pawno\new.pwn(56) : error 030: compound statement not closed at the end of file (started at line 20)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    Tut mir Leid. Den error hatte ich noch nie ^^
    Ich bin schlecht im Scripten. Hab erst 'n Autohaus/Login&Register(GUI)/Waffenmenü(GUI) gescriptet.

  • public OnPlayerCommandText(playerid)
    {
    new cmd[256];
    if(strcmp(cmd, "/afk", true) == 0)
    {
    if(AFK[playerid] == 0)
    {
    new string[256];
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon AFK! Mach /back!");
    }
    return 1;
    }
    if(strcmp(cmd, "/back", true) == 0)
    {
    if(AFK[playerid] == 1)
    {
    new string[256];
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    format(string, sizeof(string), "%s ist AFK!", spieler);
    SendClientMessageToAll(COLOR_LIGHTGREEN, string);
    AFK[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht AFK");
    }
    return 1;
    }
    return 0;
    }


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