[Ajuda] Como posso fazer o /tmv (trazer veiculo)
#1

Olб Galera! Estou com uma dificuldade terrнvel nesse comando maldito, й uma coisa muito simples mas nгo estou conseguindo.
Й o comando que todos estamos acostumados, criou o veнculo, o perdeu de vista ou estб muito longe, sу digitar /tmv, /trazercarro etc., pronto: veнculo na sua frente.

Enfim, eu nгo sei como identificar o veнculo que o Jogador criou, nгo sei se pego o ID do veнculo, nome....

Jб tenho o comando de criar veнculos certinho, o sistema usa a variбvel CarrosCriados[playerid].
A parte do comando que cria o veнculo й assim:

Код:
    CarrosCriados[playerid] = CreateVehicle(veiculo, x, y, z+2, a , 0, 0, 100);
    PutPlayerInVehicle(playerid, CarrosCriados[playerid], 0);
Pronto, o cуdigo a cima usa o CarrosCriados[playerid] e cria o veнculo para o Jogador.

Mas, em outro comando (/trazercarro, /tmv), como eu identificaria o veнculo criado em CarrosCriados[playerid] e trazer para o player? (eu sei como pegar as coords do veнculo, setar o player dentro do veнculo e tals)

Podem me ajudar? Grato.
Estou usando zcmd e sscanf!
(sim, sou novato :/)
Reply
#2

SetVehiclePos
GetPlayerPos

pawn Код:
CMD:tmv(playerid, params [])
{
    new
        Float: flo_player_pos [ 3 ];

    GetPlayerPos ( playerid, flo_player_pos [ 0 ], flo_player_pos [ 1 ], flo_player_pos [ 2 ] );

    SetVehiclePos ( CarrosCriados[playerid], flo_player_pos [ 0 ], flo_player_pos [ 1 ], flo_player_pos [ 2 ] );
   
    return 1;
}
Reply
#3

Quote:
Originally Posted by Los
Посмотреть сообщение
SetVehiclePos
GetPlayerPos

pawn Код:
CMD:tmv(playerid, params [])
{
    new
        Float: flo_player_pos [ 3 ];

    GetPlayerPos ( playerid, flo_player_pos [ 0 ], flo_player_pos [ 1 ], flo_player_pos [ 2 ] );

    SetVehiclePos ( CarrosCriados[playerid], flo_player_pos [ 0 ], flo_player_pos [ 1 ], flo_player_pos [ 2 ] );
   
    return 1;
}
Eita
Nem passou pela minha cabeзa que ainda dava para usar o CarrosCriados[playerid] normalmente! Muito obrigado cara, valeu mesmo!

Veja meu cуdigo final como ficou: (se tiver como otimizar me avisem)

pawn Код:
CMD:trazerv(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
return SendClientMessage(playerid, -1, "[ERRO]: Vocк jб estб em um Veнculo!");
}
else
if(CarrosCriados[playerid] == 0)
{
return SendClientMessage(playerid, -1, "[ERRO]: Vocк nгo tem nenhum Veнculo! Crie: /cid [ID] ou /criarv!");
}
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
GetVehiclePos(CarrosCriados[playerid], x, y, z);
SetVehicleZAngle(CarrosCriados[playerid], a);
SetVehiclePos(CarrosCriados[playerid], x, y, z);
PutPlayerInVehicle(playerid, CarrosCriados[playerid], 0);
SendClientMessage(playerid, -1, "[SUCESSO]: Veнculo recuperado!");
return true;
}
Mas ainda estou com uma dъvida, nгo estou conseguindo setar o вngulo do veнculo igual ao вngulo atual do player..
Veja eu pego o GetPlayerFacingAngle(playerid, a);
Depois eu seto em: SetVehicleZAngle(CarrosCriados[playerid], a);
Nгo estб dando certo... Pode me ajudar ainda? Grato.
Reply
#4

Quote:
Originally Posted by Dsv
Посмотреть сообщение
Eita
Nem passou pela minha cabeзa que ainda dava para usar o CarrosCriados[playerid] normalmente! Muito obrigado cara, valeu mesmo!

Veja meu cуdigo final como ficou: (se tiver como otimizar me avisem)

pawn Код:
CMD:trazerv(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
return SendClientMessage(playerid, -1, "[ERRO]: Vocк jб estб em um Veнculo!");
}
else
if(CarrosCriados[playerid] == 0)
{
return SendClientMessage(playerid, -1, "[ERRO]: Vocк nгo tem nenhum Veнculo! Crie: /cid [ID] ou /criarv!");
}
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
GetVehiclePos(CarrosCriados[playerid], x, y, z);
SetVehicleZAngle(CarrosCriados[playerid], a);
SetVehiclePos(CarrosCriados[playerid], x, y, z);
PutPlayerInVehicle(playerid, CarrosCriados[playerid], 0);
SendClientMessage(playerid, -1, "[SUCESSO]: Veнculo recuperado!");
return true;
}
Mas ainda estou com uma dъvida, nгo estou conseguindo setar o вngulo do veнculo igual ao вngulo atual do player..
Veja eu pego o GetPlayerFacingAngle(playerid, a);
Depois eu seto em: SetVehicleZAngle(CarrosCriados[playerid], a);
Nгo estб dando certo... Pode me ajudar ainda? Grato.
Nгo existe como alterar o вngulo do veнculo depois de criado programando. Tambйm pesquisei sobre isso.

O вngulo Z й o вngulo do carro em relaзгo ao solo, se ele estб de cabeзa para baixo, ou de lado, etc...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)