装备熔炼 » 历史记录 » 修订 5
修订 4 (chenjun, 2022-06-13 10:35) → 修订 5/9 (chenjun, 2022-06-13 20:20)
h4. _*%{color:green}装备熔炼%*_
标签:模块示例|装备熔炼
*模块说明*
符合条件的装备可以通过熔炼转化为其它游戏道具
属于设置好的装备范围内,没有强过星,没有自定义属性,没有额外属性,没有任意可转移属性,符合上述全部条件的装备,可以进行熔炼
装备熔炼分为手动熔炼与自动熔炼
背包中的可熔炼装备,会显示在熔炼界面的装备列表中,勾选本次想熔炼的装备后,点击熔炼按钮,进行手动熔炼
[[颜色编码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>开始自动熔炼