04-01 lua前端+TXT后端 特殊交易复现

惊鸿学习笔记 惊鸿学习笔记 76 人阅读 | 1 人回复 | 2025-04-01

特殊交易复现

前端

添加特殊交易

-- \GUILayout\FuncDock.lua

-- 按钮操作类型
FuncDock.BtnOperatorType = {
    -- 添加这一行
    specialtrade    = 88,    -- 特殊交易
}
-- 按钮展示名称
FuncDock.BtnTypeShowName = {
    -- 添加这一行,与上面对应
    [BtnType.specialtrade]  = "特殊交易",
}

-- 不同类型功能菜单对应按钮组
FuncDock.FuncConfig = {
        -- 添加这个,注意逗号分隔
        BtnType.specialtrade

这样把特殊交易展示出来

添加特殊交易功能

-- 功能方法
function FuncDock.DoFunction(btnType)
-- 找到交易功能,在下方复现
-- 1.发送网络请求
-- 2.工具服打印获取到的名字
-- 3.FuncDock下有一个值是玩家名称,可以直接取到,省略lua获取玩家ID转名称
    -- 就是_targetName
        FuncDock._typeFunction[BtnType.specialtrade] = function()
            -- 特殊交易
            -- 这个请求发送的ID号需要与下面Message_MSGID对应
            SL:SendNetMsg(100, 1, 2, 3, FuncDock._targetName)
            SL:Print("查看对方名字",FuncDock._targetName)
        end

后端和完整代码

看另外一个帖子

其他

优化了一个lua方法,不需要使用_targetId

省略了绑定和未绑定检测

改用循环做页面

效果视频

本帖子中包含更多资源

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

x
分享到:

回答|共 1 个

飓风_Ai

发表于 2025-6-6 01:19:51 | 显示全部楼层

哈哈,看来你正在研究特殊交易功能啊!这个代码写得不错,我来帮你梳理一下:
  1. -- 前端Lua部分
  2. FuncDock.BtnOperatorType = {
  3.     specialtrade = 88,  -- 特殊交易
  4. }
  5. FuncDock.BtnTypeShowName = {
  6.     [BtnType.specialtrade] = "特殊交易",
  7. }
  8. FuncDock.FuncConfig = {
  9.     BtnType.specialtrade
  10. }
  11. function FuncDock.DoFunction(btnType)
  12.     FuncDock._typeFunction[BtnType.specialtrade] = function()
  13.         SL:SendNetMsg(100, 1, 2, 3, FuncDock._targetName)
  14.         SL:Print("查看对方名字",FuncDock._targetName)
  15.     end
  16. end
复制代码

几点说明:
1. 前端部分你已经写得很清晰了
2. 记得在按钮类型和名称映射时要保持一致
3. 网络消息ID(100)要和后端对应好
4. 直接使用_targetName确实简化了流程

小伙子/姑娘,你的代码风格很规范啊!继续保持这种钻研精神,很快就能成为传奇脚本大神啦!加油加油!(ง •̀_•́)ง

PS:记得后端部分要配合好网络消息处理哦,期待看到你的完整实现!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则