OnPlayerTakeDamage
#5

pawn Код:
public OnPlayerConnect(playerid)
{
    SetPlayerTeam(playerid, 1); //para que al disparar no haya daсos, es decir, todos en un mismo equipo y el daсo es procesado server-side
    return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    static Float:damage, Float:health, Float:armour;
    if(issuerid != INVALID_PLAYER_ID)
    {
        if(amount == 2.64) //Es el daсo del golpe de culata
        {
            damage = 60.0;
        }
        else
        {
            switch(weaponid)
            {
                case 31: damage = 40.0;//daсo de la m4
                case 34: damage = 200.0 // daсo de la sniper
                //....
        }
        GetPlayerHealth(playerid, health);
        GetPlayerArmour(playerid, armour);
        if(armour)
        {
            if(armour > damage) SetPlayerArmour(playerid, armour-damage);
            else
            {
                SetPlayerArmour(playerid, 0.0);
                armour = damage-armour;
                if(armour >= health) SetPlayerHealth(playerid, 0.0);
                else SetPlayerHealth(playerid, health-armour);
            }
        }
        else
        {
            if(health > damage) SetPlayerHealth(playerid, health-damage);
            else SetPlayerHealth(playerid, 0.0);
        }
    }
    return 1;
}
Tenйs que ir agregando las ids de armas en el case para modificar los daсos. Eso serнa un sistema de daсos mas o menos completo.
Reply


Messages In This Thread
OnPlayerTakeDamage - by Glimma - 16.10.2012, 23:55
Respuesta: OnPlayerTakeDamage - by Fluid016 - 17.10.2012, 00:08
Respuesta: OnPlayerTakeDamage - by TiNcH010 - 17.10.2012, 00:10
Respuesta: OnPlayerTakeDamage - by Jovanny - 17.10.2012, 01:01
Respuesta: OnPlayerTakeDamage - by CaptainMactavish - 17.10.2012, 02:18
Re: OnPlayerTakeDamage - by admantis - 17.10.2012, 11:38
Respuesta: Re: OnPlayerTakeDamage - by Fluid016 - 17.10.2012, 14:59

Forum Jump:


Users browsing this thread: 1 Guest(s)