GetPlayerDistanceFromPoint -
iCracker - 15.06.2013
Gostaria vocкs me retirasem uma dъvida, Como eu posso comparar qual o ponto mais perto, usando a funзao,
GetPlayerDistanceFromPoint, Digamos assim, Estou fazendo um sistema de hospital, so que eu quero compara qual o
mais prуximo do Player, para quando ele morrer, ir para o hospital mais prуximo no caso ele captura a cordenada do player,
joga pra uma Float e checar as 6 variaveis que comportaria os valores do Float dos hospitais e obter o mas prуximo do Player como ficaria o elseif?
Exemplo:
PHP код:
new
Float: distancia= GetPlayerDistanceFromPoint(playerid, 237.9, 115.6, 1010.2),
Wike da funзao
https://sampwiki.blast.hk/wiki/GetPlayerDistanceFromPoint
Re: GetPlayerDistanceFromPoint -
lucasgolino - 15.06.2013
Use o metodo da bolha!
http://pt.wikipedia.org/wiki/Bubble_sort
http://cafofodoprogramador.blogspot....nguagem-c.html
http://codigofonte.uol.com.br/codigo...bubble-sort%5D
http://www.vivaolinux.com.br/script/...ort-em-vetores
http://mathbits.com/MathBits/CompSci/Arrays/Bubble.htm
Re: GetPlayerDistanceFromPoint -
iCracker - 15.06.2013
e um loop muito complexo poderia dar um exemplo de como usalo no meu caso?
Respuesta: GetPlayerDistanceFromPoint -
DartakousLien - 15.06.2013
olha a minha mensagem!
para quem estiver interessado vou deixar aqui o exemplo tbm
pawn Код:
//no topo do GM
#define TOTAL_DE_HOSPITAIS 3
//no comando
new Float:poshospital[TOTAL_DE_HOSPITAIS][3] = {
{0.0,0.0,0.0},//coloca as coordenadas do hospital, voce poderб ausa-las para setar a posicao (veja mais abaixo)
{0.0,0.0,0.0},
{0.0,0.0,0.0}
};
new Float:menordistancia=0xFFFFFF;//16777215 em decimal
new Float:distactual;
new hospital;
for(new nh=0;nh!=TOTAL_DE_HOSPITAIS;nh++) {
distactual = GetPlayerDistanceFromPoint(playerid,poshospital[nh][0],poshospital[nh][1],poshospital[nh][2]);
if (distactual<menordistancia) {
menordistancia=distactual;
hospital=nh;
}
}
//o hospital mais perto й o "hospital"
//agora voce pode usar por exemplo SetPlayerPos(playerid,poshospital[hospital][0],poshospital[hospital][1],poshospital[hospital][2]);
Re: GetPlayerDistanceFromPoint -
iCracker - 15.06.2013
eu entendi so o comeзo como ele calculo a posiзao se ta tudo zerada? tem como explicar melhor mas desde ja
obrigado pela ajuda.
Re: GetPlayerDistanceFromPoint -
iCracker - 15.06.2013
deu esses warings
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatch
(82
: warning 213: tag mismatch
(82
: warning 213: tag mismatch
(82
: warning 213: tag mismatch
(829) : warning 213: tag mismatch
(829) : warning 213: tag mismatch
(829) : warning 213: tag mismatch
(830) : warning 213: tag mismatch
(830) : warning 213: tag mismatch
(830) : warning 213: tag mismatch
(831) : warning 213: tag mismatch
(831) : warning 213: tag mismatch
(831) : warning 213: tag mismatch
(832) : warning 213: tag mismatch
(832) : warning 213: tag mismatch
(832) : warning 213: tag mismatch
nessas linhas
{1172.5897,-1323.2572,15.4028},//coloca as coordenadas do hospital, voce poderб ausa-las para setar a posicao (veja mais abaixo)
{2029.7606,-1402.9940,17.2528},
{-2664.5527,637.2999,14.4531},
{-316.1042,1053.5287,20.3103},
{1607.4232,1817.7029,10.8203},
{-2202.5264,-2308.6250,31.2086}
};
new Float:menordistancia=0xFFFFFF;//16777215 em decimal
new Float:distactual;
new hospital;
for(new nh=0;nh!=TOTAL_DE_HOSPITAIS;nh++) {
distactual = GetPlayerDistanceFromPoint(playerid,poshospital[nh][0],poshospital[nh][1],poshospital[nh][2]);
if (distactual<menordistancia) {
menordistancia=distactual;
hospital=nh;
Re: GetPlayerDistanceFromPoint -
iCracker - 17.06.2013
ajuda aew galera '-' preciso muito disso.
Respuesta: GetPlayerDistanceFromPoint -
DartakousLien - 17.06.2013
troque
pawn Код:
new poshospital[TOTAL_DE_HOSPITAIS][3] = {
por
pawn Код:
new Float:poshospital[TOTAL_DE_HOSPITAIS][3] = {
Re: Respuesta: GetPlayerDistanceFromPoint -
Lucas_Pawno - 17.06.2013
Quote:
Originally Posted by DartakousLien
troque
pawn Код:
new poshospital[TOTAL_DE_HOSPITAIS][3] = {
por
pawn Код:
new Float:poshospital[TOTAL_DE_HOSPITAIS][3] = {
|
Testei aqui e funcionou