Bajar vida por timers?
#1

Bueno podrian ayudarme a crear un timers que baje la vida? Por ejemplo crear un timer,y que cada 30 segundos la vida baje de 10 en 10 hasta que el player muera.?
Reply
#2

Serнa algo asн:

En la primeras variables, definimos:

pawn Код:
new Timer1[MAX_PLAYERS];
forward Life(playerid);
En la funciуn donde ejecutaremos el timer:

pawn Код:
Timer1[playerid] = SetTimerEx("Life", 30000, true, "i", playerid); // Ejecutamos el timer.
Fuera de cualquier funciуn:

pawn Код:
public Life(playerid) // Funciуn del timer.
{
new Float: Health; // Creamos la variable de vida del jugador.
GetPlayerHealth(playerid, Health); // Obtenemos la vida del jugador.
SetPlayerHealth(playerid, Health - 10.0); // Restamos 10 de vida al jugador.
return 1;
}
Y en OnPlayerDeath, OnPlayerDisconnect, OnPlayerConnect y en OnPlayerSpawn (por seguridad eliminamos el timer en todas las funciones bбsicas, ya que si se continъa ejecutando la vida del jugador continuarб bajando):

pawn Код:
KillTimer(Timer1[playerid]); // Eliminamos el timer (esto es muy importante, de no eliminarlo el timer continuarб ejecutбndose).
Es importante colocarlo en OnPlayerDisconnect, ya que si el jugador se desconecta y otro jugador entra, al nuevo jugador le continuarб bajando vida.

Suerte amigo
Reply
#3

Quote:
Originally Posted by Ygzeb
Посмотреть сообщение
Serнa algo asн:

En la primeras variables, definimos:

pawn Код:
new Timer1[MAX_PLAYERS];
forward Life(playerid);
En la funciуn donde ejecutaremos el timer:

pawn Код:
Timer1[playerid] = SetTimerEx("Life", 30000, true, "i", playerid); // Ejecutamos el timer.
Fuera de cualquier funciуn:

pawn Код:
public Life(playerid) // Funciуn del timer.
{
new Float: Health; // Creamos la variable de vida del jugador.
GetPlayerHealth(playerid, Health); // Obtenemos la vida del jugador.
SetPlayerHealth(playerid, Health - 10.0); // Restamos 10 de vida al jugador.
return 1;
}
Y en OnPlayerDeath, OnPlayerDisconnect, OnPlayerConnect y en OnPlayerSpawn (por seguridad eliminamos el timer en todas las funciones bбsicas, ya que si se continъa ejecutando la vida del jugador continuarб bajando):

pawn Код:
KillTimer(Timer1[playerid]); // Eliminamos el timer (esto es muy importante, de no eliminarlo el timer continuarб ejecutбndose).
Es importante colocarlo en OnPlayerDisconnect, ya que si el jugador se desconecta y otro jugador entra, al nuevo jugador le continuarб bajando vida.

Suerte amigo
Muchas gracias,ya lo logre.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)