Params
#1

I always get an error:
Код:
C:\Documents and Settings\Administrator\Desktop\The server\filterscripts\DK-FS.pwn(430) : error 017: undefined symbol "params"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Script:
pawn Код:
if(sscanf(params, "ui", playerid, DKLevel))
            {
            return SendClientMessage(playerid, 0xFF0000AA, "Usage: /setdklevel [Player ID] [Rank]");
            }
Reply
#2

Do you have something like :
pawn Код:
CMD:command(playerid, params[])
{
Reply
#3

Show the whole command, please. Oh and keep in mind, if you aren't using ZCMD/DCMD, "params" doesn't exist so it has nothing to go by.
Reply
#4

Here's the command. Also, I'm using "strcmp".
pawn Код:
if(strcmp(cmdtext,"/setdklevel",true) == 0)
    {
        if(PInfo[playerid][DKLevel] >= 5 || IsPlayerAdmin(playerid))
        {
            new tmp [256];
            new tmp2[256];
            new Index;
            tmp  = strtok(cmdtext,Index);
            tmp2 = strtok(cmdtext,Index);
            if(sscanf(params, "ui", playerid, DKLevel))
            {
            return SendClientMessage(playerid, 0xFF0000AA, "Usage: /setdklevel [Player ID] [Rank]");
            }
            new player1, DKlevel, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);
            if(!strlen(tmp2)) return
            SendClientMessage(playerid, COLOR_LIME, "Usage: /setdklevel [PlayerID] [DK Rank]");
            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
            if(PInfo[player1][LoggedIn] == 1)
            {
                if(DKlevel == PInfo[player1][DKLevel])
                return SendClientMessage(playerid,red,"ERROR: Player is already this level!");
                MessageToAdmins(playerid,"SetDKLevel");
                GetPlayerName(player1, playername, sizeof(playername));
                GetPlayerName(playerid, adminname, sizeof(adminname));
                new year,month,day;
                new hour,minute,second;
                getdate(year, month, day);
                gettime(hour,minute,second);

                if(PInfo[playerid][DKLevel] > 5)
                {
                AdmRank = "Professional Drifter";
                }
                switch(DKLevel)
                {
                case 1: AdmRank = "Amazing Drifter";
                case 2: AdmRank = "Awesome Drifter";
                case 3: AdmRank = "Master Drifter";
                case 4: AdmRank = "Outrageous Drifter";
                case 5: AdmRank = "Insane Drifter";
                case 6: AdmRank = "Drift King";
                }
                if(DKlevel > 5)
                format(string,sizeof(string),"You are now a DK player level %d - %s. Thanks to %s ", DKLevel, AdmRank, adminname);
                else
                format(string,sizeof(string),"You are now a DK player level %d - %s. Thanks to %s", DKLevel, AdmRank, adminname);
                SendClientMessage(player1,COLOR_LIME,string);
                if(PInfo[player1][DKLevel])
                GameTextForPlayer(player1,"Promoted", 2000, 3);
                else GameTextForPlayer(player1,"Demoted", 2000, 3);

                format(string,sizeof(string),"You have given %s Level %d on '%d/%d/%d' at '%d:%d:%d'", playername, DKLevel, day, month, year, hour, minute, second);
                SendClientMessage(playerid,COLOR_YELLOW,string);
                format(string,sizeof(string),"Administrator %s has made %s Level %d",adminname, playername, DKLevel);
               
                PInfo[playerid][DKLevel] = DKLevel;
                return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
                }
                else return SendClientMessage(playerid,red,"ERROR: This player is not Registred!");
            }
            else return SendClientMessage(playerid,red,"You are not the [DK] Leader!");
        }
        else return SendClientMessage(playerid,red,"You are not the [DK] Administrator!");
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by New_Player[USW]
Посмотреть сообщение
Here's the command. Also, I'm using "strcmp".
pawn Код:
if(strcmp(cmdtext,"/setdklevel",true) == 0)
    {
        if(PInfo[playerid][DKLevel] >= 5 || IsPlayerAdmin(playerid))
        {
            new tmp [256];
            new tmp2[256];
            new Index;
            tmp  = strtok(cmdtext,Index);
            tmp2 = strtok(cmdtext,Index);
            if(sscanf(params, "ui", playerid, DKLevel))
            {
            return SendClientMessage(playerid, 0xFF0000AA, "Usage: /setdklevel [Player ID] [Rank]");
            }
            new player1, DKlevel, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);
            if(!strlen(tmp2)) return
            SendClientMessage(playerid, COLOR_LIME, "Usage: /setdklevel [PlayerID] [DK Rank]");
            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
            if(PInfo[player1][LoggedIn] == 1)
            {
                if(DKlevel == PInfo[player1][DKLevel])
                return SendClientMessage(playerid,red,"ERROR: Player is already this level!");
                MessageToAdmins(playerid,"SetDKLevel");
                GetPlayerName(player1, playername, sizeof(playername));
                GetPlayerName(playerid, adminname, sizeof(adminname));
                new year,month,day;
                new hour,minute,second;
                getdate(year, month, day);
                gettime(hour,minute,second);

                if(PInfo[playerid][DKLevel] > 5)
                {
                AdmRank = "Professional Drifter";
                }
                switch(DKLevel)
                {
                case 1: AdmRank = "Amazing Drifter";
                case 2: AdmRank = "Awesome Drifter";
                case 3: AdmRank = "Master Drifter";
                case 4: AdmRank = "Outrageous Drifter";
                case 5: AdmRank = "Insane Drifter";
                case 6: AdmRank = "Drift King";
                }
                if(DKlevel > 5)
                format(string,sizeof(string),"You are now a DK player level %d - %s. Thanks to %s ", DKLevel, AdmRank, adminname);
                else
                format(string,sizeof(string),"You are now a DK player level %d - %s. Thanks to %s", DKLevel, AdmRank, adminname);
                SendClientMessage(player1,COLOR_LIME,string);
                if(PInfo[player1][DKLevel])
                GameTextForPlayer(player1,"Promoted", 2000, 3);
                else GameTextForPlayer(player1,"Demoted", 2000, 3);

                format(string,sizeof(string),"You have given %s Level %d on '%d/%d/%d' at '%d:%d:%d'", playername, DKLevel, day, month, year, hour, minute, second);
                SendClientMessage(playerid,COLOR_YELLOW,string);
                format(string,sizeof(string),"Administrator %s has made %s Level %d",adminname, playername, DKLevel);
               
                PInfo[playerid][DKLevel] = DKLevel;
                return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
                }
                else return SendClientMessage(playerid,red,"ERROR: This player is not Registred!");
            }
            else return SendClientMessage(playerid,red,"You are not the [DK] Leader!");
        }
        else return SendClientMessage(playerid,red,"You are not the [DK] Administrator!");
    }
    return 1;
}
So do you see your mistake now? You can't use "params" with 'strcmp'.
Reply
#6

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[128], idx;
    cmd = strtok(cmdtext, idx);
pawn Код:
if(strcmp(cmd,"/setdklevel",true) == 0)
{
    if(PInfo[playerid][DKLevel] >= 5 || IsPlayerAdmin(playerid))
    {
        new player1, DKlevel,
        if(sscanf(cmdtext[idx], "ui", player1, DKLevel))
        {
        return SendClientMessage(playerid, 0xFF0000AA, "Usage: /setdklevel [Player ID] [Rank]");
        }
        new playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)