Player digitar comando naquele local -
NascimentoRJ - 05.11.2015
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
Re: Player digitar comando naquele local -
LS - 05.11.2015
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;
}
Re: Player digitar comando naquele local -
NascimentoRJ - 05.11.2015
Utilizo if(!strcmp(cmdtext ,"/", true)) e agora ?
Re: Player digitar comando naquele local -
LS - 05.11.2015
sу colocar no lugar de CMD:comida(playerid, params[])
Re: Player digitar comando naquele local -
matheusspohr - 05.11.2015
PHP Code:
if(!strcmp(cmdtext ,"/cumer", true))
{
if(IsPlayerInRangeOfPoint(playerid, Distancia do ponto, local x, local y, local z);
{//se o player estiver no local executar isso:
//Funзхes e talz
return 1;
}
return 1;
}
Re: Player digitar comando naquele local -
NascimentoRJ - 05.11.2015
Obrigado a todos!
Re: Player digitar comando naquele local -
Jauro - 05.11.2015
Quote:
Originally Posted by matheusspohr
PHP Code:
if(!strcmp(cmdtext ,"/cumer", true))
{
if(IsPlayerInRangeOfPoint(playerid, Distancia do ponto, local x, local y, local 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
*/
Re: Player digitar comando naquele local -
matheusspohr - 05.11.2015
Quote:
Originally Posted by Jauro
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(playerid, distancia, local x, local y, local z))
{
SetPlayerHealth(playerid, QUANTIA_DE_VIDA);
SetPlayerArmour(playerid, QUANTIA_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(playerid, distancia, local x, local y, local z))return SendClientMessage(playerid, -1, "Mensagem que nгo ta no local :p");
SetPlayerHealth(playerid, QUANTIA_DE_VIDA);
SetPlayerArmour(playerid, QUANTIA_DE_COLETE);
//Ou fome e talz, aн й cntg...
return 1;
}
Aн fica de acordo com o autor
Abraзos.
Re: Player digitar comando naquele local -
NascimentoRJ - 06.11.2015
Irei usar a opзгo do nosso amigo matheusspohr. obrigado a todos pela ajuda!
Re: Player digitar comando naquele local -
Jauro - 06.11.2015
Quote:
Originally Posted by matheusspohr
PHP Code:
if(!strcmp(cmdtext ,"/cumer", true))
{
if(IsPlayerInRangeOfPoint(playerid, Distancia do ponto, local x, local y, local 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.
Re: Player digitar comando naquele local -
matheusspohr - 06.11.2015
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.