Guest User

Untitled

a guest
Dec 9th, 2018
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. -- homepoints are enabled
  2. if HOMEPOINT_TELEPORT == 1 then
  3.  
  4. -- invalid homepoint index
  5. if not homepoints[hpIndex] then
  6. return
  7. end
  8.  
  9. -- get homepoint bitmasks from player vars
  10. local masks =
  11. {
  12. [1] = bit.bor(bit.lshift(player:getVar("HpTeleportMask1a"), 16), player:getVar("HpTeleportMask1b")),
  13. [2] = bit.bor(bit.lshift(player:getVar("HpTeleportMask2a"), 16), player:getVar("HpTeleportMask2b")),
  14. [3] = bit.bor(bit.lshift(player:getVar("HpTeleportMask3a"), 16), player:getVar("HpTeleportMask3b")),
  15. [4] = bit.bor(bit.lshift(player:getVar("HpTeleportMask4a"), 16), player:getVar("HpTeleportMask4b")),
  16. }
  17.  
  18. -- check for registration of new homepoint
  19. local group = homepoints[hpIndex][1]
  20. local mask = masks[group]
  21. local newHp = 0
  22.  
  23. if bit.rshift(bit.lshift(mask, 32 - homepoints[hpIndex][2]), 31) == 0 then
  24. newHp = 0x10000 -- This value causes the "You have registered a new home point!" dialog to display
  25.  
  26. -- update mask with new location and save to database
  27. mask = bit.bor(mask, bit.lshift(1, homepoints[hpIndex][2] - 1))
  28. player:setVar("HpTeleportMask"..group.."a", bit.rshift(mask, 16))
  29. player:setVar("HpTeleportMask"..group.."b", bit.rshift(bit.lshift(mask, 16), 16))
  30. end
  31.  
  32. -- set localvar (will be used onEventFinish) and start homepoint menu event
  33. player:setLocalVar("currentHpIndex", hpIndex)
  34. player:startEvent(csid, 0, masks[1], masks[2], masks[3], masks[4], player:getGil(), 4095, hpIndex + newHp)
  35.  
  36. -- homepoints are disabled
  37. else
  38. player:PrintToPlayer("Home point teleports are currently disabled on this server.")
  39. player:startEvent(csid, 0, 0, 0, 0, 0, player:getGil(), 4095, hpIndex)
  40. end
Advertisement
Add Comment
Please, Sign In to add comment