Skip to content

群鸟绘卷的自用修改

当前修改版本: v10.403

当前修改模组ID: 3161117403

1. WeGame无法用

目前可能有很多问题, 主要表现为进档就崩, 无报错, 无弹窗, 无日志, 无法询问豆包

以下列出暂时能找到的作者故意埋得雷, 贴出的代码块都需要去源文件里删掉或注释

随着群鸟更新, 以后可能会有更多的陷阱, 如果找得到就改了更新, 找不到就暂时不更新

1.1 modmain.lua中结尾的显式提醒

此段会进行平台甄别, 弹窗后10秒退出游戏, 删掉或注释掉

lua
 i_util:AddSessionLoadFunc(function()
     if PLATFORM == "WIN32_RAIL" or IsRail() then
         local function fn_quit()
             TheSim:Quit()
         end
         h_util:CreatePopupWithClose("提示", "本mod不再支持辣鸡WeGame平台,版本号都不会写就别搬运了。", {
             {text = h_util.yes,
             cb = fn_quit}
         })
         i_util:DoTaskInTime(10, fn_quit)
     end
 end)

1.2 modtable/44.lua 196行附近

此段会检测: 如果不是呼吸并且模组文件夹名不带("op"), 那么会发生后边的事, 具体什么事没试, 不过肯定没好事.

豆姐说会导致玩家按键失灵, 干扰聊天输入

steam创意工坊的模组在游戏中会自动加上workshop-的前缀(所以会包含op二字), 这个检测用来防止用的不是创意工坊的正版群鸟, 删掉或注释掉

lua
local path =  Mod_ShroomMilk.Mod['春'].path
if not m_util:IsHuxi() and not path:find("op") then m_util.IsTyping = function() return math.random() < .5 end end

1.3 modtable/92.lua 103行附近

检测: 如果模组文件名不带"111"或者"spring", 那么就清空用户设置

删掉或注释

不删也影响不大, 因为我们是从322330的工坊文件夹复制的3161117403文件夹, 是带"111"的, 除非你自己将文件夹名字改了, 若要改就改个带"spring"的

lua
if not (modname:find("111") or modname:find("spring")) then t_util:Clear(s_mana.data) fn_save()end

1.4 闪退原因一 modtable/end.lua 125行附近

lua
if not m_util:IsMilker() and 
    not modname:find("shop") then
    if Mod_ShroomMilk.Func.SnakeLoop then
        Mod_ShroomMilk.Func.SnakeLoop()
    end
end

这个是进档闪退的原因之一

他检测: 如果不是呼吸并且模组文件夹不含"shop", 那么定时执行递归, 递归方法定义在34.lua, 这里是调用. 会在极短时间内使玩家内存爆掉, 删掉此段或注释

34.lua里的递归定义 108行附近

lua
local function SnakeLoop()
	local timesnake = math.random(1, 600)/10
	i_util:DoTaskInTime(timesnake, SnakeLoop)
	i_util:DoTaskInTime(timesnake, SnakeLoop)
end

每次调用自己, 会再调用两次自己, 指数级增长无限递归, 直到内存泄露程序中断

1.5 闪退原因二 scripts/components/hx_pusher.lua 132行附近

lua
if _G[pc.hurl]:sub(-1) == "L" then
	player.entity:SetParent(player.entity)
end

这段会检测"_G[pc.hurl]"结尾带"L"的

接着会让玩家实体产生循环父子引用, 导致引擎在渲染/物理层疯狂递归计算,瞬间耗尽内存

_G[pc.hurl] 在WeGame饥荒游戏中打印出来是: WIN32_RAIL, 符合条件

需要删掉此段

2. 模组冲突导致的地图图标失效

场景描述:

在开启萌新的扫描地图后, 群鸟的虫洞标记失效

解决方法:

scripts/data/modtable.lua文件中, 318行附近, 删掉"扫描地图"和一个逗号

lua
{"地图图标+", "地图图标", "MapIcon", "扫描地图", "地形预览", "扫描地形"},

3. 无法使用官方的建筑对齐

场景描述:

打开游戏设置里边的建筑对齐, 却无法生效.

解决办法:

这个得修改群鸟秋 3161120380, modtable/5.lua文件中最后一行, 删掉即可

lua
GLOBAL.HAS_AXISALIGNED_MOD_ENABLED = true

上次更新于: