Player Infectado - 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: Player Infectado (
/showthread.php?tid=427450)
Player Infectado -
mailu - 01.04.2013
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
Re: Player Infectado -
PolloMC - 01.04.2013
usa un timer y hazlo un bucle. Tambien puedes aсadir algun comando para parar el bucle roleando una desinfeccion
Re: Player Infectado -
mailu - 01.04.2013
Gracias!
![Smiley](images/smilies/smile.png)
Acabo de hacerlo y funciono!
Respuesta: Player Infectado -
oOFotherOo - 01.04.2013
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.
Re: Player Infectado -
PolloMC - 01.04.2013
eso es 1 bucle.
Respuesta: Re: Player Infectado -
oOFotherOo - 01.04.2013
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.
Re: Player Infectado -
PolloMC - 01.04.2013
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.
Respuesta: Re: Player Infectado -
Host - 01.04.2013
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