搜索
查看: 656|回复: 10

[已处理] 关于变量套变量的问题

 关闭 [复制链接]
发表于 2022-12-1 03:12:52 | 显示全部楼层 |阅读模式
BUG反馈
引擎版本号: 1127
登陆器版本号: 1127
BUG描述: 变量套变量显示不成立
BUG重现方式: #ACT
MOV <$N(变量测试)> 0
MOV N1 200
SENDMSG 7 <$STR(U<$N(变量测试)>)>
SENDMSG 7 <$STR(U<$STR(N1)>)>

#IF
EQUAL <$STR(U<$N(变量说明)>)> 1
#ACT
SENDMSG 7 等于1|U<$N(变量说明)>


#if
EQUAL U<$N(变量测试)> 1
#ACT
SENDMSG 7 u0=1


以上1127 引擎 目前不成立
修复后应达到的效果: 变量套变量应该成立
联系QQ: 隐藏内容

#iF
#ACT
MOV <$N(变量测试)> 0
MOV N1 200
SENDMSG 7 <$STR(U<$N(变量测试)>)>
SENDMSG 7 <$STR(U<$STR(N1)>)>

#IF
EQUAL <$STR(U<$N(变量说明)>)> 1
#ACT
SENDMSG 7 等于1|U<$N(变量说明)>


#if
EQUAL U<$N(变量测试)> 1
#ACT
SENDMSG 7 u0=1


以上1127 引擎   目前不成立


;======================

希望达到的效果



检测方式 成立
EQUAL U<$N(变量测试)> 1
SMALL U<$N(变量测试)> 1
LARGE U<$N(变量测试)> 1

赋予方式 成立

MOV U<$N(变量测试)> 1


但是隔壁的引擎为了规范变量的运用,变量格式为


赋予和运算格式:
MOV U<$N(变量测试)> 1  成立
MOV <$str(U<$N(变量测试)>)> 1  不成立

MOV U20 1 成立
MOV <$str(U20)> 1 不成立

运算时,必须不带 <$str()>

临时变量检测格式:
EQUAL N$临时数值 1  成立
EQUAL <$str(N$临时数值)> 1  成立

此次建议是为了更好的配合ini 和更复杂的脚本的脚本运算, ,在配合<测试A/@测试{1,2,3}> 脚本带参数 可实现 复杂的功能写法更方便话,

举例

#IF
#ACT
ReadIni \QuestDiary\领悟制作\配置项\武器合成配置.ini <$BoxItem(1).NAME> 元宝价格 0 0 元宝价格
ReadIni \QuestDiary\领悟制作\配置项\武器合成配置.ini <$BoxItem(1).NAME> 金币价格 0 0 金币价格
ReadIni \QuestDiary\领悟制作\配置项\武器合成配置.ini <$BoxItem(1).NAME> 当前武器 1 0 当前武器
ReadIni \QuestDiary\领悟制作\配置项\武器合成配置.ini <$BoxItem(1).NAME> 下级武器 1 0 下级武器
#SAY

<裁决武器升级/@武器解封界面#武器名字=裁决之杖#升级金币=30#升级元宝=20#升级后武器=黄金裁决#成功几率=10%>
<龙纹武器升级/@武器解封界面#武器名字=龙纹剑#升级金币=30#升级元宝=20#升级后武器=黄金龙纹#成功几率=10%>
<血饮武器升级/@武器解封界面#武器名字=<$S(当前武器)>#升级金币=<$N(金币价格)>#升级元宝=<$N(元宝价格)>#升级后武器=<$S(下级武器)>#成功几率=10%>
.....
.....




--由于@后回传跳转只能固定为字符变量,但不会影响数值...


[@武器解封界面]
#IF
NOT CHECKITEM <$S(武器名字)> 1
#ACT
SENDMSG 7 你的背包内没有<$S(武器名字)>*1,无法升级!
BREAK

#IF
NOT CHECKGOLD <$N(升级金币)>
#ACT
SENDMSG 7 你的金币不足<$N(升级金币)>..无法升级
BREAK

#IF
NOT CHECKGAMEGOLD ? <$S(升级元宝)>
#ACT
SENDMSG 7 你的元宝不足<$S(升级元宝)>..无法升级
BREAK

#IF
CHECKGOLD <$N(升级金币)>
CHECKGAMEGOLD ? <$S(升级元宝)>
CHECKITEM <$S(武器名字)> 1
#ACT
GAMEGOLD - <$S(升级元宝)>
TAKE 金币 <$N(升级金币)>
TAKE <$S(武器名字)> 1
GIVE <$S(升级后武器)> 1
SENDMSG 0 恭喜玩家<$USERNAME>,花费巨资,成功打造<$S(升级后武器)>*1
BREAK


这样写法,才能更加体现出引擎的便捷度, 和脚本的灵活度, 对于引擎来说.可以减少更多不必要的资源



 楼主| 发表于 2022-12-1 03:14:44 | 显示全部楼层
发表于 2022-12-1 08:58:19 | 显示全部楼层
经常应用,强烈支持.
 楼主| 发表于 2022-12-8 11:53:27 | 显示全部楼层
@@上线发呆
 楼主| 发表于 2022-12-12 18:33:08 | 显示全部楼层
@@法海不懂爱 @上线发呆 @1580
 楼主| 发表于 2022-12-12 18:33:18 | 显示全部楼层
@法海不懂爱
发表于 2022-12-17 14:57:48 | 显示全部楼层
(@scriptparam)

[@MAIN]
<测试/@测试1{G1}>

[@测试1]
#ACT
inc <$STR(<$SCRIPTPARAM1>)> 1
SENDMSG 6 <$STR(G1)>

要是支持你提的意见,脚本起码能少写30%

补充内容 (2022-12-17 14:58):
可惜不支持
 楼主| 发表于 2022-12-17 16:10:17 | 显示全部楼层

套变量的格式已经在写了
 楼主| 发表于 2022-12-17 16:10:40 | 显示全部楼层

可以减少90^%……
发表于 2022-12-17 16:12:43 | 显示全部楼层
HGE领悟-hgeui 发表于 2022-12-17 16:10
套变量的格式已经在写了

这么给力的吗,脚本下版能出不,能出先不写了,免得白干
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-11-24 20:52 , Processed in 0.527116 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表