Модернизировать Damager

Сообщения
580
Реакции
338
Предупреждения
1
Помог
9 раз(а)
N3UR0, используйте вариант от fl0wer и добавьте проверку
Код:
if(damage <= 1.0)
{
    return;
}
 
Сообщения
580
Реакции
338
Предупреждения
1
Помог
9 раз(а)
N3UR0, в 24 строку вставьте например
 
Сообщения
41
Реакции
1
steelzzz, в общем так сделал , кавычки с новой строки или все равно где ставить?

Код:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new g_iHudSync_Damage;

public plugin_init()
{
    register_plugin("Show Damage", "1.0.0", "fl0wer");

    RegisterHookChain(RG_CBasePlayer_TakeDamage, "@CBasePlayer_TakeDamage_Post", true);

    g_iHudSync_Damage = CreateHudSyncObj();
}

@CBasePlayer_TakeDamage_Post(id, inflictor, attacker, Float:damage, bitsDamageType)
{
    if (!is_user_connected(attacker))
        return;

    if (!rg_is_player_can_takedamage(id, attacker))
        return;
    if(damage <= 1.0)
    {
    return;
    }
    set_hudmessage(166, 129, 58, -1.0, 0.55, 2, 0.1, 1.5, 0.02, 0.02, -1);

    if (get_user_flags(attacker) & (ADMIN_BAN | ADMIN_LEVEL_H))
        ShowSyncHudMsg(attacker, g_iHudSync_Damage, "%.0f", damage);
    else
        ShowSyncHudMsg(attacker, g_iHudSync_Damage, "*");
}
компильнулось, работает, благодарен!
 
Сообщения
197
Реакции
16
Помог
1 раз(а)
N3UR0, флаг игрока лучше проверить при входе и записать в глобальную переменную (например 1 - вип/админ, 0 - игрок), а в
RG_CBasePlayer_TakeDamage проверять по самой переменной

возможно get_user_flags не сильно нагружает сервер, но я уверен что нагрузки больше, чем от простой переменной
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Во избежание сложностей не стоит использовать метод описанный в предыдущем сообщении при обычных условиях. Проще и эффективнее использовать сразу get_user_flags без сохранения.
 
Сообщения
41
Реакции
1
w0w, благодарю! пока стоит так, как у товарища flower
тут пока читал идея в голову пришла! напомню, в плагине цифры для випов. звездочка для остальных.
Почему бы не сделать так что все мертвые игроки тоже видели цифры как випы, а когда живы только * (коммерческий ход)
10 Апр 2020
kucklovod, я понял о чем вы! но с моими познаниями это сложно реализовать!
 
Последнее редактирование:

d3m37r4

111111
Сообщения
1,429
Реакции
1,169
Помог
10 раз(а)
N3UR0, флаг игрока лучше проверить при входе и записать в глобальную переменную (например 1 - вип/админ, 0 - игрок), а в
RG_CBasePlayer_TakeDamage проверять по самой переменной

возможно get_user_flags не сильно нагружает сервер, но я уверен что нагрузки больше, чем от простой переменной
Лучше так не делать. Суммоним fantom )))
 
Сообщения
41
Реакции
1
d3m37r4, имеете ввиду рост нагрузки и постоянно проверка будет на alive?
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
N3UR0, флаг игрока лучше проверить при входе и записать в глобальную переменную (например 1 - вип/админ, 0 - игрок), а в
RG_CBasePlayer_TakeDamage проверять по самой переменной

возможно get_user_flags не сильно нагружает сервер, но я уверен что нагрузки больше, чем от простой переменной
А чем этот натив отличается от других в плане производительности? И что делать с ситуациями выдачи флагов во время игры/пост загрузки?
 
Сообщения
197
Реакции
16
Помог
1 раз(а)
d3m37r4, почему?
fl0wer, мне кажется, что от этого натива будет выше нагрузка, чем от обычной переменной. рад буду ошибаться, если это не так, или не критично.
выдача прав на лету у меня реализована также на переменных. если игроку выдали флаг во время игры, то переменная iUserAdmin просто обновится.

upd: заметил, что пишу о переменных, на самом деле имею ввиду массивы
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
  • Lol
Реакции: Ayk
Сообщения
197
Реакции
16
Помог
1 раз(а)
fl0wer, да не, исправил же. значение в ячейке массива меняется прост.
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
kucklovod, а тут она как обновится?
 

d3m37r4

111111
Сообщения
1,429
Реакции
1,169
Помог
10 раз(а)
Стоит сменить флаг игроку и всё поломается. Не нужно кешировать такие данные. По хорошему в лоадере должен быть форвард, вызывающийся, когда у юзера меняется доступ.
 
  • Нравится
Реакции: Ayk
Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
fl0wer,
мне кажется, что от этого натива будет выше нагрузка, чем от обычной переменной
В дамагере это не существенно. Не стоит гнаться за скоростью там где это доставляет больше неудобств чем профита. Если разговор был про think например, то спор имел бы смысл. А так лучше дергать натив.
 
Сообщения
197
Реакции
16
Помог
1 раз(а)
Jumper, в фуллпаке!
fl0wer, где используется выдача флага, туда же user_vip[id] = 1, например
fantom, спасибо
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)

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

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