19.12.2009, 11:55
Nesse tutorial vou ensinar como fazer portхes automбticos que se abram para um gang/team especifico(a).
Primeiro coloque esta funзгo no final do gamemode (se ja tiver nao precisa de por):
Agora no topo do teu gamemode cria uma array para o portгo:
Depois disso ainda no topo do gamemode cria um forward com o nome que quiseres para fazer o portгo abrir automaticamente:
Agora no OnGameModeInit vamos fazer com que a array represente o portгo e colocar um settimer:
Depois vai atй o final do gamemode, fazer agora o sistema para o portгo abrir automaticamente quando o player chegar perto:
Prontinho! O teu portгo automбtico para uma gang especifica estб pronto.
Primeiro coloque esta funзгo no final do gamemode (se ja tiver nao precisa de por):
pawn Код:
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
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;
}
pawn Код:
new portaopolicia;
pawn Код:
forward PortaoPolicia();
pawn Код:
SetTimer("PortaoPolicial", 200, true);
portaopolicia = CreateObject(987,1549.788,-1617.988,12.547,0.0,0.0,-91.960); //createobject do objecto que vocк criou para o portгo, quando for fazer faзa ele primeiro FECHADO
pawn Код:
public PortaoPolicia() { //nome do forward
for(new i=0; i < MAX_PLAYERS; i++){
if( gTeam[i] == TEAM_COPS) { //gteam й a array que usei para setar a gang e TEAM_COPS й o id da gang/team
if(PlayerToPoint(15, i,1549.788,-1617.988,12.547)) { //o 15 й o raio que o player tem que ficar para abrir o portгo, depois do i sгo as coordenadas do portгo fexado, a mesma do create object
MoveObject(portaopolicia, 1549.788,-1617.988,20.547, 2); // funзгo para mover o objecto, nesse exemplo faremos o portгo subir para cima, no eixo Z que й a ultima coordenada(20.547) e o 2 й a velocidade que ele se vai mover.
} else {
MoveObject(portaocop,1549.788,-1617.988,12.547, 2); //se o player se afastar do portгo atй nгo estar mais no raio definido, o portгo vai mover se para baixo(eixo Z, coordenada 12.547)
}
}
}
}