[Ajuda] Curar PlayerID
#1

Quote:
pawn Код:
if(strcmp(cmd, "/curar", true) == 0)
    {
        new tmp[128];
        tmp = strtok(cmdtext, idx);
        new Float:xx,
        Float:yy,
        Float:zz;
        if(IsPlayerInRangeOfPoint(strval(tmp), 4.0, xx,yy,zz))
        {
            if(TeamGang[playerid] == 0)//Mйdico
            {
            if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "USE: /Curar [Nick/ID] no player que estiver prуximo");
            SetPlayerArmour(strval(tmp), 70.0);
            SetPlayerHealth(strval(tmp),100.0);
            SendClientMessage(strval(tmp),0xFFFF00AA,"Vocк foi curado por um Mйdico.");
            }
        }
        return 1;
    }
o comando serve para curar o playerid que estiver prуximo.. mais nгo ta funcionando alguйm saberia me dizer onde esta o erro?
Reply
#2

PHP код:
    if(strcmp(cmd"/Curar"true) == 0)
    {
          new 
tmp[256];
        
tmp strtok(cmdtext,idx);
        new 
Float:xxFloat:yyFloat:zz;
        if(
IsPlayerInRangeOfPoint(strval(tmp), 4.0xx,yy,zz))
        {
            if(
TeamGang[playerid] == 0)//Mйdico
            
{
            if(
strlen(tmp) == 0) return SendClientMessage(playerid0xFFFFFFFF"USE: /Curar [Nick/ID] no player que estiver prуximo");
            
SetPlayerArmour(strval(tmp), 70.0);
            
SetPlayerHealth(strval(tmp),100.0);
            
SendClientMessage(strval(tmp),0xFFFF00AA,"Vocк foi curado por um Mйdico.");
            }
        }
        return 
1;
    } 
Reply
#3

pawn Код:
sу mudou isso new Float:xx,
        Float:yy,
        Float:zz;
para isso new Float:xx, Float:yy, Float:zz;
[...] alguйm sabe como fica o cmd para funcionar direito? +Rep
Reply
#4

vocк altere o valor para tmp o 256 -.-
Reply
#5

continua nгo funcionando deve ter algo errado com o IsPlayerInRangeOfPoint
Reply
#6

PHP код:
if(strcmp(cmd"/Curar"true) == 0)
    {
          new 
tmp[256];
        
tmp strtok(cmdtext,idx);
        new 
Float:xxFloat:yyFloat:zz;
        
GetPlayerPos(playerid,  xx,yy,zz);//ou vice-versa com strval(tmp)
        
if(IsPlayerInRangeOfPoint(strval(tmp), 4.0xx,yy,zz))
        {
            if(
TeamGang[playerid] == 0)//Mйdico
            
{
            if(
strlen(tmp) == 0) return SendClientMessage(playerid0xFFFFFFFF"USE: /Curar [Nick/ID] no player que estiver prуximo");
            
SetPlayerArmour(strval(tmp), 70.0);
            
SetPlayerHealth(strval(tmp),100.0);
            
SendClientMessage(strval(tmp),0xFFFF00AA,"Vocк foi curado por um Mйdico.");
            }
        }
        return 
1;
    } 
Reply
#7

O comando sу irб funcionar se a variбvel TeamGang[playerid] do jogador que utilizou o comando tiver o valor 0.
pawn Код:
if(!strcmp(cmd, "/curar", true)) {
    new tmp[128]; tmp = strtok(cmdtext, idx);
    new Float:coord[3]; new id_ = strval(tmp);
    GetPlayerPos(playerid, coord[0], coord[1], coord[2]):
    if(IsPlayerInRangeOfPoint(id_, 4.0, coord[0], coord[1], coord[2])) {
        if(TeamGang[playerid] == 0) {
            if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USE: /Curar [id] no player que estiver prуximo");
            SetPlayerArmour(id_, 70.0);
            SetPlayerHealth(id_, 100.0);
            SendClientMessage(id_, 0xFFFF00AA, "Vocк foi curado por um Mйdico.");
        }
    }
    return 1;
}
Tambйm fiz um /curarproximos, que cura todos os jogadores do servidor que estiverem em um raio de 4 metros a partir do jogador que utilizou o comando

pawn Код:
if(!strcmp(cmd, "/curarproximos", true)) {
    new Float:coord[3]; GetPlayerPos(playerid, coord[0], coord[1], coord[2]):
    for(new i; i < MAX_PLAYERS; i++) {
        if(((IsPlayerConnected(i)) && (i != playerid)) && (IsPlayerInRangeOfPoint(i, 4.0, coord[0], coord[1], coord[2]))) {
            if(TeamGang[playerid] == 0) {
                SetPlayerArmour(i, 70.0);
                SetPlayerHealth(i, 100.0);
                SendClientMessage(i, 0xFFFF00AA, "Vocк foi curado por um Mйdico.");
            }
        }
    }
    return 1;
}
Reply
#8

Obrigado pelo comando!
Rep ADD agora como eu faria para que o Mйdico nгo pudesse usar o comando toda hora?
tipo assim ele usar o comando a cada 15 segundos..
ta ai o cmd completo funcionando.
pawn Код:
if(!strcmp(cmd, "/curar", true))
    {
        new tmp[128]; tmp = strtok(cmdtext, idx);
        new Float:coord[3];
        new pos = strval(tmp);
        GetPlayerPos(playerid, coord[0], coord[1], coord[2]);
        if(IsPlayerInRangeOfPoint(pos, 4.0, coord[0], coord[1], coord[2])) {
            if(TeamGang[playerid] == 0)
            {
            if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USE: /Curar [id] no player que estiver prуximo");
            SetPlayerArmour(pos, 70.0);
            SetPlayerHealth(pos, 100.0);
            SendClientMessage(pos, 0xFFFF00AA, "Vocк foi curado por um Mйdico.");
            }
    }
        return 1;
    }
Reply
#9

PHP код:
static CurarTime[MAX_PLAYERS];


stock CurarFlooding(playerid)
{
    if(
GetTickCount() - CurarTime[playerid] < 15000 )
    return 
1;
    return 
0;
}

public 
OnPlayerCommandText(playeridcmdtext[])
{

    new 
cmd[256], idx;
    
cmd strtok(cmdtextidx);

    if(
strcmp(cmd"/Curar"true) == 0)
    {
    if(
CurarFlooding(playerid)){SendClientMessage(playerid0xFF0000FF"vocк sу pode usar este comando cada 15 Segundo.");return 1;}
    
CurarTime[playerid] = GetTickCount();
    new 
tmp[256];
    
tmp strtok(cmdtext,idx);
    new 
Float:xxFloat:yyFloat:zz;
    
GetPlayerPos(playerid,  xx,yy,zz);//ou vice-versa com strval(tmp)
    
if(IsPlayerInRangeOfPoint(strval(tmp), 4.0xx,yy,zz))
    {
    if(
TeamGang[playerid] == 0)//Mйdico
    
{
    if(
strlen(tmp) == 0) return SendClientMessage(playerid0xFFFFFFFF"USE: /Curar [Nick/ID] no player que estiver prуximo");
    
SetPlayerArmour(strval(tmp), 70.0);
    
SetPlayerHealth(strval(tmp),100.0);
    
SendClientMessage(strval(tmp),0xFFFF00AA,"Vocк foi curado por um Mйdico.");
    }
    }
    
    return 
1;
}

    return 
1;

Reply
#10

Obrigado pelo cуdigo Rep ADD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)