Заблокировать способность в другом условии

Сообщения
1,560
Реакции
1,572
Помог
2 раз(а)
Ошибка
Заблокировать способность в другом условии
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5263
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.7.0.695-dev-mpatch
Build date: 14:51:37 Apr 6 2020 (2186)
Build from: https://github.com/dreamstalker/rehlds/commit/7513e71
ReGamedll
ReGameDLL version: 5.16.0.460-dev
Build date: 10:11:49 May 2 2020
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/4f72525
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] Reunion RUN - reunion_mm_i386.so v0.1.0.92c ini Start Never
[ 2] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 3] SafeNameAndChat RUN - SafeNameAndChat.so v1.1 ini ANY ANY
[ 4] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 5] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 6] WHBlocker RUN - whblocker_mm_i386.so v1.5.697 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 8] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl ANY
[ 9] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5263 ini Start ANY
[10] ReAPI RUN - reapi_amxx_i386.so v5.12.0.192-dev pl9 ANY Never
[11] Fun RUN - fun_amxx_i386.so v1.9.0.5263 pl9 ANY ANY
[12] Engine RUN - engine_amxx_i386.so v1.9.0.5263 pl9 ANY ANY
[13] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5263 pl9 ANY ANY
[14] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5263 pl9 ANY ANY
[15] CSX Extended RUN - csx_amxx_i386.so v1.5 pl9 ANY ANY
[16] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5263 pl9 ANY ANY
[17] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl9 ANY Never
[18] AuthEmu RUN - authemu_amxx_i386.so v4.2.12.311-dev+m pl9 ANY Never
[19] MySQL RUN - mysql_amxx_i386.so v1.9.0.5263 pl9 ANY ANY
19 plugins, 19 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] MultiMod Manager 2.2 JoRoPiTo multimod.amxx running
[ 2] Throw Knife 1.0.2 -]ToC[-Bludy/JTP10181 throw_knife.amxx running
2 plugins, 2 running
Автор плагина
-]ToC[-Bludy/JTP10181
Версия плагина
1.0.2
Исходный код
Не могу приложить Код полностью по личным соображениям
public CmdStart(id)
{
if(!is_user_alive(id))
return;

static iButton; iButton = pev(id, pev_button)
static iOldButton; iOldButton = pev(id, pev_oldbuttons)

if( ( iButton & IN_USE ) && !( iOldButton & IN_USE ) )
{
if(!is_user_alive(id))
return;

if(knifeammo[id] == 0)
{
client_print(id,print_center,"Больше нет Мечей",knifeammo[id])

message_begin(MSG_ONE, gMsgBarTime, _, id)
write_byte(0)
write_byte(0)
message_end()
return;
}

knife_animation(id, 2, "models/models_wc/v_knife.mdl")
emit_sound(id, CHAN_VOICE, KNIFE_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)

message_begin(MSG_ONE, gMsgBarTime, _, id)
write_byte(get_pcvar_num(cvar_timeknife))
write_byte(0)
message_end()

set_task(get_pcvar_float(cvar_timeknife), "command_knife", id+TASK_BARTIME)
}

if( iOldButton & IN_USE && !( iButton & IN_USE ) )
set_task(0.1, "knife_stop", id)
}
Есть Способность,когда в руках Нож.
Выполняеться по
Код:
if( ( iButton & IN_USE ) && !( iOldButton & IN_USE ) )
И по
Код:
gMsgBarTime = get_user_msgid("BarTime")
Проблема:
Нужно в момент розминирования Бомбы,когда в руках нож,заблокировать Способность
Ибо когда Минируешь - выполняеться Способность

Событие начала разминирования бомбы:
Код:
register_event("BarTime", "event_function", "be", "1=5", "1=10")
Далее
Код:
public event_function()
{
    ?????
}
=====
Код:
IN_RELOAD
не предлагать ( там другие пряники ) :smile3:
 
Сообщения
212
Реакции
334
Помог
3 раз(а)
Вообще, кнопка использования предметов использует не только бомбу, поэтому таким методом, возможно, получиться только покрыть кейс использования бомбы. А как же нажатие на кнопки, использование турелей, взаимодействия с другими объектами?
Так как +use для взаимодействия с объектами и предназначен, имело бы смысл активировать какие либо способности на эту кнопку только тогда, когда ничего использоваться не удается (когда еще звук всем известный воспроизводиться). Довольно неожиданно, что для этого даже есть целый хук в ReAPI:
C:
    /*
    * Description:      Called when a player press use and if a suitable candidate is not found.
    * Return type:      void
    * Params:           (const this)
    */
    RG_CBasePlayer_UseEmpty,
Так раз ловит импульсное нажатие +use, когда активировать перед игроком нечего. Достаточно зарегистрировать обработчик и там способность реализовать.
 

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

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