SA-MP Forums Archive
agonizar - 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: agonizar (/showthread.php?tid=520099)



agonizar - Metzone - 17.06.2014

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.


Respuesta: agonizar - juandiegox - 17.06.2014

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


Respuesta: agonizar - Swedky - 17.06.2014

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;
}



Respuesta: agonizar - OTACON - 17.06.2014

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.



Re: agonizar - Metzone - 17.06.2014

Otacon, sabes como se hace?


Respuesta: agonizar - OTACON - 17.06.2014

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

http://pastebin.com/u/OtaconEvil


Respuesta: agonizar - MpK - 19.06.2014

Quote:
Originally Posted by OTACON
Посмотреть сообщение
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