Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.1 - Coordenada Criada.
- Code:
- AddPlayerClass(78,1208.1812,-2068.6694,69.0078,91.1575,0,0,0,0,0,0); // Esquerda Abaixo
- AddPlayerClass(78,1122.5748,-1994.9491,69.0078,92.7242,0,0,0,0,0,0); // Direita Acima
- Essas São as Coordenadas Que Criamos Usando o Vídeo.
- Vamos Usar a Função:
- Code:
- GangZoneCreate(MinX, MinY, MaxX, MaxY);
- // Ou Seja, a Menor Coordenada X e Y, e maior Coordenada X,Y.
- Agora vamos pegar nossa coordenada e bota-lá no GangZoneCreate Ficando.
- Code:
- GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);
- Verifique Agora a Coordenada X,Y Do Nosso Vídeo e a GangZoneCreate a cima.
- pronto, criamos nossa primeira GangZone, agora vamos dar continuidade...
- 1.2 - Criando a GangZone
- Bote Isso no Topo do Seu GameMode:
- Code:
- new Dominando[MAX_PLAYERS]; // Usaremos Quando o Player For Dominar
- new GZCasarao; // Da Nome a Nossa GZ
- new donoCasarao; // Define quem é o dono da GZ
- new GuerranoCasarao; // Se Estiver Em Guerra o Casarao.
- new ProvocoCasarao[MAX_PLAYERS]; // Se Ele der /do no casarão.
- new TempoGuerraCasarao; // Tempo Para Dominar/
- forward GuerraCasarao(playerid); // Public de Dominar.
- new CelulasJFS[128]; // new Que Iremos usar Para Nossas format.
- new NomeJFS[MAX_PLAYER_NAME]; // Pegará o Nome do Player ^^
- Depois de Definir, Vamos Definir Para Quando Algum Player Entrar no Servidor, Setar a Cor da GangZone.
- Bote Isso Abaixo No OnPlayerConnect.
- Code:
- if(donoConstrucao == 0) // Se o DonoCasarao For 0, é Branca, de Ninguem.
- {
- GangZoneShowForPlayer(playerid, GZConstrucao, 0xC0C0C0AA); // GangZone de Cor Normal ( Branca ).
- }
- if(donoConstrucao == 1) // Se o DonoCasarao For 1, é Dos Vagos.
- {
- GangZoneShowForPlayer(playerid, GZConstrucao, CorVagos); // GangZone de Cor Vagos ( Amarela )
- }
- if(donoConstrucao == 2) // Se o DonoCasarao For 2, é Dos Grove.
- {
- GangZoneShowForPlayer(playerid, GZConstrucao,CorGrove); // GangZone de Cor Grove ( Verde )
- }
- Bote Isso Abaixo no OnPlayerDisconnect
- Code:
- if(ProvocoConstrucao[playerid] == 1) // Se o Player Estiver Domindo ( /do ), se ele sair, a GZ Ficará Branca Denovo, Assim Podendo Dominar Denovo.
- {
- // Essas Funções Abaixo Reseta a GangZone, Porque o Player que estavá dominando saiu, a GZ Volta ao seu estado de início.
- GangZoneStopFlashForAll(GZCasarao); // Para Fazer a GangZone Parar de Piscar.
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96); // GangZone Voltará a Ficar Branca.
- GuerranoCasarao = 0; // Setando Para poder dominar.
- ProvocoCasarao[playerid] = 0; // Setando Para poder dominar.
- donoCasarao = 0; // Setando para o dono 0 ( ninguem ).
- Dominando[playerid] = 0; // Setando que ninguem está dominando.
- KillTimer(TempoGuerraCasarao); // Destroi o SetTimer Criado Para Dominar a GZ
- }
- Se Você Quiser Por Essa Parte, é a mesma coisa que a gente fez em cima, só que, se o Player Morrer ele é resetado, se você quiser por para quando o player morrer, resetar bote na public OnPlayerDeath:
- Code:
- if(ProvocoConstrucao[playerid] == 1) // Se o Player Estiver Domindo ( /do ), se ele Morrer, a GZ Ficará Branca Denovo, Assim Podendo Dominar Denovo.
- {
- // Essas Funções Abaixo Reseta a GangZone, Porque o Player que estavá dominando e morreu, a GZ Volta ao seu estado de início.
- GangZoneStopFlashForAll(GZCasarao); // Para Fazer a GangZone Parar de Piscar.
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96); // GangZone Voltará a Ficar Branca.
- GuerranoCasarao = 0; // Setando Para poder dominar.
- ProvocoCasarao[playerid] = 0; // Setando Para poder dominar.
- donoCasarao = 0; // Setando para o dono 0 ( ninguem ).
- Dominando[playerid] = 0; // Setando que ninguem está dominando.
- KillTimer(TempoGuerraCasarao); // Destroi o SetTimer Criado Para Dominar a GZ
- }
- Agora no OnGameModeInit, Bote o Código Abaixo, Que Criará nossa GangZone.
- Code:
- GZCasarao = GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);
- // a GangZoneCreate foi o que a gente criou no nosso vídeo, e demos o nome a ela.
- Pronto Criamos a Nossa GZ e as funções, Agora Vamos Criar o Comando.
- 1.3 - Criando o Comando.
- Code:
- if(strcmp(cmdtext, "/dominar", true) == 0 || strcmp(cmdtext, "/do", true) == 0) // Ou /dominar ou /do ^^
- {
- if(MinhaGang[playerid] == Vagos) // se for vagos
- {
- if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Você não está em nenhum território!");
- if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Você Já Está Dominando um Territorio.");
- if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Já está tendo uma guerra nesse territorio.");
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME); // pegando o nome do player
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Estão Dominando o Casarão",NomeJFS); // mensagem ao dominar
- SendClientMessageToAll(CorVagos, CelulasJFS); // para todos a mensagem.
- SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");
- SendClientMessage(playerid, -1, "Espere 1 minuto para dominar está area.");
- GangZoneFlashForAll(GZCasarao, CorVagos); // Ficar piscando para todos.
- Dominando[playerid] = 1; // setando o 'DOMINANDO' Para 1.
- ProvocoCasarao[playerid] = 1; // setando o 'ProvocoCasarao' Para 1.
- GuerranoCasarao = 1; // setando o 'GuerranoCasarao ' Para 1.
- TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid); // SetTimer Até dominar ( 1 MIN )
- return true;
- }
- if(MinhaGang[playerid] == Grove) // se for grove
- {
- if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Você não está em nenhum território!");
- if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Você Já Está Dominando um Territorio.");
- if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Já está tendo uma guerra nesse territorio.");
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME); // getando o nome do player.
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Estão Dominando o Casarão",NomeJFS); // mensagem
- SendClientMessageToAll(CorGrove, CelulasJFS); // mensagem a cima para todos
- SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");
- SendClientMessage(playerid, -1, "Espere 1 minuto para dominar está area.");
- GangZoneFlashForAll(GZCasarao, CorGrove);// Ficar piscando para todos.
- Dominando[playerid] = 1; // setando o 'DOMINANDO' Para 1.
- ProvocoCasarao[playerid] = 1; // setando o 'ProvocoCasarao' Para 1.
- GuerranoCasarao = 1; // setando o 'GuerranoCasarao ' Para 1.
- TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid);// SetTimer Até dominar ( 1 MIN )
- return true;
- }
- return true;
- }
- 1.4 - Completando o Timer SetTimerEx.
- Agora Bote no Final do GameMode, Quando Dominar:
- Code:
- public GuerraCasarao(playerid)
- {
- if(MinhaGang[playerid] == Vagos)
- {
- if(ProvocoCasarao[playerid] == 1)
- {
- if(IsPlayerInCasarao(playerid))
- {
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Dominaram a GangZone do Casarão.",NomeJFS);
- SendClientMessageToAll(CorVagos, CelulasJFS);
- SendClientMessage(playerid, -1, "Você Dominou a GangZone do Casarão.");
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, CorVagos);
- Dominando[playerid] = 0;
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 1;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- else
- {
- SendClientMessage(playerid, CorVagos, "Você não está na Construção Abandonada.");
- Dominando[playerid] = 0;
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96);
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 0;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- }
- return true;
- }
- if(MinhaGang[playerid] == Grove)
- {
- if(ProvocoCasarao[playerid] == 1)
- {
- if(IsPlayerInCasarao(playerid))
- {
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Dominaram o Casarão.",NomeJFS);
- SendClientMessageToAll(CorGrove, CelulasJFS);
- SendClientMessage(playerid, -1, "Você dominou o Casarão.");
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, CorGrove);
- Dominando[playerid] = 0;
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 2;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- else
- {
- SendClientMessage(playerid, CorGrove, "Você não está na Construção Abandonada.");
- Dominando[playerid] = 0;
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96);
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 0;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- }
- return true;
- }
- return true;
- }
- 1.5 - Finazilando o IsPlayerInCasarao.
- Se Lembra da Coordenada Que Criamos Lá no Começo ?
- Code:
- GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);
- Então Basta Fazer o Seguinte.
- No Final do Seu GameMode, Bote:
- Code:
- stock IsPlayerInCasarao(playerid)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid, x, y, z);
- if(x >= 1122.5748 && y >= -2068.6694 && x <= 1208.1812 && y <= -1994.9491) return true;
- else return false;
- }
- Ou Seja, Basta Aplicar na Ordem Que Está na GangZoneCreate.
- Pronto Terminou o Nosso Tutorial, Caso Queria Um Code Sem Erros, é Pegando Normalmente, Abaixo um FilterScript Criado Por Mim:
- Code:
- #include <a_samp>
- new Dominando[MAX_PLAYERS];
- new GZCasarao;
- new donoCasarao;
- new GuerranoCasarao;
- new ProvocoCasarao[MAX_PLAYERS];
- new TempoGuerraCasarao;
- forward GuerraCasarao(playerid);
- new CelulasJFS[128];
- new NomeJFS[MAX_PLAYER_NAME];
- //========================
- //S istema de Gang Criado
- new MinhaGang[MAX_PLAYERS];
- #define Vagos 1
- #define Grove 2
- #define CorGrove 0x00FF00C8
- #define CorVagos 0xFFFF00C8
- //=========================
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("FS GangZ5one Casarão Por Jonathan Feitosa Carregado.");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("\n--------------------------------------");
- print("FS GangZone Casarão Por Jonathan Feitosa Descarregado..");
- print("--------------------------------------\n");
- return 1;
- }
- main()
- {
- print("\n----------------------------------");
- print("Criado Por: Jonathan Feitosa");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- GZCasarao = GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- MinhaGang[playerid] = Grove;
- if(donoCasarao == 0)
- {
- GangZoneShowForPlayer(playerid, GZCasarao, 0xC0C0C0AA);
- }
- if(donoCasarao == 1)
- {
- GangZoneShowForPlayer(playerid, GZCasarao, CorVagos);
- }
- if(donoCasarao == 2)
- {
- GangZoneShowForPlayer(playerid, GZCasarao,CorGrove);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(ProvocoCasarao[playerid] == 1)
- {
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96);
- GuerranoCasarao = 0;
- ProvocoCasarao[playerid] = 0;
- donoCasarao = 0;
- Dominando[playerid] = 0;
- KillTimer(TempoGuerraCasarao);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(ProvocoCasarao[playerid] == 1)
- {
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96);
- GuerranoCasarao = 0;
- ProvocoCasarao[playerid] = 0;
- donoCasarao = 0;
- Dominando[playerid] = 0;
- KillTimer(TempoGuerraCasarao);
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/dominar", true) == 0 || strcmp(cmdtext, "/do", true) == 0) // Ou /dominar ou /do ^^
- {
- if(MinhaGang[playerid] == Vagos)
- {
- if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Você não está em nenhum território!");
- if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Você Já Está Dominando um Territorio.");
- if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Já está tendo uma guerra nesse territorio.");
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Estão Dominando o Casarão",NomeJFS);
- SendClientMessageToAll(CorVagos, CelulasJFS);
- SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");
- SendClientMessage(playerid, -1, "Espere 1 minuto para dominar está area.");
- GangZoneFlashForAll(GZCasarao, CorVagos);
- Dominando[playerid] = 1;
- ProvocoCasarao[playerid] = 1;
- GuerranoCasarao = 1;
- TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid);
- return true;
- }
- if(MinhaGang[playerid] == Grove)
- {
- if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Você não está em nenhum território!");
- if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Você Já Está Dominando um Territorio.");
- if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Já está tendo uma guerra nesse territorio.");
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Estão Dominando o Casarão",NomeJFS);
- SendClientMessageToAll(CorVagos, CelulasJFS);
- SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");
- SendClientMessage(playerid, -1, "Espere 1 minuto para dominar está area.");
- GangZoneFlashForAll(GZCasarao, CorGrove);
- Dominando[playerid] = 1;
- ProvocoCasarao[playerid] = 1;
- GuerranoCasarao = 1;
- TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid);
- return true;
- }
- return true;
- }
- if(strcmp(cmdtext, "/virarvagos", true) == 0)
- {
- MinhaGang[playerid] = Vagos;
- return true;
- }
- if(strcmp(cmdtext, "/virargrove", true) == 0)
- {
- MinhaGang[playerid] = Grove;
- return true;
- }
- return false;
- }
- public GuerraCasarao(playerid)
- {
- if(MinhaGang[playerid] == Vagos)
- {
- if(ProvocoCasarao[playerid] == 1)
- {
- if(IsPlayerInCasarao(playerid))
- {
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Dominaram a GangZone do Casarão.",NomeJFS);
- SendClientMessageToAll(CorVagos, CelulasJFS);
- SendClientMessage(playerid, -1, "Você Dominou a GangZone do Casarão.");
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, CorVagos);
- Dominando[playerid] = 0;
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 1;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- else
- {
- SendClientMessage(playerid, CorVagos, "Você não está na Construção Abandonada.");
- Dominando[playerid] = 0;
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96);
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 0;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- }
- return true;
- }
- if(MinhaGang[playerid] == Grove)
- {
- if(ProvocoCasarao[playerid] == 1)
- {
- if(IsPlayerInCasarao(playerid))
- {
- GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);
- format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Dominaram o Casarão.",NomeJFS);
- SendClientMessageToAll(CorGrove, CelulasJFS);
- SendClientMessage(playerid, -1, "Você dominou o Casarão.");
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, CorGrove);
- Dominando[playerid] = 0;
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 2;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- else
- {
- SendClientMessage(playerid, CorGrove, "Você não está na Construção Abandonada.");
- Dominando[playerid] = 0;
- GangZoneStopFlashForAll(GZCasarao);
- GangZoneShowForAll(GZCasarao, 0xFFFFFF96);
- ProvocoCasarao[playerid] = 0;
- GuerranoCasarao = 0;
- donoCasarao = 0;
- KillTimer(TempoGuerraCasarao);
- return true;
- }
- }
- return true;
- }
- return true;
- }
- stock IsPlayerInCasarao(playerid)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid, x, y, z);
- if(x >= 1122.5748 && y >= -2068.6694 && x <= 1208.1812 && y <= -1994.9491) return true;
- else return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement