!!! Bitte Hilft mir !!! Errors !!!

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hy leute


    Bekomme diese Fehlermeldungen :



    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(320) : error 017: undefined symbol "strtok"
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(320) : error 033: array must be indexed (variable "cmd")
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(328) : error 017: undefined symbol "gPlayerLogged"
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(328) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(328) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(328) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\.pwn(328) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.



    Wie kann ich die denn Beseitigen? Bitte erklärt auch was ich machen soll, nicht einfach du hast da was falsch oder so ähnlich^^
    Benutze kein GF !!!



    MFg R.F.R

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()


  • 320 cmd = strtok(cmdtext, idx); // 320 ist die zeilen nummer
    382 if(gPlayerLogged[playerid] == 1) // 382 ist die zeilennummer


    danke für deine Hilfe



    MFg R-F-R

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    • Dir fehlt die Funktion strtok.
    • Das Array gPlayerLogged wurde nicht definiert.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • Wie füge ich den die Funktion ein? Bitte um Link oder Erklärung!



    Also oben habe ich das hier stehen:



    new gPlayerLogged[MAX_PLAYERS];



    Danke für eure Hilfe


    Mfg

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Forensuche -> strtok.


    Wenn dein gPlayerLogged definiert ist, dann ist es entweder nicht sichtbar in der Funktion (nicht Global oder es steht in einer anderen Funktion) oder du hast einen Klammerfehler.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • @ breadfish


    Du musst wissen bevor ich ein Thread erstelle benutze ich Google und SUFU
    und in der SUFU habe ich das hier gefunden:



    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }



    Ich glaub das ist die Funktion aber die 6 errors bleiben immer noch O_o



    Danke um Deine Hilfe


    MFg

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Mit Code ist gemeint, dass wir den COde aus den angegebenen Zeilen brauchen. Aus deinem GameMode... ;) Wir können dir hier ja fachsimpeln und so aber ohne Code können wir dir nur schlecht erklären was bei dir falsch ist. ;)

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


    Errors



    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(321) : error 017: undefined symbol "strtok"
    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(321) : error 033: array must be indexed (variable "cmd")
    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(329) : error 017: undefined symbol "gPlayerLogged"
    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(329) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(329) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(329) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\\Desktop\muss ich noch fixieren\rexob.pwn(329) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.


    Und hier die Zeilen:


    in der Zeile 321 steht das hier:



    cmd = strtok(cmdtext, idx);


    und in der Zeile 329 steht das hier:



    if(gPlayerLogged[playerid] == 1)


    ________________________________________________________________________________________


    Ich habe mir ein Filterscript runtergeladen und es dann in mein Gamemode einfügen wollen "et Voila" was kommt raus diese behinderten Errors :(, bis jetzt hat mir keiner helfen können :( Ich hoffe es gibt hier par Profis die sich hier auskennen :D



    Danke für eure Hilfe


    MfG R.F.R

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Ja hab ich !!!


    ich wollte ein Login und Register machen habe soooo viele Tutorials befolgt aber es kammen immer fehlermeldungen meistens stand da ich soll die xxxx definieren was schon definiert war !!!!


    Könntest du mir "VIELLEICHT" von schritt zu schritt mir ein Login + Register schreiben was ich eingeben soll von definieren bis ende !!!


    Bitte für ein Profi wie dich wird es sicher ein Kinder spiel sein !!!



    Danke!


    Mfg

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()

  • 1) Seh ich aus wie ne Wunschbox oder ein lebendes Tutorial?
    2) Jetzt poste endlich mal mehr vom Code, als diese 2 Zeilen, sonst wird dir hier nie jeamnd helfen können!
    3) Hast dus vllt falsch geschreiben?
    Bevor du jetzt aber ein Post machst, in dem nur ein "nein, alles richtig" steht, poste lieber ma den Code

  • Ok Chef :D


    Also schritt für schritt:


    Das hier habe ich ganz oben eingefügt:



    #if defined FILTERSCRIPT
    #define COLOR_GREY 0xBEBEBEAA
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_GREEN 0x33AA33AA
    #define COLOR_GRAD5 0xE3E3E3FF
    #define COLOR_GRAD1 0xB4B5B7FF


    forward ShowStats(playerid,targetid);
    forward OnPlayerUpdate(playerid);
    forward Encrypt(string[]);
    forward OnPlayerLogin(playerid,const string[]);


    enum pInfo
    {
    pPassword[128],
    pKills,
    pDeaths,
    pCash,
    };


    new PlayerInfo[MAX_PLAYERS][pInfo];
    new gPlayerLogged[MAX_PLAYERS];
    new gPlayerAccount[MAX_PLAYERS];



    Das hier unter " public OnPlayerCommandText(playerid, cmdtext[]) "



    {
    new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);
    new tmp[256];
    new playername[MAX_PLAYER_NAME];
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " You are already logged in.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, " USAGE: /login [password]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }
    if (strcmp(cmd, "/register", true)==0)
    {
    new string[265];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "USAGE: /register [password]");
    return 1;
    }
    if (gPlayerAccount[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " That name is already registered");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
    Encrypt(PlayerInfo[playerid][pPassword]);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "%s.cer", playername);
    new File: file = fopen(string, io_read);
    if (file)
    {
    SendClientMessage(playerid, COLOR_GREY, " That name is already registered");
    fclose(file);
    return 1;
    }
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[32];//
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    fclose(hFile);
    SendClientMessage(playerid, COLOR_WHITE, "Succesfully Registered!");
    SendClientMessage(playerid, COLOR_WHITE, "Next time you connect, type /login <password> to log in.");
    OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
    return 1;
    }
    if (strcmp(cmd, "/stats", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (gPlayerLogged[playerid] != 0)
    {
    ShowStats(playerid,playerid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " You are not Logged in !");
    }
    }
    return 1;
    }


    Und das hier einfach irgend wo zwischen die Publics rein gequetscht ^^:



    public Encrypt(string[])
    {
    for(new x=0; x < strlen(string); x++)
    {
    string[x] += (3^x) * (x % 15);
    if(string[x] > (0xff))
    {
    string[x] -= 64;
    }
    }
    return 1;
    }



    public OnPlayerLogin(playerid,const string[])
    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    new string3[128];
    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "%s.cer", pname2);
    new File: UserFile = fopen(string2, io_read);


    if (UserFile)
    {
    new valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
    {
    new key[128],val[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key = ini_GetKey(Data);
    if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
    if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
    GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    new kills = PlayerInfo[playerid][pKills];
    SetPlayerScore(playerid, kills);
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Welcome %s, you have been succesfully logged in!", pname3);
    SendClientMessage(playerid, COLOR_WHITE,string3);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Password does not match your name");
    fclose(UserFile);
    }
    }
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid])
    {
    new string3[32];
    new pname3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "%s.cer", pname3);
    new File: pFile = fopen(string3, io_write);
    if (pFile)
    {
    new var[32];
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
    fclose(pFile);
    new File: hFile = fopen(string3, io_append);
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    fclose(hFile);
    }
    }
    }
    return 1;
    }


    stock ini_GetKey( line[] )
    {
    new keyRes[128];
    keyRes[0] = 0;
    if ( strfind( line , "=" , true ) == -1 ) return keyRes;
    strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
    return keyRes;
    }


    stock ini_GetValue( line[] )
    {
    new valRes[128];
    valRes[0]=0;
    if ( strfind( line , "=" , true ) == -1 ) return valRes;
    strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
    return valRes;
    }



    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    public ShowStats(playerid,targetid)
    {
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
    new cash = GetPlayerMoney(targetid);
    new deaths = PlayerInfo[targetid][pDeaths];
    new kills = PlayerInfo[targetid][pKills];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(targetid, name, sizeof(name));
    new Float:px,Float:py,Float:pz;
    GetPlayerPos(targetid, px, py, pz);
    new coordsstring[256];
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
    SendClientMessage(playerid, COLOR_WHITE,coordsstring);
    format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d]",kills,deaths,cash);
    SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
    SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
    }
    }


    #endif





    - So Jetzt ist alles drin was sien muss :D
    Und die Errors sind hier :

    C:\Dokumente und Einstellungen\KiFBiS\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(320) : error 017: undefined symbol "strtok"
    C:\Dokumente und Einstellungen\KiFBiS\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(320) : error 033: array must be indexed (variable "cmd")
    C:\Dokumente und Einstellungen\KiFBiS\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(328) : error 017: undefined symbol "gPlayerLogged"
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(328) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(328) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(328) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(328) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.




    Zeile 320:



    cmd = strtok(cmdtext, idx);


    Zeile 328:



    if(gPlayerLogged[playerid] == 1)




    SOoooooooooooooooooooooooooooO.... Jetzt werd ich mal hoffen das du mir helfen kannst :D



    Dankeschön !!!!!!!



    MFg

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • ÄhM...So hier ja?



    #else // Hab das gelöscht " #if defined FILTERSCRIPT " und die beiden anderen sachen eingefügt
    #endif



    #define COLOR_GREY 0xBEBEBEAA
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_GREEN 0x33AA33AA
    #define COLOR_GRAD5 0xE3E3E3FF
    #define COLOR_GRAD1 0xB4B5B7FF


    forward ShowStats(playerid,targetid);
    forward OnPlayerUpdate(playerid);
    forward Encrypt(string[]);
    forward OnPlayerLogin(playerid,const string[]);


    enum pInfo
    {
    pPassword[128],
    pKills,
    pDeaths,
    pCash,
    };


    new PlayerInfo[MAX_PLAYERS][pInfo];
    new gPlayerLogged[MAX_PLAYERS];
    new gPlayerAccount[MAX_PLAYERS];

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Ups sorry ja ich kenn den unterschied LoL^^


    Naja ok jetzt habe ich nur noch eine Fehlermeldung:



    C:\Dokumente und Einstellungen\\Desktop\sa-mp HERZ\gamemodes\rexob.pwn(802) : error 001: expected token: "#endif", but found "-end of file-"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.





    Edit:// zeile 802 habe ich nicht es geht bis 801

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >