Nuevo Bullet Damage (Solucionado)
#1
Alguien puede editar este plugin de "bullet damage". En la cual los número se ven en el centro y quiero que se vea como un HUD:

Código PHP:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

#define PLUGIN "Damager HL"
#define VERSION "1.0"
#define AUTHOR "Half-Life"

new vict_dmgkill_dmgq3_snd
new const sound[] = {"AQS/hit.wav"}

public 
plugin_precache()
 
precache_sound(sound)
 
public 
plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
RegisterHam(Ham_TakeDamage"player""on_damage_pre")

 
vict_dmg register_cvar("amx_HL_show_victim""1")
 
kill_dmg register_cvar("amx_HL_show_agressor""1")
 
q3_snd register_cvar("amx_HL_q3_hit_sound""1")
}
 
public 
on_damage_pre(victimentagressorFloat:damagebits)

 if(
Float:damage 1.0 || !is_user_alive(victim)) return
 
 new 
modereal_damageskip
 
 
if(victim && ent && agressor && victim != agressor)
 
mode 1
 
else if(victim && !ent && !agressor)
 
mode 2skip 1
 
else if(victim == agressor)
 
mode 1skip 1
 
 
if(mode == 1)
 {
 new 
Float:dd damage
 
new Float:value float(get_user_armor(victim) * 2)
 
 if(
value dd)
 
dd -= value
 
 
else if(value >= dd)
 
dd *= 0.2
 
 real_damage 
floatround(dd)
 }
 else if(
mode == 2)
 
real_damage floatround(damage)
 else return
 
 if(!
is_user_bot(agressor) || !is_user_bot(victim))
 {
 new 
flags pev(agressorpev_flags)
 
 if(!
skip && flags FL_CLIENT)
 {
 if(
get_pcvar_num(kill_dmg))
 
client_print(agressorprint_center"%d"real_damage)
 if(
get_pcvar_num(q3_snd))
 
client_cmd(agressor"spk sound/AQS/hit.wav"
 }
 if(
get_pcvar_num(vict_dmg))
 
client_print(victimprint_center"-%d"real_damage
 }


Ejemplo de como quiero que se vea:
[Imagen: hqdefault.jpg]

Tengo este plugin con las coordenadas y quiero que se vea como este:
Código PHP:
#include <amxmodx>

#define PLUGIN "Bullet Damage"
#define AUTHOR "Counter-Strike"
#define VERSION "1.0"

#define MAX_PLAYERS 32

new const Float:g_flCoords[][] = 
{
 {
0.500.40},
 {
0.560.44},
 {
0.600.50},
 {
0.560.56},
 {
0.500.60},
 {
0.440.56},
 {
0.400.50},
 {
0.440.44}
}

new 
g_iPlayerPos[MAX_PLAYERS+1]

new 
g_iMaxPlayers
new g_pCvarEnabled

public plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR)

 
g_pCvarEnabled register_cvar("bullet_damage""1")

 
register_event("Damage""Event_Damage""b""2>0""3=0")

 
g_iMaxPlayers get_maxplayers()
}

public 
Event_DamageiVictim )
{
 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) )
 {
 new 
iPos = ++g_iPlayerPos[id]
 if( 
iPos == sizeof(g_flCoords) )
 {
 
iPos g_iPlayerPos[id] = 0
 
}
 
set_hudmessage(21818622Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 10.12.50.020.02, -1)
 
show_hudmessage(id"%d"read_data(2))
 }
 }

Responder
#2
No testeado en HL.

Código PHP:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#define PLUGIN "Damager HL"
#define VERSION "1.0"
#define AUTHOR "Half-Life"

new vict_dmgkill_dmgq3_sndg_iPlayerPos[33], g_hudmsg1
new const sound[] = { "AQS/hit.wav" }

new const 
Float:g_flCoords[][] = 
{
    {
0.500.40},
    {
0.560.44},
    {
0.600.50},
    {
0.560.56},
    {
0.500.60},
    {
0.440.56},
    {
0.400.50},
    {
0.440.44}
}

public 
plugin_precache()
    
precache_sound(sound)

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
RegisterHam(Ham_TakeDamage"player""on_damage_pre")

    
vict_dmg register_cvar("amx_HL_show_victim""1")
    
kill_dmg register_cvar("amx_HL_show_agressor""1")
    
q3_snd register_cvar("amx_HL_q3_hit_sound""1")

    
g_hudmsg1 CreateHudSyncObj()
}

