//人物PK怪
procedure KillMonster(Npc: TNormNpc; Player: TPlayObject; Monster: TActor);
//宝宝PK怪触发
procedure SlaveKillMonster(Npc: TNormNpc; Player: TPlayObject; Slave, Monster: TActor);
//PK人触发
procedure KillPlayer(Npc: TNormNpc; Killer, Player: TPlayObject);
//宝宝PK人触发
procedure SlaveKillPlayer(Npc: TNormNpc; Master: TPlayObject; Slave: TActor; Player: TPlayObject);
//人物挂亡触发
procedure PlayerDie(Npc: TNormNpc; Player: TPlayObject; Killer: TActor);
//人物复活触发
procedure PlayerReAlive(Npc: TNormNpc; Player: TPlayObject);
//人物升级触发
procedure PlayerLevelUp(Npc: TNormNpc; Player: TPlayObject; const Level: Integer);
//人物修习技能触发
procedure PlayAddSkill(Npc: TNormNpc; Player: TPlayObject; Magic: TUserMagic; var Accpet: Boolean);
//人物改变PK模式时触发,OldMode为改变前的模式,NewMode为新模式
procedure ChangeAttatckMode(Npc: TNormNpc; Player: TPlayObject; OldMode: TAttatckMode; var NewMode: TAttatckMode);
//人物攻击时触发: UserMagic为当前技能,可能为nil;Target为当前攻击的目标,可能为nil;Accept是否允许本次攻击,默认为是
procedure PlayerAttack(Npc: TNormNpc; Player: TPlayObject; UserMagic: TUserMagic; Target: TActor; var Accept: Boolean);
//人物获得经验值时触发
procedure GetExp(Npc: TNormNpc; Player: TPlayObject; Exp: Integer);
//决斗结束
procedure DuelEnd(Npc: TNormNpc; Winner, Loser: TPlayObject);
//OnBagItemEvent: 背包物品事件
//Item和当前事件相关的物品
//EventType: 事件类型
// 0:增加到背包
// 1:从背包中移出
//EventID:事件ID
{
EventType:0,
EventID:
0:捡取
1:怪物身上挖出
2:挖矿挖出
3:解包
4:从身上取下
5:商店购买
6:元宝商城购买
7:礼金商城购买
8:玩家交易获得
9:交易市场购买
10:交易市场下架
11:命令制造获得
12:取仓库
13:其他
EventType:1,
EventID:
0:丢弃
1:挂亡爆出
2:出售
3:正常使用
4:穿戴到身上
5:交易给其他玩家
6:到期销毁
7:破损销毁
8:上架到交易市场
9:用脚本执行销毁或拿走
10:存
11:其他
}
procedure OnBagItemEvent(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; EventType, EventID: Byte);
//人物掉落物品(扔物)触发(针对监视物品):Player:玩家,Item: 物品,ISUseItem:是否为身上穿戴的物品,Accept:是否允许掉落(当物品规则中指定挂亡必掉物品此参数无效)
procedure PlayerDropItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; const MapX, MapY: Integer; ISUseItem: Boolean; var Accept: Boolean);
//人物扔物品触发(针对监视物品):Player:玩家,Item: 物品,Accept:是否允许扔出
procedure PlayerThrowItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; const MapX, MapY: Integer; var Accept: Boolean);
//怪物掉落物品触发(针对监视物品):Owner:物品所属玩家,Monster:掉落怪物,item:物品,Accept:是否允许掉落
procedure MonDropItem(Npc: TNormNpc; Owner: TPlayObject; Monster: TActor; Item: TUserItem; Map: TEnvirnoment; const X, Y: Integer; var Accept: Boolean);
//根据怪物名称爆出物品触发(针对监视物品):Owner:物品所属玩家,Monster:怪物名称,item:物品,Accept:是否允许掉落
procedure DropItemByMonName(Npc: TNormNpc; Owner: TPlayObject; const Monster: String; Item: TUserItem; var Accept: Boolean);
//玩家从地上捡物品触发
procedure PickupItem(Npc: TNormNpc; Player: TPlayObject; Envir: TEnvirnoment; UserItem: TUserItem; var Accept: Boolean);
//挖矿时挖出物品触发: Player挖矿人 UserItem挖出的物品 Envir当前挖矿地图 Accept是否允许将该物品给玩家,默认为是
procedure MineDropItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; Envir: TEnvirnoment; const X, Y: Integer; var Accept: Boolean);
//当玩家采集完成 Player:当前进行采集的玩家 Monster:被采集的资源对象 Accept:是否允许采集到物品
procedure OnCollect(Npc: TNormNpc; Player: TPlayObject; Monster: TActor; var Accept: Boolean);
//从怪物升上挖掘道具触发:Accept表示该物品允许玩家拥有,默认为True
procedure ButchItem(Npc: TNormNpc; Player: TPlayObject; Monster: TActor; UserItem: TUserItem; var Accept: Boolean);
//购买商铺物品触发
procedure BuyShopItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ShopType, Count, Price: Integer);
//商铺购买完成时触发
procedure BuyShopItemEnd(Npc: TNormNpc; Player: TPlayObject; const ItemName: String; const ShopType, Count, ActualCount, Price: Integer);
//使用物品时触发: StdMode=31,Accept:执行之后是否删除物品,默认为True,如果设置为False,则执行函数的同时不删除物品
procedure StdModeFunc(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; var Accept: Boolean);
//脱装备触发,Accept是否允许脱下,默认为True
procedure OnTakeOffItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ItemWhere: TItemWhere; var Accept: Boolean);
//穿装备触发,Accept是否允许穿戴,默认为True
procedure OnTakeOnItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ItemWhere: TItemWhere; var Accept: Boolean);
//玩家使用物品点击目标物品触发, 使用物品的StdMode=33,Accept:执行后是否删除使用物品,默认为是
procedure ItemClickItem(Npc: TNormNpc; Player: TPlayObject; Source, Dest: TUserItem; var Accept: Boolean);
//玩家使用物品点击身上穿戴的物品触发, 使用物品的StdMode=33,Accept:执行后是否删除使用物品,默认为是
procedure ItemClickUseItem(Npc: TNormNpc; Player: TPlayObject; ItemWhere: TItemWhere; Source, Dest: TUserItem; var Accept: Boolean);
//释放魔法触发,Accpet:是否允许释放,默认为True
procedure MagicSpell(Npc: TNormNpc; Player: TPlayObject; UserMagic: TUserMagic; nTargetX, nTargetY: Integer; Target: TActor; var Accpet: Boolean);
//淬炼装备
procedure RefineItem(Npc: TNormNpc; Player: TPlayObject; Item1, Item2, Item3: TUserItem; var Handled: Boolean);
//加入行会前触发
procedure BeforeGuildAddMember(Npc: TNormNpc; Guild: TGuild; Player: TPlayObject; var Accept: Boolean);
//加入行会后触发
procedure GuildAddedMember(Npc: TNormNpc; Guild: TGuild; Player: TPlayObject);
//退出行会前触发
procedure BeforeGuildRemoveMember(Npc: TNormNpc; Guild: TGuild; const Player: String; var Accept: Boolean);
//退出行会后触发
procedure GuildRemovedMember(Npc: TNormNpc; Guild: TGuild; const Player: String);
//队伍有角色加入时触发
procedure GroupAddedMember(Npc: TNormNpc; Owner, Member: TPlayObject);
//队伍有角色退出触发
procedure GroupRemovedMember(Npc: TNormNpc; Owner, Member: TPlayObject);
//获取宝箱物品触发
procedure GetBoxItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; BoxID: Integer);
//用户执行进度条事件触发,只有脚本调用ShowProgress函数且最终执行其事件才会触发本函数
procedure ProgressEvent(Npc: TNormNpc; Player: TPlayObject; EventID: Integer);
//用户角度条执行失败触发
procedure ProgressFaild(Npc: TNormNpc; Player: TPlayObject; EventID: Integer);
//装备的魂炼等级提升时触发:
procedure ItemSoulLevelUp(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem);
//自由市场
procedure StallPutOn(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; Gold, GameGold: Integer; var Accpet: Boolean);//上架之前
procedure StallPutOff(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; Gold, GameGold: Integer; var Accpet: Boolean);//下架之前
procedure StallBuyItem(Npc: TNormNpc; Player: TPlayObject; const StallName: String; Item: TUserItem; Gold, GameGold: Integer; var Accpet: Boolean);//购买
procedure StallUpdateItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; OldGold, OldGameGold, Gold, GameGold: Integer; var Accpet: Boolean);//修改物品价格
procedure StallExtractGold(Npc: TNormNpc; Player: TPlayObject; Gold, GameGold: Integer; var Accpet: Boolean);//提取货款
//邮件系统
procedure MailBeforeSend(Npc: TNormNpc; Player: TPlayObject; const SendTo: String; Item: TUserItem; var Accept: Boolean);
procedure MailAfterSend(Npc: TNormNpc; Player: TPlayObject; const SendTo: String);
//坐骑 RideOn是骑马还是下马,True表示骑马;Accept表示是否允许本次骑马操作
procedure RideOnHorse(Npc: TNormNpc; Player: TPlayObject; RideOn: Boolean; var Accept: Boolean);
//客户端点击感叹号图标
procedure ClickSighIcon(Npc: TNormNpc; Player: TPlayObject; MethodID: Integer);
//Ctrl+左键点击背包物品触发,Item为被点击的物品
procedure AltAndLButtonClickBagItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem);
//Ctrl+左键点击穿戴物品触发,Item为被点击的物品,AItemWhere为穿戴位置
procedure AltAndLButtonClickUseItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; AItemWhere: TItemWhere);
|