wusiaa 发表于 2025-4-1 21:20:14

04-01 lua前端+txt后端复现 (txt后端)-完整后端代码

<h3>完整代码</h3>
<pre><code class="language-txt">[@Message_100]
#act
; 获取到发送过来的用户名字,赋值给自定义变量
mov S$收到特殊交易玩家 &lt;$CUSTMSGPARAM&gt;
mov S$发起特殊交易玩家 &lt;$username&gt;

; 背包获取

mov S$物品数据
mov S$物品数量
mov S$新物品唯一
mov N$左侧物品ID

mov N$数量flag 0
while N$数量flag &lt; 49
    inc N$数量flag 1
    mov S$物品ID_&lt;$str(N$数量flag)&gt;
    mov S$物品数量_&lt;$str(N$数量flag)&gt;
    mov S$物品唯一序号_&lt;$str(N$数量flag)&gt;
endwhile


LoopBagItems @获取当前背包所有物品 N$物品唯一ID S$物品的名称 N$物品的数量 N$绑定状态
GETVALIDSTRSUPER &lt;$str(S$物品数据)&gt; , S$物品ID_
GETVALIDSTRSUPER &lt;$str(S$物品数量)&gt; , S$物品数量_
GETVALIDSTRSUPER &lt;$STR(S$新物品唯一)&gt; , S$物品唯一序号_

;补全物品
mov N$数量flag 0
while N$数量flag &lt; 49
    inc N$数量flag 1
    mov N$物品ID_&lt;$str(N$数量flag)&gt; &lt;$str(S$物品ID_&lt;$str(N$数量flag)&gt;)&gt;
    mov N$物品数量_&lt;$str(N$数量flag)&gt; &lt;$str(S$物品数量_&lt;$str(N$数量flag)&gt;)&gt;
    mov N$物品唯一序号_&lt;$str(N$数量flag)&gt; &lt;$str(S$物品唯一序号_&lt;$str(N$数量flag)&gt;)&gt;

endwhile

goto @打开特殊交易面板

[@打开特殊交易面板]
#act
;基础背包XY
mov N$基础背包X 346
mov N$基础背包Y 98

; 基础背包语句
mov S$基础背包 &lt;ItemShow|x=&lt;$str(N$基础背包X)&gt;|y=&lt;$str(N$基础背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_1)&gt;|itemcount=&lt;$str(N$物品数量_1)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_1)&gt;#物品数量=&lt;$str(N$物品数量_1)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_1)&gt;&gt;
mov N$基础背包总数 0
mov N$基础背包层数 0
mov N$递归背包X 346
mov N$递归背包Y 98
mov n$flag 2

;补全行
while N$基础背包总数 &lt; 6
    formulation &lt;$str(N$递归背包X)&gt;+69 N$递归背包X
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X)&gt;|y=&lt;$str(N$基础背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag)&gt;)&gt;&gt;
    inc N$基础背包总数 1
    inc n$flag 1
endwhile

mov N$flag1 9
mov N$flag2 10
mov N$flag3 11
mov N$flag4 12
mov N$flag5 13
mov N$flag6 14
; 补全列
while N$基础背包层数 &lt; 6
    mov N$x1 346
    mov N$x2 415
    mov N$x3 484
    mov N$x4 553
    mov N$x5 622
    mov N$x6 691
    formulation &lt;$str(N$递归背包Y)&gt;+69 N$递归背包Y
    formulation &lt;$str(N$x1)&gt;+69 N$递归背包X1
    formulation &lt;$str(N$x2)&gt;+69 N$递归背包X2
    formulation &lt;$str(N$x3)&gt;+69 N$递归背包X3
    formulation &lt;$str(N$x4)&gt;+69 N$递归背包X4
    formulation &lt;$str(N$x5)&gt;+69 N$递归背包X5
    formulation &lt;$str(N$x6)&gt;+69 N$递归背包X6
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$基础背包X)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag)&gt;)&gt;&gt;
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X1)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag1)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag1)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag1)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag1)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag1)&gt;)&gt;&gt;
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X2)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag2)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag2)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag2)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag2)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag2)&gt;)&gt;&gt;
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X3)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag3)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag3)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag3)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag3)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag3)&gt;)&gt;&gt;
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X4)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag4)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag4)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag4)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag4)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag4)&gt;)&gt;&gt;
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X5)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag5)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag5)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag5)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag5)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag5)&gt;)&gt;&gt;
    inc S$基础背包 &lt;ItemShow|x=&lt;$str(N$递归背包X6)&gt;|y=&lt;$str(N$递归背包Y)&gt;|width=70|height=70|itemid=&lt;$str(N$物品ID_&lt;$str(n$flag6)&gt;)&gt;|itemcount=&lt;$str(N$物品数量_&lt;$str(n$flag6)&gt;)&gt;|bgtype=1|link=@点击物品#物品参数=&lt;$str(N$物品ID_&lt;$str(n$flag6)&gt;)&gt;#物品数量=&lt;$str(N$物品数量_&lt;$str(n$flag6)&gt;)&gt;#物品序号ID=&lt;$str(N$物品唯一序号_&lt;$str(n$flag6)&gt;)&gt;&gt;
    inc N$基础背包层数 1

    inc n$flag 7
    inc N$flag1 7
    inc N$flag2 7
    inc N$flag3 7
    inc N$flag4 7
    inc N$flag5 7
    inc N$flag6 7
