Skip to content

ocalasans/Veiculo-Funcoes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Include VeiculoFuncoes SA:MP

Este é um include que possui diversas funções para veículos, tudo de forma fácil de usar. Recomendo que leia as categorias abaixo para ficar informado.

English > README.


Como instalar?

Você deve fazer o download do include. Depois de tê-lo feito, você deverá colocar o include na pasta (pawno > include). Após ter feito isso, abra o arquivo pwn do seu Gamemode e coloque o seguinte código abaixo dos seus outros includes:

#include <VeiculoFuncoes>

Qual é a diferença?

Irei criar dois comandos para que você possa observar a diferença, utilizando o método normal e também utilizando o meu include.

Comando sem a include:

CMD:motor(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid, -1, "Voce ligou o motor do seu veículo.");
    return true;
}

Comando com a include:

CMD:motor(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    Veiculo_Motor(true, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você ligou o motor do seu veículo.", vehicleid, playerid);
    return true;
}

Como funciona?

Irei explicar primeiro como funciona uma determinada callback da minha include com um veículo específico, ou seja, o veículo de um jogador. Vou explicar utilizando a callback Veiculo_Fechadura.

Veiculo_Fechadura(true, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você trancou o veículo.", vehicleid, playerid);

1 - Defina se é true ou false, true tranca, false destranca.
2 - Defina se é global ou se não é global, nesse caso não é global.
3 - Defina a cor da mensagem.
4 - Defina a mensagem que irá aparecer para o player.
5 - Defina o vehicleid.
6 - Defina o playerid.

Bem, acima foi explicado como usar a callback com um veículo específico, não global, ou seja, o veículo de um jogador. Agora vou explicar como vocês devem usar a callback global.

Veiculo_Fechadura(true, GLOBAL_VEHICLES, 0xFFFFFFFF, "Todos os veículos foram trancados.");

1 - Defina se é true ou false, true tranca, false destranca.
2 - Defina se é global ou se não é global, nesse caso é global.
3 - Defina a cor da mensagem.
4 - Defina a mensagem que irá aparecer para todos os players.

Leia a categoria Relacionado ao Global para entender.


Como funciona as callbacks com estruturas diferentes?

Nesta parte, vou explicar como algumas callbacks que diferem das outras funcionam. Existem algumas callbacks que usam o mesmo estilo de estrutura, então a explicação servirá para ambas.


Veiculo_Portas(↓)
Veiculo_Janelas(true, 5, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você abriu todas as janelas.", vehicleid, playerid);

1 - Defina se é true ou false, true abre, false fecha.
2 - Defina qual janela irá abrir, vai de 1 até 4, 5 todas abrem.
3 - Defina se é global ou se não é global, nesse caso não é global.
4 - Defina a cor da mensagem.
5 - Defina a mensagem que irá aparecer para o player.
6 - Defina o vehicleid.
7 - Defina o playerid.


Veiculo_Vida(1000, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você atualizou a vida do veículo para 1000.", vehicleid, playerid);

1 - Defina a vida do veículo.
2 - Defina se é global ou se não é global, nesse caso não é global.
3 - Defina a cor da mensagem.
4 - Defina a mensagem que irá aparecer para o player.
5 - Defina o vehicleid.
6 - Defina o playerid.


Veiculo_Reparar(↓)
Veiculo_Reaparecer(NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você deu respawn em seu veículo.", vehicleid, playerid);

1 - Defina se é global ou se não é global, nesse caso não é global.
2 - Defina a cor da mensagem.
3 - Defina a mensagem que irá aparecer para o player.
4 - Defina o vehicleid.
5 - Defina o playerid.


Veiculo_Mundo(1, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "O seu veículo foi para o mundo 1.", vehicleid, playerid);

1 - Defina o mundo para qual o veículo irá.
2 - Defina se é global ou se não é global, nesse caso não é global.
3 - Defina a cor da mensagem.
4 - Defina a mensagem que irá aparecer para o player.
5 - Defina o vehicleid.
6 - Defina o playerid.


Veiculo_Neon(true, NEON_0, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você adicionou Neon ao seu veículo.", vehicleid, playerid);

1 - Defina se é true ou false, true o neon é anexado, false o neon é desanexado.
2 - Defina a cor do neon.
3 - Defina se é global ou se não é global, nesse caso não é global.
4 - Defina a cor da mensagem.
5 - Defina a mensagem que irá aparecer para o player.
6 - Defina o vehicleid.
7 - Defina o playerid.

Warning

Ao definir false à primeira definição, estabeleça a segunda definição como NEON_NULO.

Você poderá encontrar todas as definições para Neon acessando esta aba > other definitions.


Veiculo_Xenon(true, XENON_0, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você adicionou Xenon ao seu veículo.", vehicleid, playerid);

1 - Defina se é true ou false, true o xenon é anexado, false o xenon é desanexado.
2 - Defina a cor do xenon.
3 - Defina se é global ou se não é global, nesse caso não é global.
4 - Defina a cor da mensagem.
5 - Defina a mensagem que irá aparecer para o player.
6 - Defina o vehicleid.
7 - Defina o playerid.

Warning

Ao definir false à primeira definição, estabeleça a segunda definição como XENON_NULO.

Você poderá encontrar todas as definições para Xenon acessando esta aba > other definitions.


Veiculo_Tunar(true, SPOILER_0, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você adicionou um Aerofólio ao seu veículo.", vehicleid, playerid);

1 - Defina se é true ou false, true o componente é adicionado, false o componente é removido.
2 - Defina o componente.
3 - Defina se é global ou se não é global, nesse caso não é global.
4 - Defina a cor da mensagem.
5 - Defina a mensagem que irá aparecer para o player.
6 - Defina o vehicleid.
7 - Defina o playerid.

Warning

Ao definir false à primeira definição, você está especificando que o componente a ser removido é aquele definido pela segunda definição.

Você poderá encontrar todas as definições para Componentes acessando esta aba > components.


Veiculo_Cor(120, 120, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "Você adicionou a cor id 120 ao seu veículo.", vehicleid, playerid);

1 - Defina a primeira cor.
2 - Defina a segunda cor.
3 - Defina se é global ou se não é global, nesse caso não é global.
4 - Defina a cor da mensagem.
5 - Defina a mensagem que irá aparecer para o player.
6 - Defina o vehicleid.
7 - Defina o playerid.


Veiculo_Interior(1, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "O seu veículo foi para o interior 1.", vehicleid, playerid);

1 - Defina o interior para qual o veículo irá.
2 - Defina se é global ou se não é global, nesse caso não é global.
3 - Defina a cor da mensagem.
4 - Defina a mensagem que irá aparecer para o player.
5 - Defina o vehicleid.
6 - Defina o playerid.


Relacionado ao Global

Quando a callback não é global, não é necessário utilizar vehicleid ou playerid. Caso os utilize, sua relevância dependerá das definições subsequentes: NON_GLOBAL_VEHICLES ou GLOBAL_VEHICLES. A primeira indica que a callback não será global, referindo-se ao veículo de um jogador ou a algum veículo específico. A segunda indica que a callback será global, aplicando-se a todos os veículos existentes. Ao usar o modo global na maioria das callbacks, se um jogador estiver dentro do veículo, nenhuma mudança ocorrerá no veículo dele, como no exemplo do Veiculo_Reaparecer. Se essa callback for global, um veículo específico não será respawnado se um jogador estiver utilizando-o.

Este include é altamente recomendado para servidores de SA:MP DayZ, pois possui definições globais.


Como você deve usá-lo sem um parâmetro playerid

Quando a callback não possui o playerid e não tem nenhuma relação com os players, vocês irão passar a definir apenas o vehicleid, como exemplificado abaixo:

Veiculo_Neon(true, NEON_0, NON_GLOBAL_VEHICLES, 0xFFFFFFFF, "", vehicleid);
  • A definição de cor e mensagem parece desnecessária, uma vez que Veiculo_Neon está sendo utilizada em uma callback que não possui relação alguma com o playerid nem com o global. No entanto, essa situação é inevitável, e é uma consequência que teremos que aceitar.

Por outro lado, se a callback não possuir o playerid, mas tem relação com os players, vocês irão passar a definir da seguinte forma:

Veiculo_Neon(true, NEON_0, GLOBAL_VEHICLES, 0xFFFFFFFF, "Mensagem.");

Warning

Não é necessário criar um loop pois a definição GLOBAL_VEHICLES já realiza essa operação.


Todas as callbacks

Você poderá encontrar todas as callbacks acessando esta aba > callbacks.


Informações de contato

Instagram: ocalasans
YouTube: Calasans
Discord: ocalasans
Comunidade: SA:MP Programming Community©