Raised This Month: $ Target: $400
 0% 

remember (hp)


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Seta00
The Seta00 user has crashed.
Join Date: Jan 2010
Location: Berlin
Old 03-13-2010 , 21:27   Re: remember (hp)
Reply With Quote #7

PHP Code:
// Rukia: We need to reset the dmg and hits when a client connects, disconnects, and rounds start
new pug_dmg[33][33]
new 
pug_hits[33][33]
new 
pug_lastroundhp[33];

public 
client_connect(id
{
    
arrayset(pug_dmg[id], 033);
    
arrayset(pug_hits[id], 033);
    
pug_lastroundhp[id] = floatround(entity_get_float(idEV_FL_max_health));
}

public 
client_disconnect(id)
{
    for (new 
033i++)
    {
        
pug_dmg[i][id] = 0;
        
pug_hits[i][id] = 0;
    }
}

public 
pug_round_start()
{
    
#if defined RESET_DELAY
        
set_taskRESET_DELAY"allowdmgreset" )
    
#else
        
allowdmgreset()
    
#endif
    
    
allowdmg true
}

public 
pug_round_start_failed()
{
    
#if defined RESET_DELAY
        
set_taskRESET_DELAY"allowdmgreset" )
    
#else
        
allowdmgreset()
    
#endif
    
    
allowdmg true
}

// Rukia: Assume that the mod specific plugin has loaded the correct module, or provided this for us
public  client_damage attackervictimamountwpnindexhitplaceTA )
{
    
//if (attacker == victim) return;

    
pug_dmg[attacker][victim] += amount
    pug_hits
[attacker][victim] += 1
    pug_lastroundhp
[victim] -= amount;
}

#include <yap_aux>


public cmd_hpall(id)
{
    if(
is_user_alive(id) && id != 0) { pug_msg_tmp_empty(id,"PUG_CMD_NOTALLOWED"); }
    else
    {
        static 
Players[32], name[32]
        new 
playerCountiplayer
        get_players
(PlayersplayerCount"ah")

        for (
i=0i<playerCounti++)
        {
            
player Players[i]
            
get_user_name(player,name,31)

            
client_print(id,print_chat,"%s %L",pug_header2,id,"PUG_AUX_HP",name,pug_lastroundhp[player],get_user_armor(player))
        }
    }
    return 
PLUGIN_HANDLED
}

public 
cmd_hpteam(id)
{
    if(
is_user_alive(id) && id != 0) { pug_msg_tmp_empty(id,"PUG_CMD_NOTALLOWED"); }
    else
    {
        static 
Players[32], name[32]
        new 
playerCountiplayer
        get_players
(PlayersplayerCount"ah")

        new 
teamid pug_get_client_team(id)
        for (
i=0i<playerCounti++)
        {
            
player Players[i]
            if(
teamid == pug_get_client_team(player) ) continue;
            
get_user_name(player,name,31)

            
client_print(id,print_chat,"%s %L",pug_header2,id,"PUG_AUX_HP",is_user_aliveplayer ) ? pug_lastroundhp[player] : 0get_user_armor(player), name)  
        }
    }
    return 
PLUGIN_HANDLED

And put this on the "allowdmgreset" function:
PHP Code:
for(new 033; ++i)
    
pug_lastroundhp[id] = 100
You can refine this code to get the best result, tweak it until you find it perfect.

EDIT: Also, if you're going to use this code, I strongly recommend you to use the value of `mp_freezetime' instead of `RESET_DELAY' to reset last round info.

Last edited by Seta00; 03-13-2010 at 21:29.
Seta00 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:35.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode