Raised This Month: $ Target: $400
 0% 

Bullet Damage [VIP]


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
sanimare
Senior Member
Join Date: Sep 2010
Old 03-10-2018 , 13:11   Bullet Damage [VIP]
Reply With Quote #1

How to add here check for ADMIN_LEVEL_H and FIX this public Event_Damage to work like in code under it? I want circle bullet damage for admin, but without showing through walls.

PHP Code:
public Event_DamageiVictimpVictim)
{
    static 
pAttackerpAttacker get_user_attacker(pVictim);
    if(!
is_user_connected(pAttacker) || !g_bShowDamage[pAttacker] || !ent_sees_ent(pAttackerpVictim)) return;
    if( 
get_pcvar_num(g_pCvarEnabled) && (read_data(4) || read_data(5) || read_data(6)) )
    {
        new 
id get_user_attacker(iVictim)
        if( (
<= id <= g_iMaxPlayers) && is_user_connected(id) )
        if (
get_user_flags(id) & ADMIN_LEVEL_H)
        {
            new 
iPos = ++g_iPlayerPos[id]
            if( 
iPos == sizeof(g_flCoords) )
            {
                
iPos g_iPlayerPos[id] = 0
            
}
            
set_hudmessage(random_num(0224), random_num(0224), random_num(0224), Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 00.12.50.020.02, -1)
            
show_hudmessage(id"%d"read_data(2))
        }
    } 

PHP Code:
#include <amxmodx>
#include <engine>

new bool:g_bShowDamage[33];

public 
plugin_init()
{
    
register_plugin("Damager only visible""1.2 RC2""neygomon");
    
register_event("Damage""eDamage""b""2!0""3=0""4!0");
    
register_clcmd("say /damager""ClCmdToggle");
}

public 
client_putinserver(pClient)
{
    new 
sInfo[4]; get_user_info(pClient"_dmg"sInfocharsmax(sInfo));
    if(
sInfo[0] && equal(sInfo"on")) g_bShowDamage[pClient] = true;
    else 
g_bShowDamage[pClient] = false;
}

public 
eDamage(pVictim)
{
    static 
pAttackerpAttacker get_user_attacker(pVictim);
    if(!
is_user_connected(pAttacker) || !g_bShowDamage[pAttacker] || !ent_sees_ent(pAttackerpVictim)) return;
    static 
SyncHudMsg; if(!SyncHudMsgSyncHudMsg CreateHudSyncObj();
    
    
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1);
    
ShowSyncHudMsg(pAttackerSyncHudMsg"%i^n"read_data(2));
}    

public 
ClCmdToggle(pClient)
{
    if(
g_bShowDamage[pClient])
    {
        
ChatColor(pClient"^3* ^4Bullet damage: ^3OFF^4!");
        
client_cmd(pClient"setinfo _dmg off");
        
g_bShowDamage[pClient] = false;
    }
    else
    {
        
ChatColor(pClient"^3* ^4Bullet damage ^3ON^4!");
        
client_cmd(pClient"setinfo _dmg on");
        
g_bShowDamage[pClient] = true;
    }
    return 
PLUGIN_HANDLED;
}

stock ChatColor(id, const szMessage[])
{
    if(!
is_user_connected(id)) return;
    static 
IdMsg; if(!IdMsgIdMsg get_user_msgid("SayText")
    
message_begin(MSG_ONEIdMsg, .player id);
    
write_byte(id);
    
write_string(szMessage);
    
message_end();
}

stock bool:ent_sees_ent(iEntiEnt2)
{
    static 
Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3];
    
entity_get_vector(iEntEV_VEC_originfEntOrigin);
    
entity_get_vector(iEnt2EV_VEC_originfEnt2Origin);
    return 
trace_line(iEntfEntOriginfEnt2OriginfResult) == iEnt2;


Last edited by sanimare; 03-10-2018 at 16:39.
sanimare 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 21:15.


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