tomemasterygnollwidget.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --[[
  2. Script Name : SpawnScripts/Antonica/tomemasterygnollwidget.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.06.07 03:06:08
  5. Script Purpose :
  6. :
  7. --]]
  8. local LnLQuest = 5398
  9. local Book = 8632
  10. function spawn(NPC)
  11. Check(NPC,Spawn)
  12. SetPlayerProximityFunction(NPC, 10, "InRange", Spawn)
  13. end
  14. function respawn(NPC)
  15. spawn(NPC)
  16. end
  17. function InRange(NPC, Spawn)
  18. if HasItem(Spawn,Book,1) or HasCompletedQuest(Spawn,LnLQuest) then
  19. SetAccessToEntityCommand(Spawn,NPC,"Open Chest", 0)
  20. SpawnSet(NPC, "show_command_icon", 0)
  21. SpawnSet(NPC, "display_hand_icon", 0)
  22. else
  23. SetAccessToEntityCommand(Spawn,NPC,"Open Chest", 1)
  24. SpawnSet(NPC, "show_command_icon", 1)
  25. SpawnSet(NPC, "display_hand_icon", 1)
  26. end
  27. end
  28. function Check(NPC,Spawn)
  29. if HasItem(Spawn,Book,1) or HasCompletedQuest(Spawn,LnLQuest) then
  30. SpawnSet(NPC, "show_command_icon", 0)
  31. SpawnSet(NPC, "display_hand_icon", 0)
  32. SetAccessToEntityCommand(Spawn,NPC,"Open Chest", 0)
  33. else
  34. SetAccessToEntityCommand(Spawn,NPC,"Open Chest", 1)
  35. SpawnSet(NPC, "show_command_icon", 1)
  36. SpawnSet(NPC, "display_hand_icon", 1)
  37. end
  38. end
  39. function casted_on(NPC, Spawn, SpellName)
  40. if SpellName == 'Open Chest' then
  41. SendMessage(Spawn, "You find a slightly tattered book.")
  42. SummonItem(Spawn,Book,1)
  43. AddTimer(NPC, 100, "Check", 1, Spawn)
  44. end
  45. end