SA-MP Forums Archive
[Ajuda] Por que isso nгo funciona? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Por que isso nгo funciona? (/showthread.php?tid=665213)



Por que isso nгo funciona? - WiliHacking - 26.03.2019

Bom, criei esse Timer para verificar quando o player chegar perto da coordenada especificada e ai ele teleportar... Ai criei essa variбvel para que ele nгo fique saindo e entrando infinitamente, mas acontece que nгo estб funcionando, se alguйm puder ajudar eu agradeзo.
PHP код:
// OnPlayerConnect
LiberarES[playerid] = 0;
public 
TimerEntradas(playerid)
{
    if(
PlayerToPoint(1.0playerid1481.0116, -1771.419118.7958) && LiberarES[playerid] == 0)
    {
        if(!
IsPlayerInAnyVehicle(playerid))
        {
            
SetPlayerPos(playerid, );
            
SetPlayerInterior(playerid, );
            
SetCameraBehindPlayer(playerid);
            
LiberarES[playerid] = 1;
            
GetPlayerPos(playeridpEntradaX[playerid], pEntradaY[playerid], pEntradaZ[playerid]);
        }
    }
    else if(!
PlayerToPoint(3.0playeridpEntradaX[playerid], pEntradaY[playerid], pEntradaZ[playerid]))
    {
        if(
LiberarES[playerid] == 1)
        {
            
LiberarES[playerid] = 0;
        }
    }
    return 
1;




Re: Por que isso nгo funciona? - Scorpion659 - 26.03.2019

Tenta trocar o playertopoint para:

https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint


Re: Por que isso nгo funciona? - WiliHacking - 26.03.2019

Continua a mesma coisa... Nгo to entendendo por que essa merd* nгo funciona.


Re: Por que isso nгo funciona? - MtPlayerZ - 26.03.2019

Quote:
Originally Posted by WiliHacking
Посмотреть сообщение
Continua a mesma coisa... Nгo to entendendo por que essa merd* nгo funciona.
Como o Scorpion disse, tente trocar
PHP код:
(PlayerToPoint(rad,playerid,X,Y,Z
por
PHP код:
IsPlayerInRangeOfPoint(playeridrad2695.6880, -1704.630011.8438
Essa funзгo que vc esta usando, й meio que "ultrapassada", e lembre-se da ordem dos parвmetros(playerid,raio,coords).Ali na sua funзгo o raio e o playerid estгo trocados.
Uma pergunta, onde e como vc esta chamando este Timer?


Re: Por que isso nгo funciona? - WiliHacking - 27.03.2019

Troquei o PlayerToPoint por IsPlayerInRangeOfPoint
Ai fiz alguns testes... Quando estб assim:
Com a coordenada do Interior que eu teleportei, funciona de boas, quando estou no Range fala que estou dentro e quando estou fora fala que estou fora.
PHP код:
if(!IsPlayerInRangeOfPoint(playerid2.01494.41991304.19591093.2891))
{
    
SendClientMessage(playerid, -1"EU ESTOU FORA");
}
else 
SendClientMessage(playerid, -1"EU ESTOU DENTRO"); 
Agora quando estб assim:
Com o pEntradaX[playerid], pEntradaY[playerid], pEntradaZ[playerid] ao invйs das coordenadas, o negуcio fica totalmente bugado, quando eu teleporto pela primeira vez fala que estou Dentro, ai depois acusa que estou fora, mesmo eu estando perto do Range... E removi o Timer para fazer o teste e coloquei um comando.
PHP код:
if(!IsPlayerInRangeOfPoint(playerid2.0pEntradaX[playerid], pEntradaY[playerid], pEntradaZ[playerid]))
{
    
SendClientMessage(playerid, -1"EU ESTOU FORA");
}
else 
SendClientMessage(playerid, -1"EU ESTOU DENTRO"); 



Re: Por que isso nгo funciona? - Felipealves - 27.03.2019

Verifique os valores das variбveis, crie um comando e use isso, dps olhe no console quais й os valores use printf("%f %f %f", pEntradaX[playerid], pEntradaY[playerid], pEntradaZ[playerid]);


Re: Por que isso nгo funciona? - WiliHacking - 27.03.2019

Jб fiz isso ai mano, acho que descobri o problema... Quando seta o player em um interior e usa o GetPlayerPos meio que buga o IsPlayerInRangeOfPoint, eu retirei o sistema do player entrar no interior para testes e funcionou de boas, entгo tive a ideia de setar o Player no Interior e congelar ele e depois de 1 segundo descongelar ele e pegar a posiзгo, parece que estб funcionando... mas vou fazer mais alguns testes.