Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include a_samp
- // Definimos a profissão do jogador
- #define p_NENHUM 0 // 0 -> Nenhuma Profissão
- #define p_MECANICO 1 // 1 -> mecanico
- #define p_MOTORISTA 2 // 2 -> motorista
- #define p_FRENTISTA 3 // 3 -> Frentista e por aí vai..
- new
- // Criamos uma array bidimensional contendo os nomes das profissões, note que na primeira chave não há nenhum número,
- // assim não precisando especificar a quantidade de profissões. Já na segunda chave, contém 120. Ou seja: cada profissão
- // tem que ter no máximo 60 células, não esquecendo que a última célula é NULL.
- // ficando apenas 59 células REAIS para ser usadas nos nomes.
- Nome_Empregos[][60] =
- {
- "Nenhum",
- "Mecanico",
- "Motorista",
- "Frentista"
- },
- // Aqui Criamos uma array contendo 500 células (cada célula é um jogador, que vai de 0 há 500).
- g_Profissao[MAX_PLAYERS],
- // Criamos uma array para nossas strings, assim evitando gasto excessivo de células..
- string[128]
- ;
- // criamos o evento "main" que é o primeiro código iniciado..
- main(){
- print ("Primeiro GameMode");
- }
- // Vamos agora criar algumas classes, adicionar algumas skins em nosso servidor:
- // por isto precisaremos do evento OnGameModeInit()
- public OnGameModeInit(){
- AddPlayerClass(0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0); // classid 0
- AddPlayerClass(50, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0); // classid 1
- AddPlayerClass(61, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0); // classid 2
- AddPlayerClass(42, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0); // classid 3
- return true;
- }
- // Também precisaremos fazer uma validação, certo ?
- public OnPlayerRequestClass(playerid, classid){
- // Fazemos uma condição para verificar a classe "classid" do jogador
- if(classid == 0){ // classsid 0 (SKIN ID: 0 / CJ)
- // CLASSID
- g_Profissao[playerid] = p_NENHUM;
- }
- if(classid == 1){ // classid 1 (SKIN ID: 1 )
- // SKIN DE MECANICO, PROFISSÃO DE MECANICO
- g_Profissao[playerid] = p_MECANICO;
- }
- if(classid == 2){
- // SKIN DE MOTORISTA, PROFISSÃO DE MOTORISTA
- g_Profissao[playerid] = p_MOTORISTA;
- }
- if(classid == 3){
- // SKIN DE FRENTISTA, PROFISSÃO DE FRENTISTA
- g_Profissao[playerid] = p_FRENTISTA;
- }
- return true;
- }
- public OnPlayerSpawn(playerid){
- // Vamos informar a profissão do jogador
- format(string, sizeof(string), "Você é um %s", Nome_Empregos[ g_Profissao[playerid] ]);
- SendClientMessage(playerid, -1, string);
- return true;
- }
- // Agora um exemplo, de quando o jogador digitar o comando para virar mecanico
- // e para listar os mecanicos disponíveis.
- public OnPlayerCommandText(playerid, cmdtext[]){
- // Um simples comando para tornar o jogador mecânico
- if(!strcmp(cmdtext, "/virarmecanico", true)){
- // O Valor de quem está digitando este comando torna-se 1 (definição de p_MECANICO é 1)
- g_Profissao[playerid] = p_MECANICO;
- return true;
- }
- // Agora outro simples comando para procurar os mecanicos disponíveis
- if(!strcmp(cmdtext, "/procurarmecanico", true)){
- // Criamos uma array com 24 células para armazenar o nome do jogador
- new
- pNome[24]
- ;
- // Fazemos um loop percorrendo todos os jogadores
- for(new i; i != MAX_PLAYERS; ++i){
- // Adicionamos uma condição para verificar somente os jogadores ONLINE
- if(IsPlayerConnected(i)){
- // Outra condição para verificar se o jogador do nosso looping é mecanico
- if(g_Profissao[i] == p_MECANICO){
- // Caso for mecânico irá executar:
- // Pegamos o nome do jogador que está sendo percorrido pelo loop
- GetPlayerName(i, pNome, 24);
- // formatamos a nossa array criada logo acima..
- format(string, sizeof(string), "Jogador:%s - Profissão: %s", pNome, Nome_Empregos[ p_MECANICO ]);
- // imprimimos na tela do jogador.
- SendClientMessage(playerid, -1, string);
- }
- }
- }
- return true;
- }
- // Outro código..
- if(!strcmp(cmdtext, "/profissoes", true)){
- new
- pNome[24]
- ;
- for(new i; i != MAX_PLAYERS; ++i){
- if(IsPlayerConnected(i)){
- if(g_Profissao[i] != p_NENHUM){
- GetPlayerName(i, pNome, 24);
- format(string, sizeof(string), "Jogador:%s - Profissão: %s", pNome, Nome_Empregos[ g_Profissao[i] ]);
- SendClientMessage(playerid, -1, string);
- }
- }
- }
- return true;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement