[Tutorial] [TUT]Sistema de Guerra
#1

Bem Vamos lб...

Primeiro de tudo, adicione no todo do seu gamemode, 1 variбvel (new) e um forward:

pawn Код:
new guerra;
forward guerrat();
Sugiro deixar os nomes como estгo!

Entгo, vamos ao comando, procure por OnPlayerCommandText e adicione:

pawn Код:
if(strcmp(cmd,"/guerra", true) == 0)
  {
    if(PlayerInfo[playerid][pLider]==3)
    {      
      new Float:X,Float:Y,Float:Z;        
      GetPlayerPos(playerid, X,Y,Z);
      guerra = GangZoneCreate(X-100,Y-100,X+100,Y+100);        
      GangZoneShowForAll(guerra,COR);
      SetTimer("guerrat",60000,1);      
      new pName[MAX_PLAYER_NAME];
      GetPlayerName(playerid, pName, sizeof(pName));      
      format(string, sizeof(string), "[NOTICIA DE ULTIMA HORA] O General %s e o Exйrcito acabam de iniciar uma guerra!!", pName);
      SendClientMessageToAll(COR, string);
    }
    return 1;
  }
Significado:

pawn Код:
if(strcmp(cmd,"/guerra", true) ==0)
Esse й o comando, digitando ele (/guerra) tudo o que for programado a seguir dele irб acontecer/aparecer/etc

pawn Код:
if(PlayerInfo[playerid][pLider] == 3)
Significa que somente o lнder da organizaзгo representada pelo nъmero (ID) (Que foi definido #define TEAM_TAL 3) poderб usar o comando
Em TDM ou DM, ficaria assim normalmente:

pawn Код:
if(gTeam[playerid] == 3
gTeam para saber qual o time e 3 й o id que poderia ser mudado como expliquei acima

pawn Код:
new Float:X,Float:Y,Float:Z;
Essa variбvel, vai permitir com que vocк pegue a posiзгo do jogador para que a Area de Guerra seja feita aonde ele estб

pawn Код:
GetPlayerPos(playerid, X,Y,Z);
Pega a posiзгo do jogador, como podem ver X, Y, Z й o mesmo que estб no Float:X, etc, й ai que entra aquela variбvel que fizemos a pouco

pawn Код:
guerra = GangZoneCreate(X-100,Y-100,X+100,Y+100);
guerra й o nome da variбvel que estб lб no topo do gamemode, й para isso que ela serve, os X-100 e o resto, definem o tamanho da Area de guerra

pawn Код:
GangZoneShowForAll(guerra,COR);
Mostrarб a GangZone para TODOS no servidor, guerra й o nome da variбvel e COR й aonde vocк coloca a cor, sugiro usar o Xtreme Vehicle Plotter para
pegar uma cor sem muita opacidade o que ficaria уtimo =)

pawn Код:
SetTimer("guerrat",60000,1);
Temporizador, guerrat й o forward que fizemos antes, 60000 define que algo em 1 minuto vai acontece (Saberemos o que mais adiante), e 1 й o numero de repetiзхes que isso irб ocorrer

pawn Код:
new pName[MAX_PLAYER_NAME];
Variбvel que nos ajudarб a enviar uma mensagem a todos dizendo quem iniciou a guerra

pawn Код:
GetPlayerName(playerid, pName, sizeof(pName));
Pega o Nome do Player, ali temos a variбvel de antes que nos ajudarб a pegar o nome do player para a mensagem a seguir

pawn Код:
format(string, sizeof(string), "[NOTICIA DE ULTIMA HORA] O General %s e o Exйrcito acabam de iniciar uma guerra!!", pName);
String, ela nos ajudarб a coloca o nome do player na mensagem, Dentro dos " temos a mensagem e %s й aonde irб o nome do player

pawn Код:
SendClientMessageToAll(COR, string);
Traduzindo: Enviar Mensagem a Todos, ja sabem o que й nй? Ok... COR й aonde vocк pode colocar uma ja definida ou nгo e string й aonde iria a mensagem mais nessa situaзгo nгo й nessessбrio modificar, podem deixar com estб mesmo

Agora vamos atй o final do GameMode

Lб iremos colocar:

pawn Код:
public guerrat()
    {
    GangZoneDestroy(guerra);    
    GangZoneHideForAll(guerra);
    return 1;
    }
Significados:

pawn Код:
public guerrat()
Public com a forward definida antes, aqui iremos por a funзгo do temporizador, ou seja, quando o tempo estipulado acabar, irб acontecer o que esta aqui

pawn Код:
GangZoneDestroy(guerra);
Vai destruir a GangZone, entгo serб nessessбrio que o comando seja digitado novamente para que ele volte a aparecer

pawn Код:
GangZoneHideForAll(guerra);
Vai esconder a gangzone de todos, e ninguem mais a verб atй o comando ser digitado denovo

FIM!!

Bom esse foi meu primeiro tutorial, espero que tenham gostado e que utilizem ele por algum tempo =) Atй
Reply


Messages In This Thread
[TUT]Sistema de Guerra - by Guilherme_Canani - 21.01.2010, 03:09
Re: [TUT]Sistema de Guerra - by bRn - 21.01.2010, 03:20
Re: [TUT]Sistema de Guerra - by John_Race - 21.01.2010, 11:48
Re: [TUT]Sistema de Guerra - by chapolin1994 - 21.01.2010, 12:35
Re: [TUT]Sistema de Guerra - by Guilherme_Canani - 21.01.2010, 12:49
Re: [TUT]Sistema de Guerra - by chapolin1994 - 21.01.2010, 13:03
Re: [TUT]Sistema de Guerra - by rannyere - 21.01.2010, 14:44
Re: [TUT]Sistema de Guerra - by Guilherme_Canani - 22.01.2010, 01:28
Re: [TUT]Sistema de Guerra - by chapolin1994 - 22.01.2010, 01:54
Re: [TUT]Sistema de Guerra - by OxygenBR - 23.01.2010, 20:18

Forum Jump:


Users browsing this thread: 4 Guest(s)