#1

Guys im making two new commands for admin but gives me this error:

Код HTML:
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : error 017: undefined symbol "tmp"
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : error 017: undefined symbol "strtok"
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2263) : error 017: undefined symbol "tmp"
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2275) : error 017: undefined symbol "tmp"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
PHP код:
CMD:addcomponent(playeridparams[])
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
PlayerInfo[playerid][pAdmin] > 5)
            {
                
tmp strtok(cmdtextidx);
                if(!
strlen(tmp))
                {
                    
SendClientMessage(playeridCOLOR_WHITE"USAGE: /addcomponent [ComponentID]");
                    return 
1;
                }
                if(!
IsPlayerInAnyVehicle(playerid))
                {
                    
SendClientMessage(playeridCOLOR_CORRECTION"You are not in a vehicle !");
                    return 
1;
                }
                {
                    new 
componentid;
                    
componentid strval(tmp);
                    new 
CarId GetPlayerVehicleID(playerid);
                    if(
componentid 1000 || componentid 1193) { SendClientMessage(playeridCOLOR_CORRECTION"Component ID can't be below 1000 or above 1193 !"); return 1; }
                    
AddVehicleComponent(CarIdcomponentid);
                    
SendClientMessage(playeridCOLOR_WHITE" USAGE: /carcomponents for more info !");
                }
            }
            else
            {
                
SendClientMessage(playeridCOLOR_CORRECTION"You are not authorized to use this command !");
                return 
1;
            }
        }
        return 
1;
    } 
any suggestion?
Reply
#2

new tmp = strtok(cmdtext, idx);

instead of

tmp = strtok(cmdtext, idx);

and read this

https://sampforum.blast.hk/showthread.php?tid=345137
Reply
#3

Код HTML:
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : error 017: undefined symbol "strtok"
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2263) : error 035: argument type mismatch (argument 1)
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2275) : error 035: argument type mismatch (argument 1)
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : warning 204: symbol is assigned a value that is never used: "tmp"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
when i try to put what i see in the link, pawno crashes
Reply
#4

Read this: https://sampwiki.blast.hk/wiki/Strtok
Reply
#5

use sscanf is more better
Reply
#6

Код HTML:
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : error 017: undefined symbol "cmdtext"
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : error 033: array must be indexed (variable "-unknown-")
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2263) : error 035: argument type mismatch (argument 1)
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2275) : error 035: argument type mismatch (argument 1)
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2262) : warning 204: symbol is assigned a value that is never used: "tmp"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
PHP код:
CMD:addcomponent(playeridparams[])
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
PlayerInfo[playerid][pAdmin] > 5)
            {
                new 
tmp strtok(cmdtextidx);
                if(!
strlen(tmp))
                {
                    
SendClientMessage(playeridCOLOR_WHITE"USAGE: /addcomponent [ComponentID]");
                    return 
1;
                }
                if(!
IsPlayerInAnyVehicle(playerid))
                {
                    
SendClientMessage(playeridCOLOR_CORRECTION"You are not in a vehicle !");
                    return 
1;
                }
                {
                    new 
componentid;
                    
componentid strval(tmp);
                    new 
CarId GetPlayerVehicleID(playerid);
                    if(
componentid 1000 || componentid 1193) { SendClientMessage(playeridCOLOR_CORRECTION"Component ID can't be below 1000 or above 1193 !"); return 1; }
                    
AddVehicleComponent(CarIdcomponentid);
                    
SendClientMessage(playeridCOLOR_WHITE" USAGE: /carcomponents for more info !");
                }
            }
            else
            {
                
SendClientMessage(playeridCOLOR_CORRECTION"You are not authorized to use this command !");
                return 
1;
            }
        }
        return 
