[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
#2

Parabйns, ta muito bom esse tutorial, por acaso eu jб sabia fazer mas para quem nгo sabias tб muito bom mesmo.
Reply
#3

Muito bom o Tuto, pena que jб estб em montes. Mas tem seus pontosa prуs e contras! ^^

Sу tenta modificar isso:
pawn Код:
for(new i=0; i < MAX_PLAYERS; i++)
para:
pawn Код:
for(new i=0; i <= GetMaxPlayers(); i++)
Por quк modificar? Isso deverб ajudar caso de algum problema e tenha que se usar #pragma dynamic.
Por exemplo... eu sou uma vitima do #pragma dynamic no meu FS. E vocк nгo deve saber como й ruim ter ele.
Reply
#4

Cara, jб vi isso em algum lugar.

Isto й praticamente meu tutorial sem crйditos -.-
Reply
#5

Verdade Judson, os Crйditos Sгo totais a o Ricardo,

isso й Feio Cara!
Reply
#6

Quote:

Cara, jб vi isso em algum lugar.

Isto й praticamente meu tutorial sem crйditos -.-

cara meu tuto e muito diferente do seu -_-
Reply
#7

Quote:
Originally Posted by Judson
Quote:

Cara, jб vi isso em algum lugar.

Isto й praticamente meu tutorial sem crйditos -.-

cara meu tuto e muito diferente do seu -_-
Muito parecido*

E nгo faзas double post.
Reply
#8

Alйm de copiado, й CODE nгo TUTORIAL...
Reply
#9

aff isso nгo foi copiado
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)