[Tutorial] Evitar teleport con poca vida
#1

Bueno, Aqui les pongo un tutorial para evitar el teleport con poca vida, Tal y como lo dice el titulo un Tutorial....[SIRVE PARA LA VERSION 0.2x Y 0.3a]Empezaremos ,

Primero, antes de un teleport hay que agregar este codigo:

Код:
  {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(health >= 70)// el 70 marca, que al tener 70% o menos no nos dejara teletransportarnos
    {
Ahora al final del teleport pondremos un mensaje informativo de la razon de la negativa de teletransportacion:

Код:
    }
    else
    {
      SendClientMessage(playerid, 0xAA3333AA, "No te puedes teletransportar con tan poca vida"); // este es el texto que aparecera
    }
    return 1;
  }
Entre medio de estos dos codigos, tenemos que poner nuestro teleport....

Aca les muestro un ejemplo:

Код:
    
    if(strcmp("/prueba", cmdtext, true, 3) == 0)
  {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(health >= 65)
    {

  {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
      SetPlayerInterior(playerid, 0);
      LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0);
      SetVehiclePos(GetPlayerVehicleID(playerid), 0,0,0);
      SetVehicleZAngle(GetPlayerVehicleID(playerid), 181.726898);
      return 1;
    }
    else
    {
      SetPlayerInterior(playerid, 0);
      SetPlayerPos(playerid, 0,0,0);
      SetPlayerFacingAngle(playerid, 181.726898);
      return 1;
    }
  }

    }
    else
    {
      SendClientMessage(playerid, COLOR_LIGHTCYAN, "Tienes que tener mas vida para teletransportarte!!!");
    }
    return 1;
  }
Bueno esto es todo.. Espero les sirva, asi no se nos escape con teleport alguno que casi muera en un DM
Reply
#2

Quote:
Originally Posted by GroX0r
new Float:health;
GetPlayerHealth(playerid,health);
if(health >= 70)// el 70 marca, que al tener 70% o menos no nos dejara teletransportarnos
En ese caso serнa asн:

Код:
if(health <= 70)
Reply
#3

Quote:
Originally Posted by Leonardo_Almeida
Quote:
Originally Posted by GroX0r
new Float:health;
GetPlayerHealth(playerid,health);
if(health >= 70)// el 70 marca, que al tener 70% o menos no nos dejara teletransportarnos
En ese caso serнa asн:

Код:
if(health <= 70)
El codigo de GroX0r esta bien, el tuyo dejaria que se teletransporten solo si tienen 70.0 o menos.
Reply
#4

Ouch, tienes razуn
Reply
#5

Tambiйn se puede poner
Код:
  {
    if(GetPlayerHealth >= 70)// el 70 marca, que al tener 70% o menos no nos dejara teletransportarnos
    {
o no estoy en lo correcto ?
Reply
#6

NO estas en lo correcto ya que esa funcion que pusiste nisiquiera tiene parametros, el compilador te mandara errores.
GetPlayerHealth(playerid, health) no puede ser usada como tu quieres elvago, ya que la funcion no retorna la vida de el jugador, la tienes que insertar en una variable;
pawn Код:
new Float: playerhealth;
GetPlayerHealth(playerid, playerhealth);
Con ese codigo ya tienes la vida del jugador en playerhealth, ahora lo que tienes que hacer es checar si el jugador tiene cierta vida.
pawn Код:
if(playerhealth >= 70)// el 70 marca, que al tener 70% o menos no nos dejara teletransportarnos
{
  // El jugador tiene 70.0 o mas.
}
else
{
  // El jugador tiene 69.9 o menos.
}
Reply
#7

ah mejor, no sabia. Gracias.
Reply
#8

Esto fue copiado del gm del servidor desmadre? osea porque no das creditos a ellos
Reply
#9

Ni que fuera una gran funcion.
Aqui tienen una funcion que es mas facil de usar.

pawn Код:
stock PlayerHasHealth(playerid, Float: health)
{
    new Float: curhealth; GetPlayerHealth(playerid, curhealth);
    if(curhealth >= health) return 1;
    return 0;
}
Si el jugador tiene la vida requerida o mas va a retornar true(1), si no retorna false(0).

Usando esa funcion seria asi;
pawn Код:
if(PlayerHasHealth(playerid, 70.0))
{
  // El jugador tiene 70.0 o mas.
}
else
{
  // El jugador tiene 69.9 o menos.
}
Reply
#10

Otra opcion seria hacerlo asi.
Al final del script:
pawn Код:
stock PlayerHealth(playerid)
{
    new Float: vida;
    GetPlayerHealth(playerid, vida);
    return vida;
}
En el comando o la funcion:
pawn Код:
if(PlayerHealth(playerid) >= 70.0)
{
//Tiene 70.0 o mas puntos de vida
}
else
{
//Tiene 69.9 o menos puntos de vida
}
PD: Ya se que es lo mismo, solo doy mas opciones jeje
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)