引用 | 编辑
mingjey2000
2019-05-22 20:11 |
楼主
▼ |
||||||||||||
![]() 测试后算是一把完美的枪支,但它有个小小毛病,在第一次装子弹后,只要每点击一次发射, 它便会自动补一次子弹动作,但问题是明明子弹还很多,它根本不需要提前自动装子弹吧, 所以想请大家帮帮忙,这个小小毛病要从哪一段程式去修正它! "让子弹用完才能自动补子弹"
![]()
|
引用 | 编辑
弑血
2019-05-22 20:45 |
1楼
▲ ▼ |
下面是引用 mingjey2000 于 2019-05-22 20:11 发表的 关于这把枪的问题: 269行后面没有写完..不晓得是不是这原因导致这把武器出问题 // 使用了武器射速参数 但是没有记忆体位置标示 set_pdata_float( Player, 83, OFFSET_TIME_ATTACK ) //修改后 set_pdata_float( Player, 83, OFFSET_TIME_ATTACK, 5 ) ![]() |
引用 | 编辑
mingjey2000
2019-05-22 22:20 |
2楼
▲ ▼ |
弑血大大
这样改还是一样不行 ![]() |
引用 | 编辑
mingjey2000
2019-05-23 12:15 |
4楼
▲ ▼ |
改成这指令后
if( fInReload && flNextAttack <= 0.0 && !iClip) 有时可正常,有时又会自动补一次子弹 原本45颗子弹,自动补弹后变回8颗,当子弹用完或是"手动装弹"又变回45颗,每发射一下又自动补一次子弹, 它确实是散弹枪的写法,也许只好从子弹数量设定成 8颗,让它能配合(不超过8颗就不会出现提前自动补子弹动作) 132行 cvar_clip = register_cvar("zp_pl_clip", "45") // 子弹数 改成 cvar_clip = register_cvar("zp_pl_clip", "8") // 子弹数 ![]() |
引用 | 编辑
弑血
2019-05-23 14:48 |
5楼
▲ ▼ |
下面是引用 mingjey2000 于 2019-05-23 12:15 发表的 : 707行改这段看看 if (iClip >= iClipExtra) return HAM_SUPERCEDE 修改后 if (iClip >= iClipExtra || iClip) return HAM_SUPERCEDE 修改成如果clip内还有子弹就不能装填看看 如果还是不行 那我建议 把m3改掉 换成别把步枪 ![]() |
引用 | 编辑
mingjey2000
2019-05-23 16:43 |
6楼
▲ ▼ |
假如真这么做的话等于是强迫它把事情做完
当玩家想提前手动补个子弹,这时可能会认为案键是不是坏了...哈哈 您说把m3改成别把步枪? 我改改看 ![]() |
引用 | 编辑
mingjey2000
2019-05-23 17:15 |
8楼
▲ ▼ |
我把m3霰弹枪改为M4A1步枪
并将子弹数改回45颗,装弹后变成30颗(自动提前装弹问题没在发生过) 当我买了M4A1步枪使用,这时...子弹速度也变成毒药离子枪速度(很慢) 飞出去的速度反成一个困扰 42行 #define CSW_WPN_POISON CSW_M4A1 46行 new const gWeapon[] = "weapon_m4a1" 160行 if (equal("events/m4a1.sc", name)) 370行 if(equal(model, "models/w_m4a1.mdl")) ![]() |
引用 | 编辑
弑血
2019-05-23 17:58 |
9楼
▲ |
下面是引用 mingjey2000 于 2019-05-23 17:15 发表的 : 看了全部内容 大概知道原因在哪 你那m4a1可能没有关掉毒枪效果,关掉毒枪要丢弃武器 你尝试切换武器 看看有没有跳出毒枪的模组 此作者 并没有用curweapon事件去做检查手部武器模组 当下只有 178行的 public fw_item_addtoplayer(ent, id) //拾取道具时 跟 620行的 public fw_Item_Deploy_Post(weapon_ent) // 切换武器 才有给予毒枪模组 也有可能是 武器没有正常显示出毒枪模组 但是 效果依然存在导致 你看到是正常m4a1的外观 但是实际上 毒枪效果依然存在 ![]() |