[Ajuda] Arena que tira dano
#1

oi pessoal estou aqui de novo agora para pedir a voces ajuda para fazer uma area quando jogador entra ele comeзa e perde vida tem como fazer isso se tem como OBS: queria fazer tipo uma area ifequitada para meu servidor de sobrevivencia quando jogador entra nessa determinada area ele comeзa a perder vida ai quando ele tiver usando uma mascara de gas ele para de perde vida nessa area
Reply
#2

Faзa um loop que verifica se o jogador estб dentro da бrea infectada.
Caso ele estiver dentro e nгo estiver usando mбscara, de dano nele.

Boa sorte.
Reply
#3

Nгo sei qual objetivo vocк ta querendo mas use Variбveis e SetTimerEx

PHP код:
new pArena[MAX_PLAYERS];
new 
pMascara[MAX_PLAYERS];
new 
Timer[MAX_PLAYERS];
if(
pArena[playerid] == && pMascara[playerid] == 0)
{
    
Timer[playerid] = SetTimerEx("RetirarVida"2000true"d"playerid);
    
SendClientMessage(playerid, -1"| INFO | Vocк ta na arena sem mascara de gбs e esta sendo intoxicado!");
}
else if(
pArena[playerid] == && pMascara[playerid] == 1)
{
    
KillTimer(Timer[playerid]);
    
SendClientMessage(playerid, -1"| INFO | Vocк ta na arena com mascara de gбs e esta protegido!");
}
forward RetirarVida(playerid);
public 
RetirarVida(playerid)
{
    
SetPlayerHealth(playerid2.0);
    return 
1;

Isso й uma base do que eu entendi, Agora nгo sei qual objetivo й tbm nгo sei se vai funcionar essa base, mas e uma boa ideia!
Reply
#4

Quote:
Originally Posted by SIZET
Посмотреть сообщение
Nгo sei qual objetivo vocк ta querendo mas use Variбveis e SetTimerEx

PHP код:
new pArena[MAX_PLAYERS];
new 
pMascara[MAX_PLAYERS];
new 
Timer[MAX_PLAYERS];
if(
pArena[playerid] == && pMascara[playerid] == 0)
{
    
Timer[playerid] = SetTimerEx("RetirarVida"2000true"d"playerid);
    
SendClientMessage(playerid, -1"| INFO | Vocк ta na arena sem mascara de gбs e esta sendo intoxicado!");
}
else if(
pArena[playerid] == && pMascara[playerid] == 1)
{
    
KillTimer(Timer[playerid]);
    
SendClientMessage(playerid, -1"| INFO | Vocк ta na arena com mascara de gбs e esta protegido!");
}
forward RetirarVida(playerid);
public 
RetirarVida(playerid)
{
    
SetPlayerHealth(playerid2.0);
    return 
1;

Isso й uma base do que eu entendi, Agora nгo sei qual objetivo й tbm nгo sei se vai funcionar essa base, mas e uma boa ideia!
O loop teria que ser quando o player fizesse spawn, fazendo as checagens que vocк colocou acima, porйm com um pouco menos de trabalho da pra fazer.

Код:
public OnPlayerSpawn(playerid) {
  SetTimerEx("ToxicAreaCheck", 1000, true, "%d", playerid);
}

forward ToxicAreaCheck(playerid); public ToxicAreaCheck(playerid) {
  if(playerInToxicArea(playerid) == true) {
    if(playerMask[playerid] == true) {
      intoxicatePlayer(playerid);
    }
  }

  return 1;
}

playerInToxicArea(playerid) {
  if(IsPlayerInRangeOfPoint(playerid, /*tamanho da area tуxica*/, /*coordenadas de inicio da area toxica*/)
    return true;
  else 
    return false;
}

intoxicatePlayer(playerid) {
  new Float:health;
  GetPlayerHealth(playerid, health);
  health -= 1.0;
  return SetPlayerHealth(playerid, health);
}
Reply
#5

vlw pessoal ajudo muito
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)