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=1993)



Problema com IsPlayerInRangeOfPoint - fear - 29/12/2021

boa noite. estou com um problema que a msg de erro retorna pra segunda posição que coloquei no IsPlayerInRangeOfPoint sendo que eu estou na segunda posição

codigo

Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) || IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 



RE: Problema com IsPlayerInRangeOfPoint - caliiu_ - 29/12/2021

Acredito que falta o ! na segunda verificação.

Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) || !IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 



RE: Problema com IsPlayerInRangeOfPoint - fear - 29/12/2021

(29/12/2021 21:06)caliiu_ Escreveu: Acredito que falta o ! na segunda verificação.

Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) || !IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 

Agora nenhuma das duas posições esta pegando.. ele retorna a msg que não estou na oficina..


RE: Problema com IsPlayerInRangeOfPoint - caliiu_ - 29/12/2021

Então retire os ! das duas verificações.

Código PHP:
if(IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) || IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 



RE: Problema com IsPlayerInRangeOfPoint - fear - 29/12/2021

(29/12/2021 21:19)caliiu_ Escreveu: Então retire os ! das duas verificações.

Código PHP:
if(IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) || IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 

Sim, Pórem quando eu não estou na oficina não retornaria a msg só não funcionaria o comando.. queria que retornasse..


RE: Problema com IsPlayerInRangeOfPoint - xbruno1000x - 29/12/2021

Essa expressão, usada dessa maneira, serve quase como um exemplo de Tautologia.

Tautologia é uma classificação de preposições na matemática discreta, em que sempre o resultado final é verdadeiro.

Exemplo:

Posição 1  Verdadeiro
ou
Posição 2 Falso
Final         Verdadeiro

Posição 1 Falso
ou
Posição 2 Verdadeiro
Final         Verdadeiro

Ou seja, sempre uma das preposições irá retornar verdadeiro na tabela verdade e retornar o erro.

Mais sobre o assunto:
https://filosofianaescola.com/logica/tautologia-contradicao-e-contingencia

Faça assim:
Código:
if(IsPlayerInRangeOfPoint(playerid, 2.0, 2016.4532,-1782.9890,13.6459) || IsPlayerInRangeOfPoint(playerid, 2.0, 2008.3352,-1783.4474,13.6459))
{
//CÓDIGO AQUI
}

Dessa forma, a função só será executada caso o jogador esteja no local correto.


RE: Problema com IsPlayerInRangeOfPoint - fear - 29/12/2021

(29/12/2021 21:38)xbruno1000x Escreveu: Essa expressão, usada dessa maneira, serve quase como um exemplo de Tautologia.

Tautologia é uma classificação de preposições na matemática discreta, em que sempre o resultado final é verdadeiro.

Exemplo:

Posição 1  Verdadeiro
ou
Posição 2 Falso
Final         Verdadeiro

Posição 1 Falso
ou
Posição 2 Verdadeiro
Final         Verdadeiro

Ou seja, sempre uma das preposições irá retornar verdadeiro na tabela verdade e retornar o erro.

Mais sobre o assunto:
https://filosofianaescola.com/logica/tautologia-contradicao-e-contingencia

Faça assim:
Código:
if(IsPlayerInRangeOfPoint(playerid, 2.0, 2016.4532,-1782.9890,13.6459) || IsPlayerInRangeOfPoint(playerid, 2.0, 2008.3352,-1783.4474,13.6459))
{
//CÓDIGO AQUI
}

Dessa forma, a função só será executada caso o jogador esteja no local correto.

Removendo o parâmetro " ! "já aconteceria dele não executar pois eu testei.. porém eu queria que retornasse a msg caso ele não esteja na posição.


RE: Problema com IsPlayerInRangeOfPoint - ipsLuan - 29/12/2021

Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) && !IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 

Simples e sem complicação.


RE: Problema com IsPlayerInRangeOfPoint - fear - 29/12/2021

(29/12/2021 22:34)ipsLuan Escreveu:
Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) && !IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 

Simples e sem complicação.

Vlw luan era isso mesmo que queria.


RE: Problema com IsPlayerInRangeOfPoint - xbruno1000x - 30/12/2021

(29/12/2021 22:34)ipsLuan Escreveu:
Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.02016.4532,-1782.9890,13.6459) && !IsPlayerInRangeOfPoint(playerid2.02008.3352,-1783.4474,13.6459)) return Msg(playeridVermelho"<!> {FFFFFF}Voce nao esta na oficina de Los Santos!"); 

Simples e sem complicação.

Perfeito, creio ter me empolgado um pouco kkkkkkkkkkkk