SergeantatArmsUthros.lua 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. dofile("SpawnScripts/Generic/AdvancementGaze.lua")
  9. function spawn(NPC)
  10. ProvidesQuest(NPC, 5486)
  11. SetPlayerProximityFunction(NPC, 8, "InRange", "LeaveRange")
  12. waypoints(NPC)
  13. end
  14. function InRange(NPC, Spawn)
  15. if GetFactionAmount(Spawn,11)>=5000 then
  16. if GetLevel(Spawn) ==8 or GetLevel(Spawn)==9 then
  17. ClassCheck(NPC,Spawn)
  18. end
  19. end
  20. if GetFactionAmount(Spawn,11)<0 then
  21. FaceTarget(NPC, Spawn)
  22. PlayFlavor(NPC, "", "", "shakefist", 0, 0)
  23. end
  24. end
  25. function hailed(NPC, Spawn)
  26. FaceTarget(NPC, Spawn)
  27. local count = GetQuestCompleteCount(Spawn, 5486)
  28. conversation = CreateConversation()
  29. if GetQuestStep(Spawn,5486) ==2 then
  30. SetStepComplete(Spawn, 5486, 2)
  31. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros002.mp3", "", "hello", 1245586444, 1008307013,Spawn)
  32. if count <= 5 then
  33. AddConversationOption(conversation, "Sure.", "dlg_14_2")
  34. end
  35. AddConversationOption(conversation, "Not right now. ")
  36. StartConversation(conversation, NPC, Spawn, "Hey! Great work on the vermin. Can you spare more time to help Qeynos?")
  37. elseif not HasCompletedQuest(Spawn, 5486) then
  38. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros.mp3", "", "salute", 2454266022, 3710462328,Spawn)
  39. if not HasQuest(Spawn, 5486) then
  40. AddConversationOption(conversation, "I'm intent on staying.", "dlg_0_1")
  41. end
  42. AddConversationOption(conversation, "Perhaps I should play it safe and go back to the village.")
  43. 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.")
  44. else
  45. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros002.mp3", "", "", 1245586444, 1008307013,Spawn)
  46. if not HasQuest(Spawn, 5486) and count <= 5 then
  47. AddConversationOption(conversation, "Sure.", "dlg_0_2")
  48. end
  49. if not HasQuest(Spawn, 5486) then
  50. AddConversationOption(conversation, "Not right now. ")
  51. end
  52. if HasQuest(Spawn, 5486) then
  53. AddConversationOption(conversation, "I'm working on it.")
  54. end
  55. StartConversation(conversation, NPC, Spawn, "Hey! Great work on the vermin. Can you spare more time to help Qeynos?")
  56. end
  57. end
  58. function dlg_0_1(NPC, Spawn)
  59. FaceTarget(NPC, Spawn)
  60. conversation = CreateConversation()
  61. PlayFlavor(NPC, "voiceover/english/sergeant_at_arms_uthros/qey_adv02_ruins/quests/sergeant_uthros/sergeant_uthros000.mp3", "", "", 1978368877, 3695152842,Spawn)
  62. AddConversationOption(conversation, "Sounds good.", "dlg_0_2")
  63. 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!")
  64. end
  65. function dlg_0_2 (NPC, Spawn)
  66. FaceTarget(NPC, Spawn)
  67. OfferQuest(NPC, Spawn, 5486)
  68. end
  69. function waypoints(NPC)
  70. if GetSpawnLocationID(NPC)==133777752 then
  71. MovementLoopAddLocation(NPC, 898.56, -15.35, -572.21, 2, 0)
  72. MovementLoopAddLocation(NPC, 901.94, -16.04, -569.54, 2, 0)
  73. MovementLoopAddLocation(NPC, 907.79, -17.07, -564.93, 2, 0)
  74. MovementLoopAddLocation(NPC, 913.01, -18.62, -562.48, 2, 0)
  75. MovementLoopAddLocation(NPC, 921.17, -20.85, -562.89, 2, 0)
  76. MovementLoopAddLocation(NPC, 926.05, -21.07, -563.82, 2, 15)
  77. MovementLoopAddLocation(NPC, 927.38, -21.09, -564.07, 2, 0)
  78. MovementLoopAddLocation(NPC, 927.21, -21, -562.63, 2, 0)
  79. MovementLoopAddLocation(NPC, 923.29, -20.84, -560.9, 2, 0)
  80. MovementLoopAddLocation(NPC, 914.8, -19.08, -561.61, 2, 0)
  81. MovementLoopAddLocation(NPC, 908.12, -17.14, -563.96, 2, 0)
  82. MovementLoopAddLocation(NPC, 901.46, -15.95, -569.31, 2, 0)
  83. MovementLoopAddLocation(NPC, 898.81, -15.28, -573.93, 2, 15)
  84. MovementLoopAddLocation(NPC, 897.44, -15.07, -573.54, 2, 0)
  85. MovementLoopAddLocation(NPC, 896.75, -14.98, -572.09, 2, 0)
  86. MovementLoopAddLocation(NPC, 893.36, -13.91, -566.7, 2, 0)
  87. MovementLoopAddLocation(NPC, 891.35, -13.05, -561.21, 2, 15)
  88. MovementLoopAddLocation(NPC, 896.42, -14.91, -572.29, 2, 0)
  89. MovementLoopAddLocation(NPC, 897.13, -14.97, -573.72, 2, 15)
  90. end
  91. end