Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #define Desempregado (0)
- #define Caminhoneiro (1)
- #define C_ERRO 0xFF0000FF
- main(){}
- enum PlayerInfo
- {
- pProfissao,
- };
- new pInfo[MAX_PLAYERS][PlayerInfo];
- enum EmpregoInfo // criaremos este enumerador e adicionamos as variaveis a baixo
- {
- eName[24], // Variavel do Nome da Profissao/Emprego
- eSalario, // Variavel do Salário
- eCor, // Cor do Emprego
- };
- new eInfo[][EmpregoInfo] =
- {
- {"Desempregado", 200, 0xFFFFFFFF},
- {"Caminhoneiro", 1000, 0x8B8B8BFF}
- // {"NomeDoEmprego", Salário, Cor} ( Adicione mais profissões assim...)
- };
- new vCaminhoneiro[5]; //Variável que verifica se o player que entrou no caminhão é caminhoneiro veja em: "public OnGameModeInit()" e em "public CarCaminhoneiro(playerid)"
- new vCarregado[MAX_PLAYERS]; // Variável que verifica se o caminhão foi carregado!
- public OnGameModeInit()
- {
- print("\nGameMode Iniciada\n");
- SetGameModeText("Testes");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 200.000, 0, 0, 0, 0, 0, 0);
- vCaminhoneiro[0] = AddStaticVehicleEx(578, 2052.6023, -1905.8325, 14.1730, 180.5583, 0x8B8B8BFF, 1, 150); // 1º Veículo dos Caminhoneiros
- vCaminhoneiro[1] = AddStaticVehicleEx(578, 2059.0945, -1905.9183, 14.1713, 179.8211, 0x8B8B8BFF, 1, 150); // 2º Veículo dos Caminhoneiros
- vCaminhoneiro[2] = AddStaticVehicleEx(578, 2065.6064, -1905.8041, 14.1713, 180.2481, 0x8B8B8BFF, 1, 150); // 3º Veículo dos Caminhoneiros
- vCaminhoneiro[3] = AddStaticVehicleEx(578, 2062.2126, -1940.6613, 13.9761, 269.4714, 0x8B8B8BFF, 1, 150); // 4º Veículo dos Caminhoneiros
- vCaminhoneiro[4] = AddStaticVehicleEx(578, 2048.1943, -1940.5839, 13.9758, 270.3432, 0x8B8B8BFF, 1, 150); // 5º Veículo dos Caminhoneiros
- AddStaticVehicleEx(411, 2057.4897, -1927.1859, 14.0662, 100.000, 1, 2, 100); // INFERNUS PARA TESTES.
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- SendClientMessage(playerid, 0xFFFFFFFF, "AVISO | Use: /Caminhoneiro!");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SetPlayerColor(playerid, -1); // AO PLAYER CONECTAR O NICK FICA DA COR BRANCA!
- vCarregado[playerid] = 0; // ISSO SÓ PODE FICAR "= 1" SE O PLAYER_ID FOR CAMINHONEIRO E DIGITAR: /CARREGAR NO LOCAL CERTO E COM O VEÍCULO CERTO!
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- vCarregado[playerid] = 0; // SETA "= 0" PRO PRÓXIMO ID A LOGAR NÃO FICAR COM "= 1" CASO O QUE SE DESCONECTOU ESTIVESSE INDO ENTREGAR E NÃO CONSEGUIU!
- DisablePlayerCheckpoint(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerColor(playerid, eInfo[pInfo[playerid][pProfissao]][eCor]); // Ao player spawnar o nick ficará da cor da profissão dele!
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER) CarCaminhoneiro(playerid);
- return 1;
- }
- //========================= PUBLIC | VEICULOS DOS CAMINHONEIROS | ==================================//
- forward CarCaminhoneiro(playerid);
- public CarCaminhoneiro(playerid)
- {
- for(new v = 0; v <= 4; v++)
- { //SE NÃO ENTENDER, VEJA EM GameModeInit
- if(IsPlayerInVehicle(playerid, vCaminhoneiro[v]) && pInfo[playerid][pProfissao] != Caminhoneiro)
- {
- SendClientMessage(playerid, C_ERRO, "ERRO | Esse veículo só pode ser usado por Caminhoneiros!");
- RemovePlayerFromVehicle(playerid); // REMOVE O PLAYER DO VEÍCULO
- return 1;
- }
- }
- return 1;
- }
- //==================================================================================================//
- CMD:carregar(playerid)
- {
- //SE O "pProfissao" DO PLAYER NÃO FOR IGUAL "!=" A "Caminhoneiro" RETORNA 1 MENSAGEM PRO PLAYER:
- if(pInfo[playerid][pProfissao] != Caminhoneiro) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não é um Caminhoneiro!");
- //INFO #1: SE O PLAYER ESTIVER EM UM VEÍCULO DE ID "1 (|| = ou) 2 ou 3 ou 4 ou 5"
- //obs: o id não é o id do modelo (modelid) e sim o id do veículo no servidor, use: /dl para saber os id's dos veículos no seu servidor.
- if(IsPlayerInVehicle(playerid, 1) || IsPlayerInVehicle(playerid, 2) || IsPlayerInVehicle(playerid, 3) || IsPlayerInVehicle(playerid, 4) || IsPlayerInVehicle(playerid, 5))
- {
- //INFO #2: MANDA ESSAS FUNÇÕES
- if(!IsPlayerInRangeOfPoint(playerid, 10.0, 2057.4897, -1927.1859, 14.0662)) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não está no local de Carregamento!");
- vCarregado[playerid] = 1; // SETA O "vCarregado" PRA 1 OU SEJA, DEIXA O PLAYER DIGITAR: /DESCARREGAR SE ELE TIVER CARREGADO PRIMEIRO.
- SetPlayerCheckpoint(playerid, 1881.5275, -1344.8038, 13.1099, 5);
- SendClientMessage(playerid, 0xFFFFFFFF, "CARGA | Caminhão carregado, siga o checkpoint marcado em seu mapa para Descarregar!");
- SendClientMessage(playerid, 0xFFFFFFFF, "AVISO | Ao chegar no local use: {8B8B8B}/Descarregar{FFFFFF}!");
- return 1;
- }
- //SE NÃO RETORNA MENSAGEM PRO PLAYER:
- else return SendClientMessage(playerid, C_ERRO, "ERRO | Você não está em nenhum DFT-30 dos Caminhoneiros!");
- }
- CMD:descarregar(playerid)
- {
- if(pInfo[playerid][pProfissao] != Caminhoneiro) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não é um Caminhoneiro!");
- if(IsPlayerInVehicle(playerid, 1) || IsPlayerInVehicle(playerid, 2) || IsPlayerInVehicle(playerid, 3) || IsPlayerInVehicle(playerid, 4) || IsPlayerInVehicle(playerid, 5))
- { //SE O vCarregado DO PLAYER NÃO FOR IGUAL A 1 RETORNA MENSAGEM PRO PLAYER:
- if(vCarregado[playerid] != 1) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não carregou seu Caminhão!");
- if(!IsPlayerInRangeOfPoint(playerid, 10.0, 1881.5275, -1344.8038, 13.1099)) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não está no local de Descarregamento!");
- vCarregado[playerid] = 0; // SETA O "vCarregado" PRA 1 OU SEJA, DEIXA O PLAYER DIGITAR: /DESCARREGAR SE ELE TIVER CARREGADO PRIMEIRO.
- SetPlayerCheckpoint(playerid, 1881.5275, -1344.8038, 13.1099, 5);
- SendClientMessage(playerid, 0xFFFFFFFF, "CARGA | Caminhão descarregado, você recebeu {0CB000}R$1.000{FFFFFF} pelo seu trabalho!");
- DisablePlayerCheckpoint(playerid);
- GivePlayerMoney(playerid, 1000); // PAGA MIL REAIS AO PLAYER!
- return 1;
- }
- else return SendClientMessage(playerid, C_ERRO, "ERRO | Você não está em nenhum DFT-30 dos Caminhoneiros!");
- }
- CMD:caminhoneiro(playerid)
- {
- //SE O "pProfissao" DO PLAYER NÃO FOR IGUAL "!=" A "DESEMPREGADO" RETORNA 1 MENSAGEM PRO PLAYER:
- if(pInfo[playerid][pProfissao] != Desempregado) return SendClientMessage(playerid, C_ERRO, "ERRO | Você já está em algum Emprego, use: /SairEmprego");
- //SE O "pProfissao" DO PLAYER FOR IGUAL "==" A "Caminhoneiro" RETORNA 1 MENSAGEM PRO PLAYER:
- if(pInfo[playerid][pProfissao] == Caminhoneiro) return SendClientMessage(playerid, C_ERRO, "ERRO | Você já é um Caminhoneiro!");
- pInfo[playerid][pProfissao] = Caminhoneiro; // SETA O "pProfissao" DO PLAYER COMO: Caminhoneiro!
- SetPlayerPos(playerid, 2046.8684,-1918.5924,13.5469); // SETA O PLAYER NO LOCAL DOS CAMINHONEIROS!
- SendClientMessage(playerid, 0x8B8B8BFF, "EMPREGO | Parabéns, agora você é um Caminhoneiro!");
- SendClientMessage(playerid, 0xFFFFFFFF, "AVISO | Use {8B8B8B}/Profissao{FFFFFF} para mais informações sobre a sua Profissão!");
- SetPlayerColor(playerid, eInfo[pInfo[playerid][pProfissao]][eCor]); // SETA A COR DA PROFISSÃO DO PLAYER!
- return 1;
- }
- CMD:profissao(playerid)
- {
- if(pInfo[playerid][pProfissao] == Desempregado) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não está em nenhuma Profissão!");
- if(pInfo[playerid][pProfissao] == Caminhoneiro)
- return ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_MSGBOX, "{FFFFFF}Profissão: {8B8B8B}Caminhoneiro", "{FFFFFF}» INFORMAÇÕES:\n\n{8B8B8B}/Carregar{FFFFFF} - Para carregar o seu caminhão no local da Profissão!\n{8B8B8B}/Descarregar{FFFFFF} - Para descarregar o seu caminhão no Local de descarregamento!\n", "Fechar", "");
- return 1;
- }
- CMD:sairemprego(playerid)
- { //SE O pInfo DO PLAYER ID TIVER COM O pProfissao IGUAL A Desempregado RETORNA MENSAGEM PRO PLAYER:
- if(pInfo[playerid][pProfissao] == Desempregado) return SendClientMessage(playerid, C_ERRO, "ERRO | Você não está em nenhum Emprego!");
- pInfo[playerid][pProfissao] = Desempregado; // SETA ELE COMO Desempregado!
- vCarregado[playerid] = 0; // SE ELE TIVER DADO /Carregar SETA O 0 PRA ELE NÃO PUDER DESCARREGAR, AFINAL ELE SAIU DO EMPREGO.
- SendClientMessage(playerid, -1, "EMPREGO | Você saiu do seu emprego e agora você é um Desempregado!");
- SetPlayerColor(playerid, eInfo[pInfo[playerid][pProfissao]][eCor]); // SETA A COR DO EMPREGO DELE OU SEJA, Desempregado!
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement