Участник
Пользователь
- Сообщения
- 264
- Реакции
- 80
- Помог
- 1 раз(а)
Всем привет! (забегая вперёд скажу сразу, плагин работает, всё хорошо)
В связи с тем что, в новом обновлении: ReGame 269, добавили квар: mp_item_staytime
Решил отказаться от 2-вух плагинов: csdm_misc.amxx / csdm_map_cleaner.amxx / А также от модуля: hamsandwich
Сделал себе вот такой плагин!
Вопрос к скриптерам! ..
1: Что скажите по коду? Может есть что-то лишнее или быть может, есть реализация по лучше?
2: С бомбой еще не разобрался, в смысле как её убирать с помощью плагина, и вообще возможно это без модуля: hamsandwich
Конечно можно её выпилить и в самой карте, но хочется иметь это в плагине!
По поводу бомбы, нашел вот это. (правда есть инфа о том что, плагин создает эвен удаления бомбы, но когда нужно он его не удаляет)
В связи с тем что, в новом обновлении: ReGame 269, добавили квар: mp_item_staytime
Решил отказаться от 2-вух плагинов: csdm_misc.amxx / csdm_map_cleaner.amxx / А также от модуля: hamsandwich
Сделал себе вот такой плагин!
Код:
#include <amxmodx>
#include <fakemeta>
#define PLUGIN "Block MsgId"
#define VERSION "1.4"
#define AUTHOR "REVO"
#define HIDE_ROUND_TIMER (1<<4)
new g_msgid_hideweapon
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
// Блокировка зоны закупки
register_message(get_user_msgid("StatusIcon"), "Msg_StatusIcon")
// Блокировка таймера HUD
g_msgid_hideweapon = get_user_msgid("HideWeapon")
register_message(g_msgid_hideweapon, "message_hide_weapon")
register_event("ResetHUD", "event_hud_reset", "b")
set_msg_block(get_user_msgid("RoundTime"), BLOCK_SET)
// Блокировка радио команд
register_clcmd("radio1", "cmd_block"); register_clcmd("radio2", "cmd_block")
register_clcmd("radio3", "cmd_block"); register_clcmd("coverme", "cmd_block")
register_clcmd("takepoint", "cmd_block"); register_clcmd("holdpos", "cmd_block")
register_clcmd("regroup", "cmd_block"); register_clcmd("followme", "cmd_block")
register_clcmd("takingfire", "cmd_block"); register_clcmd("go", "cmd_block")
register_clcmd("fallback", "cmd_block"); register_clcmd("sticktog", "cmd_block")
register_clcmd("getinpos", "cmd_block"); register_clcmd("stormfront", "cmd_block")
register_clcmd("report", "cmd_block"); register_clcmd("roger", "cmd_block")
register_clcmd("enemyspot", "cmd_block"); register_clcmd("needbackup", "cmd_block")
register_clcmd("sectorclear", "cmd_block"); register_clcmd("inposition", "cmd_block")
register_clcmd("reportingin", "cmd_block"); register_clcmd("getout", "cmd_block")
register_clcmd("negative", "cmd_block"); register_clcmd("enemydown", "cmd_block")
// Блокировка подсказок в игре
set_msg_block(get_user_msgid("HudTextArgs"), BLOCK_SET)
// Блокировка денег
set_msg_block(get_user_msgid("Money"), BLOCK_SET)
}
public cmd_block(id) return PLUGIN_HANDLED
public Msg_StatusIcon(msgid,msgdest,id)
{
static szMsg[8]
get_msg_arg_string(2, szMsg, 7)
if (equal(szMsg, "buyzone") && get_msg_arg_int(1))
{
set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1 << 0))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public message_hide_weapon()
set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | HIDE_ROUND_TIMER)
public event_hud_reset(id)
{
message_begin(MSG_ONE, g_msgid_hideweapon, _, id)
write_byte(HIDE_ROUND_TIMER)
message_end()
}
1: Что скажите по коду? Может есть что-то лишнее или быть может, есть реализация по лучше?
2: С бомбой еще не разобрался, в смысле как её убирать с помощью плагина, и вообще возможно это без модуля: hamsandwich
Конечно можно её выпилить и в самой карте, но хочется иметь это в плагине!
14 Ноя 2017
Код:
new g_forwads
public plugin_init()
{
unregister_forward(FM_Spawn, g_forwads)
}
public plugin_natives()
{
g_forwads = register_forward(FM_Spawn, "ent_spawn")
}
public ent_spawn(ent)
{
if(!pev_valid(ent)) return FMRES_IGNORED
static classname[33]; pev(ent, pev_classname, classname, charsmax(classname))
if(equal(classname, "func_bomb_target") || equal(classname, "info_bomb_target"))
{
engfunc(EngFunc_RemoveEntity, ent)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}