public 
on_damage_pre(victimentagressorFloatdamagebits)
{
    if (!
is_user_connected(agressor) || damage 1.0 || victim == agressor)
        return;
    
    if (
Floatdamage 1.0 || !is_user_alive(victim)) return

    new 
modereal_damageskip

    
if (victim && ent && agressor && victim != agressor)
        
mode 1
    
else if (victim && !ent && !agressor)
        
mode 2skip 1
    
else if (victim == agressor)
        
mode 1skip 1

    
if (mode == 1)
    {
        new 
Floatdd damage
        
new Floatvalue float(get_user_armor(victim) *2)

        if (
value dd)
            
dd -= value

        
else if (value >= dd)
            
dd *= 0.2

        real_damage 
floatround(dd)
    }
    else if (
mode == 2)
        
real_damage floatround(damage)
    else return

    if (!
is_user_bot(agressor) || !is_user_bot(victim))
    {
        new 
flags pev(agressorpev_flags)

        if (!
skip && flags &FL_CLIENT)
        {
            if (
get_pcvar_num(kill_dmg))
            {
                static 
iPos
                iPos 
= ++g_iPlayerPos[agressor]

                if (
iPos == sizeof(g_flCoords))
                    
iPos g_iPlayerPos[agressor] = 0

                set_hudmessage
(random(255), random(255), random(255), Floatg_flCoords[iPos][0], Floatg_flCoords[iPos][1], 20.12.50.020.02, -1)
                
show_hudmessage(agressor"%d"real_damage)
            }
            if (
get_pcvar_num(q3_snd))
                
client_cmd(agressor"spk sound/AQS/hit.wav")
        }

        if (
get_pcvar_num(vict_dmg))
        {
            
set_hudmessage(25560300.450.5020.14.00.10.1, -1)
            
ShowSyncHudMsg(victimg_hudmsg1"%d"real_damage)
        }
    }

"Cada golpe es una lección, y cada lección te hace mejor."

[Imagen: b_350_20_000000_8a7300_ffffff_eeff00.png]
[Imagen: 76561198371193937.png]
Responder
#3
(06/05/2022, 11:31 PM)rojedafeik escribió: No testeado en HL.

Código PHP:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#define PLUGIN "Damager HL"
#define VERSION "1.0"
#define AUTHOR "Half-Life"

new vict_dmgkill_dmgq3_sndg_iPlayerPos[33], g_hudmsg1
new const sound[] = { "AQS/hit.wav" }

new const 
Float:g_flCoords[][] = 
{
 {
0.500.40},
 {
0.560.44},
 {
0.600.50},
 {
0.560.56},
 {
0.500.60},
 {
0.440.56},
 {
0.400.50},
 {
0.440.44}
}

public 
plugin_precache()
 
precache_sound(sound)

public 
plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
RegisterHam(Ham_TakeDamage"player""on_damage_pre")

 
vict_dmg register_cvar("amx_HL_show_victim""1")
 
kill_dmg register_cvar("amx_HL_show_agressor""1")
 
q3_snd register_cvar("amx_HL_q3_hit_sound""1")

 
g_hudmsg1 CreateHudSyncObj()
}

public 
on_damage_pre(victimentagressorFloatdamagebits)
{
 if (!
is_user_connected(agressor) || damage 1.0 || victim == agressor)
 return;
 
 if (
Floatdamage 1.0 || !is_user_alive(victim)) return

 new 
modereal_damageskip

 
if (victim && ent && agressor && victim != agressor)
 
mode 1
 
else if (victim && !ent && !agressor)
 
mode 2skip 1
 
else if (victim == agressor)
 
mode 1skip 1

 
if (mode == 1)
 {
 new 
Floatdd damage
 
new Floatvalue float(get_user_armor(victim) *2)

 if (
value dd)
 
dd -= value

 
else if (value >= dd)
 
dd *= 0.2

 real_damage 
floatround(dd)
 }
 else if (
mode == 2)
 
real_damage floatround(damage)
 else return

 if (!
is_user_bot(agressor) || !is_user_bot(victim))
 {
 new 
flags pev(agressorpev_flags)

 if (!
skip && flags &FL_CLIENT)
 {
 if (
get_pcvar_num(kill_dmg))
 {
 static 
iPos
 iPos 
= ++g_iPlayerPos[agressor]

 if (
iPos == sizeof(g_flCoords))
 
iPos g_iPlayerPos[agressor] = 0

 set_hudmessage
(random(255), random(255), random(255), Floatg_flCoords[iPos][0], Floatg_flCoords[iPos][1], 20.12.50.020.02, -1)
 
show_hudmessage(agressor"%d"real_damage)
 }
 if (
get_pcvar_num(q3_snd))
 
client_cmd(agressor"spk sound/AQS/hit.wav")
 }

 if (
get_pcvar_num(vict_dmg))
 {
 
set_hudmessage(25560300.450.5020.14.00.10.1, -1)
 
ShowSyncHudMsg(victimg_hudmsg1"%d"real_damage)
 }
 }

Si anda bro. Muchas Gracias Mario
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)