TerraByter

Wall HP

4 posts in this topic

cgJOT0YRNIg.jpg

Может у кого есть плагин на подобие этого? 
Не могли бы вы поделиться исходным кодом, пожалуйста.
Если не понятно, то речь идёт о жизнях стены(объекта), скажем так.

Share this post


Link to post
Share on other sites

В общем, порылся в гугле, нашёл что-то подобное, но...
Работает не так, как хотелось бы.
Показывает лишь 0.0000
Помогите исправить или подскажите, что здесь не так.

 
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_const>

new origin[3]
new Float: angles;

public plugin_init()
{
    RegisterHam(Ham_TakeDamage, "func_breakable", "FwdBreakableTakeDamage");
}

public FwdBreakableTakeDamage(this, attacker, inflictor, Float: damage)
{
    new centity = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_breakable"));
    new Float:myvalue;
    pev( centity, pev_health, myvalue );
    if(centity)
    {
        set_pev(centity,pev_origin,origin)
        set_pev(centity,pev_angles,angles)
        dllfunc(DLLFunc_Spawn, centity)
        set_pev(centity,pev_solid, SOLID_BBOX)
        set_pev(centity,pev_movetype,MOVETYPE_FLY)
        engfunc(EngFunc_SetSize, centity, float:{-2.15, -4.3, -2.15}, float:{2.15, 4.3, 2.15});
        set_pev(centity,pev_takedamage,DAMAGE_AIM)
        set_pev(centity,pev_health, 99.0)
        set_pev(centity,pev_max_health, 99.0)
        engfunc(EngFunc_DropToFloor,centity)
        set_pev(centity,pev_iuser1,attacker)
        client_print(attacker,print_center,"HP %f", myvalue)
    }
}

 

Share this post


Link to post
Share on other sites

Posted (edited)

Ладно, Ham_TakeDamage тут правильно. Но дальше :o

Все намного проще.

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_TakeDamage, "func_breakable", "Ham_TakeDamage_Post", 1);
}

public Ham_TakeDamage_Post(iEntity, iInflictor, iAttacker, Float:fDamage)
{
	if (!is_user_alive(iAttacker))
	{
		return;
	}
	
	client_print(iAttacker, print_center, "Wall HP: %i", pev(iEntity, pev_health));
}

 

Edited by Arwel

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now