Portal SAMP
[Ajuda] Problema com IsPlayerInRangeOfPoint() - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Problema com IsPlayerInRangeOfPoint() (/showthread.php?tid=4689)



Problema com IsPlayerInRangeOfPoint() - Ryzen_ - 12/04/2024

Boa noite a todos. Estou com um problema onde, os valores não são lidos pela função IsPlayerInRangeOfPoint(). Se eu inserir os valores diretamente, funciona, porém, se eu utilizo a variável responsável por recuperar os valores do banco de dados, não dá prosseguimento. Já fiz uma verificação pra ver se os valores estavam sendo recebidos corretamente, e sim, eles são exibidos da forma que deveria no console, com a exata localização. Desde já, grato aos que tentarem ajudar. Segue abaixo o trecho do código com o erro:

Código PHP:
if (IsPlayerInRangeOfPoint(playerid3.0ClanInfo[5][cPosX], ClanInfo[5][cPosY], ClanInfo[5][cPosZ])) {
    
SetPlayerInterior(playerid3);
    
SetPlayerVirtualWorld(playerid10);
    
SetPlayerPos(playerid238.5636,140.2831,1003.0234);
    
SetPlayerFacingAngle(playerid359.0202);
    
SetCameraBehindPlayer(playerid);




RE: Problema com IsPlayerInRangeOfPoint() - samuelmatheus0502 - 12/04/2024

A parte de carregamento dessas variaves esta certinha mano?


RE: Problema com IsPlayerInRangeOfPoint() - Ryzen_ - 12/04/2024

Sim. Utilizei o printf, e recebia tudo certinho no terminal. Usando no IsPlayerInRangeOfPoint(), nada acontece


RE: Problema com IsPlayerInRangeOfPoint() - xbruno1000x - 12/04/2024

Tenta dessa maneira:
Código:
    new Float:x = ClanInfo[5][cPosX], Float:y = ClanInfo[5][cPosY], Float:z = ClanInfo[5][cPosZ];
    if (IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z)) {
        SetPlayerInterior(playerid, 3);
        SetPlayerVirtualWorld(playerid, 10);
        SetPlayerPos(playerid, 238.5636,140.2831,1003.0234);
        SetPlayerFacingAngle(playerid, 359.0202);
        SetCameraBehindPlayer(playerid);
    }

Pensei na hipótese dessas variáveis não serem do tipo correto.


RE: Problema com IsPlayerInRangeOfPoint() - Ryzen_ - 12/04/2024

(12/04/2024 23:47)xbruno1000x Escreveu: Tenta dessa maneira:
Código:
    new Float:x = ClanInfo[5][cPosX], Float:y = ClanInfo[5][cPosY], Float:z = ClanInfo[5][cPosZ];
    if (IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z)) {
        SetPlayerInterior(playerid, 3);
        SetPlayerVirtualWorld(playerid, 10);
        SetPlayerPos(playerid, 238.5636,140.2831,1003.0234);
        SetPlayerFacingAngle(playerid, 359.0202);
        SetCameraBehindPlayer(playerid);
    }

Pensei na hipótese dessas variáveis não serem do tipo correto.

Era esse mesmo o problema. Verifiquei no "enum" do ClanInfo, e acabei esquecendo de setar o tipo das posições para Float lá, eu te amo Bruno, namoral kkkkkkkkkkkk. Muito obrigado Bruno e Samuel, vocês são 10!


RE: Problema com IsPlayerInRangeOfPoint() - samuelmatheus0502 - 13/04/2024

kkkk boua mano! acontece mesmo, faço muito isso também