Viele Errors (Scriptproblem) strtok und "tmp"

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
  • Guten Tag lieben Brotfische,
    Ich mache es kurz und schnell ich habe ein Problem das wäre immer wenn ich mein Script aktualisiere ist dieser Error :


    Code
    C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(8082) : warning 219: local variable "carid" shadows a variable at a preceding level C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(8123) : warning 219: local variable "carid" shadows a variable at a preceding level C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(8385) : warning 219: local variable "vehicleid" shadows a variable at a preceding level C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(16215) : warning 219: local variable "x" shadows a variable at a preceding level C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(17811) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(17811) : error 033: array must be indexed (variable "cmd") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18210) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18210) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18245) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18245) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18300) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18300) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18620) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18620) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18657) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18657) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18727) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18727) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18736) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18736) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18990) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(18990) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19024) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19024) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19101) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19101) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19246) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19246) : error 033: array must be indexed (variable "tmp") C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19279) : error 017: undefined symbol "strtok" C:\Users\Desktop\SAMP Server 2\gamemodes\LoS.pwn(19279) : error 033: array must be indexed (variable "tmp") Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Hier noch ein Ausschnitt :



    Function OnPlayerCommandText(playerid, cmdtext[])
    {
    M_OnPlayerCommandText(playerid,cmdtext);
    new string[256];
    new playermoney;
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    new playername[MAX_PLAYER_NAME];
    new cmd[256];
    new tmp[256];
    new giveplayerid, moneys, idx;
    new dancestyle;
    cmd = strtok(cmdtext, idx);
    GetPlayerName(playerid,sendername,sizeof(sendername));
    dcmd(tban,4,cmdtext);
    dcmd(tunban,6,cmdtext);
    dcmd(kennzeichenerlauben,19,cmdtext);
    dcmd(kennzeichen,11,cmdtext);
    dcmd(farbe,5,cmdtext);
    dcmd(meldung,7,cmdtext);
    dcmd(frakmats,8,cmdtext);



    if(strcmp(cmdtext,"/ctf",true)==0){
    if(IsAFightFaction(GetPlayerFaction(playerid))){
    new TempZone = GetPlayerFightzone(playerid);
    if(TempZone != -255){
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
    return SendClientMessage(playerid,FS_COL_GREY,"** Du darfst das nur zu Fuß machen ...");
    if(!FightSystem[TempZone][fsFightTime] || FightSystem[TempZone][fsAttackFaction] == -255)
    return SendClientMessage(playerid,FS_COL_GREY,"** Hier gibt es nichts zu erobern.");


    if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid) || FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(playerid)){
    if(IsPlayerInRangeOfPoint(playerid,5.0,FightSystem[TempZone][fsCTFx],FightSystem[TempZone][fsCTFy],FightSystem[TempZone][fsCTFz])){
    if(FightSystem[TempZone][fsCTF][0] != -255){
    if(GetPlayerFaction(FightSystem[TempZone][fsCTF][0]) != GetPlayerFaction(playerid))
    SendClientMessage(playerid,FS_COL_GREY,"** Die Flagge wird von deinen Feinden erobert, töte sie zuerst!");
    else
    SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia erobert bereits die Flagge!");
    return 1;
    }
    FightSystem[TempZone][fsCTF][0] = playerid;
    new fsName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
    new fsText[128];
    format(fsText,sizeof(fsText),">>> Fight <<< | %s hat begonnen die Flagge zu erobern!",fsName);
    for(new i;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction] || GetPlayerFaction(i) == FightSystem[TempZone][fsAttackFaction]){
    PlayerPlaySound(i,1058,0.0,0.0,0.0);
    SendClientMessage(i,FS_COL_YELLOW,fsText);
    }
    }
    }
    }else SendClientMessage(playerid,FS_COL_GREY,"** Du bist nicht in der nähe der Flagge!");
    }else SendClientMessage(playerid,FS_COL_GREY,"** Du bist nicht in diesem Fight verwickelt ...");
    }else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
    }else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
    return 1;
    }


    Ich brauche schnelle Hilfe^^ danke im Vorhaus.

    3 Mal editiert, zuletzt von seegras ()

  • Du benötigst die strtok Funktion.
    Füge diese einfach ganz unten in deinem GameMode ein:


    stock strtok(const string[], &index) //©Jeffry
    {
    new result[20], length = strlen(string), i = index;
    while ((i < length) && (string[i] == ' ')) i++;
    strmid(result,string,i,((index = strfind(string, " ", false, i)) == -1) ? (index = length) : (index) , 20);
    index++;
    return result;
    }


    Und ändere:
    new cmd[256];
    new tmp[256];
    zu:
    new cmd[20];
    new tmp[20];