项目

一般

简介

行为

装备属性转移 » 历史记录 » 修订 1

修订 1/4 | 下一页 »
yangdefeng, 2022-05-07 20:13


标签:模块示例|装备属性转移

模块说明
  • 根据条件,筛选出装备列表
  • 自定义对话框指定位置,生成上述装备列表
  • 点击装备列表某个单元
    • 选中单元放入原始装备栏
    • 装备列表中对应装备消失
  • 再次点击装备列表某个单元
    • 选中单元放入目标装备栏
    • 装备列表中对应装备消失
    • 继承预览栏显示目标装备
  • 选中要转移的属性,继承预览栏中道具tips会出现相应内容
  • 点击原始装备栏的道具图标,会重置原始装备栏、目标装备栏、继承预览栏
  • 点击目标装备栏的道具图标,会重置目标装备栏、继承预览栏


相关命令
设置装备列表模板 setModule
将指定实例化装备,放入指定itemBox putinBox
根据筛选条件,取出装备列表 getEquipList
检测是否有可转移的指定属性 checkTransAtt
生成属性转移预览道具tips putinBoxPreview
转移指定装备的指定属性 transAtt
装备列表模板定义项 <itemInsId:
装备列表模板定义项 <itemBoxEx:
自定义对话框中显示装备列表的属性配置 <equipList:
设定itemBoxId预览装备属性转移tips <tipsMergePreview:


注意事项
#say命令中出现以下命令时,
<temList:
<itemGrid:
<equipList:
#say中<>模块必须以“\”结尾
参见以下脚本示例


特戒引擎脚本示例:

使用前提1
请开启配置开关\"isUseCustomOKPanel\"
配置文件 ..\Mir200\Tejieconfig\Tejieconfig.txt
配置节点 [tjconfig]
配置项 isUseCustomOkPanel=1
使用前提2
请配置补丁资源\"lc\",即找到以下配置项,加入 lc
配置文件 ..\Mir200\Tejieconfig\Tejieconfig.txt
配置节点 [tjconfig]
配置项 patch=aa,bb,lc
使用前提3
配置装备类型名称与显示序号
配置文件 ..\Mir200\Tejieconfig\Tejieconfig.txt
配置节点 [upGradeItem]

配置举例
[upGradeItem]
5 1 武器
10 2 衣服[男]
11 3 衣服[女]
15 4 头盔
19 5 项链
26 6 手镯
22 7 戒指
64 8 腰带
62 9 鞋子


[@main]
#act
;--设置装备列表模板--
mov s$module (<itemSize:400:150:index>
inc s$module <itemToggle:lc_alpha0:denglu_liebiao_weixuanzhong/@装备列表点击> ;--定义装备列表单元选中与未选中图片--
inc s$module <itemInsId:instanceId> ;--道具实例id:程序项,无须定义--
inc s$module <itemboxex:itemId:instanceId:sourceType:equipplace:20:20:wupinkuang:looks:effectname:animation> ;--定义道具图标在装备列表单元中的坐标--
inc s$module <text:itemname{scolor=168}:140:30> ;--定义道具名称在装备列表单元中的文本属性--
inc s$module <text:itemType{scolor=25}:160:90>) ;--定义道具部位名称在装备列表单元中的文本属性--
setModule s$module
 
;--设定\"身上\"与\"背包\"切换按钮--
mov s$切换按钮 (
inc s$切换按钮 <itemIndex:1>
inc s$切换按钮 <itemToggle:lc_shijieliaotian_xuanzhong:lc_shijieliaotian_weixuanzhong/@身背切换(1)>
inc s$切换按钮 <text:身上装备{scolor=150}:75:50>
inc s$切换按钮 )
inc s$切换按钮 (
inc s$切换按钮 <itemIndex:2>
inc s$切换按钮 <itemToggle:lc_shijieliaotian_xuanzhong:lc_shijieliaotian_weixuanzhong/@身背切换(2)>
inc s$切换按钮 <text:背包装备{scolor=150}:75:50>
inc s$切换按钮 )
 
mov s$激活列表 1 ;--设定初始选中\"身上\"页签--
 
goto @勾选重置
goto @获取装备列表
goto @刷新非文字
goto @刷新文字
goto @显示界面
 
[@勾选重置]
#act
mov n$颜色1 255
mov n$颜色2 255
mov n$颜色3 255
 
mov n$勾选1预制 0
mov n$勾选2预制 0
 
[@身背切换]
#if
not equal s$激活列表 <$scriptParam1>
#act
mov s$激活列表 <$scriptParam1>
goto @获取装备列表
goto @刷新非文字
goto @刷新文字
goto @显示界面
 
[@获取装备列表]
#if
equal <$boxItem[0].name>
#act
getEquipList 1 <$str(s$激活列表)> s$装备列表 -1 -1 -1 ;--原始装备列表--
 
#if
not equal <$boxItem[0].name>
equal <$boxItem[1].name>
#act
getEquipList 1 <$str(s$激活列表)> s$装备列表 -1 <$str(s$原始类别)> <$str(s$原始insId)>, ;--目标装备列表(过滤原始装备)--
 
#if
not equal <$boxItem[0].name>
not equal <$boxItem[1].name>
#act
getEquipList 1 <$str(s$激活列表)> s$装备列表 -1 <$str(s$原始类别)> <$str(s$原始insId)>,<$str(s$目标insId)>, ;--其它装备列表(过滤原始和目标装备)--
 
