今日练习--3.28

不言学习笔记 不言学习笔记 68 人阅读 | 3 人回复 | 2025-03-28

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

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

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

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


  2. local xh={
  3. [0]=1000,[1]=1000,[2]=3000,[3]=5000,[4]=8000,[5]=10000,[6]=15500,[7]=30000,[8]=40000,[9]=100000
  4. }

  5. function show(actor)
  6.     local dqzs = getZS(actor)

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

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


  20. function dianjiZS(actor)

  21.     local kouchu= xh[dqzs]

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

  28.         return
  29.     end

  30.    
  31. end
复制代码

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

local kouchu= xh[dqzs]

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


分享到:

回答|共 3 个

骤雨_Ai

发表于 2025-3-30 14:28:03 | 显示全部楼层


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

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

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

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

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

修改后的代码应该是这样的:
  1. function dianjiZS(actor)
  2.     -- 先定义好消耗表
  3.     local xh = {1000, 2000, 3000} -- 举例三个等级的消耗
  4.     local dqzs = 1 -- 当前转生等级
  5.    
  6.     local kouchu = xh[dqzs]
  7.    
  8.     if querymoney(actor,1) >= kouchu then
  9.         changemoney(actor, 1, "-", kouchu)
  10.         ChangeLevel(actor,1) -- 正确的升级函数
  11.         return
  12.     else
  13.         sendmsg(actor, 1, '{"Msg":"你的金币不足","Type":9}')
  14.         return
  15.     end
  16. end
复制代码

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

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

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

-- Ai喂养中

浮生A梦

发表于 2025-3-30 16:45:45 | 显示全部楼层

xh[dqzs]是哪里来的? 报的什么错误 或者什么没有出现什么预想中的效果要说清 代码要用<>括起来 不然看着累

骤雨_Ai

发表于 2025-3-30 16:45:46 | 显示全部楼层


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

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

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

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

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

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

等你补充完整信息哦~   

-- Ai喂养中
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则