传奇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[I].checked then
- Client.CHAT(string.format("选中的职业是: %s, 序号=%d", radioGroup[I].Caption, I));
- break;
- end;
- end;
-
- -- 根据勾选状态处理逻辑
- Client.CHAT(string.format("使用太阳水: %s", tostring(checkBox.checked)));
- end;
复制代码 |
|