SergeantatArmsUthros.lua 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. --[[
  2. Script Name : SpawnScripts/Classic_forest/SergeantatArmsUthros.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.10.13 01:10:10
  5. Script Purpose :
  6. :
  7. --]]
  8. function spawn(NPC)
  9. ProvidesQuest(NPC, 5486)
  10. SetPlayerProximityFunction(NPC, 8, "InRange", "LeaveRange")
  11. waypoints(NPC)
  12. end
  13. function InRange(NPC, Spawn)
  14. if GetFactionAmount(Spawn,11)<0 then
  15. FaceTarget(NPC, Spawn)
  16. PlayFlavor(NPC, "", "", "shakefist", 0, 0)
  17. end
  18. end
  19. function hailed(NPC, Spawn)
  20. FaceTarget(NPC, Spawn)
  21. local count = GetQuestCompleteCount(Spawn, 5486)
  22. conversation = CreateConversation()
  23. if GetQuestStep(Spawn,5486) ==2 then
  24. SetStepComplete(Spawn, 5486, 2)
  25. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros002.mp3", "", "hello", 1245586444, 1008307013,Spawn)
  26. if count <= 5 then
  27. AddConversationOption(conversation, "Sure.", "dlg_14_2")
  28. end
  29. AddConversationOption(conversation, "Not right now. ")
  30. StartConversation(conversation, NPC, Spawn, "Hey! Great work on the vermin. Can you spare more time to help Qeynos?")
  31. elseif not HasCompletedQuest(Spawn, 5486) then
  32. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros.mp3", "", "salute", 2454266022, 3710462328,Spawn)
  33. if not HasQuest(Spawn, 5486) then
  34. AddConversationOption(conversation, "I'm intent on staying.", "dlg_0_1")
  35. end
  36. AddConversationOption(conversation, "Perhaps I should play it safe and go back to the village.")
  37. StartConversation(conversation, NPC, Spawn, "Watch your step, friend. Many adventurers get injured because they don't know the dangers that lurk here. These grounds are home to the ruins of the old mage academy. It was destroyed during the wars that raged centuries ago. And aside from the already dangerous inhabitants of these ruins, elemental servants of mages lurk about. Scared yet? ... If you're intent on staying in Qeynos, I suppose we can use your help.")
  38. else
  39. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros002.mp3", "", "", 1245586444, 1008307013,Spawn)
  40. if not HasQuest(Spawn, 5486) and count <= 5 then
  41. AddConversationOption(conversation, "Sure.", "dlg_0_2")
  42. end
  43. if not HasQuest(Spawn, 5486) then
  44. AddConversationOption(conversation, "Not right now. ")
  45. end
  46. if HasQuest(Spawn, 5486) then
  47. AddConversationOption(conversation, "I'm working on it.")
  48. end
  49. StartConversation(conversation, NPC, Spawn, "Hey! Great work on the vermin. Can you spare more time to help Qeynos?")
  50. end
  51. end
  52. function dlg_0_1(NPC, Spawn)
  53. FaceTarget(NPC, Spawn)
  54. conversation = CreateConversation()
  55. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros000.mp3", "", "", 1978368877, 3695152842,Spawn)
  56. AddConversationOption(conversation, "Sounds good.", "dlg_0_2")
  57. StartConversation(conversation, NPC, Spawn, "Well, then, make yourself useful and kill some of the nasty vermin who live in this area. And if you need something to do later, come on back, I always need help!")
  58. end
  59. function dlg_0_2 (NPC, Spawn)
  60. FaceTarget(NPC, Spawn)
  61. OfferQuest(NPC, Spawn, 5486)
  62. end
  63. function waypoints(NPC)
  64. if GetSpawnLocationID(NPC)==133777752 then
  65. MovementLoopAddLocation(NPC, 898.56, -15.35, -572.21, 2, 0)
  66. MovementLoopAddLocation(NPC, 901.94, -16.04, -569.54, 2, 0)
  67. MovementLoopAddLocation(NPC, 907.79, -17.07, -564.93, 2, 0)
  68. MovementLoopAddLocation(NPC, 913.01, -18.62, -562.48, 2, 0)
  69. MovementLoopAddLocation(NPC, 921.17, -20.85, -562.89, 2, 0)
  70. MovementLoopAddLocation(NPC, 926.05, -21.07, -563.82, 2, 15)
  71. MovementLoopAddLocation(NPC, 927.38, -21.09, -564.07, 2, 0)
  72. MovementLoopAddLocation(NPC, 927.21, -21, -562.63, 2, 0)
  73. MovementLoopAddLocation(NPC, 923.29, -20.84, -560.9, 2, 0)
  74. MovementLoopAddLocation(NPC, 914.8, -19.08, -561.61, 2, 0)
  75. MovementLoopAddLocation(NPC, 908.12, -17.14, -563.96, 2, 0)
  76. MovementLoopAddLocation(NPC, 901.46, -15.95, -569.31, 2, 0)
  77. MovementLoopAddLocation(NPC, 898.81, -15.28, -573.93, 2, 15)
  78. MovementLoopAddLocation(NPC, 897.44, -15.07, -573.54, 2, 0)
  79. MovementLoopAddLocation(NPC, 896.75, -14.98, -572.09, 2, 0)
  80. MovementLoopAddLocation(NPC, 893.36, -13.91, -566.7, 2, 0)
  81. MovementLoopAddLocation(NPC, 891.35, -13.05, -561.21, 2, 15)
  82. MovementLoopAddLocation(NPC, 896.42, -14.91, -572.29, 2, 0)
  83. MovementLoopAddLocation(NPC, 897.13, -14.97, -573.72, 2, 15)
  84. end
  85. end