[ Pedido ] FloatRound

Ir em baixo

[ Pedido ] FloatRound

Mensagem por ClipX em Seg Set 16, 2013 12:04 am

Teria como alguém me dar um exemplo de como usar Floatround para checar a posição de um player em uma corrida ?

Exemplo: Eu estou na frente de um jogador ( Corrida 1x1 ) e em uma textdraw iria aparecer: 1/2 e se caso eu tivesse atrás dele seria 2/2, teria como alguém me dar um exemplo? Já tentei fazer mas acabei quebrando a cabeça... Cool 

ClipX
Novato
Novato

Mensagens : 3
Data de inscrição : 15/09/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ Pedido ] FloatRound

Mensagem por Gustavo Araújo em Seg Set 16, 2013 11:55 am

Primeiramente, seja bem vindo ao fórum Smile
Floatround é uma função para "arredondar" uma Float, ou seja, transforma-la de float para int, então, do jeito que você necessita você pode checar a distancia do Ponto Final da corrida e a de cada player, descobrindo assim quem esta mais longe ( caso for uma corrida em linha reta ), caso uma corrida com bastante curvas, você teria que pensar em uma outra lógica.

Gustavo Araújo
Novato
Novato

Mensagens : 1
Data de inscrição : 08/09/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ Pedido ] FloatRound

Mensagem por ClipX em Seg Set 16, 2013 2:12 pm

Obrigado,

pois bem, é uma corrida em linha reta, vamos se dizer que seria aquelas avenidas de LV...
Bom, teria como você postar um exemplo ? Ou até mesmo a função para checar quem esta perto/longe do checkpoint final.

Obrigado, por responder.

ClipX
Novato
Novato

Mensagens : 3
Data de inscrição : 15/09/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ Pedido ] FloatRound

Mensagem por Willian Luigi em Seg Set 16, 2013 4:55 pm

Se a corrida for apenas em linha reta eu posso te ajudar facilmente.

Pense comigo, se você tem dois pontos disputando para chegar em um ponto X em que a esse caminho é sempre traçado somente por uma reta, se você aplicar o calculo da distância entre os 2 pontos e o X, você pode fazer a seguinte comparação:
o ponto que tiver menos longe é o 1º colocado, e o outro é o 2º colocado.

Calculo da distância d = raizQuadrada((x1 - x2)² + (y1 - y2)²)
No pawn isso ficaria:
Código:
stock raio(point1, point2)
{
    new
        Float: sPp[3],
        Float: sOp[3],
        distance = NULL;

    GetPlayerPos(point1, sPp[0], sPp[1], sPp[2]);
    GetPlayerPos(point2, sOp[0], sOp[1], sOp[2]);

    distance = floatsqroot(floatadd(floatadd(floatpower(sPp[0]-sOp[0],2), floatpower(sPp[1]-sOp[1],2)),floatpower(sPp[2]-sOp[2],2)));

    return (distance);
}
A verificação nesse caso seria
Código:
if (raio(JOGADOR_ID, PONTO_FINAL) > raio(JOGADOR_ID2, PONTO_FINAL)) //JOGADOR_ID2 é o 1º lugar
else //JOGADOR_ID é o 1º lugar
Espero ter ajudado, se sobrar dúvidas poste-as aqui mesmo.

Abraços.

_________________
<br>
avatar
Willian Luigi
Fundador
Fundador

Mensagens : 63
Data de inscrição : 22/07/2013
Idade : 23
Localização : CODE.ME company

Ver perfil do usuário http://codeme.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [ Pedido ] FloatRound

Mensagem por ClipX em Seg Set 16, 2013 10:23 pm

Obrigado @Gustavo_Araujo...

Obrigado @Wilian, você me explicou no skype e eu entendi corretamente, enfim, obrigado. ^^

ClipX
Novato
Novato

Mensagens : 3
Data de inscrição : 15/09/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ Pedido ] FloatRound

Mensagem por AlieN_ em Ter Set 17, 2013 1:22 am

ClipX escreveu:Obrigado @Gustavo_Araujo...

Obrigado @Wilian, você me explicou no skype e eu entendi corretamente, enfim, obrigado. ^^
blz,mais paritcipa com noes aew no forum pra krescer e tals.... bounce  bounce  bounce 

_________________
avatar
AlieN_
Mr. M
Mr. M

Mensagens : 78
Data de inscrição : 23/07/2013
Idade : 23
Localização : SpirowlanD

Ver perfil do usuário http://www.redtube.com

Voltar ao Topo Ir em baixo

Re: [ Pedido ] FloatRound

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum