Scrip de Portгo, como adicionar sу pra Cop?
#8

Isso й fбcil. Vamos lб:

Primeiramente vocк precisa criar uma variбvel no topo do seu gamemode para definir as "equipes", tome esse exemplo:

Code:
new Team[MAX_PLAYERS];
Agora vamos criar um timer para checar a posiзгo do jogador e saber se ele estб na бrea do portгo:

Code:
//OnGameModeInit

SetTimer("CheckPos", 1000, true);
Agora que estamos chamando a funзгo CheckPos atravйs de um timer, vamos atй ela:

Code:
//Final do Script

public CheckPos()
{
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
    if(IsPlayerConnected(i))
    {
      if(Team[i] == 1) // Considerando que a equipe dos Cops й de ID 1 (modificar se necessбrio).
      {
        if(PlayerToPoint(3.0, i, X, Y, Z))
        {
          // MoveObject.... Aqui vocк vai fazer seu portгo abrindo.
        }
        else
        {
          // MoveObject... Aqui vocк irб fazer seu portгo fechando, na posiзгo padrгo.
        } 
      }
    }
  }

  return 1;
}
Resumindo: acabamos de criar uma funзгo cuja й executada a cada segundo que verifica se o jogador estб num raio de 3 (metros, nгo sei) da posiзгo X, Y, Z que vocк irб substituir por uma coordenada prуxima ao seu portгo.

Depois disso, vamos definir no final do script a funзгo PlayerToPoint que checa a distвncia do jogador dentro do raio desejado:

Code:
[b]//Topo do Script:

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

//Final do script:

public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
	if(IsPlayerConnected(playerid))
	{
		new Float:oldposx, Float:oldposy, Float:oldposz;
		
		new Float:tempposx, Float:tempposy, Float:tempposz;
		
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		
		tempposx = (oldposx -x);
		
		tempposy = (oldposy -y);

		tempposz = (oldposz -z);

		if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	
	return 0;
}
Bom, agora que jб estб quase tudo pronto, vocк precisa "se virar" aн e definir a "equipe" que o jogador pertencerб.

Abraзos
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)