[Tutorial] [TUT]Como criar um portгo automatico para todos os players
#1

Primeiro crie um new com o nome do portгo nesse caso aqui vai ser assim
pawn Код:
new portao;
agora vamos criar um setTimer para o portгo.
no OnGameModeInit coloque assim
pawn Код:
SetTimer("portaodojudson", 1000, true); /*Para checar a cada segundo se а alguem perto do portгo*/
agora vamos colocar os objetos no servidor
pawn Код:
portao = CreateObject(980,2717.201,853.300,12.672,0.0,0.0,-90.000);
MoveObject(portao,2717.152,853.1000,12.672,2.0);
agora vamos criar o public para fazer o portгo se mover
no final do gm coloque assim

pawn Код:
forward Portaodojudson(playerid);
public Portaodojudson(playerid) { //nome do forward
for(new i=0; i < MAX_PLAYERS; i++){
/*portгo fechado*/ if(IsPlayerInRangeOfPoint(playerid, 7.0, 2717.201,853.300)){ //o 7.0 й 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
/*portгo aberto*/MoveObject(portao, 2717.201,853.300,20.672, 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 {
/*portгo fechado*/MoveObject(portao,2717.201,853.300,12.672, 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)
}
}
}
a e antes q eu me esquessa o mais importante.

no final do gm coloque isso
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;

}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)