[Ajuda] Explosгo
#1

Oi, estou com um problema quando eu uso o comando soltar ele cria a explosгo na mesma coordenada do meu veiculo

alguem me ajuda ? pff

Код:
CMD:soltar (playerid, params[])
{
  new Vehi;
  new Float:vehx, Float:vehy, Float:vehz;
  Vehi = GetPlayerVehicleID(playerid);
  GetVehiclePos(Vehi, vehx, vehy, vehz);
  CreateExplosion(vehx, vehy+15, vehz, 6, 15.0);
  return 1;
}
Reply
#2

Voce esta usando params ?/ voce quer que explode o carro por id ou criar explosгo proximo do jogador ?

Quote:

CMDoltar (playerid, params[])
{
new id;
new Vehi;
new Float:vehx, Float:vehy, Float:vehz;
Vehi = GetPlayerVehicleID(playerid);
GetVehiclePos(Vehi, vehx, vehy, vehz);
if(sscanf(parans, "i", id))
return SendClientMessage(playerid, -1, "/soltar id");
else
CreateExplosionForPlayer(id, vehx, vehy+15, vehz, 6, 15.0);
return 1;
}

Reply
#3

Eu quero que quando o jogador usar o comando /soltar ele crie uma explosгo a uns 15 metros na frente do carro, eu jб tentei pegando a coordenada do jogador, mais quando eu viro o carro ela explode na frente ou do lado.
Reply
#4

nossa teria que comparar os angulos do carro

exemplo angulo = 360 = x+15
angulo = -360 = x -15
angulo = 180 = y + 15
agulo = -180 = y - 15 e por ai vai '-'

Reply
#5

Porem parece que quando o veiculo gira, se a coord e Y+15 ela vira Y-15 e solta a explosгo atras
Reply
#6

Simplesmente utilize esta funзгo.

PHP код:
GetXYInFrontOfPlayer(playerid, &Float:x, &Float:yFloat:distance)
{    
// Created by ******
    
new Float:a;
    
GetPlayerPos(playeridxya);
    
GetPlayerFacingAngle(playerida);
    if (
GetPlayerVehicleID(playerid)) {
        
GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    }
    
+= (distance floatsin(-adegrees));
    
+= (distance floatcos(-adegrees));

Modo de uso para seu caso

PHP код:
CMD:soltar(playerid)
{
    new 
FloatXFloatYFloatZ;
    
GetVehiclePos(GetPlayerVehicleID(playerid), XYZ);
    
GetXYInFrontOfPlayer(playeridXY15);
    
CreateExplosion(XYZ615.0);
    return 
1;

Reply
#7

entendi ele joga 15 de distancia do angulo do jogador
Reply
#8

Me explica melhor sobre ela ?

Код:
    x += (distance * floatsin(-a, degrees)); 
    y += (distance * floatcos(-a, degrees));
nгo intendi nada !
Reply
#9

й nada complexo '-'

Quote:

x += (distance * floatsin(-a, degrees));

x - O params que esta como float nessa funзгo
+= - mais
distance - o params que esta como float nessa funзгo (No caso distancia)
* - vezes (X)
-a = menos o float a
degress - graus

floatcos - https://sampwiki.blast.hk/wiki/Floatcos
floatin - https://sampwiki.blast.hk/wiki/Floatsin
Reply
#10

Isto й matemбtica, seno e cosseno.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)