|
|
楼主 |
发表于 2026-3-28 15:29:38
|
显示全部楼层
你脚本被刷的原因是在你买次数的脚本段里,没有把金钱数量做为参数,并且没设验证,导致人家用封包直接跳到购买脚本段,金钱数为0导致的。这里帮你改过来了。
另外,你的脚本让你写得太复杂了,学会使用参数,可以节省很多脚本段。
总体如下:
(@@InPutString @@InPutInteger )
[@回血脚本]
{
#IF
#ACT
OPENMERCHANTBIGDLG 44 350 0 4 0 0 1 390 0 1
;============================
#DEFINE $(药品单价1) 4000 ←疗伤药单价
#DEFINE $(药品单价2) 3000 ←万年雪霜单价
#DEFINE $(药品单价3) 2000 ←强效太阳水单价
#DEFINE $(药品单价4) 1000 ←太阳水单价
#DEFINE $(药品单价5) 10000 ←神奇药水单价
;============================
MOV S$百分比显示 <$STR(U9)>
MOV S$选择药显示 <$STR(T15)>
MOV S$蓝百分比显示 <$STR(U27)>
MOV S$选择蓝药显示 <$STR(T16)>
SetStringBlank <$STR(S$百分比显示)> 2 1
SetStringBlank <$STR(S$选择药显示)> 10 1
SetStringBlank <$STR(S$蓝百分比显示)> 2 1
SetStringBlank <$STR(S$选择蓝药显示)> 10 1
#SAY
<介绍:/FCOLOR=249><只有这里的是快速恢复药,别的所有药品都是缓慢恢复!/FCOLOR=254>\\
<功效:/FCOLOR=249><防止卡药,防止顶药外挂,给你背包留下足够空间,方面快捷。/FCOLOR=250>\\
<┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/SCOLOR=251>\\
<特殊药百分比HP/FCOLOR=250>{【<$STR(S$百分比显示)>%】/FCOLOR=249}<自动喝药/FCOLOR=250>{【<$STR(S$选择药显示)>】/FCOLOR=249} <设置百分比/@@InPutInteger30(输入1-100之间)>\\
<特殊药百分比MP/FCOLOR=250>{【<$STR(S$蓝百分比显示)>%】/FCOLOR=249}<自动喝药/FCOLOR=250>{【<$STR(S$选择蓝药显示)>】/FCOLOR=249} <设置百分比/@@InPutInteger29(输入1-100之间)>\\
<┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/SCOLOR=251>\\
<购买/FCOLOR=254> <神奇药水|HPMP:+400 售价:10000金币 /@@InPutInteger35> <疗伤药|HPMP:+200 售价:4000金币 /@@InPutInteger36> <万年雪霜|HPMP:+150 售价:3000金币 /@@InPutInteger37> <强效太阳水|HPMP:+100 售价:2000金币 /@@InPutInteger33> <太阳水|HPMP:+50 售价:1000金币 /@@InPutInteger34>\\
<选红/FCOLOR=250> <神奇药水|253#剩余次数:<$STR(U35)>/@红药(神奇药水,32S79842#)> <疗伤药|253#剩余次数:<$STR(U36)>/@红药(疗伤药,32S79842#)> <万年雪霜|253#剩余次数:<$STR(U37)>/@红药(万年雪霜,32S79842#)> <强效太阳水|253#剩余次数:<$STR(U33)>/@红药(强效太阳水,32S79842#)> <太阳水|253#剩余次数:<$STR(U34)>/@红药(太阳水,32S79842#)>\\
<选蓝/FCOLOR=250> <神奇药水|253#剩余次数:<$STR(U35)>/@蓝药(神奇药水,32S79842#)> <疗伤药|253#剩余次数:<$STR(U36)>/@蓝药(疗伤药,32S79842#)> <万年雪霜|253#剩余次数:<$STR(U37)>/@蓝药(万年雪霜,32S79842#)> <强效太阳水|253#剩余次数:<$STR(U33)>/@蓝药(强效太阳水,32S79842#)> <太阳水|253#剩余次数:<$STR(U34)>/@蓝药(太阳水,32S79842#)>\\
<┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/SCOLOR=251>\\
[@InPutInteger29]
#IF
SMALL N29 101
LARGE N29 0
#ACT
MOV U27 <$STR(N29)>
GOTO @回血脚本
MessageBox 设置成功,当前默认为:[<$STR(U27)>]%!
ADDBUTTON 48 15 0 1 2 180 43 6 -1 250#当前设置红药:[<$STR(T15)>]\\250#当前设置蓝药:[<$STR(T16)>]\\251#百分比HP:[<$STR(U9)]>]\\251#百分比MP:[<$STR(U27)>]
BREAK
#elseact
MessageBox 输入1—100之间。
BREAK
[@InPutInteger30]
#IF
SMALL N30 101
LARGE N30 0
#ACT
MOV U9 <$STR(N30)>
GOTO @回血脚本
MessageBox 设置成功,当前默认为:[<$STR(U9)>]%!
ADDBUTTON 48 15 0 1 2 180 43 6 -1 250#当前设置红药:[<$STR(T15)>]\\250#当前设置蓝药:[<$STR(T16)>]\\251#百分比HP:[<$STR(U9)]>]\\251#百分比MP:[<$STR(U27)>]
BREAK
#elseact
MessageBox 输入1—100之间。
BREAK
;=========================================================================
[@InPutInteger33]
#IF
LARGE N33 0
#ACT
MUL M10 <$STR(N33)> $(药品单价3)
MessageBox 购买强效太阳水需要<$STR(M10)>金币 @购买(<$STR(M10)>,<$STR(N33)>,33,32S79842#) 取消/@EXIT
BREAK
MessageBox 输入大于1—99999次。
BREAK
[@InPutInteger34]
#IF
LARGE N34 0
#ACT
MUL M10 <$STR(N34)> $(药品单价4)
MessageBox 购买太阳水需要<$STR(M10)>金币 @购买(<$STR(M10)>,<$STR(N34)>,34,32S79842#) 取消/@EXIT
BREAK
MessageBox 输入大于1—99999次。
BREAK
[@InPutInteger35]
#IF
LARGE N35 0
#ACT
MUL M10 <$STR(N35)> $(药品单价5)
MessageBox 购买神奇药水需要<$STR(M10)>金币 @购买(<$STR(M10)>,<$STR(N35)>,35,32S79842#) 取消/@EXIT
BREAK
MessageBox 输入大于1—99999次。
BREAK
[@InPutInteger36]
#IF
LARGE N36 0
#ACT
MUL M10 <$STR(N36)> $(药品单价1)
MessageBox 购买疗伤药需要<$STR(M10)>金币 @购买(<$STR(M10)>,<$STR(N36)>,36,32S79842#) 取消/@EXIT
BREAK
MessageBox 输入大于1—99999次。
BREAK
[@InPutInteger37]
#IF
LARGE N37 0
#ACT
MUL M10 <$STR(N37)> $(药品单价2)
MessageBox 购买万年雪霜需要<$STR(M10)>金币 @购买(<$STR(M10)>,<$STR(N37)>,37,32S79842#) 取消/@EXIT
BREAK
MessageBox 输入大于1—99999次。
BREAK
;你之所以会被刷的原因是M10,和N34没有做为参数传递,那么人家用封包直接跳到[@购买]脚本段,这时M10可能还是0,就被刷了。所以你要把他们做为参数,并设置一个验证码
[@购买]
#IF
EQUAL <$SCRIPTPARAM4> 32S79842#
checkGold <$SCRIPTPARAM1>
#ACT
GOLDCOUNT - <$SCRIPTPARAM1>
INC U<$SCRIPTPARAM3> <$SCRIPTPARAM2>
GOTO @回血脚本
BREAK
#elseact
MessageBox 您的金币不足,购买疗伤药需要<$SCRIPTPARAM1>金币。
BREAK
;=======================================================
[@红药]
#IF
EQUAL <$SCRIPTPARAM2> 32S79842#
#ACT
MOV T15 <$SCRIPTPARAM1>
ADDBUTTON 48 15 0 1 2 180 43 6 -1 250#当前设置红药:[<$STR(T15)>]\\250#当前设置蓝药:[<$STR(T16)>]\\251#百分比HP:[<$STR(U9)]>]\\251#百分比MP:[<$STR(U27)>]
MessageBox 设置成功,当前默认喝红药为:[<$STR(T15)>]!
GOTO @回血脚本
BREAK
[@蓝药]
#IF
EQUAL <$SCRIPTPARAM2> 32S79842#
#ACT
MOV T16 <$SCRIPTPARAM1>
ADDBUTTON 48 15 0 1 2 180 43 6 -1 250#当前设置红药:[<$STR(T15)>]\\250#当前设置蓝药:[<$STR(T16)>]\\251#百分比HP:[<$STR(U9)]>]\\251#百分比MP:[<$STR(U27)>]
MessageBox 设置成功,当前默认喝蓝药为:[<$STR(T16)>]!
GOTO @回血脚本
BREAK
} |
|