SA-MP Forums Archive
Bajar vida por timers? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Bajar vida por timers? (/showthread.php?tid=553623)



Bajar vida por timers? - Smoke123 - 30.12.2014

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.?


Respuesta - Ygzeb - 30.12.2014

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


Respuesta: Respuesta - Smoke123 - 30.12.2014

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.