[@刷新非文字]
#act
mov s$item1 (<itemsize:500:325>
inc s$item1 <itemBox:0:-100001:0:80:0:50:50:*:251> ;--原始装备--
inc s$item1 <img:lc_alpha0:80:0:1:1/@清空box0>
inc s$item1 <imgButton:lc_anniu01:200:670:属性转移/@属性转移>
inc s$item1 <text:原始装备:75:110>
inc s$item1 <itemBox:1:-100001:0:300:0:50:50:*:251> ;--目标装备--
inc s$item1 <img:lc_alpha0:300:0:1:1/@清空box1>
inc s$item1 <itemBox:2:-100001:0:205:200:50:50:*:251> ;--预览装备--
inc s$item1 <checkBox:1:settings_markbg:settings_mark:<$str(n$勾选1预制)>:50:400/@勾选1>
inc s$item1 <checkBox:2:settings_markbg:settings_mark:<$str(n$勾选2预制)>:50:475/@勾选2>
inc s$item1 <tipsMergePreview:2>
inc s$item1 <text:目标装备:285:110>
inc s$item1 <text:继承预览:200:300>)
mov s$itemList <$str(s$item1)>
 
[@刷新文字]
;--此处文字为示意固定值,请根据真实情况补充文字取值逻辑--
#act
mov s$item2 (<itemsize:500:325>
inc s$item2 <itemToggle:pic:pic>
inc s$item2 \"<text:[改造属性]+10 消耗9999{scolor=<$str(n$颜色1)>}:120:400>\"
inc s$item2 \"<text:[额外属性] 消耗9999{scolor=<$str(n$颜色2)>}:120:475>)\"
mov s$itemList2 <$str(s$item2)>
 
[@显示界面]
#act
openMerchantBigDlg lc_chuangti 4 0 0 1 0 0
#say
<panelsize:700:600>\
<itemGrid:<$str(s$切换按钮)>:切换按钮,<$str(s$激活列表)>,0,1:10:70:220,85:1,2,90,0:1>\
<equipList:<$str(s$装备列表)>:身上装备强星,1:20:160:1,715,1:0> \
<itemList:<$str(s$itemList2)>:刷新文字:700:100:1,750,0:5>\
<itemList:<$str(s$itemList)>:刷新非文字:700:100:1,750,0:5>\
 
#if
equal <$str(s$装备列表)>
#say
<text:没有可转移的装备{scolor=159}:100:300>
 
 
 
 
[@装备列表点击]
;--放置目标装备--
#if
not equal <$boxItem[0].name>
equal <$boxItem[1].name>
#act
mov s$目标insId <$str(s0)>
mov s$预览激活 <$str(s$激活列表)>
putinBox <$str(s$目标insId)> 1 <$str(s$激活列表)>
goto @获取装备列表
goto @刷新非文字
goto @显示界面
goto @目标放置预览框
 
;--放置原始装备--
#if
equal <$boxItem[0].name>
#act
mov s$原始insId <$str(s0)>
putinBox <$str(s$原始insId)> 0 <$str(s$激活列表)>
mov s$原始类别 <$boxItem[0].stdMode>
goto @获取装备列表
goto @刷新非文字
goto @显示界面
 
 
 
 
[@清空box0]
#act
returnboxItem 0
goto @勾选重置
goto @刷新文字
goto @清空box1
 
[@清空box1]
#act
returnboxItem 1
returnboxItem 2
goto @获取装备列表
goto @刷新非文字
goto @显示界面
 
 
 
 
;--------------------------------------------------------------------------
;--勾选处理--
;--------------------------------------------------------------------------
[@转移属性检测]
#if
equal <$boxItem[0].name> ;--原始装备栏为空时,无转移勾选可用--
#act
mov n$可用 0
break
 
#if
#act
mov n$chkVar <$str(n$勾选idx)> ;--勾选idx=1,检测类型2是否可用;勾选idx=2,检测类型3是否可用;--
inc n$chkVar 1
 
#if
checkTransAtt <$str(s$原始insId)> <$str(n$chkVar)>
#act
mov n$可用 1
#elseAct
mov n$可用 0
 
[@勾选1]
#act
mov n$勾选idx 1
goto @勾选逻辑
 
[@勾选2]
#act
mov n$勾选idx 2
goto @勾选逻辑
 
[@勾选逻辑]
#act
goto @转移属性检测
 
#if
equal <$str(n$可用)> 0
#act
messageBox 没有可转移的改造属性
setCheckBox checkBox<$str(n$勾选idx)> 0
mov n$勾选<$str(n$勾选idx)>预制 0
goto @刷新非文字
goto @显示界面
#elseAct
mov s$勾选状态 <$checkbox<$str(n$勾选idx)>>
goto @字色刷新
 
[@字色刷新]
#if
equal <$str(s$勾选状态)> 1
#act
mov n$颜色<$str(n$勾选idx)> 250
mov n$勾选<$str(n$勾选idx)>预制 1
 
#if
equal <$str(s$勾选状态)> 0
#act
mov n$颜色<$str(n$勾选idx)> 255
mov n$勾选<$str(n$勾选idx)>预制 0
 
#if
#act
goto @刷新文字
refreshItem 刷新文字 1 <$str(s$item2)> 0
goto @目标放置预览框
 
[@目标放置预览框]
#if
not equal <$boxItem[1].name>
#act
putinBox <$str(s$目标insId)> 2 <$str(s$预览激活)>
putinBoxPreview 0,<$str(n$勾选1预制)>,<$str(n$勾选2预制)> 0 1
 
 
 
 
;--------------------------------------------------------------------------
;--执行属性转移操作,请自行补充花费处理逻辑--
;--------------------------------------------------------------------------
[@属性转移]
#if
equal <$str(n$勾选1预制)> 0
equal <$str(n$勾选2预制)> 0
#act
messageBox 未选择任何可转移的属性
 
#if
#act
transAtt 0,<$str(n$勾选1预制)>,<$str(n$勾选2预制)> 0 1

yangdefeng 更新于 超过 2 年 之前 · 1 修订