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.
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>
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;
}
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.
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.
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.
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
emensagem
parece desnecessária, uma vez queVeiculo_Neon
está sendo utilizada em uma callback que não possui relação alguma com oplayerid
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.
Você poderá encontrar todas as callbacks acessando esta aba > callbacks.
Instagram: ocalasans
YouTube: Calasans
Discord: ocalasans
Comunidade: SA:MP Programming Community©