[Ajuda] Posiзгo carro
#1

Ola!
Eu preciso de ajuda com um cmd do meu sistema de carros :/.
Queria que os meus carros ficassem um ao lado do outro na minha frente.
Nгo sou muito bom com posiзхes : ( ... Obrigado!


Код:
CMD:meuscarros(playerid,params[])
{
	new Float:PosicaoX,Float:PosicaoY,Float:PosicaoZ,Float:Angulo;
	if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,Vermelho,"ERRO: Vocк jб estб em um carro");{
	if(PlayerInfo[playerid][NoDuelo] == 1)return SendClientMessage(playerid,Vermelho,"ERRO: Vocк estб em um duelo");	
	if(PlayerInfo[playerid][NoEvento] == 1)return SendClientMessage(playerid,Vermelho,"ERRO: Vocк estб em um evento");	
	if(PlayerInfo[playerid][NaCadeia] == 1)return SendClientMessage(playerid,Vermelho,"WTF! Vocк estб preso");
	GetPlayerPos(playerid,PosicaoX,PosicaoY,PosicaoZ);
	GetPlayerFacingAngle(playerid,Angulo);
	SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C1]),PosicaoX,PosicaoY,PosicaoZ);
	SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C1]),Angulo);
	SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C2]),PosicaoX,PosicaoY,PosicaoZ);
	SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C2]),Angulo);
	SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C3]),PosicaoX,PosicaoY,PosicaoZ);
	SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C3]),Angulo);
	SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C4]),PosicaoX,PosicaoY,PosicaoZ);
	SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C4]),Angulo);
	SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C5]),PosicaoX,PosicaoY,PosicaoZ);
	SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C5]),Angulo);}
	return 1;
}
Reply
#2

Sera que ninguйm pode me ajudar?

Desculpa por levantar um tуpico antigo.
Reply
#3

Resoluзгo do seu problema:

PHP код:
/// <summary>
/// Obtйm a posiзгo X e Y de N metros a frente de um ponto especнfico.
/// </summary>
/// <param name="x">Posiзгo X.</param>
/// <param name="y">Posiзгo Y.</param>
/// <param name="angle">Angulo.</param>
/// <param name="distance">Distвncia.</param>
/// <returns>Nгo retorna valores.</returns>
stock GetXYInFrontOfPoint(&Float:x, &Float:yFloat:angleFloat:distance)
{
    
+= (distance floatsin(-angledegrees));
    
+= (distance floatcos(-angledegrees));
}
CMD:meuscarros(playerid,params[])
{
    if(
IsPlayerInAnyVehicle(playerid))
        return 
SendClientMessage(playerid,Vermelho,"ERRO: Vocк jб estб em um carro");
    if(
PlayerInfo[playerid][NoDuelo] == 1)
        return 
SendClientMessage(playerid,Vermelho,"ERRO: Vocк estб em um duelo");    
    if(
PlayerInfo[playerid][NoEvento] == 1)
        return 
SendClientMessage(playerid,Vermelho,"ERRO: Vocк estб em um evento");    
    if(
PlayerInfo[playerid][NaCadeia] == 1)
        return 
SendClientMessage(playerid,Vermelho,"WTF! Vocк estб preso");
    new 
Float:posX,
        
Float:posY,
        
Float:posZ,
        
Float:angle
    
;
    
GetPlayerPos(playeridposXposYposZ);
    
GetPlayerFacingAngle(playeridangle);
    
GetXYInFrontOfPoint(posXposYangle6.0);
    
SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C1]), posXposYposZ);
    
SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C1]), angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.04.0);
    
SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C2]), posXposYposZ);
    
SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C2]), angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.0, -8.0);
    
SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C3]), posXposYposZ);
    
SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C3]), angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.0, -4.0);
    
SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C4]), posXposYposZ);
    
SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C4]), angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.016.0);
    
SetVehiclePos(PegarCarroID(PlayerInfo[playerid][C5]), posXposYposZ);
    
SetVehicleZAngle(PegarCarroID(PlayerInfo[playerid][C5]), angle 180.0);
    return 
1;

Nгo compilei com o seu comando, mas testei com um que fiz:



PHP код:
/// <summary>
/// Comando para alinhar cinco veнculos especнficos lado a lado.
/// </summary>
/// <param name="playerid">ID do jogador.</param>
/// <returns>Nгo retorna valores especнficos.</returns>
CMD:test(playerid)
{
    new 
Float:posX,
        
Float:posY,
        
Float:posZ,
        
Float:angle
    
;
    
GetPlayerPos(playeridposXposYposZ);
    
GetPlayerFacingAngle(playeridangle);
    
GetXYInFrontOfPoint(posXposYangle6.0);
    
SetVehiclePos(testVehicle[0], posXposYposZ);
    
SetVehicleZAngle(testVehicle[0], angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.04.0);
    
SetVehiclePos(testVehicle[1], posXposYposZ);
    
SetVehicleZAngle(testVehicle[1], angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.0, -8.0);
    
SetVehiclePos(testVehicle[2], posXposYposZ);
    
SetVehicleZAngle(testVehicle[2], angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.0, -4.0);
    
SetVehiclePos(testVehicle[3], posXposYposZ);
    
SetVehicleZAngle(testVehicle[3], angle 180.0);
    
GetXYInFrontOfPoint(posXposYangle 90.016.0);
    
SetVehiclePos(testVehicle[4], posXposYposZ);
    
SetVehicleZAngle(testVehicle[4], angle 180.0);
    return 
1;

Lembrando que 'testVehicle' foram os veнculos de testes utilizados.
Reply
#4

Quote:
Originally Posted by Vithinn
Посмотреть сообщение
Resoluзгo do seu problema:
Man Valeu! Ajudou muito
Fiquei um bom tempo tentando fazer esse cmd

Quote:
Originally Posted by Vithinn
Посмотреть сообщение
Lembrando que 'testVehicle' foram os veнculos de testes utilizados.
To Ligado kkk


Obrigado!
Reply
#5

Quote:
Originally Posted by Guscooby
Посмотреть сообщение
Man Valeu! Ajudou muito
Fiquei um bom tempo tentando fazer esse cmd
To Ligado kkk
Hahah, й bom avisar, vai que a pessoa nгo se da conta, espero que funcione.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)