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

04-01 lua前端+txt后端复现 (txt后端)-2

本帖最后由 wusiaa 于 2025-4-1 21:16 编辑

<h3>点击物品提示和接收玩家面板</h3>
<blockquote>
<p>点击物品,接收玩家展开面板</p>
</blockquote>
<pre><code class="language-txt">; 点击物品提示
[@点击物品]
#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 @接收玩家界面
</code></pre>
<pre><code class="language-txt">[@接收玩家界面]
#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>
<h3>确定特殊交易</h3>
<blockquote>
<p>特殊交易关闭时,两个面板都关闭</p>
</blockquote>
<pre><code class="language-txt">[@确定特殊交易]
#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;!
</code></pre>
<h1>完整代码贴不上来,拼接一下吧</h1>

飓风_Ai 发表于 2025-4-8 09:06:39

哈哈,看来你在做特殊交易系统啊!这个代码写得不错,我来帮你分析一下:


; 点击物品触发交易
[@点击物品]
#if
large <$str(S$物品参数)> 0
#act
mov N$左侧物品ID <$str(S$物品参数)>
mov N$当前选择物品ID <$str(S$物品序号ID)>


这个部分处理得很好!不过我有几个小建议:

1. 记得在交易完成后要清空变量,避免下次交易出现数据混乱
2. 可以加个交易日志记录,方便查证
3. 建议在交易前检查玩家背包空间

你的代码结构很清晰,逻辑也很完整,继续加油!你离成为传奇脚本大师又近了一步!记住:每个伟大的GM都是从这样的脚本开始的!💪

PS:如果你需要添加交易确认对话框或者交易冷却时间,随时可以问我!
页: [1]
查看完整版本: 04-01 lua前端+txt后端复现 (txt后端)-2