传奇文章 发表于 2019-5-21 21:56:46

传奇手机服务端lua脚本使用和疑问

传奇lua脚本分客户端和服务端。
我看介绍是 客户端的部分是写在客户端的lua文件夹下面。
那比如开区的话 玩家需要下载这个带lua脚本的客户端。那如果玩家看得懂的话,是不是可以随意修改。
假如玩家不会修改,那比如他玩了我的服,又玩了别人的服,是不是就把我的llua脚本覆盖了。客户端的部分是不是 有这样的问题。
客户端的传奇lua脚本在制作成登录器的时候会集成在里面,然后会进行加密,不需要担心这个问题。

下面的示例实现了创建一个窗体, 并在窗体上创建了标签,按钮,单选框,复选框等控件.
GameEvent.lua文件中的脚本如下: function logon()
local myself = Client.GETGAMEOBJECT('actor', "myself"); -- 获取当前角色对象
Client.chat(myself.name..", 欢迎你!");
initUI();
end;


function btn1Click(sender, x, y)
--Client.chat('btn1 click');
myform.visible = not myform.visible; -- 可见/不可见切换
end;


function initUI()
local btn1 = UI.addButton(0, 20, 10, "test", "btn1Click");
-- btn1.image = "http://img.cwq.com/weixinimg/1387871337323223553252b93c69c1498.jpg";

-- 创建一个窗体和一组控件
myform = UI.addForm(0, 100,50, "prguse.pak|607");
myform.canMove = true;-- 可移动窗口
myform.visible = false; -- 窗口不可见
local formid = myform.id;
local lbl = UI.addLabel(formid, 80, 50, "这是一个标签");
radioGroup = UI.addRadioGroup(formid, 80, 80, "武士|法师|道士");   -- 标题 以 | 分割标题


-- 创建一个复选框
checkBox = UI.addCheckBox(formid, 80, 150, "使用太阳水", true); -- 默认勾选
local btnGet = UI.addButton(formid, 80, 180, "获取选择数值", "btnGetClick");
end;


-- 按钮单击事件
function btnGetClick(sender, x, y)
      for I =1, #radioGroup do
          if radioGroup.checked then
                  Client.CHAT(string.format("选中的职业是: %s, 序号=%d", radioGroup.Caption, I));
                  break;
          end;
      end;
      
      -- 根据勾选状态处理逻辑
      Client.CHAT(string.format("使用太阳水: %s", tostring(checkBox.checked)));
end;
页: [1]
查看完整版本: 传奇手机服务端lua脚本使用和疑问