SA-MP Forums Archive
Help, please, /heal cmd strtok - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Help, please, /heal cmd strtok (/showthread.php?tid=78944)



Help, please, /heal cmd strtok - Klutty - 24.05.2009

Alright, this is my heal cmd - used strtok.

pawn Код:
if (strcmp(cmdtext, "/heal, true, 10) == 0)
    {
        if(GetPlayerSkin(playerid) == 70)
        {
       
        index,
        new cmd[20];
        cmd = strtok(cmdtext, index);
        new tmp[20],
            id;
        tmp = strtok(cmdtext, index);
        if (strlen(tmp))
        {
            id = strval(tmp);
            if (IsPlayerConnected(id))
            {
                SetPlayerHealth(id, 100.0);
                SendClientMessage(id, 0x00FF00AA, "
You have been healed");
                SendClientMessage(playerid, 0x00FF00AA, "
Player healed");
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000AA, "
Player not found");
            }
        }
        else
        {
            SendClientMessage(playerid, 0xFF0000AA, "
Usage: \"/heal <playerid>\"");
        }
        return 1;
}
When I compile - I get these errors:
Quote:

C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(264) : error 037: invalid string (possibly non-terminated string)
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(269) : error 017: undefined symbol "index"
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(269 -- 270) : error 029: invalid expression, assumed zero
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(270) : error 017: undefined symbol "cmd"
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(270) : fatal error 107: too many error messages on one line

Please help me!


Re: Help, please, /heal cmd - Correlli - 24.05.2009

You should change index, to new index;


Re: Help, please, /heal cmd - .::: Ecko :::. - 24.05.2009

here u go

if (strcmp(cmd, "/heal", true) == 0)
{
tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
return 1;
}


Ecko


Re: Help, please, /heal cmd - Klutty - 24.05.2009

Quote:
Originally Posted by .::: [E
Ecko :::. ]
here u go

if (strcmp(cmd, "/heal", true) == 0)
{
tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
return 1;
}


Ecko
This gave me around 20 errors.

Quote:
Originally Posted by Don Correlli
You should change index, to new index;
This gave me 26 errors instead of 5.


Re: Help, please, /heal cmd - .::: Ecko :::. - 24.05.2009

Quote:
Originally Posted by Klutty
Quote:
Originally Posted by .::: [E
Ecko :::. ]
here u go

if (strcmp(cmd, "/heal", true) == 0)
{
tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);
if (IsPlayerConnected(id))
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
return 1;
}


Ecko
What's that two errors?

Ecko

This gave me around 20 errors.

Quote:
Originally Posted by Don Correlli
You should change index, to new index;
This gave me 26 errors instead of 5.
You fucked up something XD

try this:

if (strcmp(cmd, "/heal", true) == 0)
{

tmp = strtok(cmdtext, index);
if (strlen(tmp))
{
id = strval(tmp);


if(GetPlayerSkin(playerid) == 70)
{
SetPlayerHealth(id, 100.0);
SendClientMessage(id, 0x00FF00AA, "You have been healed");
SendClientMessage(playerid, 0x00FF00AA, "Player healed");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Player not found");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/heal <playerid>\"");
}
return 1;
}

Ecko


Re: Help, please, /heal cmd - Klutty - 24.05.2009

I need the
pawn Код:
if(GetPlayerSkin(playerid) == 70)
{
Since the code must be restricted so it can only be used with skinid 70!


Re: Help, please, /heal cmd - HB - 24.05.2009

Try putting it in by yourself, you'll learn the most from that.

Try - see what happens


Re: Help, please, /heal cmd - Klutty - 24.05.2009

I got:

pawn Код:
if (strcmp(cmd, "/heal", true) == 0)
    {
        new id[128];
        new cmd[128];
        new tmp[128];
     cmd = strtok(cmdtext, index);
     tmp = strtok(cmdtext, index);
    if (strlen(tmp))
    {
     id = strval(tmp);


     if(GetPlayerSkin(playerid) == 70)
     {
      SetPlayerHealth(id, 100.0);
      SendClientMessage(id, 0x00FF00AA, "You have been healed");
      SendClientMessage(playerid, 0x00FF00AA, "Player healed");
     }
     else
     {
      SendClientMessage(playerid, 0xFF0000AA, "Player not found");
     }
    }
    else
    {
        SendClientMessage(playerid, 0xFF0000AA, "Usage: /heal <playerid>");
    }
    return 1;
  }
And the strtok function:

pawn Код:
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;
}
But I get these errors:
Quote:

C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(264) : error 017: undefined symbol "cmd"
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(269) : error 017: undefined symbol "idx"
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(270) : error 017: undefined symbol "index"
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(273) : error 033: array must be indexed (variable "id")
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(27 : error 035: argument type mismatch (argument 1)
C:\Program\SAMP Server\gamemodes\PLOX TDM.pwn(279) : error 035: argument type mismatch (argument 1)




Re: Help, please, /heal cmd - Klutty - 24.05.2009

Bump..