Player Infectado
#1

Hola amigos, pasaba a preguntarles algo que no se me ocurre como hacerlo;

Reducirle cierta cantidad de vida al jugar, cada cierto tiempo.
Por ejemplo, Han visto esos comandos de /violar o /infectar en los RP? Que cuando te infectan la vida va reduciendo hasta que mueras. Eso es lo que quiero hacer, pero no se como.

Saludos
Reply
#2

usa un timer y hazlo un bucle. Tambien puedes aсadir algun comando para parar el bucle roleando una desinfeccion
Reply
#3

Gracias!
Acabo de hacerlo y funciono!
Reply
#4

No es necesario un bucle.

pawn Код:
static bool:Infectado[MAX_PLAYERS];
static Timer:TInfectado[MAX_PLAYERS];

public OnPlayerDisconnect(playerid)
{
    Infectado[playerid] = false;
    KillTimer(TInfectado[playerid]);
    return 1;
}

public OnPlayerConnect(playerid)
{
    Infectado[playerid] = false;
    KillTimer(TInfectado[playerid]);
    return 1;
}

CMD:infectar(playerid, params[])
{
    if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Utiliza: /infectar [ID]");
    if(Infectado[params[0]] == false) return SendClientMessage(playerid, -1, "Este usuario ya estб infectado.");
    Infectado[params[0]] = true;
    TInfectado[params[0]] = SetTimerEx("OnInfectado", 5000, true, "i", params[0]); // Se ejecuatarб el timer cada 5 segundos, cambie al tiempo que desea.
    return 1;
}

CMD:desinfectar(playerid, params[])
{
    if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Utiliza: /desinfectar [ID]");
    if(Infectado[params[0]] == true) return SendClientMessage(playerid, -1, "Este usuario no estб infectado.");
    Infectado[params[0]] = false;
    KillTimer(TInfectado[params[0]]);
    return 1;
}

forward OnInfectado(playerid);
public OnInfectado(playerid);
{
    new Float:Vida;
    GetPlayerHealth(playerid, Vida);
    SetPlayerHealth(playerid, Vida-5); // Quitarб 5 de vida, cambie por la cantidad deseada.
    return 1;
}
Un saludo.
Reply
#5

eso es 1 bucle.
Reply
#6

Quote:
Originally Posted by PolloMC
Посмотреть сообщение
eso es 1 bucle.
Al parecer usted no tiene ni idea de que es un bucle, en ningъn momento utilize for, while у do while.

Un saludo.
Reply
#7

pero debes tener en cuenta la importancia realtiva de la posicion del codigo, en ese caso se considera un bucle ya que es asi como se define en la guia.
Reply
#8

Quote:
Originally Posted by PolloMC
Посмотреть сообщение
pero debes tener en cuenta la importancia realtiva de la posicion del codigo, en ese caso se considera un bucle ya que es asi como se define en la guia.
Lol

Leete esto

Esto
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)