Проверенный
Участник
- Сообщения
- 2,288
- Реакции
- 1,739
- Помог
- 31 раз(а)
подтвердилось! Мне показать все жалобы игроков? Это проблема раз через раз может воспроизвестись! Возможно какие-то бонусы скальпеля конфликтуют, не уверен но есть такое предположение.Не подтвердилось
Или HE или зажигалка. Чем не вариант?то лишаться одного оружия какого-то
Какие ваши доказательства?подтвердилось! Мне показать все жалобы игроков? Это проблема раз через раз может воспроизвестись! Возможно какие-то бонусы скальпеля конфликтуют, не уверен но есть такое предположение.
Это не факты.Мне показать все жалобы игроков?
Вот и разбирайтесь с чем конфликт У ВАС.Это проблема раз через раз может воспроизвестись! Возможно какие-то бонусы скальпеля конфликтуют, не уверен но есть такое предположение.
Я это не решу в любом случае, у скальпеля нет исходников, а он сказал баги исправлять будет не ближе к осени, то есть не скоро, нет времени у него.Вот и разбирайтесь с чем конфликт У ВАС.
bind_pcvar_num(create_cvar(
.name = "reapi_molotov_checking_buy_zone",
.string = "1",
.description = CVAR_DESC("CHECKING_BUY_ZONE"),
.has_min = true,
.min_val = 0.0,
.has_max = true,
.max_val = 1.0),
eCvarData[CHECKING_BUY_ZONE]
)
if(eCvarData[CHECKING_BUY_ZONE] && eCvarData[TIME_TO_BUY] > 0)
{
BuyTime = time() + eCvarData[TIME_TO_BUY]
}
@FixGive(id)
{
if(CheckRound < eCvarData[ROUND_LIMIT_ISSUING]) return
if(get_user_flags(id) & SpwReadFlags == SpwReadFlags)
{
if(eCvarData[GIVE_LIMIT] > 0) GiveLimit[id]++
GiveMolotov(id)
}
}
if(FClassnameIs(item, ITEM_CLASSNAME))
{
new Buffer[64]
ArrayGetString(SaveModels, 0, Buffer, charsmax(Buffer))
SetHookChainArg(2, ATYPE_STRING, Buffer)
Buffer[0] = EOS
ArrayGetString(SaveModels, 1, Buffer, charsmax(Buffer))
SetHookChainArg(3, ATYPE_STRING, Buffer)
SetHookChainArg(4, ATYPE_INTEGER, MOLOTOV_ANIM_DRAW)
}
#if WEAPON_NEW_ID != WEAPON_GLOCK
MsgIdWeaponList = get_user_msgid("WeaponList")
if(MsgIdWeaponList)
{
MsgHookWeaponList = register_message(MsgIdWeaponList, "@HookWeaponList")
}
else
{
FwdRegUserMsg = register_forward(FM_RegUserMsg, "@RegUserMsg_Post", true)
}
#endif
if(CheckCheck[get_member(item, m_pPlayer)])
{
SoundAndCheckLong(get_member(item, m_pPlayer), 1)
}
CheckCheck[get_member(item, m_pPlayer)] = false
SoundAndCheckLong(iPlayer, value=0)
{
if(value == 0)
{
// ...
CheckCheck[iPlayer] = true
}
}
new iMuzzleFlash = get_member(item, m_Weapon_iFamasShotsFired)
if(!is_nullent(iMuzzleFlash))
{
set_entvar(iMuzzleFlash, var_flags, FL_KILLME)
set_member(item, m_flStartThrow, 0.0)
set_member(item, m_Weapon_iFamasShotsFired, NULLENT)
set_member(item, m_Weapon_flNextPrimaryAttack, 0.5)
set_member(item, m_Weapon_flTimeWeaponIdle, 0.75)
}
@Dummy1(time1) return
@Dummy2(time2) return
GiveMolotov(const id)
{
set_task(0.3, "@ammosound", id)
}
@ammosound(id)
{
new Buffer[64]
ArrayGetString(SaveSound, 6, Buffer, charsmax(Buffer))
rh_emit_sound2(id, 0, CHAN_ITEM, Buffer)
}
giveAmmo(const id, const amount, const ammo, const max)
{
if(get_entvar(id, var_flags) & FL_SPECTATOR) return
new count = get_member(id, m_rgAmmo, ammo)
new add = min(amount, max - count)
if(add < 1) return
set_member(id, m_rgAmmo, count + add, ammo)
emessage_begin(MSG_ONE, MsgIdAmmoPickup, .player = id)
ewrite_byte(ammo)
ewrite_byte(add)
emessage_end()
}
SergeyPanov , до осени еще надо дожить - хД)Я это не решу в любом случае, у скальпеля нет исходников, а он сказал баги исправлять будет не ближе к осени, то есть не скоро, нет времени у него.
fantom ,Что будет когда квар сменится в средине раунда? Верно BuyTime будет неверным. Посмотреть исходники регейма и найти мембер который содержит время старта раунда путь для слабаков.Код:bind_pcvar_num(create_cvar( .name = "reapi_molotov_checking_buy_zone", .string = "1", .description = CVAR_DESC("CHECKING_BUY_ZONE"), .has_min = true, .min_val = 0.0, .has_max = true, .max_val = 1.0), eCvarData[CHECKING_BUY_ZONE] ) if(eCvarData[CHECKING_BUY_ZONE] && eCvarData[TIME_TO_BUY] > 0) { BuyTime = time() + eCvarData[TIME_TO_BUY] }
15 Июн 2021Что мы фиксим мне непонятно. Возможно проверяем?Код:@FixGive(id) { if(CheckRound < eCvarData[ROUND_LIMIT_ISSUING]) return if(get_user_flags(id) & SpwReadFlags == SpwReadFlags) { if(eCvarData[GIVE_LIMIT] > 0) GiveLimit[id]++ GiveMolotov(id) } }
15 Июн 2021Использовать динамические массивы для хранения 3 строк? Как так раньше никто до такого не догадался.Код:if(FClassnameIs(item, ITEM_CLASSNAME)) { new Buffer[64] ArrayGetString(SaveModels, 0, Buffer, charsmax(Buffer)) SetHookChainArg(2, ATYPE_STRING, Buffer) Buffer[0] = EOS ArrayGetString(SaveModels, 1, Buffer, charsmax(Buffer)) SetHookChainArg(3, ATYPE_STRING, Buffer) SetHookChainArg(4, ATYPE_INTEGER, MOLOTOV_ANIM_DRAW) }
15 Июн 2021Оставил код с хилки в неизменном виде. Зачем я так понял даже не знаешь сам ибо не разобрался (хотя писал в теме что цена основанная на времени потраченном на то, чтобы разобратся)Код:#if WEAPON_NEW_ID != WEAPON_GLOCK MsgIdWeaponList = get_user_msgid("WeaponList") if(MsgIdWeaponList) { MsgHookWeaponList = register_message(MsgIdWeaponList, "@HookWeaponList") } else { FwdRegUserMsg = register_forward(FM_RegUserMsg, "@RegUserMsg_Post", true) } #endif
15 Июн 2021Логика покинула чатКод:if(CheckCheck[get_member(item, m_pPlayer)]) { SoundAndCheckLong(get_member(item, m_pPlayer), 1) } CheckCheck[get_member(item, m_pPlayer)] = false SoundAndCheckLong(iPlayer, value=0) { if(value == 0) { // ... CheckCheck[iPlayer] = true } }
15 Июн 2021Отличная идея хранить ентити в айтеме . А когда айтем умрет, думать куда она деласьКод:new iMuzzleFlash = get_member(item, m_Weapon_iFamasShotsFired) if(!is_nullent(iMuzzleFlash)) { set_entvar(iMuzzleFlash, var_flags, FL_KILLME) set_member(item, m_flStartThrow, 0.0) set_member(item, m_Weapon_iFamasShotsFired, NULLENT) set_member(item, m_Weapon_flNextPrimaryAttack, 0.5) set_member(item, m_Weapon_flTimeWeaponIdle, 0.75) }
15 Июн 2021У-уникальность. И она должна быть между 1 и 2Код:@Dummy1(time1) return @Dummy2(time2) return
15 Июн 2021Использовать уже существующий хук выдачи аммо это удел глупых.Код:GiveMolotov(const id) { set_task(0.3, "@ammosound", id) } @ammosound(id) { new Buffer[64] ArrayGetString(SaveSound, 6, Buffer, charsmax(Buffer)) rh_emit_sound2(id, 0, CHAN_ITEM, Buffer) }
Подсказка 15 Июн 2021
Код:giveAmmo(const id, const amount, const ammo, const max) { if(get_entvar(id, var_flags) & FL_SPECTATOR) return new count = get_member(id, m_rgAmmo, ammo) new add = min(amount, max - count) if(add < 1) return set_member(id, m_rgAmmo, count + add, ammo) emessage_begin(MSG_ONE, MsgIdAmmoPickup, .player = id) ewrite_byte(ammo) ewrite_byte(add) emessage_end() }
1. Новые нативы (возможно форварды)
Ну а почему-бы и нетwellasgood, Все так же кострами горит? Из стен, воздуха и т.д.?