Guest User

Jumphack

a guest
Jun 17th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. require "/scripts/util.lua"
  2. require "/quests/scripts/questutil.lua"
  3. require("/quests/scripts/portraits.lua")
  4.  
  5. function init()
  6. self.radioMessages = config.getParameter("radioMessages")
  7. storage.techStored = storage.techStored or player.equippedTech("legs")
  8. storage.techEquipped = storage.techEquipped or false
  9. storage.item = storage.item or false
  10. storage.timer = storage.timer or 0
  11. storage.techSwapped = storage.techSwapped or false
  12. storage.debug = config.getParameter("debug") or false
  13. message.setHandler("techChangeOn", function(...) onTechChangeEquipped(...) end)
  14. --message.setHandler("techChangeOff", function(...) onTechChangeOff(...) end)
  15.  
  16. end
  17.  
  18. function onTechChangeEquipped(message, isLocal, techName)
  19. local eqTech = player.equippedTech("legs")
  20. if eqTech ~= techName then
  21. storage.techStored = player.equippedTech("legs") or false --just for legs right now. hopefully this works
  22. storage.techEquipped = techName
  23. storage.item = player.equippedItem("legs").name
  24. if storage.debug then
  25. local messageTemp = self.radioMessages.received
  26. messageTemp.text="Activated Tech "..techName.." ( replaced "..storage.techStored.." ) on "..storage.item
  27. player.radioMessage(messageTemp)
  28. end
  29. player.makeTechAvailable(techName)
  30. player.enableTech(techName)
  31. player.equipTech(techName)
  32. storage.techSwapped = true
  33. elseif storage.debug then
  34. local messageTemp = self.radioMessages.received
  35. messageTemp.text="Duplicate launch detected, attempted to treat tech ".. techName.." as replaced tech ("..storage.techStored..")"
  36. player.radioMessage(messageTemp)
  37. end
  38. end
  39.  
  40. --[[function onTechChangeOff(message, isLocal, ...)
  41. player.equipTech(storage.techStored)
  42. local messageTemp = self.radioMessages.received
  43. messageTemp.text="Item "..storage.item.." removed. Restoring tech "..storage.techStored
  44. player.radioMessage(messageTemp)
  45. end]]--
  46.  
  47. function questStart()
  48. storage.timer = 0
  49. storage.techEquipped = false
  50.  
  51. end
  52.  
  53. function questComplete()
  54. questutil.questCompleteActions()
  55. end
  56.  
  57. function update(dt)
  58. local itemTemp = ""
  59. if player.equippedItem("legs") then
  60. itemTemp = player.equippedItem("legs").name
  61. end
  62. if storage.techEquipped and storage.item then --don't want it to die while waiting for the message
  63. if itemTemp ~= storage.item then --check if player is still wearing the item
  64. if storage.techSwapped then
  65. if storage.techStored then
  66. player.equipTech(storage.techStored)
  67. end
  68. player.makeTechUnavailable(storage.techEquipped)
  69. if storage.debug then
  70. local messageTemp = self.radioMessages.received
  71. messageTemp.text="Item "..storage.item.." removed. Restoring tech "..storage.techStored
  72. player.radioMessage(messageTemp)
  73. end
  74. storage.techSwapped = false
  75. end
  76. elseif not player.hasItem({name = storage.item}) then --check if player HAS the item at all
  77. quest.complete()
  78. elseif player.equippedTech("legs") ~= storage.techEquipped and storage.techSwapped then --if the tech changed, assume player kinda wants it to change when they take the item off
  79. storage.techStored = player.equippedTech("legs")
  80. player.equipTech(storage.techEquipped)
  81. end
  82. end
  83. --[[elseif storage.timer < 120 then --just in case. hope message arrives faster than that.
  84. storage.timer = storage.timer + dt
  85. else
  86. quest.complete()
  87. end
  88. quest.setProgress(math.min(1.0,(storage.timer/120)))]]--
  89. end
Add Comment
Please, Sign In to add comment