[Ajuda] Player digitar comando naquele local
#1

Olб, no meu servidor tem uma barraca de comida... como faзo para o player quando estiver somente naquela barraca ele digitar /comida... e ganhar tal valor de vida ou colete
Reply
#2

IsPlayerInRangeOfPoint
pawn Code:
CMD:comida(playerid, params[])
{
    if(IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
    {
        //funзхes a serem executadas
    }
    return true;
}
Reply
#3

Utilizo if(!strcmp(cmdtext ,"/", true)) e agora ?
Reply
#4

sу colocar no lugar de CMD:comida(playerid, params[])
Reply
#5

PHP Code:
if(!strcmp(cmdtext ,"/cumer"true))
{
        if(
IsPlayerInRangeOfPoint(playeridDistancia do pontolocal xlocal ylocal z);
        {
//se o player estiver no local executar isso:
                //Funзхes e talz
                
return 1;
        }
        return 
1;

Reply
#6

Obrigado a todos!
Reply
#7

Quote:
Originally Posted by matheusspohr
View Post
PHP Code:
if(!strcmp(cmdtext ,"/cumer"true))
{
        if(
IsPlayerInRangeOfPoint(playeridDistancia do pontolocal xlocal ylocal z);
        {
//se o player estiver no local executar isso:
                //Funзхes e talz
                
return 1;
        }
        return 
1;

Isso ta um pouco errado... Nгo que eu esteja te desmerecendo... Estб quase certo.

O mais certo seria:

pawn Code:
if(!strcmp(cmdtext, "/Comida", true))
{
    if(!IsPlayerInRangeOfPoint(playerid, DISTANCIA, POSX, POSY, POSZ))
    {
        SendClientMessage(playerid, -1, "Vocк deve estar na barraca");
        return 1;
    }
    SetPlayerHealth(playerid, QUANTIA_DE_VIDA);
    SetPlayerArmour(playerid, QUANTIA_DE_COLETE);
    return 1;
}

/*

    Substitua:
   
    - 'DISTANCIA' pela distвncia que o player pode digitar '/Comida' da barraca
    - 'POSX', 'POSY' e 'POSZ' pela coordenada da barraca (X, Y e Z)
    - QUANTIA_DE_VIDA - Desnecessбrio explicar
    - QUANTIA_DE_COLETE - Idem

*/
Reply
#8

Quote:
Originally Posted by Jauro
View Post
Isso ta um pouco errado... Nгo que eu esteja te desmerecendo... Estб quase certo.

O mais certo seria:

pawn Code:
if(!strcmp(cmdtext, "/Comida", true))
{
    if(!IsPlayerInRangeOfPoint(playerid, DISTANCIA, POSX, POSY, POSZ))
    {
        SendClientMessage(playerid, -1, "Vocк deve estar na barraca");
        return 1;
    }
    SetPlayerHealth(playerid, QUANTIA_DE_VIDA);
    SetPlayerArmour(playerid, QUANTIA_DE_COLETE);
    return 1;
}

/*

    Substitua:
   
    - 'DISTANCIA' pela distвncia que o player pode digitar '/Comida' da barraca
    - 'POSX', 'POSY' e 'POSZ' pela coordenada da barraca (X, Y e Z)
    - QUANTIA_DE_VIDA - Desnecessбrio explicar
    - QUANTIA_DE_COLETE - Idem

*/
Entendo, mas sу faltou eu retornar com uma mensagem que ficaria basicamente a mesma coisa observer:
PHP Code:
if(!strcmp(cmdtext"/cumida"true))
{
    if(
IsPlayerInRangeOfPoint(playeriddistancialocal xlocal ylocal z))
    {
        
SetPlayerHealth(playeridQUANTIA_DE_VIDA);
        
SetPlayerArmour(playeridQUANTIA_DE_COLETE);
        
//Ou fome e talz, aн й cntg...
    
}
    else
        
SendClientMessage(playerid, -1"Mensagem que nгo ta no local :p");
    return 
1;

Entendo sua idйia, mas basicamente й a mesma coisa, e atй nгo utilizo return 1; dentro da verificaзгo(achei desnecessбrio no caso), e fica mais curto, talvez para iniciantes um pouco mais dificil de entender, da tambйm de fazer != assim por exemplo:
PHP Code:
if(!strcmp(cmdtext"/cumida"true))
{
    if(!
IsPlayerInRangeOfPoint(playeriddistancialocal xlocal ylocal z))return SendClientMessage(playerid, -1"Mensagem que nгo ta no local :p");
    
SetPlayerHealth(playeridQUANTIA_DE_VIDA);
    
SetPlayerArmour(playeridQUANTIA_DE_COLETE);
    
//Ou fome e talz, aн й cntg...
    
return 1;

Aн fica de acordo com o autor
Abraзos.
Reply
#9

Irei usar a opзгo do nosso amigo matheusspohr. obrigado a todos pela ajuda!
Reply
#10

Quote:
Originally Posted by matheusspohr
View Post
PHP Code:
if(!strcmp(cmdtext ,"/cumer"true))
{
        if(
IsPlayerInRangeOfPoint(playeridDistancia do pontolocal xlocal ylocal z);
        {
//se o player estiver no local executar isso:
                //Funзхes e talz
                
return 1;
        }
        return 
1;

Caro amigo, na verdade o erro que encontrei era o " ; " na mesma linha que o " if " e tambйm a ausкncia de um " ) " para finalizar a condiзгo. Fora isso, tudo estб correto.

Estilo й estilo, eu nгo criticaria o seu modo de programar, a nгo ser que estivesse errado.

Obrigado pela compreensгo,
Abraзos.
Reply
#11

Ah, sim, Correto, nгo deve conter ; e faltava um ) no comando, obrigado por lembrar, falta de atenзгo, atй por eu ter utilizado uma funзгo dentro de uma verificaзгo entгo geralmente apуs eu utilizar duma funзгo vem ;(costume), mesmo assim, obrigado.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)