Advertisement
Hubnester

"Perfectly Working" Crew Storing Code

Jan 16th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. local scriptedailOldInit = init
  2. local crewOverflowOldUpdate = update
  3. local testUninit = uninit
  4.  
  5. function init()
  6. scriptedailOldInit()
  7. message.setHandler("returnCompanions", function() return playerCompanions.getCompanions("crew") end)
  8. message.setHandler("dismissCompanion", function(_, _, podUuid) recruitSpawner:dismiss(podUuid) end)
  9.  
  10. recruitSpawner.crewLimit = function()
  11. if player.shipUpgrades().shipLevel == 0 then
  12. crewLimit = status.statusProperty("byosCrewSize", 0)
  13. else
  14. crewLimit = (player.shipUpgrades().crewSize or 0) + status.statusProperty("byosCrewSize", 0)
  15. end
  16. return crewLimit
  17. end
  18. fuStoredCrew = status.statusProperty("fuStoredCrew", {})
  19. for num, data in pairs (status.statusProperty("fuStoredCrew", {})) do
  20. sb.logInfo(num .. ". " .. tostring(data.name))
  21. end
  22. for num, data in pairs (fuStoredCrew) do
  23. sb.logInfo("var" .. num .. ". " .. tostring(data.name))
  24. end
  25. end
  26.  
  27. function update(dt)
  28. crewOverflowOldUpdate(dt)
  29.  
  30. fuCrewMembers = playerCompanions.getCompanions("crew")
  31. fuCrewLimit = recruitSpawner.crewLimit()
  32. if #fuCrewMembers > fuCrewLimit then
  33. for fuCrewMemberNumber, fuCrewMemberData in pairs (fuCrewMembers) do
  34. if fuCrewMemberNumber > fuCrewLimit then
  35. table.insert(fuStoredCrew, fuCrewMemberData)
  36. status.setStatusProperty("fuStoredCrew", fuStoredCrew)
  37. recruitSpawner:dismiss(fuCrewMemberData.podUuid)
  38. end
  39. end
  40. elseif #fuStoredCrew > 0 then
  41. fuFreeCrewSpace = math.min(fuCrewLimit - #fuCrewMembers, #fuStoredCrew)
  42. if fuFreeCrewSpace > 0 then
  43. for i = 1, fuFreeCrewSpace do
  44. recruitSpawner:addCrew(fuStoredCrew[1].podUuid, fuStoredCrew[1])
  45. table.remove(fuStoredCrew, 1)
  46. status.setStatusProperty("fuStoredCrew", fuStoredCrew)
  47. end
  48. end
  49. end
  50. end
  51.  
  52. function uninit()
  53. testUninit()
  54.  
  55. status.setStatusProperty("fuStoredCrew", fuStoredCrew)
  56. for num, data in pairs (status.statusProperty("fuStoredCrew", {})) do
  57. sb.logInfo(num .. ". " .. tostring(data.name))
  58. end
  59. for num, data in pairs (fuStoredCrew) do
  60. sb.logInfo("var" .. num .. ". " .. tostring(data.name))
  61. end
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement