装备熔炼 » 历史记录 » 修订 3
修订 2 (chenjun, 2022-06-13 09:49) → 修订 3/5 (chenjun, 2022-06-13 09:59)
h4. _*%{color:green}装备熔炼%*_ 标签:模块示例|装备熔炼 *{color:253}模块说明* *模块说明* 符合条件的装备可以通过熔炼转化为其它游戏道具 属于设置好的装备范围内,没有强过星,没有自定义属性,没有额外属性,没有任意可转移属性,符合上述全部条件的装备,可以进行熔炼 装备熔炼分为手动熔炼与自动熔炼 背包中的可熔炼装备,会显示在熔炼界面的装备列表中,勾选本次想熔炼的装备后,点击熔炼按钮,进行手动熔炼 [[颜色编码id]] - - h4. *{color:deepskyblue}特戒引擎脚本示例:* - - bq. %{color:lightGrey};..\Mir200\Envir\QuestDiary\装备熔炼\装备熔炼.txt% [<notextile>@</notextile>main] #act %{color:lightGrey};获取可手动熔炼装备名列表% *{color:green}[[getListstring]]* ..\QuestDiary\装备熔炼\可熔炼装备装备名.txt 0 S$可手动熔炼装备名列表 %{color:lightGrey};获取可手动熔炼装备列表% *{color:green}[[getSmeltEquipList]]* S$可手动熔炼装备名列表 S$返回可手动熔炼装备名 S$返回可手动熔炼装备实例化id #say %{color:lightGrey};创建熔炼装备列表界面% <notextile><</notextile>*{color:green}[[dlg_SmeltEquipList_|SmeltEquipList]]*:熔炼装备框:<$str(S$返回可手动熔炼装备实例化id)>:48:0,0:100:settings_mark,settings_markbg:4:400/<notextile>@</notextile>熔炼gridClk> [<notextile>@</notextile>熔炼gridClk] #act sendmsg 6 本次要熔炼的装备有<$SmeltEquipList.name> %{color:lightGrey};sendmsg 6 本次选中的熔炼装备的实例化id是<$SmeltEquipList.InstanceId>% [<notextile>@</notextile>熔炼花费] #if #act mov S$选中待熔炼装备名 <$SmeltEquipList.name> *{color:green}[[pgExtractstring]]* , S$选中待熔炼装备名 S$返回值 N$分割数 %{color:lightGrey};定义计数器% mov N$装备个数计数 0 %{color:lightGrey};定义花费值,用于累计% mov N$选中装备熔炼花费值累计 0 %{color:lightGrey};定义中间变量,用于调用装备名% goto <notextile>@</notextile>计算花费 [<notextile>@</notextile>计算花费] %{color:lightGrey};如果计数器小于等于装备数,则继续取花费,累加到花费值上% %{color:lightGrey};如果计数器大于装备数,则结束% #if small N$装备个数计数 N$分割数 #act goto <notextile>@</notextile>进入循环 #elseact sendMsg 6 本次熔炼花费为:<$str(N$选中装备熔炼花费值累计)> [<notextile>@</notextile>进入循环] #act inc N$装备个数计数 1 mov S$当前处理装备的名字 <$str(S$返回值_<$str(N$装备个数计数)>)> %{color:lightGrey};获取装备的行号% *{color:green}[[getstringPos]]* ..\QuestDiary\装备熔炼\熔炼装备装备名.txt S$当前处理装备的名字 *{color:green}[[getListstring]]* ..\QuestDiary\装备熔炼\熔炼装备花费.txt <$str(N0)> S$返回串 inc N$选中装备熔炼花费值累计 <$str(S$返回串)> goto <notextile>@</notextile>计算花费 [<notextile>@</notextile>熔炼btnClk] #if equal S$选中待熔炼装备名 #act sendmsg 6 啥也没选中 #elseact goto <notextile>@</notextile>手动熔炼装备 [<notextile>@</notextile>手动熔炼装备] #if #act mov S$选中待熔炼装备名1 <$SmeltEquipList.name> pgExtractstring , S$选中待熔炼装备名1 S$返回值1 N$分割数1 mov S$选中待熔炼装备实例化id1 <$SmeltEquipList.InstanceId> pgExtractstring , S$选中待熔炼装备实例化id1 S$返回值11 N$分割数11 %{color:lightGrey};定义计数器% mov N$装备个数计数1 0 %{color:lightGrey};定义花费值,用于累计% mov N$选中装备熔炼花费值累计1 0 goto <notextile>@</notextile>开始手动熔炼 [<notextile>@</notextile>开始手动熔炼] %{color:lightGrey};如果计数器小于等于装备数,则删除该装备+扣除熔炼花费+获得熔炼奖励% %{color:lightGrey};如果计数器大于装备数,则结束% #if small N$装备个数计数1 N$分割数1 #act goto <notextile>@</notextile>手动熔炼循环 #elseact sendMsg 6 本次熔炼花费为:<$str(N$选中装备熔炼花费值累计1)> [<notextile>@</notextile>手动熔炼循环] #act inc N$装备个数计数1 1 %{color:lightGrey};删除该装备% mov S$当前处理装备的实例化id1 <$str(S$返回值11_<$str(N$装备个数计数1)>)> *{color:green}[[delEquipId]]* <$str(S$当前处理装备的实例化id1)> %{color:lightGrey};扣除熔炼花费% mov S$当前处理装备的名字1 <$str(S$返回值1_<$str(N$装备个数计数1)>)> %{color:lightGrey};获取装备的行号% getstringPos ..\QuestDiary\装备熔炼\熔炼装备装备名.txt S$当前处理装备的名字1 getListstring ..\QuestDiary\装备熔炼\熔炼装备花费.txt <$str(N0)> S$返回串1 inc N$选中装备熔炼花费值累计1 <$str(S$返回串1)> gamegold - <$str(S$返回串1)> %{color:lightGrey};获得熔炼奖励% mov S$当前处理装备的怪物名字1 S$当前处理装备的名字1 *{color:green}[[monsterDrop2]]* <$str(S$当前处理装备的怪物名字1)> goto <notextile>@</notextile>开始手动熔炼 [<notextile>@</notextile>背包自动熔炼] #act mov S$设置自动熔炼装备名 <$SmeltEquipList.name> #if %{color:lightGrey};勾选了自动熔炼,且自动熔炼设置不为空% check [1001] 1 equal S$设置自动熔炼装备名 #act %{color:lightGrey};获取可熔炼装备列表% getSmeltEquipList S$设置自动熔炼装备名 S$待自动熔炼装备名 S$待自动熔炼装备实例化id mov S$待自动熔炼装备名 <$SmeltEquipList.name> pgExtractstring , S$待自动熔炼装备名 S$返回值2 N$分割数2 mov S$待自动熔炼装备实例化id <$SmeltEquipList.InstanceId> pgExtractstring , S$待自动熔炼装备实例化id S$返回值21 N$分割数21 %{color:lightGrey};定义计数器% mov N$装备个数计数3 0 %{color:lightGrey};定义花费值,用于累计% mov N$自动装备熔炼花费值累计 0 goto <notextile>@</notextile>开始自动熔炼 [<notextile>@</notextile>开始自动熔炼] %{color:lightGrey};如果计数器小于等于装备数,则删除该装备+扣除熔炼花费+获得熔炼奖励% %{color:lightGrey};如果计数器大于装备数,则结束% #if small N$装备个数计数3 N$分割数2 #act goto <notextile>@</notextile>自动熔炼循环 #elseact sendMsg 6 本次熔炼花费为:<$str(N$自动装备熔炼花费值累计)> [<notextile>@</notextile>自动熔炼循环] #act inc N$装备个数计数3 1 %{color:lightGrey};删除该装备% mov S$当前处理装备的实例化id2 <$str(S$返回值21_<$str(N$装备个数计数3)>)> delEquipId <$str(S$当前处理装备的实例化id2)> %{color:lightGrey};扣除熔炼花费% mov S$当前处理装备的名字2 <$str(S$返回值2_<$str(N$装备个数计数3)>)> %{color:lightGrey};获取装备的行号% getstringPos ..\QuestDiary\装备熔炼\熔炼装备装备名.txt S$当前处理装备的名字2 getListstring ..\QuestDiary\装备熔炼\熔炼装备花费.txt <$str(N0)> S$返回串2 gamegold - <$str(S$返回串2)> %{color:lightGrey};获得熔炼奖励% mov S$当前处理装备的怪物名字2 S$当前处理装备的名字2 monsterDrop2 <$str(S$当前处理装备的怪物名字2)> goto <notextile>@</notextile>开始自动熔炼