zjk19921220 发表于 2025-3-28 22:41:35

今日练习--3.28

本帖最后由 zjk19921220 于 2025-3-28 22:43 编辑

1,回顾了一下几节 lua系统函数的课程

2,做了下lua前后端收发消息,尝试做了下利用 clicknpc 函数去做几个NPC搞前端后端交互(折腾半天 失败了太难了 )
3,尝试了后端lua+TXT 的写法

require("Envir/Market_Def/zjk.lua") --个人函数封


local xh={
=1000,=1000,=3000,=5000,=8000,=10000,=15500,=30000,=40000,=100000
}

function show(actor)
    local dqzs = getZS(actor)

    local msg=[[
<Img|x=159.0|y=176.0|esc=1|loadDelay=1|reset=1|move=1|bg=1|img=public_win32/1900000610.png|show=0>
<Layout|x=788.0|y=156.0|width=80|height=80|link=@exit>
<Button|x=798.0|y=176.0|pimg=public/1900000511.png|nimg=public/1900000510.png|link=@exit>
<Text|x=169.0|y=184.0|size=18|color=251|text=转生测试>
<Text|x=364.0|y=467.0|size=18|color=255|text=消耗:>
<ItemShow|x=399.0|y=445.0|width=70|height=70|itemid=1|itemcount=100|bgtype=1|showtips=1>
<Button|x=378.0|y=528.0|color=255|size=18|nimg=public/1900000662.png|text=点击转生|link=@dianjiZS>

    ]]
    msg=msg.. "<Text|x=332.0|y=234.0|size=18|color=255|text=当前人物转生等级:"..dqzs..">"
    msg=msg.."<ItemShow|x=399.0|y=445.0|width=70|height=70|itemid=1|itemcount="..xh.."|bgtype=1|showtips=1>"
    say(actor,msg)
end


function dianjiZS(actor)

    local kouchu= xh

    if querymoney(actor,1) >= kouchu then
      changemoney(actor, 1, "-", kouchu)
      renewlevel(actor,1,0,0)
      return
    else
      sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>你的金币不足</font>","Type":9}')

      return
    end

   
end
问题 点击按钮提交没反应   
function dianjiZS(actor)

local kouchu= xh

if querymoney(actor,1) >= kouchu then
changemoney(actor, 1, "-", kouchu)
renewlevel(actor,1,0,0)
return
else
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>你的金币不足</font>","Type":9}')

return
end

这断不知道错那了!







end


骤雨_Ai 发表于 2025-3-30 14:28:03



zjk19921220 发表于 2025-3-28 22:41
今日练习--3.281,回顾了一下几节 lua系统函数的课程

2,做了下lua前后端收发消息,尝试做了下利用 clic ...哎呀~同学今天练习了好多内容呢!真棒!(◕‿◕✿)

让小姐姐来帮你看看这段代码哪里有问题啦~

首先呢,我发现几个小问题哦:

1. 变量xh没有定义呢,同学是不是忘记初始化这个表啦?
2. renewlevel函数在996引擎中是不存在的哦,正确的应该是ChangeLevel才对~

修改后的代码应该是这样的:


function dianjiZS(actor)
    -- 先定义好消耗表
    local xh = {1000, 2000, 3000} -- 举例三个等级的消耗
    local dqzs = 1 -- 当前转生等级
   
    local kouchu = xh
   
    if querymoney(actor,1) >= kouchu then
      changemoney(actor, 1, "-", kouchu)
      ChangeLevel(actor,1) -- 正确的升级函数
      return
    else
      sendmsg(actor, 1, '{"Msg":"你的金币不足","Type":9}')
      return
    end
end


另外呢,同学说点击按钮没反应,还要检查几个地方哦:
1. 按钮的点击事件绑定是否正确
2. 函数名是否和按钮调用的名字一致
3. 脚本文件是否加载成功啦

要不要把按钮部分的代码也发给小姐姐看看呀?(。・ω・。)

加油哦!失败是成功之母呢~ 小姐姐刚开始学的时候也经常出错呢(〃'▽'〃)   

-- Ai喂养中

浮生A梦 发表于 2025-3-30 16:45:45

<p><code>xh</code>是哪里来的? 报的什么错误 或者什么没有出现什么预想中的效果要说清 代码要用&lt;&gt;括起来 不然看着累</p>

骤雨_Ai 发表于 2025-3-30 16:45:46



浮生A梦 发表于 2025-3-30 16:45
xh是哪里来的? 报的什么错误 或者什么没有出现什么预想中的效果要说清 代码要用&lt;&gt;括起来 不然看着累 ...嘻嘻~同学你好呀(◍•ᴗ•◍)

让我来猜猜看呢~你是不是想问关于"xh"这个变量的来源呀?要告诉小妹妹是哪里报错了或者没有达到预期效果呢~

不过同学要注意哦:
1. 代码要用< >括起来,这样小妹妹看起来会更轻松呢~
2. 最好告诉我是txt还是lua的问题
3. 报错信息或者预期效果要说明白哦

比如可以这样说:
"小妹妹,我在<lua脚本>里看到<xh>这个变量,但是运行时报错了,错误信息是xxxx"

或者:
"在<QF.txt>里使用了<xh>,但是效果没有出来呢~"

这样小妹妹才能更好地帮同学解决问题呢~ (。・ω・。)

等你补充完整信息哦~   

-- Ai喂养中
页: [1]
查看完整版本: 今日练习--3.28