Ae vou ensinar a criar portoes que abrem automaticamente quando a pessoa chega la ^^
Topo:
GameModeInit:
Fim do GM:
---------------
Deu erro 'undefined symbol "PlayerToPoint"' ??
É por você não tem a função PlayerToPoint definida no codigo
Então vamos definir
Topo do GM:
Fim do GM:
Topo:
- Código:
new portao; //criando a variavel do portao
forward pp(playerid); //funcao que irá verificar se a pessoa está perto e depois fechar/abrir o portao se a pessoa estiver perto/longe dele
GameModeInit:
- Código:
SetTimer("pp", 999, false); //settimer que irá verificar se a pessoa está perto do portao a cada 1seg
Fim do GM:
- Código:
public pp(playerid)
{
if(PlayerToPoint(5.0, playerid, X, Y, Z)
//Explicação do cod acima ^^
//5.0 = Distancia que deve ficar do alvo
//X,Y,Z = Coordenadas do portão
{
MoveObject(portao, X, Y, Z, 5);
//Explicação ^^
//X, Y, Z = Coordenadas do portao quando está aberto
//5 = Velocidade do portao ao abrir
}
else //se o player ficar longe das coords acima, o objeto vai se fechar com a função abaixo
{
MoveObject(portao, X, Y, Z, 5);
//Explicação ^^
//X, Y, Z = Coordenadas do portao quando está fechado
//5 = Velocidade do portao ao fechar
}
return 1;
}
---------------
Deu erro 'undefined symbol "PlayerToPoint"' ??
É por você não tem a função PlayerToPoint definida no codigo
Então vamos definir
Topo do GM:
- Código:
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
Fim do GM:
- Código:
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;
}
0 comentários:
Postar um comentário