random_pattern_medium_short_delay.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. --[[
  2. Script Name : SpawnScripts/Generic/random_pattern_medium_short_delay.lua
  3. Script Author : LordPazuzu
  4. Script Date : 2022.05.21 04:05:01
  5. Script Purpose :
  6. :
  7. --]]
  8. function spawn(NPC)
  9. ChooseMovement(NPC)
  10. end
  11. function ChooseMovement(NPC)
  12. local route = math.random(1,4)
  13. if route == 1 then
  14. RouteOne(NPC, Spawn)
  15. elseif route == 2 then
  16. RouteTwo(NPC, Spawn)
  17. elseif route == 3 then
  18. RouteThree(NPC, Spawn)
  19. elseif route == 4 then
  20. RouteFour(NPC, Spawn)
  21. end
  22. end
  23. function RouteOne(NPC, Spawn)
  24. local X = GetX(NPC)
  25. local Y = GetY(NPC)
  26. local Z = GetZ(NPC)
  27. MovementLoopAddLocation(NPC, X, Y, Z, 2, 0)
  28. MovementLoopAddLocation(NPC, X + 14, Y, Z, 2,0)
  29. MovementLoopAddLocation(NPC, X + 14, Y, Z + 4, 2, 5)
  30. MovementLoopAddLocation(NPC, X + 20, Y, Z, 2, 0)
  31. MovementLoopAddLocation(NPC, X + 14, Y, Z + 4, 2, 0)
  32. MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,10))
  33. end
  34. function RouteTwo(NPC, Spawn)
  35. local X = GetX(NPC)
  36. local Y = GetY(NPC)
  37. local Z = GetZ(NPC)
  38. MovementLoopAddLocation(NPC, X, Y, Z, 2, 0)
  39. MovementLoopAddLocation(NPC, X - 14, Y, Z, 2, 0)
  40. MovementLoopAddLocation(NPC, X - 14, Y, Z - 4, 2, 5)
  41. MovementLoopAddLocation(NPC, X - 20, Y, Z, 2, 0)
  42. MovementLoopAddLocation(NPC, X - 14, Y, Z - 4, 2, 0)
  43. MovementLoopAddLocation(NPC, X, Y, Z, 1, 0)
  44. end
  45. function RouteThree(NPC, Spawn)
  46. local X = GetX(NPC)
  47. local Y = GetY(NPC)
  48. local Z = GetZ(NPC)
  49. MovementLoopAddLocation(NPC, X, Y, Z, 2, 0)
  50. MovementLoopAddLocation(NPC, X + 14, Y, Z, 2, 0)
  51. MovementLoopAddLocation(NPC, X + 14, Y, Z - 4, 2, 5)
  52. MovementLoopAddLocation(NPC, X + 20, Y, Z, 2, 0)
  53. MovementLoopAddLocation(NPC, X + 14, Y, Z - 4, 2, 0)
  54. MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,10))
  55. end
  56. function RouteFour(NPC, Spawn)
  57. local X = GetX(NPC)
  58. local Y = GetY(NPC)
  59. local Z = GetZ(NPC)
  60. MovementLoopAddLocation(NPC, X, Y, Z, 2, 0)
  61. MovementLoopAddLocation(NPC, X - 14, Y, Z, 2, 0)
  62. MovementLoopAddLocation(NPC, X - 14, Y, Z + 4, 2, 5)
  63. MovementLoopAddLocation(NPC, X - 20, Y, Z, 2, 0)
  64. MovementLoopAddLocation(NPC, X - 14, Y, Z + 4, 2, 0)
  65. MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,10))
  66. end
  67. function respawn(NPC, Spawn)
  68. spawn(NPC)
  69. end
  70. function hailed(NPC, Spawn)
  71. FaceTarget(NPC, Spawn)
  72. end