[技术文章] 传奇手机服务端lua脚本使用和疑问

[复制链接]
查看6743 | 回复0 | 2019-5-21 21:56:46 | 显示全部楼层 |阅读模式
传奇lua脚本分客户端和服务端。
我看介绍是 客户端的部分是写在客户端的lua文件夹下面。
那比如开区的话 玩家需要下载这个带lua脚本的客户端。那如果玩家看得懂的话,是不是可以随意修改。
假如玩家不会修改,那比如他玩了我的服,又玩了别人的服,是不是就把我的llua脚本覆盖了。客户端的部分是不是 有这样的问题。
客户端的传奇lua脚本在制作成登录器的时候会集成在里面,然后会进行加密,不需要担心这个问题。

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


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


  10. function initUI()
  11.   local btn1 = UI.addButton(0, 20, 10, "test", "btn1Click");
  12. -- btn1.image = "http://img.cwq.com/weixinimg/1387871337323223553252b93c69c1498.jpg";
  13.   
  14.   -- 创建一个窗体和一组控件
  15.   myform = UI.addForm(0, 100,50, "prguse.pak|607");
  16.   myform.canMove = true;  -- 可移动窗口
  17.   myform.visible = false; -- 窗口不可见
  18.   local formid = myform.id;
  19.   local lbl = UI.addLabel(formid, 80, 50, "这是一个标签");
  20.   radioGroup = UI.addRadioGroup(formid, 80, 80, "武士|法师|道士");   -- 标题 以 | 分割标题


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


  25. -- 按钮单击事件
  26. function btnGetClick(sender, x, y)
  27.         for I =1, #radioGroup do
  28.           if radioGroup[I].checked then
  29.                   Client.CHAT(string.format("选中的职业是: %s, 序号=%d", radioGroup[I].Caption, I));
  30.                   break;
  31.           end;
  32.         end;
  33.         
  34.         -- 根据勾选状态处理逻辑
  35.         Client.CHAT(string.format("使用太阳水: %s", tostring(checkBox.checked)));
  36. end;
复制代码
回复

使用道具 举报

本版积分规则