分享一些简单的MOD
饥荒吧
全部回复
仅看楼主
level 5
aee9999 楼主
保温石无耐久
打开
data\scripts
搜索
heatrock.lua
记事本打开
右键,点A,全选,粘贴一下内容,这样可以不用因开太多MOD而卡
local assets =
{
Asset("ANIM", "anim/heat_rock.zip"),
}
local function OnSave(inst, data)
data.reachedHighTemp = inst.reachedHighTemp
end
local function OnLoad(inst, data)
if data then
inst.reachedHighTemp = data.reachedHighTemp
end
end
local function OnRemove(inst)
inst._light:Remove()
end
-- These represent the boundaries between the ranges (relative to ambient, so ambient is always "0")
local relative_temperature_thresholds = { -30, -10, 10, 30 }
local function GetRangeForTemperature(temp, ambient)
local range = 1
for i,v in ipairs(relative_temperature_thresholds) do
if temp > ambient + v then
range = range + 1
end
end
return range
end
-- Heatrock emits constant temperatures depending on the temperature range it's in
local emitted_temperatures = { -10, 10, 25, 40, 60 }
local function HeatFn(inst, observer)
local range = GetRangeForTemperature(inst.components.temperature:GetCurrent(), TheWorld.state.temperature)
if range <= 2 then
inst.components.heater:SetThermics(false, true)
elseif range >= 4 then
inst.components.heater:SetThermics(true, false)
else
inst.components.heater:SetThermics(false, false)
end
return emitted_temperatures[range]
end
local function GetStatus(inst)
if inst.currentTempRange == 1 then
return "FROZEN"
elseif inst.currentTempRange == 2 then
return "COLD"
elseif inst.currentTempRange == 4 then
return "WARM"
elseif inst.currentTempRange == 5 then
return "HOT"
end
end
local function UpdateImages(inst, range)
inst.currentTempRange = range
inst.AnimState:PlayAnimation(tostring(range), true)
inst.components.inventoryitem:ChangeImageName("heat_rock"..tostring(range))
if range == 5 then
inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")
inst._light.Light:Enable(true)
else
inst.AnimState:ClearBloomEffectHandle()
inst._light.Light:Enable(false)
end
end
local function AdjustLighting(inst, range)
if range == 5 then
local relativetemp = inst.components.temperature:GetCurrent() - TheWorld.state.temperature
local baseline = relativetemp - relative_temperature_thresholds[4]
local brightline = relative_temperature_thresholds[4] + 20
inst._light.Light:SetIntensity( math.clamp(0.5 * baseline/brightline, 0, 0.5 ) )
else
inst._light.Light:SetIntensity(0)
end
end
local function TemperatureChange(inst, data)
local range = GetRangeForTemperature(inst.components.temperature:GetCurrent(), TheWorld.state.temperature)
AdjustLighting(inst, range)
if range ~= inst.currentTempRange then
UpdateImages(inst, range)
if range == 5 or range == 1 then
inst.reachedHighTemp = true
end
if range == 3 and inst.reachedHighTemp then
--local percent = inst.components.fueled:GetPercent()
--percent = percent - 1 / TUNING.HEATROCK_NUMUSES
inst.reachedHighTemp = false
--inst.components.fueled:SetPercent(percent)
end
end
end
local function OnOwnerChange(inst)
local newowners = {}
local owner = inst
while owner.components.inventoryitem ~= nil do
newowners[owner] = true
if inst._owners[owner] then
inst._owners[owner] = nil
else
inst:ListenForEvent("onputininventory", inst._onownerchange, owner)
inst:ListenForEvent("ondropped", inst._onownerchange, owner)
end
local nextowner = owner.components.inventoryitem.owner
if nextowner == nil then
break
end
owner = nextowner
end
inst._light.entity:SetParent(owner.entity)
for k, v in pairs(inst._owners) do
if k:IsValid() then
inst:RemoveEventCallback("onputininventory", inst._onownerchange, k)
inst:RemoveEventCallback("ondropped", inst._onownerchange, k)
end
end
inst._owners = newowners
end
local function fn()
local inst = CreateEntity()
inst.entity:AddTransform()
inst.entity:AddAnimState()
inst.entity:AddSoundEmitter()
inst.entity:AddNetwork()
MakeInventoryPhysics(inst)
inst.AnimState:SetBank("heat_rock")
inst.AnimState:SetBuild("heat_rock")
inst:AddTag("heatrock")
inst:AddTag("icebox_valid")
inst:AddTag("bait")
inst:AddTag("molebait")
--HASHEATER (from heater component) added to pristine state for optimization
inst:AddTag("HASHEATER")
inst.entity:SetPristine()
if not TheWorld.ismastersim then
return inst
end
inst:AddComponent("inspectable")
inst.components.inspectable.getstatus = GetStatus
inst:AddComponent("inventoryitem")
inst:AddComponent("temperature")
inst.components.temperature.current = TheWorld.state.temperature
inst.components.temperature.inherentinsulation = TUNING.INSULATION_MED
inst.components.temperature.inherentsummerinsulation = TUNING.INSULATION_MED
inst.components.temperature:IgnoreTags("heatrock")
inst:AddComponent("heater")
inst.components.heater.heatfn = HeatFn
inst.components.heater.carriedheatfn = HeatFn
inst.components.heater.carriedheatmultiplier = TUNING.HEAT_ROCK_CARRIED_BONUS_HEAT_FACTOR
inst.components.heater:SetThermics(false, false)
--inst:AddComponent("fueled")
--inst.components.fueled.fueltype = FUELTYPE.USAGE
--inst.components.fueled:InitializeFuelLevel(100)
--inst.components.fueled:SetDepletedFn(inst.Remove)
inst:ListenForEvent("temperaturedelta", TemperatureChange)
inst.currentTempRange = 0
--Create light
inst._light = SpawnPrefab("heatrocklight")
inst._owners = {}
inst._onownerchange = function() OnOwnerChange(inst) end
--
UpdateImages(inst, 1)
OnOwnerChange(inst)
MakeHauntableLaunchAndSmash(inst)
inst.OnSave = OnSave
inst.OnLoad = OnLoad
inst.OnRemoveEntity = OnRemove
return inst
end
local function lightfn()
local inst = CreateEntity()
inst.entity:AddTransform()
inst.entity:AddLight()
inst.entity:AddNetwork()
inst:AddTag("FX")
inst.Light:SetRadius(.6)
inst.Light:SetFalloff(1)
inst.Light:SetIntensity(.5)
inst.Light:SetColour(235 / 255, 165 / 255, 12 / 255)
inst.Light:Enable(false)
inst.entity:SetPristine()
if not TheWorld.ismastersim then
return inst
end
inst.persists = false
return inst
end
return Prefab("common/inventory/heatrock", fn, assets),
Prefab("common/inventory/heatrocklight", lightfn)
2020年03月15日 11点03分 1
level 3
有没有那个可以复活的mod
2020年03月15日 11点03分 2
内个版?原版?WS?联机?
2020年03月15日 11点03分
联机的,在steam
2020年03月15日 11点03分
@-有来有去- 复活有很多种,你想要的是哪一种?
2020年03月15日 12点03分
@-有来有去- 杀猪台复活和复活石复活,还有一些MOD人物自带的。还有模式不一样,复活也不同。
2020年03月15日 12点03分
level 5
aee9999 楼主
火炬不用尽(用到剩0%不消失,可继续用)
用记事本打开游戏目录
data
scripts
prefabs
torch.lua文件,
1.将
inst:Remove()
替换为
--inst:Remove()
2.将
inst.components.fueled:SetDepletedFn(function(inst) inst:Remove() end)
替换为
--inst.components.fueled:SetDepletedFn(function(inst) inst:Remove() end)
即可让火炬不用尽,在语句前加入--的功能就是将该句废掉
亲测 联机版 巨人 海难 原版 都可以哦
2020年03月15日 12点03分 4
level 5
aee9999 楼主
穿上草甲即可无敌
盔甲永固(永远100%)
用记事本打开游戏目录
data
scripts
components
armor.lua文件,将下列内容:
function Armor:SetCondition(amount)
self.condition = amount
替换为:
function Armor:SetCondition(amount)
self.condition = self.maxcondition
即可让盔甲永固
盔甲在就不掉血(盔甲100%吸收伤害值)
用记事本打开游戏目录datascriptstuning.lua文件,
1.将ARMORGRASS_ABSORPTION = .6,替换为ARMORGRASS_ABSORPTION = 1,
2.将ARMORWOOD_ABSORPTION = .8,替换为ARMORWOOD_ABSORPTION = 1,
3.将ARMORMARBLE_ABSORPTION = .95,替换为ARMORMARBLE_ABSORPTION = 1,
4.将ARMORRUINS_ABSORPTION = 0.9,替换为ARMORRUINS_ABSORPTION = 1,
5.将ARMORSLURPER_ABSORPTION = 0.6,替换为ARMORSLURPER_ABSORPTION = 1,
6.将ARMOR_FOOTBALLHAT_ABSORPTION = .8,替换为ARMOR_FOOTBALLHAT_ABSORPTION = 1,
7.将ARMOR_SLURTLEHAT_ABSORPTION = 0.9,替换为ARMOR_SLURTLEHAT_ABSORPTION = 1,
8.将ARMOR_BEEHAT_ABSORPTION = .8,替换为ARMOR_BEEHAT_ABSORPTION = 1,
9.将ARMOR_SANITY_ABSORPTION = .95,替换为ARMOR_SANITY_ABSORPTION = 1,
即可让全部盔甲100%吸收伤害值
开启你的无敌模式!参考易宁!亲测可用!
2020年03月15日 12点03分 5
level 5
aee9999 楼主
石头营火永不灭(保留最小长明火)
用记事本打开游戏目录
data
scripts
prefabs
firepit.lua
文件

