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 ?
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
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.