27.05.2014, 20:26
use isso como base
vamos supor que esse campo seria o cemiterio de los santos...
Para pega as coordenadas use /salve de um lado do local e /save do outro lado, depois pegue a pos X e Y de um lado e X e Y do outro e crie uma funзгo igual a IsPlayerInCampo...
vamos supor que esse campo seria o cemiterio de los santos...
pawn Код:
//variavel que checarб se estб ativada a funзгo
new campoativado;
//criamos a funзгo
stock IsPlayerInCampo(playerid)
{
new Float:x,Float:y,Float:z;//irб armazenar a pos do player
GetPlayerPos(playerid, x, y, z);//irб pegar a pos do player e colocar a mesma no x,y,z acima
if(x >= 791.5826 && y >= -1141.6468 && x <= 967.5826 && y <= -1061.6468) return 1;//irб checar se ele estб na posiзгo
else return 0;//caso ele nгo esteja nгo irб fazer nada
}
//agora o comando pra ativar e desativar
if(strcmp(cmd, "/campodamorte", true) == 0)
{
if(campoativado == 0)//verб se nгo estб ativo
{
SendClientMessage(playerid, -1, "Vocк ativou o campo da morte...");//envia a msg
campoativado = 1;//ativa
return 1;
}
else//caso tiver ativo
{
SendClientMessage(playerid, -1, "Vocк desativou o campo da morte...");//envia a msg
campoativado = 0;//desativa
}
return 1;
}
//no onplayerupdate
if(IsPlayerInCampo(playerid))//irб ver se o player estб no campo
{
if(campoativado == 1)//irб ver se estб ativo
{
new Float:life;//armazenarб o life
GetPlayerHealth(playerid, life);//pegarб a vida do player para a float life
SetPlayerHealth(playerid, life-10);//diminuira a vida do player em -10
}
}