error 021: symbol already defined: "strtok"
#1

hey guys i need help with strtok.. because i have puted it in my script but ill get this

Код:
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(125) : error 021: symbol already defined: "strtok"
the lines:
Код:
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;
}
am i suppose to define anything else??
Reply
#2

You already defined this function somewhere in your script so check if you made it double or maybe you have a global variable
pawn Код:
new strok;
CNTRL + F and search strok and remove any duplicates
Reply
#3

this is the whole Command:
Код:
if(strcmp(cmdtext, "/makeadmin", true) == 0 || strcmp(cmdtext, "/ma", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			//tmp = strtok(cmdtext, idx);
			((4647))if(!strlen(tmp))
			((4648))new rb = strval(tmp);
			{
				SendClientMessage(playerid, COLOR_GREY, "USAGE: /Makeadmin [playerid/PartOfName] [level(1-1338)]");
				return 1;
			}
			new sendername[ MAX_PLAYER_NAME ];
			new string[ 128 ];
			new para1;
			new level;
			new playerlevel;
			new giveplayer[MAX_PLAYER_NAME];
			para1 = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			level = strval(tmp);
			playerlevel = PlayerInfo[para1][pAdmin];
			if(PlayerInfo[playerid][pAdmin] >= 6 || IsPlayerAdmin(playerid))
			{
			    if(IsPlayerConnected(para1))
			    {
			        if(para1 != INVALID_PLAYER_ID)
			        {
 						if(level == playerlevel)
						{
							SendClientMessage(playerid, COLOR_GREY, "** Player is already that level");
							return 1;
						}
						if(level >= 7 && level <= 1336) return SendClientMessage(playerid, COLOR_GREY,"* Only levels 0-6 and 1337-1338 Are allowed!");
						if(level < 0 || level > 1338) return SendClientMessage(playerid, COLOR_GREY,"* Only levels 0-6 and 1337-1338 Are allowed!");
						if(level > 4 && PlayerInfo[playerid][pAdmin] == 1337) return SendClientMessage(playerid, COLOR_GREY, "You can only promote admins to lvl 4 or below");
						if(playerlevel >= 5 && PlayerInfo[playerid][pAdmin] == 1337) return SendClientMessage(playerid, COLOR_GREY, "You can not demote Main Administrators or Above.");
						GetPlayerName(para1, giveplayer, sizeof(giveplayer));
						new Float:X, Float:Y, Float:Z;
						GetPlayerPos(para1, X,Y,Z);
						format(string, sizeof(string),"[ADMIN]: %s has set %s (%d)'s Level to: [%d]", sendername, giveplayer, para1, level);
						ABroadCast(COLOUR_AQUA, string, 5);
						format(string, sizeof(cmdtext), "** %s Gave You Admin Level: %d",sendername, level);
						SendClientMessage(para1, COLOUR_AQUA, string);
						if(level > PlayerInfo[para1][pAdmin])
						{
							format(string, sizeof(string), "Congratulations to %s. He is now Level: %d Admin !",giveplayer, level);
							SendClientMessageToAll(COLOUR_AQUA, string);
                            PlayerPlaySound(para1, 1056, X, Y, Z);
                            GameTextForPlayer(para1, "~y~Promoted!",7500,3);
                            format(string, sizeof(string), "** You have promoted %s (%d) to level %d.", giveplayer, para1, level);
							SendClientMessage(playerid, COLOUR_AQUA, string);
							PlayerInfo[para1][pAdmin] = level;
							PlayerInfo[para1][pAdmin] = 3;
							if(playerlevel == 0 && level >= 1)
							{
							    admins ++;
							}
						}
						else
						{
                            PlayerPlaySound(para1, 1055, X, Y, Z);
                            GameTextForPlayer(para1, "~r~Demoted!",7500,3);
                            format(string, sizeof(string), "** You have demoted %s (%d) to admin level %d.", giveplayer, para1, level);
							SendClientMessage(playerid, COLOUR_AQUA, string);
							PlayerInfo[para1][pAdmin] = level;
       						if(level == 0)
							{
								PlayerInfo[para1][pAdmin] = 1;
								admins --;
							}
						}
						new y, m, d;
						new h,mi,s;
						getdate(y,m,d);
						gettime(h,mi,s);
						format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s Gave to %s Admin Level: [%d].",d,m,y,h,mi,s,sendername,giveplayer,level);
						AdminLog(string);
						ChatLog(string);
						LoginLog(string);
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOUR_AQUA, "   you are not authorized to use that command!");
				return 1;
			}
		}
		return 1;
	}
errors in the lines

Код:
C:\Users\Erik\Desktop\Iconik-Gamings\pawno\include\YSI\y_ini.inc(1050) : warning 202: number of arguments does not match definition
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(125) : error 021: symbol already defined: "strtok"
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(140) : error 047: array sizes do not match, or destination array is too small
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(4647) : error 017: undefined symbol "tmp"
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(4648) : error 003: declaration of a local variable must appear in a compound block
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(4648) : error 017: undefined symbol "rb"
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(4648) : error 017: undefined symbol "tmp"
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(4648) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


7 Errors.
Reply
#4

It might already be in an include as well, check out those too.
Reply
#5

oke got fix the strtok but now i got 2 mroe errors...

Код:
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(4723) : error 047: array sizes do not match, or destination array is too small
Код:
C:\Users\Erik\Desktop\Iconik-Gamings\gamemodes\IGamings.pwn(145) : error 029: invalid expression, assumed zero
Line: 4723:
Код:
tmp = strtok(cmdtext, idx);
Line: 145:
Код:
if(PlayerInfo[i][pAdmin] == 1))
Reply
#6

pawn Код:
if(PlayerInfo[i][pAdmin] == 1)//) // Fix
It was for that you were using one ')' of more.

Sorry my bad english.


Regards.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)