1;
    }
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;
}
CMD:carcomponents(playeridparams[])
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
PlayerInfo[playerid][pAdmin] > 5)
            {
                
SendClientMessage(playeridCOLOR_GREEN"|___________| CAR COMPONENTS LIST |___________|");
                
SendClientMessage(playeridCOLOR_WHITE"x10 Nos - 1010");
                
SendClientMessage(playeridCOLOR_WHITE"Shadow Rims - 1073");
                
SendClientMessage(playeridCOLOR_WHITE"Mega Rims - 1074");
                
SendClientMessage(playeridCOLOR_WHITE"Rimshine Rims- 1075");
                
SendClientMessage(playeridCOLOR_WHITE"Wires Rims - 1076");
                
SendClientMessage(playeridCOLOR_WHITE"Classic Rims - 1077");
                
SendClientMessage(playeridCOLOR_WHITE"Twist Rims - 1078");
                
SendClientMessage(playeridCOLOR_WHITE"Cutter Rims - 1079");
                
SendClientMessage(playeridCOLOR_WHITE"Switch Rims - 1080");
                
SendClientMessage(playeridCOLOR_WHITE"Grove Rims - 1081");
                
SendClientMessage(playeridCOLOR_WHITE"Import Rims - 1082");
                
SendClientMessage(playeridCOLOR_WHITE"Dollar Rims - 1083");
                
SendClientMessage(playeridCOLOR_WHITE"Trance Rims - 1084");
                
SendClientMessage(playeridCOLOR_WHITE"Atomic Rims - 1085");
                
SendClientMessage(playeridCOLOR_WHITE"Hydraulics - 1087");
                
SendClientMessage(playeridCOLOR_GREEN"______________________________________________");
            }
            else
            {
                
SendClientMessage(playeridCOLOR_CORRECTION"You are not authorized to use this command !");
                return 
1;
            }
        }
        return 
1;
    } 
Reply
#7

Put this into your codes!!

PHP код:
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;

for tmp read this! https://sampforum.blast.hk/showthread.php?tid=231496
Reply
#8

The better solution, is to not use out of date code, and to not copy-paste/mutilate other scripts, simply to throw it all into your gamemode.


Before long you'll encounter error after error and find it harder and harder as the script starts to stack up with shit, and then you'll be wondering before long why your script is slowing down, and getting harder to get people to give you copy-paste fixes.
Reply
#9

Reading the topic i remplace but now i go this errors:

Код HTML:
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2281) : warning 202: number of arguments does not match definition
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2281) : error 006: must be assigned to an array
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2282) : error 035: argument type mismatch (argument 1)
C:\Users\Jaua\Downloads\samp037_svr_R2-1-1_win32\gamemodes\baserp.pwn(2281) : warning 204: symbol is assigned a value that is never used: "tmp"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Errors.
my script

PHP код:
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;
}
CMD:addcomponent(playeridparams[])
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
PlayerInfo[playerid][pAdmin] > 5)
            {
                new 
tmp;
                
tmp strtokparams );
                if(!
strlen(tmp))
                {
                    
SendClientMessage(playeridCOLOR_WHITE"USAGE: /addcomponent [ComponentID]");
                    return 
1;
                }
                if(!
IsPlayerInAnyVehicle(playerid))
                {
                    
SendClientMessage(playeridCOLOR_CORRECTION"You are not in a vehicle !");
                    return 
1;
                }
                {
                    new 
componentid;
                    
componentid strvalparams );
                    new 
CarId GetPlayerVehicleID(playerid);
                    if(
componentid 1000 || componentid 1193) { SendClientMessage(playeridCOLOR_CORRECTION"Component ID can't be below 1000 or above 1193 !"); return 1; }
                    
AddVehicleComponent(CarIdcomponentid);
                    
SendClientMessage(playeridCOLOR_WHITE" USAGE: /carcomponents for more info !");
                }
            }
            else
            {
                
SendClientMessage(playeridCOLOR_CORRECTION"You are not authorized to use this command !");
                return 
1;
            }
        }
        return 
1;
    } 
Reply
#10

PHP код:

new tmpidx;

tmp strtok(paramsidx); 
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)