Пользователь
- Сообщения
- 25
- Реакции
- -4
Pokemoshka, он вообще перестает работать. Как правильно сделать подскажите плиз
#include <amxmodx>
#include <reapi>
#pragma semicolon 1
const VIP_DAMAGE_FLAG = ADMIN_LEVEL_C;
new const Float:g_flDamageCoords[][] = {
{0.50, 0.41}, // up
{0.54, 0.43},
{0.56, 0.49}, // right
{0.54, 0.55},
{0.50, 0.57}, // bottom
{0.46, 0.55},
{0.44, 0.49}, // left
{0.46, 0.43}
};
new g_iPlayerDamageCoords[MAX_PLAYERS+1];
new bool:g_bIsPlDamageFlag[MAX_PLAYERS+1];
public plugin_init() {
register_plugin("Bullet Damage", "0.0.1", "ConnorMcLeod");
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post = true);
}
public client_putinserver(id){
g_bIsPlDamageFlag[id] = (get_user_flags(id) & VIP_DAMAGE_FLAG) ? true : false;
}
public CBasePlayer_TakeDamage(const id, const pevInflictor, const pevAttacker, const Float:flDamage) {
if(is_user_connected(pevAttacker) && g_bIsPlDamageFlag[pevAttacker] && get_member(id, m_iTeam) != get_member(pevAttacker, m_iTeam)) {
static iPosCoord;
g_iPlayerDamageCoords[pevAttacker] = ++iPosCoord;
if(iPosCoord == sizeof(g_flDamageCoords))
iPosCoord = g_iPlayerDamageCoords[pevAttacker] = 0;
set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), g_flDamageCoords[iPosCoord][0], g_flDamageCoords[iPosCoord][1], _, _, 1.0);
show_hudmessage(pevAttacker, "%d", floatround(flDamage, floatround_floor));
}
}
&& g_bIsPlDamageFlag[pevAttacker]
есть версия с фиксом под ReAPI?WILL_BE, да у меня уже исправлено это ) только лучше >= 1.0, ибо если нанесет 0.4 урона, покажет 0 по факту, вроде как )
public CBasePlayer_TakeDamage(const id, const pevInflictor, const pevAttacker, const Float:flDamage) {
new fltDamage = floatround(flDamage, floatround_floor);
if(is_user_connected(pevAttacker) && g_bIsPlDamageFlag[pevAttacker] && rg_is_player_can_takedamage(id, pevAttacker) && (fltDamage > 1)) {
static iPosCoord;
g_iPlayerDamageCoords[pevAttacker] = ++iPosCoord;
if(iPosCoord == sizeof(g_flDamageCoords))
iPosCoord = g_iPlayerDamageCoords[pevAttacker] = 0;
set_hudmessage(0, _, 200, g_flDamageCoords[iPosCoord][0], g_flDamageCoords[iPosCoord][1], _, _, 1.0);
show_hudmessage(pevAttacker, "%d", fltDamage);
}
}