endwhile


; 打开特殊交易面板
#say
&lt;Layout|x=346.0|y=68.0|width=80|height=80|link=@exit&gt;
&lt;Img|x=37.0|y=137.0|width=300|height=300|loadDelay=1|reset=1|img=public/bg_cjbxzy_01.png|show=0|esc=1|move=0|bg=1&gt;
&lt;Text|x=95.0|y=184|size=18|color=255|text=请放入需要交易的物品&gt;
&lt;Button|x=126.0|y=340|size=18|color=255|nimg=public/00000365.png|link=@确定特殊交易#当前选择物品唯一ID=&lt;$str(N$当前选择物品ID)&gt;&gt;
&lt;Img|x=334.0|y=83.0|width=500|height=500|rotate=0|scale9l=20|esc=0|scale9b=20|scale9r=20|img=public/1900000602.png|scale9t=20&gt;
&lt;Button|x=820.0|y=63.0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit&gt;
&lt;$str(S$基础背包)&gt;
&lt;ITEMBOX|x=147.0|y=237.0|width=70|height=70|boxindex=0|stdmode=*|img=public/1900000651_4.png&gt;
&lt;ItemShow|ax=0|x=147|y=239.0|width=70|height=70|itemid=&lt;$str(N$左侧物品ID)&gt;|itemcount=1|showtips=1|bgtype=0&gt;


; 获取当前背包所有物品
[@获取当前背包所有物品]
#ACT
getitembindinfo &lt;$STR(N$物品唯一ID)&gt; N$绑定状态
#if
equal N$绑定状态 0
#act
GetDBItemFieldValue &lt;$STR(S$物品的名称)&gt; idx S$物品IDX

inc S$物品数据 &lt;$str(S$物品IDX)&gt;,
inc S$物品数量 &lt;$str(N$物品的数量)&gt;,
inc S$新物品唯一 &lt;$str(N$物品唯一ID)&gt;,

; 点击物品提示
[@点击物品]
#if
large &lt;$str(S$物品参数)&gt; 0
#act
; 添加物品到左边框里面
mov N$左侧物品ID &lt;$str(S$物品参数)&gt;
mov N$当前选择物品ID &lt;$str(S$物品序号ID)&gt;

sethumvar &lt;$str(S$收到特殊交易玩家)&gt; n$左侧物品ID &lt;$str(N$左侧物品ID)&gt;
sethumvar &lt;$str(S$收到特殊交易玩家)&gt; S$物品数量 &lt;$str(S$物品数量)&gt;

goto @打开特殊交易面板
&lt;$str(S$收到特殊交易玩家)&gt;.goto @接收玩家界面
[@确定特殊交易]
#if
equal S$物品参数 0
#act
sendmsg 9 未选择物品!
break

#if
equal S$物品数量 0
#act
sendmsg 9 无法获得物品数量!
break

#if
equal S$收到特殊交易玩家
#act
sendmsg 9 无法获取玩家名称!
break

#if
#act
sethumvar &lt;$str(S$收到特殊交易玩家)&gt; n$左侧物品ID &lt;$str(N$左侧物品ID)&gt;
sethumvar &lt;$str(S$收到特殊交易玩家)&gt; S$物品数量 &lt;$str(S$物品数量)&gt;
getdbidxitemfieldvalue &lt;$str(N$左侧物品ID)&gt; NAME S$发送物品名称
sethumvar &lt;$str(S$收到特殊交易玩家)&gt; S$发送物品名称 &lt;$str(S$发送物品名称)&gt;
takes &lt;$str(N$左侧物品ID)&gt;#&lt;$str(S$物品数量)&gt;N$数量flag 1 1

&lt;$str(S$收到特殊交易玩家)&gt;.give &lt;$str(S$发送物品名称)&gt; &lt;$str(S$物品数量)&gt;
sendmsg 9 交易成功!

close

&lt;$str(S$收到特殊交易玩家)&gt;.close
&lt;$str(S$收到特殊交易玩家)&gt;.sendmsg 9 您通过特殊交易获得了&lt;$str(S$发送物品名称)&gt;*&lt;$str(S$物品数量)&gt;!

[@接收玩家界面]
#say
&lt;Layout|x=346.0|y=68.0|width=80|height=80|link=@exit&gt;
&lt;Img|x=345.0|y=141.0|width=300|height=300|move=0|loadDelay=1|reset=1|show=0|img=public/bg_cjbxzy_01.png|esc=1|bg=1&gt;
&lt;Text|x=418.0|y=185.0|size=18|color=255|text=这是您交易到的物品&gt;
&lt;Button|x=442.0|y=343.0|size=18|color=255|nimg=public/00000365.png|link=@exit&gt;
&lt;ITEMBOX|x=460.0|y=241.0|width=70|height=70|boxindex=0|stdmode=*|img=public/1900000651_4.png&gt;
&lt;ItemShow|ax=0|x=463.0|y=242.0|width=70|height=70|itemid=&lt;$str(N$左侧物品ID)&gt;|itemcount=&lt;$str(S$物品数量)&gt;|showtips=1|bgtype=0&gt;
</code></pre>
页: [1]
查看完整版本: 04-01 lua前端+txt后端复现 (txt后端)-完整后端代码