Verificar Se o player esta no chao -
Caiton - 09.02.2016
Como eu faзo para verificar se o player esta no chao ?
Re: Verificar Se o player esta no chao -
rjjj - 09.02.2016
Vocк teria que instalar o plugin MapAndreas e verificar a equivalкncia aproximada entre a coordenada Z do jogador e a coordenada Z da superfнcie do local em que ele estivesse
:
https://sampforum.blast.hk/showthread.php?tid=275492
Espero ter ajudado
.
Re: Verificar Se o player esta no chao -
Caiton - 09.02.2016
Quote:
Originally Posted by rjjj
|
Ja deu o caminho das pedras, mais poderia me fazer uma base para que eu possa entender melhor, os tuto esta tudo ingles...
Re: Verificar Se o player esta no chao -
Delete_ - 10.02.2016
Por que quer verificar se ele estб no chгo?
Re: Verificar Se o player esta no chao -
Petrick™ - 10.02.2016
Quote:
Originally Posted by Delete_
Por que quer verificar se ele estб no chгo?
|
Talvez ele esta fazendo um sistema de ъltima salvaзгo de pos.
Re: Verificar Se o player esta no chao -
Delete_ - 10.02.2016
Quote:
Originally Posted by Petrick™
Talvez ele esta fazendo um sistema de ъltima salvaзгo de pos.
|
Se for o caso use essa include:
https://sampforum.blast.hk/showthread.php?tid=400049
Salva a pos do player se o player nгo estiver na бgua!
Re: Verificar Se o player esta no chao -
Sky™ - 10.02.2016
Vocк pode usar o
MapAndreas.inc й uma opзгo baseada no que o Rjj propфs porйm sem o uso do plugin ...
Modelo de uso:
PHP код:
printf("Coordenada z: %f", GetPointZPos(x, y));
ou vocк pode usa-la por meio de retorno como utilizei acima,
ou funзгo adiciona o valor aproximado/exato do chгo nas coordenadas respectivas (x,y),
PHP код:
new Float:cordZ;
GetPointZPos(x, y, cordZ);
й necessбrio o SaFull.map nas 'scriptfiles' ..
Atenciosamente !
Re: Verificar Se o player esta no chao -
n0minal - 10.02.2016
Vai ficar complicado pra vocк detectar se o cara estб mesmo no chгo usando mapandreas, parem de usar isso, tб ultrapassado. Use ColAndreas, pegue o ponto do jogador e calcule um ponto abstrato de altura fazendo um raycast pra cima, caso o raycast nгo atinja nenhum ponto de colisгo vocк estarб trabalhando com uma superfнcie aberta (cйu), dai й sу calcular um outro raycast do cйu ao chгo e verificar se o ponto de colisгo coincide com a coordenada do player. Caso um player esteja dentro de um tъnel por exemplo, o raycast vai retornar a colisгo no teto deste tъnel, dai vocк pega esse ponto de colisгo, subtrai -0.5 (sу por seguranзa mesmo) e faz um raycast deste ponto de colisгo subtraнdo atй o chгo, e verifica se coincide com a posiзгo do player. Falando parece bem complexo, mas em cуdigo vocк faz em 3 minutinhos se souber fazer.
Re: Verificar Se o player esta no chao -
Caiton - 10.02.2016
O motivo de eu querer verificar, e que estou desenvolvendo um ant speed hack, que ele funfa de boas, porem quando recebe supertapa, ou esta caindo de algum prйdio o ant xiter detecta como se fosse speed hack, veja so.
Funзгo do xiter: correr a pй em alta velocidade.
Код:
if(GetPlayerSpeed(playerid) > 100)
{
printf("%s foi kickado do servidor. | Motivo: Speed Hack.", GetandoNome(playerid));
Kick(playerid);
}
Код:
stock GetPlayerSpeed(playerid)
{
new Float:xPos[3];
GetPlayerVelocity(playerid, xPos[0], xPos[1], xPos[2]);
return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
}
Re: Verificar Se o player esta no chao -
ForT - 10.02.2016
Quote:
Originally Posted by Caiton
O motivo de eu querer verificar, e que estou desenvolvendo um ant speed hack, que ele funfa de boas, porem quando recebe supertapa, ou esta caindo de algum prйdio o ant xiter detecta como se fosse speed hack, veja so.
Funзгo do xiter: correr a pй em alta velocidade.
Код:
if(GetPlayerSpeed(playerid) > 100)
{
printf("%s foi kickado do servidor. | Motivo: Speed Hack.", GetandoNome(playerid));
Kick(playerid);
}
Код:
stock GetPlayerSpeed(playerid)
{
new Float:xPos[3];
GetPlayerVelocity(playerid, xPos[0], xPos[1], xPos[2]);
return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
}
|
Basta ignorar a velocidade
Z:
PHP код:
stock GetPlayerSpeed(playerid)
{
new Float:xPos[3];
GetPlayerVelocity(playerid, xPos[0], xPos[1], xPos[2]);
return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1]) * 170.00);
}