他也玩传奇 首页 传奇学院 引擎功能 996引擎 查看内容

传奇996引擎版本宠物系统功能说明

2023-11-7 20:59| 发布者: 积木GM论坛| 查看: 1337| 评论: 0

摘要: 宠物系统功能说明:1.支持宠物蛋生成宠物, 宠物蛋类别是StdMode=201,Anicount字段填对应怪物表里宠物的IDX2.cfg_petlevel.xls为宠物等级表,配置宠物经验和不同等级宠物属性2.支持宠物变成道具宠物蛋3.宠物穿戴装 ...
宠物系统功能说明:
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 宠物加血

相关阅读

最新评论