如何在REFramework和 Lua的帮助下,在《生化危机4重制版》中生成特定敌人并大量增加弹药?

编程语言 2026-07-12

我正在开发一个Discord机器人,通过REFramework的 Lua脚本实时控制RE4 Remake,纯粹为了和我的朋友们一起玩。到现在已经实现了一些功能,但有两个具体问题卡住了。

目前已经实现的功能:

通过ctx:get_HitPoint():set_CurrentHitPoint() 来读取和设置里昂的HP

通过hp:set_Invincible(true) 启用无敌模式

通过enemy:get_HitPoint():dead() 杀死所有敌人

问题1——生成特定敌人

我在chainsaw.CharacterManager上钩取了requestCreateHead、requestCreateBody和 requestSpawn,并准确捕捉到一个可工作训练器在生成Ganado(KindID=200000)时的做法:

requestCreateHead: arg[2]=CharacterInstanceCoordinator arg[3]=ContextID(Str=16740001) arg[4]=200000

requestCreateBody: arg[2]=CharacterInstanceCoordinator arg[3]=ContextID(Str=16740001) arg[4]=200000

requestSpawn: arg[2]=CharacterManager arg[3]=ContextID(Str=16740001) arg[4]=ContextID(Str=16740001)

我可以通过charMgr:get_InstanceCoordinator() 获取CharacterInstanceCoordinator,并通过charMgr:generateDynamicContextID() 生成ContextID,但我不知道如何将KindID(200000)作为requestCreateHead和 requestCreateBody的第三个参数传入。

我尝试过但不起作用的方法:

sdk.create_instance("chainsaw.Ch1c0SpawnParamCommon") + requestSpawn — 执行没有错误,但没有任何效果

直接使用CharacterSpawnParamDB中的SpawnParams — 同样,没有出现任何敌人

有谁知道如何在Lua中正确地调用带有KindID的 requestCreateHead,或者即使我做错了什么,应该如何生成特定的敌人?

问题2——向特定类型的武器添加弹药

我想给特定武器类型(手枪、霰弹枪、步枪)添加弹药,与里昂当前装备的武器无关。我使用的是chainsaw.EquipmentManager。

我尝试过的方法:

equipMgr:get_EquipWeapon(0) — 只返回当前武器

查看chainsaw.InventoryManager的方法 — 发现findInventoryController,但不知道如何用它来获取特定武器的堆栈

有谁知道如何在背包中按武器类型找到弹药并增加数量吗?

环境:

RE4 Remake(Steam,2023)

REFramework来自Nexus Mods(最新版,2024/2025)

通过reframework/autorun/ 的Lua脚本

CharacterManager的 KindID已确认:Ganado=200000,Garrador=200009,Verdugo=81105,Dr.Salvador=81109

提前致谢!

解决方案

只能通过场景来生成更多敌人,/ 或使用REasy或 RE Content编辑器。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章