宠物系统功能说明: 1.支持宠物蛋生成宠物, 宠物蛋类别是StdMode=201,Anicount字段填对应怪物表里宠物的IDX 2.cfg_petlevel.xls为宠物等级表,配置宠物经验和不同等级宠物属性 2.支持宠物变成道具宠物蛋 3.宠物穿戴装备只支持装备表里的装备,自定义属性 套装等装备不支持,宠物没有装备格子,可以用命令可以获取宠物身上装备清单,显示到面板 4.宠物序号重0开始,删除一个序号的宠物,后面的序号自动补齐上一个序号。比如0-4,共5个宠物,删除3号宠物,4号宠物序号就变成3了 5.召唤宠物方式1:1双击宠物蛋获得宠物功能,然后执行RECALLPET命令召唤出来宠物,宠物死亡后需要用复活命令复活,复活后再用RECALLPET命令召唤 召唤宠物方式2:无需宠物蛋CREATEPET命令直接得宠物功能,然后执行RECALLPET命令召唤出来宠物,宠物死亡后需要用复活命令复活,复活后再用RECALLPET命令召唤 6.支持宠物攻击锁定支持PC,ctrl+a快捷键 【宠物相关M2设置】: M2-宠物设置-开启宠物系统 【宠物相关表格设置】: 【cfg_monster.xls怪物表】 (宠物race类型必须是156 19,怪物表Custommonster字段必现填至少一种攻击形式) 表格范例: 1459 小狐狸 156 19 320 80 1 100 3000 3#1#1000|3#3#500|3#4#500 60 45 700 1 0 800 7 11 【cfg_petlevel.xls宠物等级表】 表格范例: 1 1459 小狐狸 1 100 1#100|3#10 21 90 500 500 【cfg_monattack.xls自定义怪物表】 表格范例: 11 20011 30#100#100 0 1 0 0 1 0 100#500 0 1#100#5#100|2#100#1#300 【宠物提示信息设置】 MirServer\Mir200\String.ini文件里配置 NoPet=你在位置[%pos]没有携带宠物! NewPet=你有了新的宠物%pet[%pos]!目前你有%count个宠物 LostPet=你失去了宠物%pet[%pos]!目前你有%count个宠物 PetIsCall=你的宠物%pet[%pos]不需要重复召唤! PetIsAlive=你的宠物%pet[%pos]还活着! PetIsDead=你的宠物%pet[%pos]已经死亡! PetIsUnCall=你的宠物%pet[%pos]不需要重复收回! PetReAlive=你的宠物%pet[%pos]复活成功! PetIsSleep=你的宠物%pet[%pos]还在沉睡中,请%second秒后召唤! PetItemDesc=%lvl级%pet,转生%relvl级 RecallPetsLaterMsg=你的宠物还比较虚弱,请在%d秒后再次召唤。 【宠物常量】: 格式:<$Pet序号.人物常量>(序号从0开始) 范例: 宠物名字<$Pet0.USERNAME> , 血量<$Pet1.HP>/<$Pet1.MAXHP> , DC <$Pet0.DC>/<$Pet0.MAXDC> , 经验:<$Pet4.EXP>/<$Pet4.MAXEXP> 注意:SetCurPet 命令设定当前宠物后,所有宠物接口中的宠物序号可使用 X 表示当前宠物序号;<$Pet0.Level>等常量中的的0,使用X代替,<$PetX.Level> 表示当前宠物等级。 当前宠物att表30号属性值<$PetX. Attr[30]> ,当前宠物坐标<$PetX. X>、<$PetX. Y> 宠物状态常量:<$PETX.PetState> 宠物血量百分比常量: <$PetX.HPRATE> 注:X 表示当前宠物序号 宠物状态常量例子: [@宠物状态] #if EQUAL <$PET0.PetState> 0 #act SENDMSG 9 宠物0在回收状态 #if EQUAL <$PET0.PetState> 1 #act SENDMSG 9 宠物0召唤出状态状态 #if EQUAL <$PET0.PetState> 2 #act SENDMSG 9 宠物0在死亡状态 检测命令:======================================== CHECKPETEXIST 参数1 检测X号宠物是否存在 参数1:宠物序号 CHECKPETRECALL 参数1 检测X号宠物是否在召唤出状态 参数1:宠物序号 CHECKPETATTACTEFF 参数1 参数2 检测当前攻击模式 参数1:宠物序号 参数2:0-正常,1-暴击,2-格挡 执行命令:========================================== SetCurPet 参数1 设定为当前宠物 设定为当前宠物后,所有宠物接口中的宠物序号可使用 X 表示当前宠物序号;如 <$Pet0.Level>等常量中的的0,使用X代替,<$PetX.Level> 表示当前宠物等级。 参数1:宠物序号,设定当前脚本指定的宠物序号,供脚本和常量使用; RECALLPET 参数1 召唤宠物 召唤XX号宠物,如宠物不存在或已经召唤出,系统会自动提示 参数1:宠物序号 UNRECALLPET 参数1 收回宠物 收回XX号宠物,如宠物不存在或已经收回,系统会自动提示 参数1:宠物序号 REALIVEPET 参数1 参数2 参数3 复活指定宠物 参数1:宠物序号 参数2:复活后的HP量 参数3:0-绝对值,1-百分比 CREATEPET 参数1 参数2 根据指定怪物(名称=参数1,类型=156)生成宠物 参数1:自定义怪物名称 参数2:怪物等级 DELPET 参数1 删除XX号宠物 参数1:宠物序号 RETRACTPETTOITEM 参数1 收回宠物为物品,存入背包,如背包满则删除宠物 参数1:宠物序号 PETTAKEON 参数1 参数2 宠物穿装备 参数1:宠物序号 参数2:装备名称,多个装备用#分隔 此接口不会增加物品,仅将物品的属性添加到宠物身上,并保存到数据库。 PETTAKEOFF 参数1 参数2 宠物脱装备 参数1: 宠物序号 参数2: 装备名称,多个装备用#分隔,-1表示脱下全部装备 此接口不扣减物品,仅扣减宠物身上对应装备属性。 GETPETBODYITEM 参数1 参数2 获取宠物身上装备列表 参数1:宠物序号 参数2:保存装备的变量名 (装备名称,多个装备用#号分隔) PETLEVEL 参数1 参数2 参数3 参数4 设置宠物等级 参数1:宠物序号 参数2:+、-、= 参数3:等级点数 参数4:0-等级,1-转生等级 PETEXP 参数1 参数2 参数3 设置宠物经验 参数1:宠物序号 参数2:+、-、= 参数3:经验点数 PETMON 参数1 参数2 将指定序号宠物基础属性置换成其它宠物(宠物换形象属性全部继承保留) 说明:只置换基础属性:形象、怪物表配置,原宠物其它属性全部保留,包括序号, 比如0序号宠物置换5号,只将0号宠 怪物表里的属性置换成新宠物形象的怪物IDX 参数1:宠物序号 参数2:怪物IDX PETSTATE 参数1 参数2 获取宠物状态 参数1:宠物序号 参数2:状态保存到指定的人物变量,0-收回状态,1-召唤出状态,2-死亡状态 PetEggLevel 参数1 参数2 参数3 参数4 获得宠物蛋的等级以及转生等级存入变量 参数1:宠物蛋物品的MakeIndex 参数2:将等级信息存入的变量 参数3:将转生等级存入的变量 参数4:将宠物经验值存入的变量 ADDPETATTLIST 参数1 参数2 参数3 参数4 参数5 增加宠物对应属性值 参数1:宠物序号 参数2:自定义属性组名称 参数3:操作符(+、-、=) 参数4:属性字符串(3#1#100|3#2#100|3#3#10|3#4#10) 参数5:0或为空=计算套装属性增加 1=增加固定值;不计算套装属性(属性加成类无效) DELPETATTLIST 参数1 参数2 清除宠物属性 参数1:宠物序号 参数2:空=清除所有自定义属性组,否则输入对应的自定义属性组名称 SETPETMODE 参数1 设置宠物状态 参数1: 宠物状态 1-跟随,2-攻击,3-被动(只有被攻击时才设定目标) 4-休息 注:设置宠物是针对所有宠物同时生效,如果主人有宝宝,则宝宝同步生效(宝宝也支持此命令) setPetEggLevel 参数1 参数2 参数3 参数4 设置宠物蛋等级 参数1:宠物蛋物品的MakeIndex 参数2:宠物蛋转生等级,-1表示不修改值 参数3:宠物蛋等级,-1表示不修改值 参数4:宠物蛋经验值,-1表示不修改值 SETPETATKEFFTYPE 参数1 参数2 设置宠物飘字特效 参数1:宠物序号 参数2:飘字特效ID SETPETAPPR 参数1 参数2 改变宠物外观命令 参数1:宠物序号,X表示当前宠物 参数2: 怪物外观ID( 怪物Appr),0=还原 触发:====================================== @PETLEVELUP 宠物升级触发 param1:宠物序号,param2:宠物升级后的等级, param3:宠物升级后的转生等级 @GetNewPet 获得宠物触发,人物上线首次加载宠物时也会触发 Param1: 宠物序号,从0开始 @UsePetItem 使用宠物蛋触发 Param1: 物品MakeIndex Param2: 物品Idx @PetDie 宠物死亡触发 param1:宠物序号 @AttackByPet 宠物攻击触发 param1: 宠物序号 其他可用常量可以参考 人物宝宝攻击触发 @PetToItem 宠物变蛋触发 param1: 宠物蛋MakeIndex @AttackDamagePet 宠物攻击伤害前触发 触发中当前宠物为触发的宠物,支持修改伤害值以及设置宠物当前攻击飘血样式 宠物攻击伤害前触发返回参数 <$param1>=技能ID,<$param2>=伤害值, <$param3>是否是主目标 @StruckOfPet 宠物被物理攻击触发 @MagicStruckOfPet 宠物被魔法攻击触发 @StruckDamagePet 宠物被攻击前触发 根据指定物品唯一ID生成宠物命令 说明:1物品必须是StdMode=201的物品才能创建宠物 说明:2因为是异步的,无法紧跟召唤和获取序号(创建后不能马上加召唤命令) 格式:NEWPETFROMITEM 参数1 参数1:宠物道具唯一ID 例子: [@生成宠物] #IF #ACT NEWPETFROMITEM <$STR(N1)> SENDMSG 9 宠物道具唯一ID<$STR(N1)> 增加宠物攻击表现删除宠物攻击表现命令 增加宠物攻击表现 addpetskill参数1 参数2 参数1:宠物序号,或X表示当前宠物 参数2:增加的攻击表现ID,为cfg_monattack表中的ID 删除宠物攻击表现 delpetskill参数1 参数2 参数1:宠物序号,或X表示当前宠物 参数2:删除的攻击表现ID,为cfg_monattack表中的ID [@宠物加技能] #if #act addpetskill X 19 SENDMSG 9 当前宠物增加了19的攻击表现 [@宠物删技能] #if #act delpetskill X 19 SENDMSG 9 当前宠物删除了19的攻击表现 宠物加血命令 PETHP 参数1 参数2 参数3 参数4 参数1:宠物序号 参数2:+-= 参数3:值 参数4:飘血特效ID(可以不填 不填走默认的) 范例: [@加血] #if #act PETHP x + 9 120 SENDMSG 9 宠物加血 |