安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题
-- Checks and fixes zombies stuck in turnalerted animation (runs every ~1 second)
local function CheckZombieAnimationState()
if not (isClient() or isServer()) then return end -- Skip in single-player
local cell = getCell()
local zombies = cell:getZombieList()
if not zombies then return end -- Early exit if no zombies
local size = zombies:size() -- Cache size to avoid repeated calls
for i = 0, size - 1 do
local zombie = zombies:get(i)
if zombie and not zombie:getVariableBoolean("Bandit") then
local modData = zombie:getModData() -- Cache mod data
local currentState = zombie:getActionStateName()
local stuckTime = modData.stuckTime or 0
if currentState == "turnalerted" then
stuckTime = stuckTime + 1
modData.stuckTime = stuckTime
-- Reset zombie if stuck in turnalerted for ~5 seconds (300 ticks at 60 FPS)
if stuckTime > 300 then
modData.stuckTime = 0
zombie:setActionStateName("idle")
zombie:setTurnDelta(0)
zombie:setTurnAlertedValues(0, 0)
zombie:resetModelNextFrame()
end
else
modData.stuckTime = 0
end
end
end
end
-- Run CheckZombieAnimationState every 60 ticks (~1 second at 60 FPS)
local tickCounter = 0
Events.OnTick.Add(function()
tickCounter = tickCounter + 1
if tickCounter >= 60 then
CheckZombieAnimationState()
tickCounter = 0 -- Reset counter
end
end)
optimized?