tomemasteryshadowmanwidget.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --[[
  2. Script Name : SpawnScripts/SouthQeynos/tomemasteryshadowmanwidget.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.06.05 03:06:50
  5. Script Purpose :
  6. :
  7. --]]
  8. local Shadow = 5409
  9. local ShadowBook = 10159
  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,ShadowBook,1) or HasCompletedQuest(Spawn,Shadow) then
  19. SetAccessToEntityCommand(Spawn,NPC,"Take Book", 0)
  20. SpawnSet(NPC, "show_command_icon", 0)
  21. SpawnSet(NPC, "display_hand_icon", 0)
  22. else
  23. SetAccessToEntityCommand(Spawn,NPC,"Take Book", 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,ShadowBook,1) or HasCompletedQuest(Spawn,Shadow) then
  30. SpawnSet(NPC, "show_command_icon", 0)
  31. SpawnSet(NPC, "display_hand_icon", 0)
  32. SetAccessToEntityCommand(Spawn,NPC,"Take Book", 0)
  33. else
  34. SetAccessToEntityCommand(Spawn,NPC,"Take Book", 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 == 'Take Book' then
  41. SummonItem(Spawn,ShadowBook,1)
  42. AddTimer(NPC, 100, "Check", 1, Spawn)
  43. end
  44. end