搜索
查看: 6375|回复: 40

[文字、图片教程] LUA教程—客户端与服务端通讯实例

[复制链接]
发表于 2020-3-21 10:36:10 | 显示全部楼层 |阅读模式
本帖最后由 怪怪 于 2020-3-21 10:37 编辑

对于LUA,我也是刚入门,如果有错误的地方你们来指正
过程求助过【风花雪月】大神,感谢
教程例子实现的功能是:
玩家单击UI中的某按钮,触发服务端QF中的指定脚本

1.建立客户端通讯:
首先要在客户端LUA文件内绑定鼠标单击UI中的按钮事件
客户端的LUA脚本写在你的专属路劲中,防止被登录器自带的给覆盖了
比如我登录器的客户端专属文件夹是“guaiguai”,那么我的LUA脚本就写在“guaiguai”这个文件夹里
如图所示,main.lua里就是我写入的UI操作事件,DWBottom.lua就是绑定该事件的文件名



执行通讯的脚本就写到DWBottom.lua里:(红色部分)
--鼠标单击事件
function DBotGuild_OnClick(sender, x, y)
        c.event.sendNetMsg(1, "我要发送文字1给M2")
         return true --返回true代表执行内部事件
end

蓝色文字就是UI里面的按钮名字,可以登录器UI模式下得到
如图所示,下图红色方框处就可以获取你鼠标单击的按钮名称,写到上图三色文字处就可以
表示玩家点击打开了行会按钮,并且吧这个信息发送给M2

客户端通讯简单的例子就完成了,下面就要做M2给玩家返回信息



2.建立服务端通讯:
服务端的LUA脚本路径,如图所示:
main.Lua文件内写入需要触发的QF脚本段,比如我写的是触发QF中的“@GuildData
这个脚本段名字自己随意,自己知道能分辨就行


@GuildData”中的脚本你们就可以随意写了,和普通的脚本完全一样
比如我写的例子,玩家打开行会按钮后,服务端给该玩家执行-100元宝


脚本千变万化,你们自己发挥想象,按单击UI中的任何按钮实现各种功能
LUA实例,玩家单击行会按钮,在行会UI上显示人数效果展示:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 6金钱 +86 热心值 +5 收起 理由
寂寞 + 10
清风一笑 + 1 神马都是浮云
1580 + 10 + 1 很给力!图文不错!
法海不懂爱 + 50 + 1 UI操作独立脚本,无需require
上线发呆 + 10 + 1
醉饮黄龙 + 6 + 1 谢谢分享

查看全部评分

 楼主| 发表于 2020-3-21 10:40:36 | 显示全部楼层
本帖最后由 怪怪 于 2020-3-21 10:45 编辑

好像是论坛第一个LUA理论实践结合的教程单击按钮触发是引擎自带功能里不支持的,同LUA可以实现扩展很多有意思的脚本

比如打开人物装备栏显示战斗力功能
通过LUA来做的好处是不占资源,不用即时检测
使用的时候才显示

点评

LUA优点在于,直接使用,不用像旧的脚本,还要程序处理很多东西才能实现想要的功能  发表于 2020-4-9 18:40
这个是第一个吧https://bbs.hgem2.net/forum.php?mod=viewthread&tid=157&extra=page%3D1  发表于 2020-3-21 12:19
发表于 2020-3-21 10:49:51 | 显示全部楼层
66666666666666666666666666666666666
发表于 2020-3-21 10:51:01 | 显示全部楼层
看不懂 ,赞个先。
发表于 2020-3-21 10:55:41 | 显示全部楼层
:lol:lol
发表于 2020-3-21 10:58:02 | 显示全部楼层
看不懂介绍的很详细,给个赞6666666666
发表于 2020-3-21 11:06:42 | 显示全部楼层
高端教程必须赞一个
发表于 2020-3-21 11:31:47 | 显示全部楼层
6666666666666666666
发表于 2020-3-21 12:04:02 | 显示全部楼层
这种教程必须要点个赞
发表于 2020-3-21 12:43:18 | 显示全部楼层
不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-11-22 00:30 , Processed in 0.560878 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表