Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Criando Ganga Zones Dominaveis By:ZeuS
- >No topo do GM coloque:
- new Groove;
- new Ballas;
- #define COR_GROOVE 0x00800096
- #define COR_BALLAS 0xFF00CDFF
- forward DominarGrooveGroove(playerid);
- forward DominarGrooveBallas(playerid);
- forward DominarBallasBallas(playerid);
- forward DominarBallasGroove(playerid);
- forward DinheiroGZ(playerid);
- >Explicaçao code:
- new Groove; --> Para podermos criar a GZ
- new Ballas; --> Para podermos criar a GZ
- #define COR_GROOVE 0x00800096 --> Definimos a cor de Groove
- #define COR_BALLAS 0xFF00CDFF --> Definimos a cor de Ballas
- forward DominarGrooveGroove(playerid); --> Para o SetTimer depois
- forward DominarGrooveBallas(playerid); --> Para o SetTimer depois
- forward DominarBallasBallas(playerid); --> Para o SetTimer depois
- forward DominarBallasGroove(playerid); --> Para o SetTimer depois
- forward DinheiroGZ(playerid); --> Para o SetTimer dps para dar a grana
- Agora, também entre public (aconselho ser no fim ou topo do GM)
- >pawn Code:
- stock IsPlayerInPlace(playerid,Float:XMin,Float:YMin,Float:XMax,Float:YMax )
- {
- new RetValue = 0;
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid,X,Y,Z );
- if( X >= XMin && Y >= YMin && X < XMax && Y < YMax )
- {
- RetValue = 1;
- }
- return RetValue;
- }
- >Explicando o Code:
- Isto já é um bocado avançado, vou ser breve:
- stock IsPlayerInPlace(playerid,Float:XMin,Float:YMin,Float:XMax,Float:YMax ) --> Cria a função e define a definição para usarmos no /dominar
- GetPlayerPos(playerid,X,Y,Z ); --> Pega a posição do player
- OBS: Sem esta ultima parte, o /dominar não irá funcionar
- >No OnGameModeInit:
- Groove = GangZoneCreate(2239.024, -1721.339, 2512.828, -1638.437);
- Ballas = GangZoneCreate(2282.1401,2425.7576,3.4692,357.7160);
- >Explicaçao Code:
- Groove = GangZoneCreate(2239.024, -1721.339, 2512.828, -1638.437); --> Cria a GangZone no Servidor
- Ballas = GangZoneCreate(2282.1401,2425.7576,3.4692,357.7160); --> Cria a GangZone no Servidor
- >No OnPlayerSpawn:
- GangZoneShowForPlayer(playerid, Groove, COR_GROOVE);
- GangZoneShowForPlayer(playerid, Ballas, COR_BALLAS);
- >Explicaçao Code:
- GangZoneShowForPlayer(playerid, Groove, COR_GROOVE); --> Mostra a GangZone para o Player quando ele spawnar
- GangZoneShowForPlayer(playerid, Ballas, COR_BALLAS); --> Mostra a GangZone para o Player quando ele spawnar
- >No OnPlayerCommandText:
- if (strcmp("/dominar", cmdtext, true, 10) == 0)
- {
- if(IsPlayerInPlace(playerid,2239.024,-1721.339, 2512.828, -1638.437))
- {
- if(gTeam == BALLAS)
- {
- GangZoneFlashForAll(Groove,COR_BALLAS);
- SetTimer("DominarBallasGroove",60000,false);
- }
- else if(gTeam == GROOVE)
- {
- GangZoneFlashForAll(Groove,COR_GROOVE);
- SetTimer("DominarGrooveGroove",60000,false);
- }
- }
- else if(IsPlayerInPlace(playerid,2282.1401,2425.7576,3.4692,357.7160))
- {
- if(gTeam == BALLAS)
- {
- GangZoneFlashForAll(Groove,COR_BALLAS);
- SetTimer("DominarBallasBallas",60000,false);
- }
- else if(gTeam == GROOVE)
- {
- GangZoneFlashForAll(Groove,COR_GROOVE);
- SetTimer("DominarGrooveBallas",60000,false);
- }
- }
- return 1;
- }
- >Explicaçao Code:
- if (strcmp("/dominar", cmdtext, true, 10) == 0) --> Definimos o comando para ser /dominar
- if(IsPlayerInPlace(playerid,2239.024,-1721.339, 2512.828, -1638.437)) --> Verifica se o player está na GangZone
- if(gTeam == BALLAS) --> Verifica se o player é dos Ballas
- GangZoneFlashForAll(Groove,COR_BALLAS); --> Faz A GangZone começar a piscar
- SetTimer("DominarBallasGroove",60000,false); --> Comeca o tempo para a GangZone ficar dominada
- else if(gTeam == GROOVE) --> Verifica se o player é da Groove
- GangZoneFlashForAll(Groove,COR_GROOVE); --> Faz A GangZone começar a piscar
- SetTimer("DominarGrooveGroove",60000,false); --> Comeca o tempo para a GangZone ficar dominada
- >Agora Entre public's (não pode estar dentro de nenhum public, pois é um.. xD)
- public DominarGrooveGroove(playerid)
- {
- GangZoneHideForAll(Groove);
- GangZoneShowForAll(Groove, COR_GROOVE);
- SetTimer("DinheiroGZ",3*60*1000,false);
- return 1;
- }
- public DominarGrooveBallas(playerid)
- {
- GangZoneHideForAll(Groove);
- GangZoneShowForAll(Groove, COR_BALLAS);
- SetTimer("DinheiroGZ",3*60*1000,false);
- return 1;
- }
- public DominarBallasBallas(playerid)
- {
- GangZoneHideForAll(Ballas);
- GangZoneShowForAll(Ballas, COR_BALLAS);
- SetTimer("DinheiroGZ",3*60*1000,false);
- return 1;
- }
- public DominarBallasGroove(playerid)
- {
- GangZoneHideForAll(Ballas);
- GangZoneShowForAll(Ballas, COR_GROOVE);
- SetTimer("DinheiroGZ",3*60*1000,false);
- return 1;
- }
- >Explicaçao Code:
- public DominarBallasGroove(playerid) --> É a public que definimos no forward e que usamos no SetTimer do /dominar
- GangZoneHideForAll(Ballas); --> Esconde a GangZone (para ficar sem Cor e nós redefinirmos a cor dela de novo)
- GangZoneShowForAll(Ballas, COR_GROOVE); --> Cria a GangZone com a cor desejada
- SetTimer("DinheiroGZ",3*60*1000,false); --> Activa para dar o dinheiro a cada 3 minutos ao player
- >No final do GM:
- public DinheiroGZ(playerid)
- {
- GivePlayerMoney(playerid,3000);
- SendClientMessage(playerid,0xFFFF00FF,"Você ganhou 3000$ por dominar a gangzone");
- SetTimer("DinheiroGZ",3*60*1000,false);
- return 1;
- }
- >Explicaçao Code:
- GivePlayerMoney(playerid,3000); ---> Dá o dinheiro para o Player
- SendClientMessage(playerid,0xFFFF00FF,"Você ganhou 3000$ por dominar a gangzone"); ---> Manda uma mensagem
- SetTimer("DinheiroGZ",3*60*1000,false); ---> Volta a activar o Timer para voltar a dar dinheiro ao fim de
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement