下面是引用 曾李源 於 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); }