| 
 
上一篇:[GOM引擎]检查玩家等级的脚本示例下一篇:[GOM引擎]从文件中随机获取一行字符串的方法| //人物杀怪 procedure KillMonster(Npc: TNormNpc; Player: TPlayObject; Monster: TActor);
 //宝宝杀怪触发
 procedure SlaveKillMonster(Npc: TNormNpc; Player: TPlayObject; Slave, Monster: TActor);
 //杀人触发
 procedure KillPlayer(Npc: TNormNpc; Killer, Player: TPlayObject);
 //宝宝杀人触发
 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);
 
    版权声明
        1、本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习研究使用,不存在任何商业目的与商业用途。 2、论坛的所有内容都不保证其准确性,完整性,有效性,因本站内容因误导等因素而造成的损失本站不承担连带责任。 3、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,若有用户需要商用本站资源,请务必联系版权方购买正版授权! | 
 |