Добрый вечер товарищи.
Подскажите пожалуйста.
Как сделать, чтобы у игрока с флагом(например админа), не могли отобрать с4?
Игрался с get_user_flags, но что-то я делаю не так, и плагин перестает работать.
Подскажите пожалуйста.
Как сделать, чтобы у игрока с флагом(например админа), не могли отобрать с4?
Игрался с get_user_flags, но что-то я делаю не так, и плагин перестает работать.
Код:
// Copyright © 2017 Vaqtincha
// Original Plugin Authors "joaquimandrade and ConnorMcLeod"
/**■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#define INFO_HUD_POSITION -1.0, 0.40 // Позиция худ информера
#define INFO_HUD_COLOR 125, 110, 200 // Цвет худ информера
#define PLAYER_MAX_WAIT_TIME 15 // Время бездействия игрока после которого можно взять его бомбу
// #define BOT_WAIT_TIME_IGNORE // игнорировать PLAYER_MAX_WAIT_TIME у ботов (от них всегда можно взять бомбу)
/**■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#include <amxmodx>
#include <hamsandwich>
#include <reapi>
#define PL_VERSION "0.0.1b"
#define PLAYER_USE_RADIUS 75
new g_iHudSync
public plugin_init()
{
register_plugin("Bomb Taker", PL_VERSION, "Vaqtincha")
if(bool:get_member_game(m_bMapHasBombTarget))
{
RegisterHam(Ham_ObjectCaps, "bot", "CBasePlayer_ObjectCaps", .Post = false)
RegisterHam(Ham_ObjectCaps, "player", "CBasePlayer_ObjectCaps", .Post = false)
RegisterHam(Ham_Use, "bot", "CBasePlayer_PlayerUse", .Post = true)
RegisterHam(Ham_Use, "player", "CBasePlayer_PlayerUse", .Post = true)
register_event("StatusValue", "Event_StatusValue_Show", "be", "1=3"/*HEALTH*/, "2>0")
register_event("StatusValue", "Event_StatusValue_Hide", "b", "1=1", "2=0")
g_iHudSync = CreateHudSyncObj()
}
else {
pause("ad")
}
}
public CBasePlayer_ObjectCaps(const pPlayer)
{
SetHamReturnInteger(FCAP_ONOFF_USE)
return HAM_SUPERCEDE
}
public CBasePlayer_PlayerUse(const pPlayer, const pActivator, const pCaller, const use_type, const Float:value)
{
if(value == 0.0 || !is_user_alive(pActivator) || get_member(pActivator, m_iTeam) != TEAM_TERRORIST)
return
if(is_user_alive(pPlayer) && CanUseThisPlayer(pPlayer)) {
rg_transfer_c4(pPlayer, pActivator)
}
}
public Event_StatusValue_Hide(const pPlayer) {
ClearSyncHud(pPlayer, g_iHudSync)
}
public Event_StatusValue_Show(const pPlayer)
{
if(get_member(pPlayer, m_iTeam) != TEAM_TERRORIST)
return
new pTarget, iBody
get_user_aiming(pPlayer, pTarget, iBody, PLAYER_USE_RADIUS)
if(pTarget > 0 && iBody > 0 && is_user_alive(pTarget) && CanUseThisPlayer(pTarget))
{
set_hudmessage(INFO_HUD_COLOR, INFO_HUD_POSITION, .holdtime = 1.5, .fadeintime = 0.5, .fadeouttime = 0.5)
ShowSyncHudMsg(pPlayer, g_iHudSync, "Нажмите ^"E^" чтобы взять бомбу")
}
else {
ClearSyncHud(pPlayer, g_iHudSync)
}
}
stock bool:CanUseThisPlayer(pPlayer)
{
if(!get_member(pPlayer, m_bHasC4))
return false
#if defined BOT_WAIT_TIME_IGNORE
if(is_user_bot(pPlayer))
return true
#endif
return bool:((get_gametime() - Float:get_member(pPlayer, m_fLastMovement)) > PLAYER_MAX_WAIT_TIME.0)
}