MagicNpc
注:
在自定义技能中指定了动作为脚本类后,执行函数的名称即为MagicNpc里的函数名,函数声明格式和上面的Magic1001函数完全一致即可,返回True表示执行成功,返回False则执行失败。如果脚本动作为技能的第一个动作,返回失败后其后面的动作均不会执行
Unit MagicNpc;
Interface
Uses Classes, SysUtils;
{
怪物攻击技能选取
AMon: 当前执行攻击动作的怪物
ATarget: 被攻击的对象
AMagicID: 技能ID.默认为0,即普通的物理攻击
}
Procedure Monselectmagicbeforeattack(AMon, ATarget: TActor; Var AMagicID: Integer);
{
自定义技能脚本触发入口
ASource: 施法者(玩家、人形怪及怪物等)
ATarget: 施法者鼠标指向的对象(可能为nil,即没选择任何目标)
ATargetX, ATargetY: 施法者鼠标所指坐标(ATarget不为nil时即为ATarget的坐标)
AMouseX, AMouseY: 施法者鼠标所指坐标
AList: 根据当前技能配置,技能在释放后选择的目标列表
AMagic: 当前魔法对象
}
Function Magic208(ASource, ATarget: TActor; ATargetX, ATargetY, AMouseX, AMouseY: Integer; AList: TActorList; AMagic: TUserMagic): Boolean;
Function Mag200(ASource, ATarget: TActor; ATargetX, ATargetY, AMouseX, AMouseY: Integer; AList: TActorList; AMagic: TUserMagic): Boolean;
Implementation
Procedure Monselectmagicbeforeattack(AMon, ATarget: TActor; Var AMagicID: Integer);
Begin
//case Random(10) of
// 0: AMagicID := 11; //雷电术
// 1: AMagicID := 23; //爆裂火焰
// 2: AMagicID := 206; //推山掌
//end;
End;
Function Magic208(ASource, ATarget: TActor; ATargetX, ATargetY, AMouseX, AMouseY: Integer; AList: TActorList; AMagic: TUserMagic): Boolean;
Begin
//Gamelib.Broadcast(Format('%s 触发技能 %s 脚本', [ASource.Name, AMagic.Name]));
Result := True;
End;
Function Mag200(ASource, ATarget: TActor; ATargetX, ATargetY, AMouseX, AMouseY: Integer; AList: TActorList; AMagic: TUserMagic): Boolean;
Begin
Result := True;
End;
End.
引擎官网:www.91M2.com 交流群:5555999 此引擎仅供测试,切勿用于商业用途。如有侵权请立即联系我们,我们将在第一时间删除。