• Announcements

    • JoeW

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

      Aug 14th We aren't going to be able to start taking claims today - we just got the valid codes from 505 that we need to verify vouchers given on receipts and we can't process claims until those are processed and there are quite a few of them - so it's going to take several hours to process. .  We anticipate that if all goes well, things should be ready within the next couple days. Sorry for the delay, we want to make sure that this system goes smoothly for those affected by this issue. Aug 9th Hey Everybody. We are just about ready to start replacing discs, so I want to give you a quick update on how this will work. Purchasers in North America that were given digital codes either from us or on their receipt will be able to use their codes on our store to order a new full retail boxed copy of the game including controller skin. We will be handling these replacements ourselves as we do not have an adequate distribution channel to send to SIEE players outside of North America.  North American players who purchased after 4/26/2018 should already have this code on the bottom of their receipt. If you purchased before this date and do not have a code yet, check out this page for directions on getting your code.  SIEE Players outside of North America will need to use a different process to claim a replacement through 505 directly we will have details on that soon.  We are making sure everything is in order right now and expect to go live with disc replacements on 8/14 and will post here with more info.    Aug 7th
      The discs are now in our possession so we can get moving on sending out replacements. I know this has taken way too long to get resolved, we have been doing literally everything we can to push this along as much as we can. Now that we have those discs we can get you all fixed up.  We're finalizing things on our end but we're no longer dependent on 505 to resolve this end of the issue. We are finalizing our process for getting replacement orders processed and we anticipate that we will start this process sometime this week.  July 9th
      We are still waiting on 505 and waiting for them to send us discs.  June 6th
      We've reached out to 505 again.  We are extremely limited in what we can do in all of this, all we can really do is ask what happens next and relay the information we are given.  So far, the information we have been given at this point hasn't really panned out as it was supposed to, so I hesitate to post any more information as it's proven to be unreliable.  I'll post more when I have more.  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 Latest Update
  • 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)