代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。

原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html


 1
 2二二七.人工降水(开关雨量计夏天下雨、冬天下雪,可以灭火)
 3
 4	MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/rainometer.lua文件,将inst:AddComponent("inspectable")替换为以下内容:
 5
 6function firefn(inst)
 7	local range = 3000
 8	local pos = Vector3(inst.Transform:GetWorldPosition())
 9	local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, range)
10	for k,v in pairs(ents) do
11		local pt = v:GetPosition()
12		if v.components.burnable and v.components.burnable:IsBurning() then
13		   if v.prefab == "grass" then
14			  v:Remove()
15			  SpawnPrefab("grass").Transform:SetPosition(pt.x, pt.y, pt.z)
16		   end
17		   if v.prefab == "sapling" then
18			  v:Remove()
19			  SpawnPrefab("sapling").Transform:SetPosition(pt.x, pt.y, pt.z)
20		   end
21		   if v.prefab == "reeds" then
22			  v:Remove()
23			  SpawnPrefab("reeds").Transform:SetPosition(pt.x, pt.y, pt.z)
24		   end
25		   if v.prefab == "berrybush" then
26			  v:Remove()
27			  SpawnPrefab("berrybush").Transform:SetPosition(pt.x, pt.y, pt.z)
28		   end
29		   if v.prefab == "marsh_bush" then
30			  v:Remove()
31			  SpawnPrefab("marsh_bush").Transform:SetPosition(pt.x, pt.y, pt.z)
32		   end
33			  if v.prefab == "flower_cave_triple" then
34			  v:Remove()
35		   SpawnPrefab("flower_cave_triple").Transform:SetPosition(pt.x, pt.y, pt.z)
36		   end
37		   if v.prefab == "lichen" then
38			  v:Remove()
39			  SpawnPrefab("lichen").Transform:SetPosition(pt.x, pt.y, pt.z)
40		   end
41		end
42	end
43end
44local function GetStatus(inst, viewer)
45	if GetWorld().components.seasonmanager.precip then
46	   GetWorld().components.seasonmanager:StopPrecip()
47	   if inst.fire then inst.fire:Cancel() inst.fire = nil end
48	else
49	   GetWorld().components.seasonmanager:ForcePrecip()
50	   inst.fire = inst:DoPeriodicTask(8, function() firefn(inst) end)
51	end
52end
53	inst:AddComponent("inspectable")
54	inst.components.inspectable.getstatus = GetStatus
55
56	即可在雨量计上按鼠标左键开始降水,再按一次鼠标左键停止降水,夏天下雨、冬天下雪。可以浇灭大部分植物着的火,包括草、树枝、芦苇、果树丛、尖刺灌木、三朵洞穴花、苔藓