• Announcements

    • JoeW

      [UPDATED] Physical Megapack Disc Issues   04/16/2018

      Update 5/11/2018 We do not have any more information at this time. The last we spoke to 505 indicated that the discs should be ready very soon. We will likely have more information next week; hopefully with full explanation of when and how to get new discs.    Updated: 4/27/2018

      On April 17th, the Don't Starve Megapack was released. Almost immediately, it was discovered that the wrong content was printed on the PS4 retail version of Don’t Starve Mega Pack (the Xbox One version is not affected). The disc contained Don't Starve Together, but was without Don't Starve, Reign of Giants and Shipwrecked. As soon as we confirmed the problem we contacted our retail publisher to find out how this happened and what could be done. It's taken some time to get this far, but this is all the information we have at this time. The current status of the issue is as follows: New copies are currently in print and will be on shelves ASAP, hopefully within a few weeks.  When the new discs arrive in stores, players who already purchased misprinted discs will be able to exchange the disc for a new one in store. Details will follow as we figure out the exact timing, the procedures with specific retailers and what the exchange will entail.  Players who already purchased the faulty disc previous to 4/26/2018 can now contact Klei support HERE for a Playstation Store voucher code that includes Don't Starve Together, Don't Starve, Shipwrecked and the Reign of Giants DLC that you can play now. Please specify your country as certain vouchers only work in certain regions.  New purchasers of the Megapack in store as of 4/26/2018 should be given a voucher at the time of purchase on your receipt. If you do not get a code, contact us ALL purchasers will have a path to get a new disc when they are ready. We do not have details at this time, but we are comitted to ensuring that all players get what they purchased.  We are hearing from some players that some retailers are telling players that they will not be exchanging discs. We believe this to be incorrect and that particular person or location is just misinformed. 505 has ensured us that they are doing their best to make sure these discs are being replaced for all players. We will not allow anybody to fall through the cracks here. We will buy and ship the discs ourselves if we have too.   This was our first major retail release and we're extremely disappointed that our players have been let down with their purchase of the Don't Starve Megapack. We're doing our best to make sure this issue gets resolved as quickly as possible. Thanks everybody for your support and patience. We'll keep you updated.    UPDATE: (4/26/2018) We are now ready to send out vouchers to players who purchased the physical version of the Don't Starve Megapack - These codes will allow players to download and play Don't Starve and DLC as well as Don't Starve Together To get a voucher players can contact as at our support site: http://support.kleientertainment.com/customer/portal/emails/new  For the subject, choose "PS4 Megapack" and fill in the form and we'll get you fixed up as soon as possible.  We will require a picture of your receipt, your Klei account ID and the region you are located in (so we can give you the proper voucher).  UPDATE: (4/24/2018) Earlier this week, we discovered that the wrong content was printed on the PS4 retail version of Don’t Starve Mega Pack (the Xbox One version is not affected). It’s a really unfortunate situation and we’ve been working hard with 505 to resolve this as soon as possible. Below is the latest information: New copies are currently in print and will be on shelves ASAP, hopefully within a few weeks. When the new discs arrive in stores, players who already purchased misprinted discs will be able to exchange the disc for a new one in store. Details will follow as we figure out the exact timing, the procedures with specific retailers and what the exchange will entail.  Players who already purchased the faulty disc will also be able to contact Klei support for a voucher code that includes Don't Starve, Shipwrecked and the Reign of Giants DLC until the new disc is ready. Please specify your country as certain vouchers only work in certain regions.  We will have more details when they become available including details on contacting us and what information we might need.  Once again, thanks to everybody for their patience while we work this out. For questions or concerns, the forum discussion can be found below:   

Search the Community

