手游哥源码网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 431|回复: 0

[战神教程] 白猪白皮书之自定义面板制作

[复制链接]

530

主题

530

帖子

36万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
365936
QQ
发表于 2022-8-1 08:38:29 | 显示全部楼层 |阅读模式
环境准备
自定义面板制作需要服务端与本地配合,用到如下脚本:
HelperQuest.pas
ExtendUIs.pas
同时,需要在RunMailQuest.pas 中开启自定义命令开关,否则无法生效
白猪白皮书之自定义面板制作9713 作者:乾乾与行 帖子ID:414 白猪说明书
需要加上这句话才能生效。
HelperQuest.pas 需要引用 ExtendUIs.pas,如下图:
白猪白皮书之自定义面板制作3737 作者:乾乾与行 帖子ID:414 白猪说明书
同时,ExtendUIs.pas 这个文件,需要拷贝到 CommonScripts 目录下


制作步骤
1、创建JSON:每个自定义面板,都需要配套一个json文件,json文件中,必不可少的需要包含 CM、Bg、Exit 三个元素。 其他内容元素看自己的写法,可以写到json里,也可以后期通过命令增加。
如下json案例:

  1. <div line="ZCMZ" data-language="javascript" class="ql-code-block">{</div><div line="pl8q" data-language="javascript" class="ql-code-block"> <span class="hljs-string">"panel"</span> : </div><div line="3Gzv" data-language="javascript" class="ql-code-block">  [     -- 这个必备,不能删 </div><div line="GInc" data-language="javascript" class="ql-code-block">    <span class="hljs-string">"CM:@loadcb"</span>,  -- 这是通讯函数,写到extendUIs.<span class="hljs-property">pas</span>里的。也可以自己创建一个pas函数,单独放到commonscripts,但需要在helperquest里引用</div><div line="qMV0" data-language="javascript" class="ql-code-block">    <span class="hljs-string">"Bg:sz:15"</span>,  -- 这是背景图,以及下面的自定义内容,可以根据面板需求写</div><div line="K0Xw" data-language="javascript" class="ql-code-block">    <span class="hljs-string">"Exit:sz:17:17:654:43"</span>,  -- 这个是退出按钮,</div><div line="Zxin" data-language="javascript" class="ql-code-block">    <span class="hljs-string">"1:Img-name1:sz:6:511:182"</span>,  -- 这个是一张图片的自定义,<span class="hljs-number">1</span> 表示显示,<span class="hljs-title class_">Img</span>表示元素类型,-name1 表示这个元素的名称。 可以根据这个元素名称去更新这个元素,或者隐藏这个元素。隐藏方式: <span class="hljs-title class_">PlayerNotice</span>(<span class="hljs-string">'CDTP:panelname=0:Img-name1'</span>,<span class="hljs-number">5</span>);</div><div line="fG0C" data-language="javascript" class="ql-code-block"> ]</div><div line="2h7C" data-language="javascript" class="ql-code-block">} </div>
复制代码


比如这样的json内容,存储为json文件,放到补丁中更新。比如存储为 “kuangbao.json”

2、实现服务端通讯函数:写到extendUIs.pas里的。也可以自己创建一个pas函数,单独放到commonscripts,但需要在helperquest里引用。
比如,此案例中,直接写到 extendUIs.pas 里:

  1. <div line="Djvj" data-language="fortran" class="ql-code-block">//对应客户端的通讯函数</div><div line="XRbE" data-language="fortran" class="ql-code-block"><span class="hljs-keyword">procedure</span> _loadcb;</div><div line="DLyd" data-language="fortran" class="ql-code-block">begin</div><div line="TT8I" data-language="fortran" class="ql-code-block">        This_Player.PlayerNotice(<span class="hljs-string">'客户端打开了一个窗口'</span>,<span class="hljs-number">5</span>);</div><div line="4CDD" data-language="fortran" class="ql-code-block"><span class="hljs-keyword">end</span>;</div>
复制代码


游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ/免责声明/Archiver/手机版/小黑屋/特别鸣谢/隐私条款/版权声明/下架/sitemap/手游哥源码网 ( 粤ICP备20024708号-3 )


本站资源来自互联网搜集,仅供本地电脑单机学习和交流,请勿用于商业用途,请自觉在24小时内删除。
本站仅提供信息存储空间服务,软件的复制品持有人不知道也没有合理的理由应当知道展示的作品侵权!
本站所有资源仅限用于研究产品软件内含、设计思想和原理为目的用途,禁止任何商用行为,违者后果自负!
若有侵权与文章中不妥之处,请联系邮箱:4660647@qq.com(手机随时接收邮件)并出示相关证明以便删除。敬请谅解!
快速回复 返回顶部 返回列表