agonizar
#1

Hola, quisiera saber como hago para que cuando una persona muera, quede en el suelo agonizando, y si le vuelvena bajar la vida, esta vez si muera y vaya pal hospital.

Gracias.
Reply
#2

Te recomiendo que mejor hagas que caiga crack cuando tenga 10 de vida o menos...
Mas o Menos serнa algo a sн:

Esto en OnPlayerUpdate:
pawn Код:
new Float:Vida;
GetPlayerHealth(playerid,Vida);
if(Vida <= 10)
{
ApplyAnimation(playerid,"CRACK","crckdeth2",4.1,0,1,1,1,1,1);
}
Es un ejemplo...
Reply
#3

Quote:
Originally Posted by juandiegox
Посмотреть сообщение
Te recomiendo que mejor hagas que caiga crack cuando tenga 10 de vida o menos...
Mas o Menos serнa algo a sн:

Esto en OnPlayerUpdate:
pawn Код:
new Float:Vida;
GetPlayerHealth(playerid,Vida);
if(Vida <= 10)
{
ApplyAnimation(playerid,"CRACK","crckdeth2",4.1,0,1,1,1,1,1);
}
Es un ejemplo...
Serнa mejor usando OnPlayerTakeDamage:


pawn Код:
new bool:IsAgonizing[MAX_PLAYERS];


public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    new Float:Health;
    GetPlayerHealth(playerid, Health);
    if(Health < ....) // Si la vida del jugador es menor a la cantidad que pondrбs...
    {
        if(IsAgonizing[playerid] == false) // Aquн verificaremos que estб agonizando y que aъn no ha recibido daсos fнsicos.
        {
            // Tus funciones para agonizar aquн.
            IsAgonizing[playerid] = true; // Ahora estб agonizando.
        }
        else /* Significa que ya ha recibido daсo despuйs de estar agonizando */ SetPlayerHealth(playerid, 0.0), IsAgonizing[playerid] = false; // Asesinar al jugador
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
Serнa mejor usando OnPlayerTakeDamage:


pawn Код:
new bool:IsAgonizing[MAX_PLAYERS];


public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    new Float:Health;
    GetPlayerHealth(playerid, Health);
    if(Health < ....) // Si la vida del jugador es menor a la cantidad que pondrбs...
    {
        if(IsAgonizing[playerid] == false) // Aquн verificaremos que estб agonizando y que aъn no ha recibido daсos fнsicos.
        {
            // Tus funciones para agonizar aquн.
            IsAgonizing[playerid] = true; // Ahora estб agonizando.
        }
        else /* Significa que ya ha recibido daсo despuйs de estar agonizando */ SetPlayerHealth(playerid, 0.0), IsAgonizing[playerid] = false; // Asesinar al jugador
    }
    return 1;
}
no.

eso solo funcionaria si el jugador es herido por otra persona, si el daсo es sacado con SetPlayerHealth no se ejecutara nunca la animacion.

saludos.
Reply
#5

Otacon, sabes como se hace?
Reply
#6

https://sampforum.blast.hk/showthread.php?tid=441777

http://pastebin.com/u/OtaconEvil
Reply
#7

Mira que te gusta complicarlo todo eh otaconazo

pawn Код:
/*
             Prohibido TOTALMENTE el Robo de Crйditos o la
              Publicaciуn de este INCLUDE sin Mi Permiso.

    SIMPLE INCLUDE --> Simple Sistema Para Morir En Posicion
    CREDITOS: OTACON ;)
    NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! :D xD ;)

    native SetPlayerHealthDeath(playerid, Float:health);
*/

static Float:PosKiller[MAX_PLAYERS][4], bool:PlayerKiller[MAX_PLAYERS]=false, Float:VidaKiller[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, reason) {
    if(playerid != INVALID_PLAYER_ID) {
        switch(PlayerKiller[playerid]) {
            case false: {
                GetPlayerPos(playerid, PosKiller[playerid][0], PosKiller[playerid][1], PosKiller[playerid][2]);
                GetPlayerFacingAngle(playerid, PosKiller[playerid][3]);
                TogglePlayerControllable(playerid,false);
                PlayerKiller[playerid]=true;
            }
        }
    }
    #if defined OTACON_OnPlayerDeath
        return OTACON_OnPlayerDeath(playerid, killerid, reason);
    #else
        return true;
    #endif
}
#if defined OTACON_OnPlayerDeath
    forward OTACON_OnPlayerDeath(playerid, killerid, reason);
#endif
#if defined _ALS_OnPlayerDeath
    #undef OnPlayerDeath
#else
    #define _ALS_OnPlayerDeath
#endif
#define OnPlayerDeath OTACON_OnPlayerDeath
public OnPlayerSpawn(playerid) {
    if(playerid != INVALID_PLAYER_ID) {
        switch(PlayerKiller[playerid]) {
            case true: {
                VidaKiller[playerid]=5;
                SetPlayerHealth(playerid, VidaKiller[playerid]);
                SetPlayerPos(playerid, PosKiller[playerid][0], PosKiller[playerid][1], PosKiller[playerid][2]);
                SetPlayerFacingAngle(playerid, PosKiller[playerid][3]);
                TogglePlayerControllable(playerid,false);
                ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0);
                ApplyAnimation(playerid,"WUZI","CS_Dead_Guy",4.0,1,1,1,1,200,1);
            }
        }
    }
    #if defined OTACON_OnPlayerSpawn
        return OTACON_OnPlayerSpawn(playerid);
    #else
        return true;
    #endif
}
#if defined OTACON_OnPlayerSpawn
    forward OTACON_OnPlayerSpawn(playerid);
#endif
#if defined _ALS_OnPlayerSpawn
    #undef OnPlayerSpawn
#else
    #define _ALS_OnPlayerSpawn
#endif
#define OnPlayerSpawn OTACON_OnPlayerSpawn
stock SetPlayerHealthDeath(playerid, Float:health) {
    PlayerKiller[playerid]=false;
    TogglePlayerControllable(playerid,true);
    ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0);
    return SetPlayerHealth(playerid, health);
}
/*
             Prohibido TOTALMENTE el Robo de Crйditos o la
              Publicaciуn de este INCLUDE sin Mi Permiso.

    SIMPLE INCLUDE --> Simple Sistema Para Morir En Posicion
    CREDITOS: OTACON ;)
    NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! :D xD ;)
   
    native SetPlayerHealthDeath(playerid, Float:health);
*/
POST DATA POR SI NO A QUEDADO CLARO: Crйditos OTACON
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)