if section == 0 then
替换为
if section < 0 then
即可
参考易宁!
2020年03月15日 12点03分 6
level 12
改代码没意思了[滑稽]还不如永白[滑稽]
2020年03月15日 12点03分 7
也对,其实吧,联机的就已经无敌了,单机的一个人搜集所有资源所花的时间,比不了人多力量大。分工!
2020年03月15日 13点03分
level 5
aee9999 楼主
加快采集速度
用记事本打开游戏目录
data
scripts
prefabs可采集物品.lua文件(具体文件名见下),

inst:AddComponent("pickable")
的下一行插入以下内容:
inst.components.pickable.quickpick = true
即可加快可采集品采集速度
可采集物品:
grass.lua 草
berrybush.lua 浆果灌木丛
sapling.lua 树苗
reeds.lua 芦苇
marsh_bush.lua 尖刺灌木
flower_cave.lua 洞穴花
cave_banana_tree.lua 洞穴香蕉树
tallbirdnest.lua 高鸟巢
参考易宁!亲测可用!
2020年03月15日 12点03分 8
level 5
aee9999 楼主
冰箱永久保鲜
用记事本打开游戏目录
data
scripts
tuning.lua
文件

PERISH_FRIDGE_MULT = .5
替换为
PERISH_FRIDGE_MULT = 0
即可让放入冰箱的食物永久保鲜
如果将0改为负数比如-5
PERISH_FRIDGE_MULT - 5
则可使不新鲜的食物回复新鲜度
参考易宁!亲测可用!
2020年03月15日 12点03分 9
等号后面的数值越大,冰箱里的食物就腐烂得越快,反之就越慢。改为减号就是反鲜,-.5 就是反鲜零点五的速度。减号后面数值越大就反鲜越快。-5 就反鲜更快。
2020年03月15日 12点03分
level 5
aee9999 楼主
动一动手,就不会那么卡了。
2020年03月15日 12点03分 10
level 5
aee9999 楼主
保温石保温时间延长1倍
用记事本打开游戏目录
data
scripts
prefabs
heatrock.lua
文件,

