Включение/Отключение показа урона.

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
460
Реакции
68
Помог
7 раз(а)
Всем привет форумчане. Помогите с дамагером хочу прикрутить включение/выключение командой в чат. Получается только вывод сообщения о том что вкл. или выкл., а всё остальное никак. Исход приложу ниже.
Я не скриптер поэтому не шарю как что и куда)
C++:
#include amxmodx
#include reapi

#define WALLS_VISIBLE
#if !defined WALLS_VISIBLE
    #include fakemeta_util
#endif

new g_MsgSync1, g_MsgSync2;
public plugin_init()
{
    register_plugin("[ReAPI] Damager","1.1","phe");
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", true);
    g_MsgSync1=CreateHudSyncObj();
    g_MsgSync2=CreateHudSyncObj();
}

public CBasePlayer_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if(!is_user_connected(attacker))
        return;
    if(!rg_is_player_can_takedamage(victim, attacker))
        return;
    if(get_member(victim, m_iTeam) == get_member(attacker, m_iTeam)) // if FFa, remove...
        return;

    set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
    ShowSyncHudMsg(victim, g_MsgSync1, "%.0f", damage);
    set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
#if defined WALLS_VISIBLE
    ShowSyncHudMsg(attacker, g_MsgSync2, "%.0f", damage);
#else
    if(fm_is_ent_visible(attacker, victim))
        ShowSyncHudMsg(attacker, g_MsgSync2, "%.0f", damage);
#endif
}
C++:
#include amxmodx
#include <fakemeta>
#include reapi

#define DMGOFF
#define WALLS_VISIBLE
#if !defined WALLS_VISIBLE
    #include fakemeta_util
#endif

new bool:gOnOff[33] = { true, ... };
new g_MsgSync1, g_MsgSync2;
public plugin_init()
{
    register_plugin("[ReAPI] Damager","1.1","phe");
    register_clcmd("say /damager", "dmgOF", -1, "");   
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", true);
    g_MsgSync1=CreateHudSyncObj();
    g_MsgSync2=CreateHudSyncObj();
}

public dmgOF(id)
{
    if( gOnOff[id] )
    {
        client_print(id, print_chat, "[AMXX] Показ урона выключен.");
        gOnOff[id] = false;
    }
    else
    {
        client_print(id, print_chat, "[AMXX] Показ урона включён.");
        gOnOff[id] = true;
    }
    
    #if defined DMGOFF
    return PLUGIN_CONTINUE;
    #else
    return PLUGIN_HANDLED;
    #endif
}

public CBasePlayer_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if(!is_user_connected(attacker))
        return;
    if(!rg_is_player_can_takedamage(victim, attacker))
        return;
    if(get_member(victim, m_iTeam) == get_member(attacker, m_iTeam)) // if FFa, remove...
        return;

#if defined DMGOFF
    set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
    ShowSyncHudMsg(victim, g_MsgSync1, "%.0f", damage);
    set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
#if defined WALLS_VISIBLE
    ShowSyncHudMsg(attacker, g_MsgSync2, "%.0f", damage);
#else
    if(fm_is_ent_visible(attacker, victim))
        ShowSyncHudMsg(attacker, g_MsgSync2, "%.0f", damage);
#endif

}

public client_connect(id)
{
    gOnOff[id] = true;
}

public client_disconnected(id)
{
#endif
    gOnOff[id] = true;
}
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
HARDCORE, если нет наработок, то в раздел заказов.
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
2 ифа добавить просто.
C++:
public dmgOF(id)
{
    gOnOff[id] ^= true;
    client_print(id, print_chat, "[AMXX] Показ урона %s.", (gOnOff[id]) ? "включён" : "выключен");
}

public CBasePlayer_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if(gOnOff[victim])
    {
        set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
        ShowSyncHudMsg(victim, g_MsgSync1, "%.0f", damage);
    }
    
    if(gOnOff[attacker])
    {
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);        
        #if defined WALLS_VISIBLE
        ShowSyncHudMsg(attacker, g_MsgSync2, "%.0f", damage);
        #else
        if(fm_is_ent_visible(attacker, victim))
            ShowSyncHudMsg(attacker, g_MsgSync2, "%.0f", damage);
        #endif
    }
}
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
irrumabo_me_nomen, спасибо за помощь. Всё работает)
Можно закрывать.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу