项目

一般

简介

装备熔炼 » 历史记录 » 修订 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 
 &nbsp; 
 #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> 
 &nbsp; 
 &nbsp; 
 [<notextile>@</notextile>熔炼gridClk] 
 #act 
 sendmsg 6 本次要熔炼的装备有<$SmeltEquipList.name> 
 %{color:lightGrey};sendmsg 6 本次选中的熔炼装备的实例化id是<$SmeltEquipList.InstanceId>% 
 &nbsp; 
 &nbsp; 
 [<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>计算花费 
 &nbsp; 
 &nbsp; 
 [<notextile>@</notextile>计算花费] 
 %{color:lightGrey};如果计数器小于等于装备数,则继续取花费,累加到花费值上% 
 %{color:lightGrey};如果计数器大于装备数,则结束% 
 #if 
 small N$装备个数计数 N$分割数 
 #act 
 goto <notextile>@</notextile>进入循环 
 #elseact 
 sendMsg 6 本次熔炼花费为:<$str(N$选中装备熔炼花费值累计)> 
 &nbsp; 
 &nbsp; 
 [<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>计算花费 
 &nbsp; 
 &nbsp; 
 [<notextile>@</notextile>熔炼btnClk] 
 #if 
 equal S$选中待熔炼装备名 
 #act 
 sendmsg 6 啥也没选中 
 #elseact 
 goto <notextile>@</notextile>手动熔炼装备 
 &nbsp; 
 &nbsp; 
 [<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>开始手动熔炼 
 &nbsp; 
 &nbsp; 
 [<notextile>@</notextile>开始手动熔炼] 
 %{color:lightGrey};如果计数器小于等于装备数,则删除该装备+扣除熔炼花费+获得熔炼奖励% 
 %{color:lightGrey};如果计数器大于装备数,则结束% 
 #if 
 small N$装备个数计数1 N$分割数1 
 #act 
 goto <notextile>@</notextile>手动熔炼循环 
 #elseact 
 sendMsg 6 本次熔炼花费为:<$str(N$选中装备熔炼花费值累计1)> 
 &nbsp; 
 &nbsp; 
 [<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>开始手动熔炼 
 &nbsp; 
 &nbsp; 
 [<notextile>@</notextile>背包自动熔炼] 
 #act 
 mov S$设置自动熔炼装备名 <$SmeltEquipList.name> 
 &nbsp; 
 #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>开始自动熔炼 
 &nbsp; 
 &nbsp; 
 [<notextile>@</notextile>开始自动熔炼] 
 %{color:lightGrey};如果计数器小于等于装备数,则删除该装备+扣除熔炼花费+获得熔炼奖励% 
 %{color:lightGrey};如果计数器大于装备数,则结束% 
 #if 
 small N$装备个数计数3 N$分割数2 
 #act 
 goto <notextile>@</notextile>自动熔炼循环 
 #elseact 
 sendMsg 6 本次熔炼花费为:<$str(N$自动装备熔炼花费值累计)> 
 &nbsp; 
 &nbsp; 
 [<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>开始自动熔炼