SA-MP Forums Archive
[Ajuda] Explosгo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Explosгo (/showthread.php?tid=598518)



Explosгo - iTouchS - 13.01.2016

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;
}



Re: Explosгo - BykiLler - 13.01.2016

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;
}




Re: Explosгo - iTouchS - 13.01.2016

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.


Re: Explosгo - BykiLler - 13.01.2016

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 '-'




Re: Explosгo - iTouchS - 13.01.2016

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


Re: Explosгo - EditPawn - 13.01.2016

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;




Re: Explosгo - BykiLler - 13.01.2016

entendi ele joga 15 de distancia do angulo do jogador


Re: Explosгo - iTouchS - 13.01.2016

Me explica melhor sobre ela ?

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


Re: Explosгo - BykiLler - 13.01.2016

й 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



Re: Explosгo - EditPawn - 13.01.2016

Isto й matemбtica, seno e cosseno.