大功能解析说明
成就系统
成就系统客户端配置
客户端Data\config\AchievementCfg.xml 成就信息相关配置
成就条目 XML 配置说明
格式:id:需要与服务端一致 name:成就名字 desc:成就描述 has_pro:是否显示进度条(0:不显示 / 1:显示)
<Item id = "100" name = "驰骋天涯" desc = "达成条件:进行1次骑乘" has_pro = "1" />成就子项 XML 配置说明
以下配置为该成就下需完成子类信息
<Item id = "1300" name = "生死不渝" desc = "达成条件:使用以下所有天空烟花" has_pro = "1" >
<String name = "姹紫嫣红" bitpos = "1" />
<String name = "红色恋人" bitpos = "2" />
<String name = "蓝色妖姬" bitpos = "3" />
<String name = "红粉佳人" bitpos = "4" />
<String name = "金碧辉煌" bitpos = "5" />
<String name = "心心相映" bitpos = "6" />
<String name = "天若有情" bitpos = "7" />
<String name = "双宿双飞" bitpos = "8" />
<String name = "花开并蒂" bitpos = "9" />
<String name = "地久天长" bitpos = "10" />
<String name = "痴心一片" bitpos = "11" />
<String name = "两心缠绵" bitpos = "12" />
<String name = "真心一世" bitpos = "13" />
</Item>成就系统服务端配置
服务端\Mir200\Config\achievement.xml 成就信息相关配置
xml配置说明:
该 JobShowProps 配置为职业显示对应属性,需要配置三职业,下面配置仅为job=1(法师)
<JobShowProps job = "1" >
<ShowProp name = "db" show_name = "躲避" />
<ShowProp name = "fy" show_name = "防御力" />
<ShowProp name = "mfgj" show_name = "魔法" />
<ShowProp name = "mz" show_name = "命中" />
<ShowProp name = "mfdb" show_name = "魔法躲避" />
<ShowProp name = "mfmz" show_name = "魔法命中" />
<ShowProp name = "mp" show_name = "魔法值" />
<ShowProp name = "mffy" show_name = "魔防力" />
<ShowProp name = "hp" show_name = "生命值" />
</JobShowProps>xml配置说明2: 以下配置为成就每个等级的经验以及对应职业属性加成,属性为叠加(成就等级为10级,则用户需要10段以下配置)
<AchieveLevel max_exp = "100" >
<Jobprop job = "0" >
<Prop name = "hp" value_1 = "35" value_2 = "35" />
<Prop name = "gj" value_1 = "1" value_2 = "2" />
</Jobprop>
<Jobprop job = "1" >
<Prop name = "hp" value_1 = "35" value_2 = "35" />
<Prop name = "mfgj" value_1 = "1" value_2 = "2" />
</Jobprop>
<Jobprop job = "2" >
<Prop name = "hp" value_1 = "35" value_2 = "35" />
<Prop name = "dsgj" value_1 = "1" value_2 = "2" />
</Jobprop>
</AchieveLevel>xml配置说明:
格式:id:成就id,需要与客户端一致 name:成就名字 max_exp:成就经验(成就进度) group:成就组 point:成就点
<Achieve id = "100" name = "驰骋天涯" max_exp = "1" group = "0" point = "5" />
可以配置单个成就奖励
<Achieve id = "100" name = "驰骋天涯" max_exp = "1" group = "0" point = "5" item = "飞行靴" item_num = "5" />成就系统相关命令以及变量
1、完成单个指定成就命令
ChangeAchieveExp 参数1 参数2 参数3
参数1:
成就ID
参数2:
操作符( + 、= )
参数3:
成就经验(成就进度)
执行此命令,如果成就可完成,引擎将自动写入完成成就时间以及附加人物成就点
[@测试脚本]
#IF
True
#ACT
ChangeAchieveExp 100 + 1
SENDMSG 5 完成“驰骋天涯”成就
break2、完成指定成就组命令
ChangeAchieveGroupExp 参数1 参数2 参数3
参数1:
成就组ID
参数2:
操作符( + 、= )
参数3:
成就经验(成就进度)
执行此命令,如果成就组内有可以完成的成就,引擎将自动写入完成成就时间以及附加人物成就点
[@测试脚本]
#IF
True
#ACT
ChangeAchieveGroupExp 2 + 1
SENDMSG 5 成就组"默默无闻"、"小有名气"、"名声在外",该成就组进度+1
break3、调整开启指定成就子类信息
SetAchieveBits 参数1 参数2 参数3
参数1:
成就组ID
参数2:
子类id
参数3:
开关(0:开启/1:关闭)
该命令调整部分成就子类信息开关
[@测试脚本]
#IF
True
#ACT
SetAchieveBits 1300 1 1
SENDMSG 5 成就(生死不渝)中子类“姹紫嫣红”开启
break4、调整指定成就显示状态
SetAchieveState 参数1 参数2
参数1:
成就ID
参数2:
状态(0:未完成/1:已完成(未领取)/2:已领取)
注意:该命令只是作为显示,以及针对调整单个成就奖励的按钮状态
[@测试脚本]
#IF
True
#ACT
SetAchieveState 100 2
SENDMSG 5 成就(驰骋天涯)按钮奖励为已领取
break5、点击成就奖励按钮触发QM脚本中 [@_成就_物品领取] 标签并返回以下参数
$PARAM(0) //成就ID
针对成就服务端配置单个奖励后,完成该成就后客户端则会显示 "领取"按钮
[@_成就_物品领取]
#IF
True
#ACT
SENDMSG 5 成就ID:<$PARAM(0)>
break6、调整玩家成就点
ChangeAchievePoint 参数1 参数2
参数1:
操作符( + 、= )
参数2:
数值
[@测试脚本]
#IF
True
#ACT
ChangeAchievePoint + 10
SENDMSG 5 成就点+10点
break7、调整玩家成就等级
ChangeAchievelv 参数1 参数2
参数1:
操作符( + 、= )
参数2:
数值
[@测试脚本]
#IF
True
#ACT
ChangeAchievelv + 1
SENDMSG 5 成就等级+1级
break6、成就相关变量
X:表示成就ID
$ACHIEVE[X].NAME //成就名称
$ACHIEVE[X].EXP //成就进度
$ACHIEVE[X].MAXEXP //成就最大进度
$ACHIEVE[X].STATE //成就状态
$ACHIEVE[X].TIME //成就完成时间 (未完成显示为0)
$ACHIEVE[X].POINT //成就点
$ACHIEVE[X].GROUP //成就组ID
$ACHIEVE[X].ITEM //成就奖励物品
$ACHIEVE[X].ITEMNUM //成就奖励物品数量
$ACHIEVE[X].BITS(Y) //成就子类状态 (Y为子类id)
$ACHIEVEPOINT //当前玩家成就点
$ACHIEVELV //当前玩家成就等级