饥荒mod制作吧 关注:2,769贴子:11,860
  • 12回复贴,共1

如何才能让物品成为人物的专属物品呢?

只看楼主收藏回复



IP属地:北京来自Android客户端1楼2022-03-03 19:35回复
    你想要哪种形式的专属?
    是制作专属还是装备专属?


    IP属地:辽宁来自Android客户端2楼2022-03-05 13:13
    收起回复
      装备/物品专属:
      (添加以下部分)
      local function OnPickedUp(inst, owner)
      if not owner:HasTag(角色专属标签tag") then
      inst:Remove()
      owner.components.talker:Say("这不适合我!")
      SpawnPrefab("专属物品名").Transform:SetPosition(owner.Transform:GetWorldPosition())
      end
      end
      inst:AddComponent("inventoryitem") --物品组件(于该component中添加以下部分)
      inst.components.inventoryitem:SetOnPutInInventoryFn(OnPickedUp)
      (添加以下部分)
      inst:ListenForEvent("pickup", OnPickedUp)
      物品制作专属:
      AddRecipe("专属物品名", --添加物品的配方
      {Ingredient("材料1", 数量),Ingredient("材料2", 数量)}, --材料
      RECIPETABS.WAR, TECH.SCIENCE_TWO, --制作栏和解锁的科技(这里是战斗,需要科学二本)
      nil, nil, nil, nil, (角色专属标签tag), --是否有placer 是否有放置的间隔 科技锁 制作的数量(改成2就可以一次做两个) 需要的标签(比如女武神的配方需要女武神的自有标签才可以看得到)
      "images/inventoryimages/专属物品名.xml", --配方的贴图(跟物品栏使用同一个贴图)
      "专属物品名.tex")


      IP属地:辽宁3楼2022-03-07 10:03
      收起回复
        既然放不进箱子或者背包的话,那改用这个来自klei官方论坛mod讨论区里的代码吧:
        inst.components.inventoryitem.onputininventoryfn = function(inst, player)
        if player.components.inventory and not player:HasTag("你的角色的专属标签") then
        inst:DoTaskInTime(0.1, function()
        player.components.inventory:DropItem(inst)
        player.components.talker:Say("它不适合我!")
        end)
        end
        end


        IP属地:辽宁4楼2022-03-08 09:04
        收起回复
          大佬还在嘛。想询问一下在哪个文件夹添加代码。


          IP属地:贵州5楼2022-08-18 13:22
          回复