下面是引用 曾李源 于 2014-11-23 18:12 发表的 ZP武器前备弹量与武器换弹速度插件冲突问题: 各位大大好久不见,最近我发现了一个BUG又要麻烦您来帮我看看了先使用武器弹量插件把AK47或其他任何枪的弹量调高至默认以上比如32发,再使用武器换弹插件把AK47或其他任何枪的上弹时间变小比如0.5倍,当弹量低于默认值29或高于默认值31时换弹时间都和设定的一致缩短了0.5倍但是当弹量等于默认值30时换单速度却又变成了原本的1.0倍,我不知道是那个插件出的问题也不知道应该对谁修改请大大指点一下在下感激不尽
下面是引用 s8720419 于 2014-11-26 00:59 发表的 : 试着把amxx顺序给换一下..试看看
下面是引用 e1242656 于 2014-11-26 17:54 发表的 : 我的CVAR可能跟你的不一样请使用这两个格式去做调整weap_maxclip <weapon name> <maxclip>weap_<weapon name>_reloadtime <time>范例:weap_p228_reloadtime 1.4weap_maxclip p228 7
下面是引用 mnbmnb5266 于 2014-11-26 18:33 发表的 : 大大你好我就是曾李源虽然按照您说的去做了但还是会出现这个问题
"弹量插件"在 [子弹数为CS内建值] 时,以 [自订的方式] 去装填子弹。"上弹时间"则是由 [Ham_Weapon_Reload] 捕捉武器装填,并 [覆写上弹时间]=>因此上弹时间在符合条件 [子弹数为CS内建值] 并不会被覆写
在"弹量插件" [自订的方式] 之后 [加上 'ExecuteHamB'] 让 "上弹时间" 能由 [Ham_Weapon_Reload] 读取到此换弹动作
弹量插件:复制程式 // [子弹数为CS内建值] else if( iClip == g_iDftMaxClip[iId] ) { if( iBpAmmo ) { // <[自订的方式]> set_pdata_float(id, m_flNextAttack, g_fDelay[iId], XTRA_OFS_PLAYER) if( SILENT_BS & (1<<iId) && get_pdata_int(iEnt, m_fSilent, XTRA_OFS_WEAPON) ) { SendWeaponAnim( id, iId == CSW_USP ? 5 : 4 ) } else { SendWeaponAnim(id, g_iReloadAnims[iId]) } set_pdata_int(iEnt, m_fInReload, 1, XTRA_OFS_WEAPON) set_pdata_float(iEnt, m_flTimeWeaponIdle, g_fDelay[iId] + 0.5, XTRA_OFS_WEAPON) // <[自订的方式]/> } } 上弹时间:复制程式 // [Ham_Weapon_Reload] public fw_WeaponReload(weapon) { // ... // [覆写上弹时间] time = get_user_next_attack(owner) * multiplier set_user_next_attack(owner, time) set_weapon_idle_time(weapon, time + 0.5) // [加上 'ExecuteHamB'] ExecuteHamB(Ham_Weapon_Reload, iEnt); }
// [子弹数为CS内建值] else if( iClip == g_iDftMaxClip[iId] ) { if( iBpAmmo ) { // <[自订的方式]> set_pdata_float(id, m_flNextAttack, g_fDelay[iId], XTRA_OFS_PLAYER) if( SILENT_BS & (1<<iId) && get_pdata_int(iEnt, m_fSilent, XTRA_OFS_WEAPON) ) { SendWeaponAnim( id, iId == CSW_USP ? 5 : 4 ) } else { SendWeaponAnim(id, g_iReloadAnims[iId]) } set_pdata_int(iEnt, m_fInReload, 1, XTRA_OFS_WEAPON) set_pdata_float(iEnt, m_flTimeWeaponIdle, g_fDelay[iId] + 0.5, XTRA_OFS_WEAPON) // <[自订的方式]/> } }
// [Ham_Weapon_Reload] public fw_WeaponReload(weapon) { // ... // [覆写上弹时间] time = get_user_next_attack(owner) * multiplier set_user_next_attack(owner, time) set_weapon_idle_time(weapon, time + 0.5) // [加上 'ExecuteHamB'] ExecuteHamB(Ham_Weapon_Reload, iEnt); }