12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using CommonAI.Zone.Instance;
- using CommonLang.Vector;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using XmdsCommonServer.Plugin.Quest;
- namespace XmdsCommonQuest.Quest
- {
- [QuestListen("123")]
- public class Quest_123 : QuestScript
- {
- // 脚本开始
- protected override void OnStart()
- {
- // 玩家进入位面
- PlayerEnterAOI();
- //经过1
- var rg1 = Zone.getFlagAs<ZoneRegion>("rg1");
- //经过2
- var rg2 = Zone.getFlagAs<ZoneRegion>("rg2");
- // 终点
- var finish_region = Zone.getFlagAs<ZoneRegion>("finish_region");
- // 添加NPC单位
- var npc = this.AddUnitInRegion(
- "start", // 区域名
- 100500, // NPC模板ID
- Player.Force, // Force
- true, // 是否进入AOI
- "NPC", // 名字
- 0, // 等级
- "waypoint"); // 寻路点
- npc.SetMaxHP(10000, true);
- npc.SetMoveSpeed(npc.MoveSpeedSEC / 2);
- // 当NPC死亡
- npc.OnDead += (u, attacker) =>
- {
- // 任务失败,放弃任务
- QuestFailed("NPC死亡");
- };
- // 当NPC走到怪点1
- rg1.ListenUnitEnterOnce(npc, (rg, u) =>
- {
- // 刷5只怪
- AddUnitsInRegion("monster_region1", 100500, 5, Player.Force + 1, true);
- });
- // 当NPC走到怪点2
- rg2.ListenUnitEnterOnce(npc, (rg, u) =>
- {
- // 刷5只怪
- AddUnitsInRegion("monster_region2", 100500, 5, Player.Force + 1, true);
- });
- // 当NPC走到头
- finish_region.ListenUnitEnterOnce(npc, (rg, u) =>
- {
- // 任务成功,提交任务
- QuestAccomplish("NPC走到终点");
- });
- }
- // 脚本结束
- protected override void OnDispose()
- {
- // 单位离开位面
- this.PlayerLeaveAOI();
- }
- }
- }
|