77范文网 - 专业文章范例文档资料分享平台

饥荒代码actions.lua(3)

来源:网络收集 时间:2020-06-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

end end end

ACTIONS.DIG.fn = function(act)

if act.target.components.workable and act.target.components.workable.action == ACTIONS.DIG then

local numworks = 1

if act.invobject and act.invobject.components.tool then

numworks = act.invobject.components.tool:GetEffectiveness(ACTIONS.DIG) elseif act.doer and act.doer.components.worker then

numworks = act.doer.components.worker:GetEffectiveness(ACTIONS.DIG) end

act.target.components.workable:WorkedBy(act.doer, numworks) end

return true end

ACTIONS.PICK.fn = function(act)

if act.target.components.pickable then

act.target.components.pickable:Pick(act.doer) return true end end

ACTIONS.FORCEATTACK.fn = function(act)

act.doer.components.combat:SetTarget(act.target) act.doer.components.combat:ForceAttack() return true end

ACTIONS.ATTACK.fn = function(act) if act.target.components.combat then

act.doer.components.combat:SetTarget(act.target) --act.doer.components.combat:TryAttack() return true end end

ACTIONS.ATTACK.strfn = function(act) local targ = act.target or act.invobject

if targ and targ:HasTag(\

return \ end end

ACTIONS.COOK.fn = function(act) if act.target.components.cooker then local ingredient = act.doer.components.inventory:RemoveItem(act.invobject)

if ingredient.components.health and ingredient.components.combat then act.doer:PushEvent(\ end local product = act.target.components.cooker:CookItem(ingredient, act.doer) if product then act.doer.components.inventory:GiveItem(product,nil,

Vector3(TheSim:GetScreenPos(act.target.Transform:GetWorldPosition()) )) return true end

elseif act.target.components.stewer then act.target.components.stewer:StartCooking() return true end end

ACTIONS.DRY.fn = function(act) if act.target.components.dryer then local ingredient = act.doer.components.inventory:RemoveItem(act.invobject) if not act.target.components.dryer:StartDrying(ingredient) then act.doer.components.inventory:GiveItem(product,nil,

Vector3(TheSim:GetScreenPos(act.target.Transform:GetWorldPosition()) )) return false end

return true end end

ACTIONS.ADDFUEL.fn = function(act) if act.doer.components.inventory then local fuel = act.doer.components.inventory:RemoveItem(act.invobject) if fuel then if act.target.components.fueled:TakeFuelItem(fuel) then return true else

print(\ act.doer.components.inventory:GiveItem(fuel) end end end end

ACTIONS.GIVE.fn = function(act) if act.target.components.trader then act.target.components.trader:AcceptGift(act.doer, act.invobject) return true end end

ACTIONS.GIVE.strfn = function(act) local targ = act.target or act.invobject

if targ and targ:HasTag(\ if targ.enabled then return \ else

return \ end end end

ACTIONS.STORE.fn = function(act)

if act.target.components.container and act.invobject.components.inventoryitem and act.doer.components.inventory then

if not act.target.components.container:CanTakeItemInSlot(act.invobject) then return false, \ end local item = act.invobject.components.inventoryitem:RemoveFromOwner(act.target.components.container.acceptsstacks)

if item then if not act.target.components.inventoryitem then act.target.components.container:Open(act.doer) end

if not act.target.components.container:GiveItem(item,nil,nil,false) then if TheInput:ControllerAttached() then

act.doer.components.inventory:GiveItem(item) else

act.doer.components.inventory:GiveActiveItem(item) end return false end return true end elseif act.target.components.occupiable and act.invobject act.invobject.components.occupier

act.target.components.occupiable:CanOccupy(act.invobject) then local item = act.invobject.components.inventoryitem:RemoveFromOwner() return act.target.components.occupiable:Occupy(item) end end

ACTIONS.STORE.strfn = function(act)

if act.target and act.target.components.stewer then return \

elseif act.target and act.target.components.occupiable then return \ end end

ACTIONS.BUILD.fn = function(act) if act.doer.components.builder then if act.doer.components.builder:DoBuild(act.recipe, act.pos) then return true end end end

ACTIONS.PLANT.fn = function(act)

if act.doer.components.inventory then local seed = act.doer.components.inventory:RemoveItem(act.invobject) if seed then if act.target.components.grower:PlantItem(seed) then return true else act.doer.components.inventory:GiveItem(seed) end end

and

and

end end

ACTIONS.HARVEST.fn = function(act) if act.target.components.crop then return act.target.components.crop:Harvest(act.doer) elseif act.target.components.harvestable then

return act.target.components.harvestable:Harvest(act.doer) elseif act.target.components.stewer then return act.target.components.stewer:Harvest(act.doer) elseif act.target.components.dryer then return act.target.components.dryer:Harvest(act.doer)

elseif act.target.components.occupiable and act.target.components.occupiable:IsOccupied() then local item =act.target.components.occupiable:Harvest(act.doer) if item then act.doer.components.inventory:GiveItem(item) return true end end end

ACTIONS.HARVEST.strfn = function(act)

if act.target and act.target.components.occuipable then return \ end end

ACTIONS.LIGHT.fn = function(act)

if act.invobject and act.invobject.components.lighter then act.invobject.components.lighter:Light(act.target) return true end end

ACTIONS.SLEEPIN.fn = function(act) local bag = nil if act.target and act.target.components.sleepingbag then bag = act.target end if act.invobject and act.invobject.components.sleepingbag then bag = act.invobject end if bag and act.doer then bag.components.sleepingbag:DoSleep(act.doer)

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库饥荒代码actions.lua(3)在线全文阅读。

饥荒代码actions.lua(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1105421.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: