public override void OnCreate(bool success) { BeginTask(); Delay(10); Dash(-8498, -7410, -163, 275, 1394, 97); exe = StartTask(); }
public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest) { switch (questID) { case 224: if (step == 2) { SendNPCCommand("q224.Start2"); BeginTask(); Delay(5); NPCChat(1551, 135); Delay(82); Dash(-2206, 9728, 588, 161, 1419, 20); Delay(20); Dash(-1801, 9415, 685, 323, 0, 0); Move(-1804, 9417, 685, 140, 500, false); Move(-1807, 9420, 685, 140, 500, false); exe = StartTask(); } break; } }
public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest) { switch (questID) { #region 225 case 225: case 228: case 234: case 237: if (step == 1) { SendNPCCommand("q225.Start"); BeginTask(); Delay(5); NPCChat(1573, 250); StartTask(); } if (step == 2) { SendNPCCommand("q225.End"); BeginTask(); NPCChat(1556, pc); Delay(40); NPCChat(1574, pc); Delay(42); Move(-2253, 10645, 557, 14, 64); Move(-2243, 10674, 557, 70, 500); Move(-2233, 10703, 557, 70, 500); Move(-2223, 10732, 555, 70, 500); Move(-2213, 10761, 555, 70, 500); Move(-2210, 10768, 555, 70, 112); Move(-2201, 10797, 555, 72, 500); Move(-2192, 10826, 555, 72, 500); Move(-2183, 10855, 555, 72, 500); Move(-2174, 10884, 555, 72, 500); Move(-2165, 10913, 555, 72, 500); Move(-2156, 10942, 555, 72, 500); Move(-2146, 10971, 555, 72, 500); Move(-2136, 11000, 555, 72, 500); Move(-2126, 11029, 555, 72, 500); Move(-2116, 11058, 555, 72, 500); Move(-2112, 11070, 555, 72, 193); Move(-2115, 11061, 555, 249, 500, false); Move(-2117, 11057, 555, 249, 222, false); exe = StartTask(); } break; #endregion #region 226 case 226: case 229: case 238: { if (step == 1) { BeginTask(); SpawnNPCTask(672, 1542, -2198, 11005, 555, 45, 367); Delay(3); SpawnNPCTask(672, 1542, -2089, 10969, 555, 120, 367); Delay(3); SpawnNPCTask(672, 1542, -2191, 11117, 555, 300, 367); Delay(3); SpawnNPCTask(672, 1542, -2023, 11054, 555, 180, 367); Delay(3); SpawnNPCTask(672, 1542, -2090, 11146, 555, 250, 367); StartTask(); } } break; case 235: { if (step == 1) { BeginTask(); SpawnNPCTask(2475, 1542, -2192, 11004, 555, 45, 367); Delay(3); SpawnNPCTask(2475, 1542, -2087, 10968, 555, 120, 367); Delay(3); SpawnNPCTask(2475, 1542, -2194, 11111, 555, 300, 367); Delay(3); SpawnNPCTask(2475, 1542, -2026, 11057, 555, 180, 367); Delay(3); SpawnNPCTask(2475, 1542, -2086, 11143, 555, 250, 367); StartTask(); } } break; #endregion #region 227 case 227: case 230: case 236: case 239: if (step == 1) { BeginTask(); Delay(10); NPCChat(1561, pc); Delay(4); Dash(-2118, 11054, 555, 252, 1425, 75); exe = StartTask(); q227_step = 1; } break; #endregion } }
public override void OnActorStartsMoving(Actor mActor, MoveArg arg) { if (mActor is ActorPC target) { if (exe?.Activated == false) { ushort[] questIDs = new ushort[] { 225, 228, 234, 237 }; foreach (ushort i in questIDs) { if (target.Quests.ContainsKey(i)) { Quest q = target.Quests[i]; if (q.Step == 2) { if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100) { ProcessQuest(target, 3, q); target = null; } } return; } } questIDs = new ushort[] { 227, 230, 236, 239 }; foreach (ushort i in questIDs) { if (target.Quests.ContainsKey(i)) { Quest q = target.Quests[i]; if (q.Step == 1) { if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100) { switch (q227_step) { case 1: { BeginTask(); Dash(-2123, 11037, 555, 254, 0, 0); Dash(-2313, 10448, 556, 253, 0, 0); Dash(-2399, 10184, 502, 252, 0, 0); q227_step = 2; exe = StartTask(); } break; case 2: { BeginTask(); NPCChat(1572, target); Delay(10); Dash(-2400, 10174, 504, 265, 1426, 43); q227_step = 3; exe = StartTask(); } break; case 3: { BeginTask(); Dash(-3183, 10442, 421, 161, 0, 0); q227_step = 4; exe = StartTask(); } break; case 4: { BeginTask(); NPCChat(2405, target); Delay(10); Dash(-3186, 10445, 643, 135, 1427, 43); q227_step = 5; exe = StartTask(); } break; case 5: { BeginTask(); Dash(-4258, 10987, 319, 153, 0, 0); q227_step = 6; exe = StartTask(); } break; case 6: { ProcessQuest(target, 2, q); target = null; exe = null; } break; } } } return; } } } } }
public override void OnActorStartsMoving(Actor mActor, MoveArg arg) { if (mActor is ActorPC target) { if (exe?.Activated == false) { if (target.Quests.ContainsKey(221)) { Quest q = target.Quests[221]; if (q.Step == 4) { if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 50) { NextStep(q, 0, 31, 31, 31); UpdateQuest(target, q); BeginTask(); Delay(10); Move(-3031, 9250, 582, 244, 125, false); Move(-3036, 9245, 583, 225, 500, false); Move(-3042, 9239, 583, 225, 500, false); Move(-3045, 9236, 583, 225, 250, false); StartTask(); target = null; } } return; } if (target.Quests.ContainsKey(222)) { Quest q = target.Quests[222]; if (q.Step == 0) { if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100) { NextStep(q, 0, 1, 1, 1); UpdateQuest(target, q); } } } if (target.Quests.ContainsKey(223)) { Quest q = target.Quests[223]; if (q.Step == 2) { if (NPC.DistanceToPoint2D(arg.X, arg.Y) < 100) { switch (q223State) { case 0: BeginTask(); //NPCChat(1604, 292); NPCChat(1570, 119); Delay(15); Dash(-2495, 9344, 553, 180, 1397, 32); Delay(35); Dash(-2208, 8577, 552, 291, 0, 0); exe = StartTask(); q223State = 1; break; case 1: BeginTask(); NPCChat(1548, 291); Delay(5); Move(-2206, 8564, 552, 279, 209); Move(-2206, 8533, 550, 269, 500); Move(-2207, 8502, 557, 269, 500); Move(-2208, 8471, 567, 269, 500); Move(-2209, 8464, 568, 269, 112); Move(-2219, 8435, 586, 250, 500); Move(-2230, 8406, 600, 250, 500); Move(-2241, 8377, 611, 250, 500); Move(-2252, 8348, 622, 250, 500); Move(-2263, 8319, 632, 250, 500); Move(-2266, 8311, 634, 250, 129); Move(-2248, 8286, 641, 306, 500); Move(-2230, 8261, 645, 306, 500); Move(-2227, 8256, 645, 306, 80); Move(-2196, 8262, 646, 11, 500); Move(-2177, 8266, 649, 11, 306); Move(-2159, 8291, 650, 53, 500); Move(-2141, 8316, 655, 53, 500); Move(-2123, 8341, 657, 53, 500); Move(-2105, 8366, 658, 53, 500); Move(-2087, 8391, 657, 53, 500); Move(-2068, 8416, 657, 53, 500); Move(-2055, 8433, 658, 53, 338); exe = StartTask(); q223State = 2; break; case 2: { CutScene(target, 46); NextStep(q, 0, 7, 7, 7); UpdateQuest(target, q); BeginTask(); Move(-2050, 8439, 658, 47, 500, false); Move(-2044, 8445, 658, 47, 500, false); exe = StartTask(); } break; } } } } } } }
public override void OnReceiveNPCCommand(ActorNPC npc, string command) { switch (command) { case "q222.Start": { BeginTask(); Delay(10); Move(-3045, 9234, 583, 270, 32); Move(-3023, 9255, 582, 44, 500); Move(-3001, 9276, 582, 44, 500); Move(-2979, 9297, 582, 44, 500); Move(-2957, 9318, 582, 44, 500); Move(-2935, 9339, 580, 44, 500); Move(-2913, 9360, 569, 44, 500); Move(-2891, 9381, 558, 44, 500); Move(-2869, 9402, 547, 44, 500); Move(-2848, 9423, 544, 44, 500); Move(-2826, 9445, 544, 44, 500); Move(-2806, 9465, 544, 44, 451); Move(-2800, 9495, 544, 77, 500); Move(-2794, 9525, 544, 77, 500); Move(-2787, 9555, 544, 77, 500); Move(-2781, 9585, 541, 77, 500); Move(-2778, 9594, 540, 77, 145); Move(-2784, 9624, 536, 102, 500); Move(-2791, 9654, 533, 102, 500); Move(-2798, 9684, 528, 102, 500); Move(-2805, 9714, 523, 102, 500); Move(-2812, 9744, 516, 102, 500); Move(-2819, 9774, 511, 102, 500); Move(-2826, 9804, 506, 102, 500); Move(-2833, 9834, 502, 102, 500); Move(-2838, 9855, 501, 102, 338); Move(-2857, 9879, 498, 129, 500); Move(-2876, 9903, 497, 129, 500); Move(-2895, 9925, 496, 129, 467); Move(-2924, 9917, 493, 197, 500); Move(-2953, 9909, 493, 197, 500); Move(-2982, 9900, 492, 197, 500); Move(-3011, 9892, 488, 197, 500); Move(-3040, 9883, 483, 197, 500); Move(-3069, 9874, 475, 197, 500); Move(-3098, 9865, 468, 197, 500); Move(-3118, 9859, 470, 197, 322); Move(-3136, 9834, 471, 234, 500); Move(-3154, 9809, 471, 234, 500); Move(-3162, 9799, 471, 234, 193); Move(-3156, 9803, 471, 33, 500, false); Move(-3150, 9807, 471, 33, 437, false); exe = StartTask(); } break; case "q223.Start": BeginTask(); NPCChat(1546, 119); Delay(35); Move(-2622, 9862, 537, 270, 16); Move(-2626, 9832, 537, 262, 500); Move(-2630, 9802, 537, 262, 500); Move(-2635, 9772, 537, 262, 500); Move(-2640, 9741, 536, 262, 500); Move(-2643, 9725, 535, 262, 258); NPCChat(1547, 262); Delay(30); Dash(-2494, 9344, 553, 292, 1396, 12); exe = StartTask(); break; case "q224.Start": BeginTask(); Delay(35); NPCChat(1550, 47); Delay(30); Dash(-2048, 8448, 658, 143, 1398, 90); Delay(90); Dash(-2548, 9394, 555, 117, 0, 0); Dash(-2535, 9396, 555, 8, 0, 0); Delay(65); NPCChat(1564, 8); Move(-2528, 9398, 556, 15, 112); Move(-2509, 9422, 558, 51, 500); Move(-2490, 9446, 562, 51, 500); Move(-2471, 9470, 564, 51, 500); Move(-2452, 9494, 567, 51, 500); Move(-2433, 9518, 569, 51, 500); Move(-2414, 9542, 571, 51, 500); Move(-2395, 9566, 573, 51, 500); Move(-2376, 9590, 575, 51, 500); Move(-2357, 9614, 577, 51, 500); Move(-2338, 9638, 580, 51, 500); Move(-2319, 9662, 585, 51, 500); Move(-2300, 9686, 587, 51, 500); Move(-2281, 9710, 588, 51, 500); Move(-2262, 9734, 588, 51, 500); Move(-2243, 9758, 588, 51, 500); Move(-2226, 9780, 588, 51, 435); Move(-2222, 9774, 588, 304, 500, false); Move(-2218, 9767, 588, 304, 500, false); Move(-2216, 9765, 588, 304, 125, false); exe = StartTask(); break; case "q224.Start2": BeginTask(); Delay(59); NPCChat(1566, 135); Delay(59); NPCChat(1569, 135); StartTask(); break; } }
public override void OnQuest(ActorPC pc, ushort questID, byte step, Quest quest) { switch (questID) { case 221: if (step == 4) { BeginTask(); NPCChat(1543, 200); Delay(3); Move(-3167, 9273, 583, 0, 64); Move(-3142, 9292, 582, 38, 500); Move(-3119, 9311, 582, 38, 500); Move(-3107, 9321, 582, 38, 241); NPCChat(1571, 38); Move(-3103, 9320, 582, 346, 64); Move(-3076, 9306, 582, 333, 500); Move(-3054, 9294, 582, 333, 403); Move(-3035, 9270, 582, 310, 500); Move(-3024, 9257, 582, 310, 274); Move(-3030, 9252, 582, 220, 437, false); exe = StartTask(); } break; case 222: if (step == 4) { BeginTask(); Delay(5); NPCChat(1545, 33); Move(-3148, 9808, 471, 26, 32); Move(-3129, 9832, 471, 51, 500); Move(-3110, 9856, 470, 51, 500); Move(-3104, 9863, 468, 51, 145); Move(-3075, 9872, 473, 16, 500); Move(-3046, 9881, 481, 16, 500); Move(-3017, 9889, 486, 16, 500); Move(-2988, 9898, 491, 16, 500); Move(-2959, 9907, 493, 16, 500); Move(-2930, 9916, 492, 16, 500); Move(-2907, 9923, 494, 16, 387); Move(-2885, 9902, 496, 316, 500); Move(-2863, 9881, 498, 316, 500); Move(-2841, 9860, 500, 316, 500); Move(-2819, 9839, 503, 316, 500); Move(-2797, 9818, 509, 316, 500); Move(-2775, 9796, 517, 316, 500); Move(-2753, 9774, 521, 316, 500); Move(-2744, 9765, 525, 316, 193); Move(-2714, 9769, 530, 7, 500); Move(-2683, 9773, 534, 7, 500); Move(-2652, 9777, 536, 7, 500); Move(-2627, 9781, 537, 7, 403); Move(-2622, 9811, 537, 79, 500); Move(-2616, 9842, 537, 79, 500); Move(-2614, 9849, 537, 79, 112); Move(-2618, 9856, 537, 119, 500, false); Move(-2622, 9863, 537, 119, 500, false); StartTask(); } break; } }