Showing results for tags '.lua'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Oxygen Not Included
    • Oxygen Not Included FAQ
    • [Oxygen Not Included] - Developer log
    • [Oxygen Not Included] - General Discussion
    • [Oxygen Not Included] - Suggestions and Feedback
    • [Oxygen Not Included] - Bug Tracker
    • [Oxygen Not Included] Art, Music & Lore
    • Community Challenges
    • [Oxygen Not Included] - Latest Content Update
    • [Oxygen Not Included] - Latest Animated Short
  • Hot Lava
    • [Hot Lava Beta] - General Discussion
    • [Hot Lava Beta] - Suggestions and Feedback
    • [Hot Lava Beta] - Bug Tracker
    • [Hot Lava Beta] - Strats and Records
    • [Hot Lava Beta] - Developer Log
    • Hot Lava Beta Info
  • Griftlands
    • [Griftlands] - General Discussion
  • Don't Starve Together
    • Don't Starve Together FAQ
    • [Don't Starve Together] Developer log
    • [Don't Starve Together] General Discussion
    • [Don't Starve Together] The Gorge
    • [Don't Starve Together] The Forge
    • [Don't Starve Together] PS4
    • [Don't Starve Together] Xbox One
    • [Don't Starve Together] Bug Tracker
    • [Don't Starve Together] Trading
    • [Don't Starve Together] Server Bulletin
    • [Don't Starve Together] Dedicated Server Discussion
    • [Don't Starve Together] Mods and Tools
    • [Don't Starve Together] Tales of Life and Death
    • [Don't Starve Together] Suggestions and Feedback
    • [Archived Bugs]
  • Don't Starve
    • Don't Starve FAQ
    • [Don't Starve: Pocket Edition] iOS / Android
    • [Don't Starve] General Discussion
    • [Don't Starve] Mods and tools
    • [Don't Starve] Art, Music & Lore
    • [Don't Starve] Suggestions and Feedback
    • [Don't Starve] Videos
    • [Don't Starve] Bug Tracker
    • [Don't Starve] Trading
    • [Don't Starve] Testing Discussion (archive)
  • Klei Entertainment Games
    • Eets Munchies
    • [Invisible, Inc.] General Discussion and Strategies
    • Mark of the Ninja
    • Shank
  • Other Stuff
    • The Off-Topic Area
    • Forum Upgrade

Categories

  • Don't Starve
    • Custom Character and Skins
    • Game Modifications
    • Language Packs
    • Modding Tools, Tutorials & Examples
    • Custom Maps

Categories

  • Oxygen Not Included - [Early Access]
  • Don't Starve Together
  • Don't Starve Together: The Gorge
  • Don't Starve Together: The Forge
  • Don't Starve Together: The Forge (Archive)
  • [Don't Starve Together] PS4
  • [Don't Starve Together] Xbox One
  • Don't Starve: Shipwrecked
  • Don't Starve: Shipwrecked [archive]
  • [Don't Starve Together] PS4 (archive)
  • [iOS] Don't Starve: Shipwrecked

Categories

  • Oxygen Not Included - [Early Access]
  • Don't Starve Together
  • [PS4] Don't Starve Together
  • [Xbox One] Don't Starve Together
  • Don't Starve: Shipwrecked
  • Hot Lava - [Open Beta]

Categories

  • Hot Lava - Beta Reports


Biography


Location


Interests


Occupation


Modder


Chester Kickstarter


Chester Kickstarter


Chester Kickstarter


Chester Kickstarter


Chester Kickstarter


Klei Featured Artist


Early Supporter


Early Supporter


Don't Starve


Don't Starve Together


Oxygen Not Included

Found 1 result

  1. Hi guys, so I need help with part of .lua code, as I am not very experienced and I am having a hard time understanding a few things on how to get this mod to work correctly. Basically I want this mod called Vacuum Chest to ignore things like Tooth Traps, while picking up other valid items. It currently works this way in Don't Starve Together, but not in Don't Starve Alone. Below I've posted the vacuum_chest.lua files, and I've marked the part that I need help with. The first one shows the current DS version that picks up set traps, and the second one shows the working DST version that doesn't pickup set traps. If anyone can help me port this functionality to DS, and maybe even understand how it works, that would be absolutely amazing. Thanks for your time! -Amnesiac Here's the code for the current vacuum_chest.lua: require "prefabutil" require "scheduler" require "simutil" require "behaviours/doaction" local assets = { Asset("ANIM", "anim/VacuumChest.zip"), Asset("ATLAS", "images/inventoryimages/vacuum_chest.xml"), Asset("IMAGE", "images/inventoryimages/vacuum_chest.tex") } local function onopen(inst) inst.AnimState:PlayAnimation("open") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") end local function onclose(inst) inst.AnimState:PlayAnimation("close") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_close") end local function onhammered(inst, worker) inst.components.lootdropper:DropLoot() inst.components.container:DropEverything() SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition()) inst.SoundEmitter:PlaySound("dontstarve/common/destroy_wood") inst:Remove() end local function onhit(inst, worker) inst.AnimState:PlayAnimation("hit") inst.components.container:DropEverything() inst.AnimState:PushAnimation("closed", false) inst.components.container:Close() end local function onbuilt(inst) inst.AnimState:PlayAnimation("place") inst.AnimState:PushAnimation("closed", false) end local slotpos = {} for y = 2, 0, -1 do for x = 0, 2 do table.insert(slotpos, Vector3(80*x-80*2+80, 80*y-80*2+80,0)) end end local function fn(Sim) -- body local inst = CreateEntity() inst:AddTag("structure") inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddSoundEmitter() local minimap = inst.entity:AddMiniMapEntity() minimap:SetIcon("vacuum_chest.tex") inst.AnimState:SetBank("chest") inst.AnimState:SetBuild("VacuumChest") inst.AnimState:PlayAnimation("closed") inst:AddComponent("inspectable") inst:AddComponent("container") inst.components.container:SetNumSlots(#slotpos) inst.components.container.onopenfn = onopen inst.components.container.onclosefn = onclose inst.components.container.widgetslotpos = slotpos inst.components.container.widgetanimbank = "ui_chest_3x3" inst.components.container.widgetanimbuild = "ui_chest_3x3" inst.components.container.widgetpos = Vector3(0,200,0) inst.components.container.side_align_tip = 160 inst:AddComponent("lootdropper") inst:AddComponent("workable") inst.components.workable:SetWorkAction(ACTIONS.HAMMER) inst.components.workable:SetWorkLeft(2) inst.components.workable:SetOnFinishCallback(onhammered) inst.components.workable:SetOnWorkCallback(onhit) inst:ListenForEvent( "onbuilt", onbuilt) MakeSnowCovered(inst, .01) local function suckit(item) --吸取 inst.AnimState:PlayAnimation("hit") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") inst.components.container:GiveItem(item) end local function vacuum(inst) local x,y,z = inst.Transform:GetWorldPosition() local SEARCH_RADIUS = TUNING.SEARCH_RADIUS--搜索半径 --Amnesiac: Here's the part that searches for valid items I believe local item = FindEntity(inst, SEARCH_RADIUS, function(item) local check = item.components.inventoryitem and item.components.inventoryitem.canbepickedup and item.components.inventoryitem.cangoincontainer return check end) if item then if not inst.components.container:IsFull() then -- container is not full, it can pick up the item suckit(item) return elseif item.components.stackable then -- if the inventory is full, but the item stacks, and exists in the container, and the stack is not full local stack = inst.components.container:FindItem(function(i) return (i.prefab == item.prefab and not i.components.stackable:IsFull()) end) if stack then suckit(item) return end end end end inst:DoPeriodicTask(0.5, vacuum) return inst end return Prefab( "common/vacuum_chest", fn, assets), MakePlacer("common/vacuum_chest_placer", "chest", "VacuumChest", "closed") And here's the code from Don't Starve Together, note the part that looks for invalid items that is missing from the Don't Starve version. require "prefabutil" local assets = { Asset("ANIM", "anim/VacuumChest.zip"), Asset("ANIM", "anim/firefighter_placement.zip"), Asset("ATLAS", "images/inventoryimages/vacuum_chest.xml"), Asset("IMAGE", "images/inventoryimages/vacuum_chest.tex"), } local prefabs = { "collapse_small", } local function onopen(inst) inst.AnimState:PlayAnimation("open") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") end local function onclose(inst) inst.AnimState:PlayAnimation("close") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_close") end local function onhammered(inst, worker) inst.components.lootdropper:DropLoot() inst.components.container:DropEverything() SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition()) inst.SoundEmitter:PlaySound("dontstarve/common/destroy_wood") inst:Remove() end local function onhit(inst, worker) inst.AnimState:PlayAnimation("hit") inst.components.container:DropEverything() inst.AnimState:PushAnimation("closed", false) inst.components.container:Close() end local function onbuilt(inst) inst.AnimState:PlayAnimation("place") inst.AnimState:PushAnimation("closed", false) end -------------------------------------------------------------------------- --minus or add 0.25 for every 5 range local PLACER_SCALE = TUNING.VACUUM_RANGE == 10 and 1.255 or TUNING.VACUUM_RANGE == 15 and 1.55 or TUNING.VACUUM_RANGE == 20 and 1.755 local function OnEnableHelper(inst, enabled) if enabled then if inst.helper == nil then inst.helper = CreateEntity() --[[Non-networked entity]] inst.helper.entity:SetCanSleep(false) inst.helper.persists = false inst.helper.entity:AddTransform() inst.helper.entity:AddAnimState() inst.helper:AddTag("CLASSIFIED") inst.helper:AddTag("NOCLICK") inst.helper:AddTag("placer") inst.helper.Transform:SetScale(PLACER_SCALE, PLACER_SCALE, PLACER_SCALE) inst.helper.AnimState:SetBank("firefighter_placement") inst.helper.AnimState:SetBuild("firefighter_placement") inst.helper.AnimState:PlayAnimation("idle") inst.helper.AnimState:SetLightOverride(1) inst.helper.AnimState:SetOrientation(ANIM_ORIENTATION.OnGround) inst.helper.AnimState:SetLayer(LAYER_BACKGROUND) inst.helper.AnimState:SetSortOrder(1) inst.helper.AnimState:SetAddColour(0, .2, .5, 0) inst.helper.entity:SetParent(inst.entity) end elseif inst.helper ~= nil then inst.helper:Remove() inst.helper = nil end end -------------------------------------------------------------------------- local function fn(Sim) local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddSoundEmitter() inst.entity:AddMiniMapEntity() inst.entity:AddNetwork() inst.MiniMapEntity:SetIcon("vacuum_chest.tex") inst.AnimState:SetBank("chest") inst.AnimState:SetBuild("VacuumChest") inst.AnimState:PlayAnimation("closed") inst:AddTag("structure") inst:AddTag("chest") --Dedicated server does not need deployhelper if not TheNet:IsDedicated() then inst:AddComponent("deployhelper") inst.components.deployhelper.onenablehelper = OnEnableHelper end inst.entity:SetPristine() if not TheWorld.ismastersim then inst.OnEntityReplicated = function(inst) inst.replica.container:WidgetSetup("chester") end return inst end inst:AddComponent("inspectable") inst:AddComponent("container") inst.components.container:WidgetSetup("chester") inst.components.container.onopenfn = onopen inst.components.container.onclosefn = onclose inst:AddComponent("lootdropper") inst:AddComponent("workable") inst.components.workable:SetWorkAction(ACTIONS.HAMMER) inst.components.workable:SetWorkLeft(2) inst.components.workable:SetOnFinishCallback(onhammered) inst.components.workable:SetOnWorkCallback(onhit) inst:ListenForEvent( "onbuilt", onbuilt) MakeSnowCovered(inst, .01) local function suckit(item) if inst.AnimState:IsCurrentAnimation("closed") or inst.AnimState:IsCurrentAnimation("close") then inst.AnimState:PlayAnimation("hit") inst.AnimState:PushAnimation("closed", false) end inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") inst.components.container:GiveItem(item) end local function vacuum(inst) local SEARCH_RADIUS = TUNING.VACUUM_RANGE local function IsItem(ent) return ent.components.inventoryitem and ent.components.inventoryitem.canbepickedup and ent.components.inventoryitem.cangoincontainer and ent or nil end --Amnesiac: This is the part I'm talking about --See how it checks for Mines? I think this also applies to traps, as this verison does't pickup set traps. local Item = FindEntity(inst, SEARCH_RADIUS, IsItem,{"_inventoryitem"} , {"INLIMBO", "NOCLICK", "catchable", "fire", "minesprung", "mineactive"}) if Item then if not inst.components.container:IsFull() then suckit(Item) return elseif Item.components.stackable then local stack = inst.components.container:FindItem(function(i) return (i.prefab == Item.prefab and not i.components.stackable:IsFull()) end) if stack then suckit(Item) return end end end end inst:DoPeriodicTask(0.5, vacuum) return inst end local function placer_postinit_fn(inst) --Show the vacuum chest placer on top of the vacuum chest range ground placer local placer2 = CreateEntity() --[[Non-networked entity]] placer2.entity:SetCanSleep(false) placer2.persists = false placer2.entity:AddTransform() placer2.entity:AddAnimState() placer2:AddTag("CLASSIFIED") placer2:AddTag("NOCLICK") placer2:AddTag("placer") local s = 1 / PLACER_SCALE placer2.Transform:SetScale(s, s, s) placer2.AnimState:SetBank("chest") placer2.AnimState:SetBuild("VacuumChest") placer2.AnimState:PlayAnimation("closed") placer2.AnimState:SetLightOverride(1) placer2.entity:SetParent(inst.entity) inst.components.placer:LinkEntity(placer2) end return Prefab( "common/vacuum_chest", fn, assets), MakePlacer("common/vacuum_chest_placer", "firefighter_placement", "firefighter_placement", "idle", true, nil, nil, PLACER_SCALE, nil, nil, placer_postinit_fn)