PDA

View Full Version : [Ajuda] Carro & Motor


Felipe_Freeze
26/03/2012, 11:41 PM
Eu to com um sistemitha de conce , ai so quem liga o carro carro é o dono , se outro tentar diz que nao tem chave , mas no meu gm ao entrar no carro ele já se liga , como mudo isso pra só ligar quando o cara usar /v ligar algo assim , e se ele descer sem desligar , permanecer ligado ?

Felipe_Freeze
27/03/2012, 05:31 PM
UP ajuda ae

Kon_BR
27/03/2012, 05:52 PM
Bom cara eu pósso te ajudar apenas com o comando de ligar/desligar veiculos, más é bem basico, vc terá que "acoplar" o seu sistema de donos de veiculos com os comandos ...

Ia até fazer um Tutorialzinho disto, más vou deixar assim mesmo, pra você e pra quem vier ao post !

Vamos lá !

1º : Topo do GM :
new Motor[MAX_PLAYERS];
new engine,lights,alarm,doors,bonnet,boot,objective;

2º : Adicione isto na public "OnGameModeInit" :
ManualVehicleEngineAndLights();

(Isto faz com que todos os veiculos do server estejam desligados, e só podem ser ligados com o comando que está logo após ... )


3º : Agora vamos aos comandos ! Adicione este na "OnPlayerCommandText" como está :
(Até com explicações ^^)

if(strcmp(cmdtext,"/ligarv", true) == 0) // O Comando.
{

if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,(Sua cor aqui),"• Você precisa estar em um veiculo e ser o motorista !"); //Mensagem retornada ao player quando ele não está em um veiculo ou como motorista do mesmo .

if(Motor[playerid] == 0)//Umas coisas que dão função ao comando, não necessario explicar ...
Motor[playerid] = 1; // ||
new vid = GetPlayerVehicleID(playerid); // ||
if(vid != INVALID_VEHICLE_ID) // ||
GetVehicleParamsEx(vid,engine,lights,alarm,doors,b onnet,boot,objective); // Uma das coisas principais que dá função ao sistema...
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,al arm,doors,bonnet,boot,objective); // ||
SendClientMessage(playerid, (Sua cor aqui), "Veiculo Ligado!"); // Mensagem enviada ao player quando ligar o veiculo !

return true;
}

Motor[playerid] = 0; //Umas coisas que dão função ao comando, não necessario explicar ...
new vid = GetPlayerVehicleID(playerid); // ||
if(vid != INVALID_VEHICLE_ID) // ||

// \/ Explicação segue à mesma que ao comando de cima !!

if(strcmp(cmdtext,"/desligarv", true) == 0)
{

if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,(Sua cor aqui),"• Você precisa estar em um veiculo e ser o motorista !");

GetVehicleParamsEx(vid,engine,lights,alarm,doors,b onnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,a larm,doors,bonnet,boot,objective);
SendClientMessage(playerid, (Sua cor aqui), "Veiculo Desligado! ");
return 1;
}

// FIM !


Lembrando : Troque os lugares (Sua cor aqui) por alguma cor de preferencia definida em seu GM !

Esse comando foi editado por mim, para ficar mais "simples" e talvez melhor, más sua base originalmente é do "ApolloRJ" (Link onde está o post dele : http://forum.sa-mp.com/showthread.php?t=289966)

4º : Fim, agora é com você e seu sistema do seu GM ! :D

Eu encontrei uma coisa interessante do "DJloko" e que você certamente vai querer .... De fazer com que esses comandos não seja necessario executa-lo em Bicicletas (BMX, Mountain BIke, etc...) pelo motivo obvio.. Não tem motor ._. ''''
Más como estou sem tempo vou deixar o link pra vc ...
http://forum.sa-mp.com/showthread.php?t=238426

Qualquer duvida/erro posta ae :D

Felipe_Freeze
27/03/2012, 06:48 PM
Vlw Lesk deu certo =D