ÆßÊ®Áù.Ëõ¶ÌÖóÁÏÀíʱ¼ä
ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\tuning.luaÎļþ£¬½«BASE_COOK_TIME = night_time*.3333,ÐÞ¸ÄΪBASE_COOK_TIME = seg_time*.01,¼´¿É
ÆßÊ®Æß.Ëõ¶ÌµöÓãʱ¼ä
ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\tuning.luaÎļþ£¬½«ÒÔÏÂÄÚÈÝ£º
FISHING_MINWAIT = 2, FISHING_MAXWAIT = 20, ÐÞ¸ÄΪ£º
FISHING_MINWAIT = 1, FISHING_MAXWAIT = 5,
¼´¿ÉËõ¶ÌµöÓãʱ¼ä
ÆßÊ®°Ë.ÊÕ»ñ·äÏä²»±»ÕÝ
ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\beebox.luainst.components.childspawner:ReleaseAllChildren(picker)Ìæ»»ÎªÒÔÏÂÄÚÈÝ£º
--inst.components.childspawner:ReleaseAllChildren(picker)
¼´¿ÉÔÚÊÕ»ñ·äÏäʱ²»·É³öÃÛ·ä
ÆßÊ®¾Å.¿ÕÊÖ×¥Ã۷䡢ɱÈË·ä¡¢ºûµû¡¢Ó©»ð³æ£¨ÓóÈÉ«»¤Éí·û¿ÉÒÔ¿ìËÙÎüÈ¡£©
1.¿ÕÊÖ×¥Ã۷䡢ɱÈ˷䣺ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\bee.luaÎļþ£¬½«inst.components.inventoryitem.canbepickedup inst.components.inventoryitem.canbepickedup = true
2.¿ÕÊÖ×¥ºûµû£ºÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\butterfly.luaÎļþ£¬½«
=
false
Ìæ
»»
Ϊ
Îļþ£¬½«
inst.components.inventoryitem.canbepickedup inst.components.inventoryitem.canbepickedup = true
= falseÌæ»»Îª
3.¿ÕÊÖ×¥Ó©»ð³æ£ºÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\fireflies.luaÎļþ£¬½«inst.components.inventoryitem.canbepickedup inst.components.inventoryitem.canbepickedup = true
¼´¿É¿ÕÊÖ×¥Ã۷䡢ɱÈË·ä¡¢ºûµû¡¢Ó©»ð³æ£¨ÓÃÐ¡ÍøÒ²Ì«ÄïÁ˰ɣ©
°ËÊ®.×°±¸²¶ÄñÆ÷¿ÉÎüÄñ£¨Ëü¾ø²»º±ÓУ¬Íù½ÖÀïÈÆ¹ýÒ»ÖÜ£¬Ëü±ã»¯ÎÚÓУ©
1.ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\birdtrap.luaÎļþ£¬ÔÚ--this should be redone as a periodic test, probably, so that we can control the expected return explicitlyµÄÏÂÒ»ÐвåÈëÒÔÏÂÄÚÈÝ£º
local function SpawnEffect(inst) local pt = inst:GetPosition()
local fx = SpawnPrefab("small_puff") fx.Transform:SetPosition(pt.x, pt.y, pt.z) fx.Transform:SetScale(0.5,0.5,0.5) end
local function getitem(player, amulet, item) SpawnEffect(item)
if item.components.stackable then item = item.components.stackable:Get() end
player.components.invento
ry:GiveItem(item) end
local function pickup(inst, owner) local pt = owner:GetPosition()
local ents = TheSim:FindEntities(pt.x, pt.y, pt.z, TUNING.ORANGEAMULET_RANGE*5)
for k,v in pairs(ents) do if
v.components.inventoryitem
and
v.components.inventoryitem.canbepickedup
and
v.components.inventoryitem.cangoincontainer and v:HasTag("bird") and not v.components.inventoryitem:IsHeld() then
=
false
Ìæ
»»
Ϊ
if not owner.components.inventory:IsFull() then getitem(owner, inst, v) return
elseif v.components.stackable then
local stack = owner.components.inventory:FindItem(function(item) return (item.prefab == v.prefab and not item.components.stackable:IsFull()
and item ~= owner.components.inventory.activeitem) end) if stack then
getitem(owner, inst, v) return end end end end end
local function onequip(inst, owner)
owner.AnimState:OverrideSymbol("swap_body", "swap_birdtrap")
inst.task = inst:DoPeriodicTask(TUNING.ORANGEAMULET_ICD*.1, function() pickup(inst, owner) end) end
local function onunequip(inst, owner)
owner.AnimState:ClearOverrideSymbol("swap_body") if inst.task then inst.task:Cancel() inst.task = nil end end
2.ÔÚinst:AddComponent("inventoryitem")µÄÏÂÒ»ÐвåÈëÒÔÏÂÄÚÈÝ£º
inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( onequip ) inst.components.equippable:SetOnUnequip( onunequip ) inst.components.equippable.equipslot = EQUIPSLOTS.BODY
3.ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\birds.luainst.components.inventoryitem.canbepickedup inst.components.inventoryitem.canbepickedup = true
4.ÔÚinst:AddComponent("occupier")µÄÏÂÒ»ÐвåÈëÒÔÏÂÄÚÈÝ£º
=
false
Ìæ
Îļþ£¬½«
»»
Ϊ
"swap_birdtrap",
inst:AddComponent("stackable")
inst.components.stackable.maxsize = TUNING.STACK_SIZE_SMALLITEM
¼´¿É×°±¸²¶ÄñÆ÷¿ÉÎüÄñ
°Ëʮһ.°×ÌìÒ²ÄÜ˯ÕÊÅñ£¬Ë¯ÕÊÅñ²»¼õ¼¢¶ö
ÓüÇʱ¾´ò¿ªÓÎϷĿ¼\\data\\scripts\\prefabs\\tent.luaÎļþ£¬
1.ɾ³ýÏÂÁÐÄÚÈÝ£º
if GetClock():IsDay() then if sleeper.components.talker then
sleeper.components.talker:Say(GetString(inst.prefab, "ANNOUNCE_NODAYSLEEP")) return end end
2.ɾ³ýÏÂÁÐÄÚÈÝ£º
if GetClock():IsDay() then
if sleeper.components.talker then
sleeper.components.talker:Say(GetString(inst.prefab, "ANNOUNCE_NODAYSLEEP")) sleeper.components.health:SetInvincible(false) sleeper.components.playercontroller:Enable(true) return end end 3.½«
¼´¿É°×ÌìÒ²ÄÜ˯ÕÊÅñ£¬Ë¯ÕÊÅñ²»¼õ¼¢¶ö
sleeper.components.hunger:DoDelta(-TUNING.CALORIES_HUGE,
false,
true)Ìæ»»Îª
--sleeper.components.hunger:DoDelta(-TUNING.CALORIES_HUGE, false, true)