请选择 进入手机版 | 继续访问电脑版

13号避难所

 找回密码
 立即注册
搜索
查看: 135|回复: 3

枪械(太阳能发射器)修改疑问

[复制链接]
发表于 2018-8-4 21:21:17 来自手机 | 显示全部楼层 |阅读模式
手欠
想把Phazer改成太阳能发射器一样靠日光补充弹药
用f2wedit修改Phazer的弹匣和弹药类型为none
(比照太阳能发射器)后居然还有可卸弹匣选项
试验表明供弹类型由小能量电池变成了BB弹
可以说是失败了
求修改达人解惑
发表于 2018-8-4 21:58:44 | 显示全部楼层
太陽能槍的部份是寫死在引擎內的,你把彈藥種類設成none只是正好和BB彈設定一樣(它沒使用本來定義好的“BB彈”彈種)而已。
 楼主| 发表于 2018-8-5 07:38:25 来自手机 | 显示全部楼层
写死就只能无奈放弃了。
另外,n版,近战武器的击退属性是否也是写死在引擎里的?
如何去除?一旦打飞就滑出半个屏幕,难以追击
不像拳套和刺虎都是原地打趴,方便补上几拳几脚
发表于 2018-8-5 09:19:01 | 显示全部楼层
擊退是直接寫在傷害計算程序內的,每10點傷害擊退一格,武器有Weapon Knockback的perk則是每5點一格,那部份可以用sfall的hook script(HOOK_COMBATDAMAGE)取消掉。

簡單範例:
  1. procedure start;

  2. #include ".\HEADERS\DEFINE.H"
  3. #include ".\HEADERS\define_extra.h"
  4. #include ".\headers\sfall.h"

  5. procedure start begin
  6.    if game_loaded then begin
  7.       register_hook(HOOK_COMBATDAMAGE);
  8.    end else begin
  9.       variable
  10.          target := get_sfall_arg,
  11.          source := get_sfall_arg,
  12.          dmgTarget := get_sfall_arg,
  13.          dmgSource := get_sfall_arg,
  14.          flagsTarget := get_sfall_arg,
  15.          flagsSource := get_sfall_arg,
  16.          weapon := get_sfall_arg,
  17.          knockback := get_sfall_arg;

  18.       knockback := get_sfall_arg;
  19.       knockback := get_sfall_arg;
  20.       knockback := get_sfall_arg;

  21.       // do nothing
  22.       set_sfall_return(dmgTarget);
  23.       set_sfall_return(dmgSource);
  24.       set_sfall_return(flagsTarget);
  25.       set_sfall_return(flagsSource);

  26.       if knockback then begin
  27.          if not(get_proto_data(obj_pid(weapon), PROTO_WP_DMG_TYPE) == DMG_explosion) then begin
  28.             set_sfall_return(0); // no knockback
  29.          end
  30.       end
  31.    end
  32. end
复制代码

knockback會大於0的先決條件之一是武器傷害為爆炸或攻擊模式是近戰武器(揮砍/刺擊),所以只要判斷不是爆炸傷害那就是近戰武器了。
當然要調整擊退的計算方式或單純設個上限別讓人飛得老遠也行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Archiver|13号避难所 ( 沪ICP备05055773号 )

GMT+8, 2018-8-17 14:52 , Processed in 0.026806 second(s), 14 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表