Guest User

Crowbar as a Short spear Hotkey

a guest
Aug 19th, 2023
16
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.67 KB | Source Code | 0 0
  1.  
  2.  
  3. local CrowbarSpearToggle = {}
  4.  
  5. CrowbarSpearToggle.ToggleCrowbarSpear = function()
  6.     local player = getPlayer()
  7.  
  8.     local item = player:getPrimaryHandItem()
  9.  
  10.     if item == nil or not item:getTags():contains("Crowbar") or not player:isItemInBothHands(item) then
  11.         do return end
  12.     end
  13.  
  14.     local recipe
  15.     if item:getType() == "Crowbarspear" then
  16.         recipe = getScriptManager():getRecipe("Crowbarspear.Use as Blunt")
  17.     else
  18.         recipe = getScriptManager():getRecipe("Crowbarspear.Use as Spear")
  19.     end
  20.  
  21.     -- Perform the crafting action
  22.     local action = ISCraftAction:new(player, item, 2, recipe, player:getInventory(), nil)
  23.     action:perform()
  24. end
  25.  
  26. CrowbarSpearToggle.addHotkey = function()
  27.     local bindings = {
  28.         {
  29.             name = '[CrowbarSpear]'
  30.         },
  31.         {
  32.             value = 'CrowbarSpear_ToggleModifier',
  33.             key = Keyboard.KEY_LCONTROL,
  34.         },
  35.         {
  36.             value = 'CrowbarSpear_HoldToggle',
  37.             key = Keyboard.KEY_E,
  38.         },
  39.         {
  40.             value = 'CrowbarSpear_Toggle',
  41.             key = Keyboard.KEY_J,
  42.         },
  43.     }
  44.  
  45.     for _, bind in ipairs(bindings) do
  46.         if bind.name then
  47.             table.insert(keyBinding, { value = bind.name, key = nil })
  48.         else
  49.             if bind.key then
  50.                 table.insert(keyBinding, { value = bind.value, key = bind.key })
  51.             end
  52.         end
  53.     end
  54. end
  55.  
  56. CrowbarSpearToggle.onKeyPressed = function(key)
  57.     if key == getCore():getKey("CrowbarSpear_Toggle") then
  58.         CrowbarSpearToggle.ToggleCrowbarSpear()
  59.     elseif key == getCore():getKey("CrowbarSpear_HoldToggle") then
  60.         if isKeyDown(getCore():getKey('CrowbarSpear_ToggleModifier')) then
  61.             CrowbarSpearToggle.ToggleCrowbarSpear()
  62.         end
  63.     end
  64. end
  65.  
  66. CrowbarSpearToggle.addHotkey()
  67. Events.OnKeyPressed.Add(CrowbarSpearToggle.onKeyPressed)
  68.  
  69. return CrowbarSpearToggle
Advertisement
Add Comment
Please, Sign In to add comment