13号避难所

 找回密码
 立即注册
搜索
查看: 1889|回复: 5
打印 上一主题 下一主题

版主,我发现地下掩体市几个加减hp的perk的古怪地方

[复制链接]
跳转到指定楼层
楼主
发表于 2019-7-21 22:24:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 PERK_autodoc_hp_neg2_perk,就是地下掩体市外城看医生,根据幸运增减hp的perk之一,我发现1幸运也得不到这个perk,于是查了一下脚本,发现判定不太一样
===
if( is_success( dude_luck < 2 ) ) then begin // Seraph's Code -edited by killap
      critter_add_trait( dude_obj, TRAIT_PERK, PERK_autodoc_hp_neg2_perk, 1 );

===
红字的判定是啥意思啊?

2 地下掩体市8个增减hp的perk,其加减的hp似乎既不是基础hp也不是额外hp...
因为我那个重写最大hp的脚本的原因,系统正常给角色的额外hp会全部无效,升级的生命,lg增加的生命都没用,但是这8个perk的效果却不能被覆盖,所以它们的机制难道也是全局变量或者类似的东西?

3 似乎队友控制功能和覆盖hp的脚本冲突。
可能是复写hp的脚本会不停读取角色的属性,而队友控制系统也在不停的读取存储转换各个角色的属性,最后两者出现了冲突。
需要在脚本运行之前+一个判定当前角色是“真主角”的条件,我是用(if get_pc_stat(PCSTAT_experience) != 0 then begin )之后才能正常运行...
具体表现多种多样,只要队友攻击到主角(无论是有意攻击还是扫射误伤),主角的hp马上变得不正常,甚至有的时候主角hp直接=0...还有的时候控制着队友的时候一旦将鼠标移动到主角身上直接退出游戏...

最后多谢版主了!这个hp的脚本是第一个真正意义上不是抄别人而是自己写成功的脚本,所有效果都达到了预期,虽然写法很蠢...真的多谢了!!!

沙发
发表于 2019-7-21 23:50:12 | 只看该作者
1. 如果丟給它的擲骰結果是成功就回傳“真”值。
2. 那幾個是直接在引擎內對HP進行增減,和Gifted加的SPECIAL一樣不儲存在角色資料中。
3. 你想判定“真主角”的話用real_dude_obj。
另外如果可以給我選擇宰掉sfall一項功能,我會選隊友控制。
板凳
 楼主| 发表于 2019-7-22 13:02:53 | 只看该作者
队友控制看来真的容易起冲突...

然后一个hook脚本里面的参数可以用在别的hook脚本或者global脚本里么?
举例来说,调整命中率的HS_Tohit里的“The attacker”,“The unmodified hit chance”可以用在hs_calcapcost之中吗?

另外perks.ini可以像禁止天赋一样禁止专长的功能吗?
地板
发表于 2019-7-22 14:27:42 | 只看该作者
1. 一個global script內你可以放好幾個procedure然後分別給不同hook,這樣設個全域變數把值給它就直接可以在其他procedure內用上了。
2. trait數量就得那麼多個,不能減少,你不想要某個trait就得把它換成別的。
5#
 楼主| 发表于 2019-7-24 00:19:07 | 只看该作者
novarain 发表于 2019-7-22 14:27
1. 一個global script內你可以放好幾個procedure然後分別給不同hook,這樣設個全域變數把值給它就直接可以 ...

1 ...不太明白,怎么写啊
2 ...额,我说的是perk.ini不是能用NoHardcode=1禁止trait生效吗?有类似的参数禁止perk的效果吗?
6#
发表于 2019-7-25 11:29:02 | 只看该作者
1. 可參考modderspack內mods文件夾的腳本。
2. 沒有。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Archiver|13号避难所

GMT+8, 2024-4-19 14:03 , Processed in 0.056677 second(s), 13 queries .

快速评论 返回顶部 返回列表