Como posso fazer o /tmv (trazer veiculo) -
Dsv - 26.03.2013
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 :/)
Re: Como posso fazer o /tmv (trazer veiculo) -
Lуs - 26.03.2013
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;
}
Re: Como posso fazer o /tmv (trazer veiculo) -
Dsv - 26.03.2013
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.
Re: Como posso fazer o /tmv (trazer veiculo) -
Lуs - 26.03.2013
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...