inst.components.temperature.inherentinsulation = TUNING.INSULATION_MED
替换为
inst.components.temperature.inherentinsulation = TUNING.INSULATION_MED*2
即可
联机版服务器MOD需要在游戏里MODS选择找到对应的序列编号,如:c25保温石无耐久MOD,然后打开游戏对应的文件夹。如果保温石是在Game\mods里的c25。打开Game\mods\e25-466732225\scripts\prefabs的heatrock.lua文件,搜索以上代码即可!
2020年03月15日 13点03分 11
level 5
aee9999 楼主
【花环不坏】
data\scripts\prefabs
hats.lua

inst.components.equippable.dapperness = TUNING.DAPPERNESS_TINY

inst.components.equippable.dapperness = TUNING.DAPPERNESS_LARGE

inst:AddTag("show_spoilage")
inst:AddComponent("peri****le")
inst.components.peri****le:SetPerishTime(TUNING.PERISH_FAST)
inst.components.peri****le:StartPerishing()
inst.components.peri****le:SetOnPerishFn(generic_perish)
inst.components.equippable:SetOnEquip( opentop_onequip )

--inst:AddTag("show_spoilage")
--inst:AddComponent("peri****le")
--inst.components.peri****le:SetPerishTime(TUNING.PERISH_FAST)
--inst.components.peri****le:StartPerishing()
--inst.components.peri****le:SetOnPerishFn(generic_perish)
--inst.components.equippable:SetOnEquip( opentop_onequip )
2020年03月26日 22点03分 13
贴吧禁【s-h-a-b-i】这几个字母,所以变成了【****】,只要去字母之间的【-】号就行!
2020年03月26日 22点03分
level 5
aee9999 楼主
【船炮无耐久】
目录
data\DLC0002\scripts
文件
Boatcannon

inst:AddComponent("finiteuses")
inst.components.finiteuses:SetMaxUses(TUNING.BOATCANNON_AMMO_COUNT)
inst.components.finiteuses:SetUses(TUNING.BOATCANNON_AMMO_COUNT)
inst.components.finiteuses:SetOnFinished( onfinished)

--inst:AddComponent("finiteuses")
--inst.components.finiteuses:SetMaxUses(TUNING.BOATCANNON_AMMO_COUNT)
--inst.components.finiteuses:SetUses(TUNING.BOATCANNON_AMMO_COUNT)
--inst.components.finiteuses:SetOnFinished( onfinished)
2020年03月29日 02点03分 14
level 5
aee9999 楼主
【水坑不减速】
目录
scripts
文件
tuning
搜索
FLOOD_SPEED_MULTIPLIER

FLOOD_SPEED_MULTIPLIER = 1,
把等号后面改为1,
2020年03月29日 02点03分 15
level 3
楼主有啥人物升级mod吗
2020年03月29日 02点03分 16
不太明白
2020年03月30日 15点03分
1