|
|
以我的为例子。
我是用NewopUI.Pak做的
首先得有素材,没有素材(图片)的,自己找,很多私服里有,一大把。
打开M2,查看信息列表2,WIL资源,点击NewopUI.Pak右边会显示编号0,编号就是序号。
我在D:\MirServer\Mir200\Envir\QuestDiary\系统功能\文件夹里创建了一个按钮检测文件。
还有:D:\MirServer\Mir200\Envir\QuestDiary\按钮\文件夹里创建了(移动仓库、游戏攻略、游戏活动、装备回收)
如下(这是整个文件的参数)
;说明:参数1就是NewopUI.Pak序号0,参数3、4、5是图片的编号,用WIL编辑器.exe打开NewopUI.Pak就可以看见图片的编号了,没有自己想要的图片,就从别的文件导出,再导入NewopUI.Pak文件,别忘了重新替换。
[@开始按钮检测]
{
#IF
#ACT
;命令 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10
ADDBUTTON 0 7 1406 1407 1408 -50 7 0 -1 收起按钮
ADDBUTTON 0 3 1427 1428 1429 40 7 0 -1 游戏攻略
ADDBUTTON 0 9 1385 1386 1387 130 7 0 -1 游戏活动
ADDBUTTON 0 2 1436 1437 1438 310 7 0 -1 装备回收
ADDBUTTON 0 11 1442 1443 1444 580 7 0 -1 综合服务
break
}
;1.添加按钮素材,添加PAK读取规则,重新配置登录器。
;2.分析版本中都有哪些自定义按钮被占用,可以直接搜索自定义按钮的命令ADDBUTTON 。
;3.添加自定义按钮需要在人物登录时就开始添加,也就是在QM登录脚本添加。
;4.第一个自定义按钮用于展开/收起功能,第一次点击显示所有按钮,第二次点击隐藏所有按钮。
;5.QFunction-0.txt文件添加自定义按钮标签[@ButtonClickX],X是1-20之间的编号。
6.自定义按钮命令参数介绍
;格式:命令 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10
;参数说明:
;参数1为WIL补丁序号,此序号在M2-查看-列表信息二-WIL资源 里面编辑
;参数2为按钮点击后的脚本触发序号,触发QF里面的[@ButtonClickX]X即为触发序号
;参数3为按钮默认图片
;参数4为鼠标经过图片
;参数5为按钮按下图片
;参数6为距离窗口左边的距离(此参数建议用分辨率宽变量计算)
;参数7为距离窗口顶边的距离(此参数建议用分辨率高变量计算)
;参数8为按钮是否可以移动0=不能移动1=可以移动
;参数9为按钮上面显示的文字标题,-1时为空标题(用于不显示标题)
;参数10为鼠标移动到按钮显示的悬浮框备注信息 “\”表示换行 “/”颜色分割符 自定义颜色功能需要2015-01-08之后的程序才支持
;按钮序号只能为1-20,因为最多就添加20个自定义按钮
;格式:命令 参数1 参数2
;命令:DELBUTTON
;例子
;#IF
;#ACT
;DELBUTTON 1
;说明:参数1为按钮序号(1-20) 参数2(0或空的时删除自己的,1时删除全服用户的),每一个自定义按钮都有一个对应的编号,自定义按钮的编号作用是为;了对应指定的标签,当玩家点击自定义按钮就会触发对应标签下的脚本功能,自定义按钮触发的标签是在QFunction-0.txt文件。
D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt的设置如下
[@Login]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [\游戏登陆\登陆脚本.txt] @登陆设置
#CALL [\系统功能\按钮检测.txt] @开始按钮检测
#IF
ISNEWHUMAN
#ACT
#ELSEACT
GuildNoticeMsg 0 250 (*)尊敬的玩家[%s]上线来到了≤<$SERVERNAME>≥,有仇报仇,有冤报冤!!
D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt的设置如下
;此脚为功能脚本,用于实现各种与脚本有关的功能
(@@sendmsg @storage @PlayLevelUp @getback @buy @sell @repair @PlayDie @MUZHUANG @s_repair @@offlinemsg @storage @getback @getnextpage @getPreviouspage @@InPutString @@InPutInteger @@InPutInteger @@InPutString @@useitemname @@OffLineMsg @@dealgold)
[@USERCMD1]
#if
#act
#CALL [\系统功能\游戏攻略.txt] @游戏介绍
#IF
CHECKLEVELEX > 50
#ACT
gmexecute ReleaseShutup <$USERNAME>
BREAK
[@ButtonClick2]
#IF
#ACT
#CALL [\按钮\装备回收.txt] @回收装备
break
[@ButtonClick9]
#IF
#ACT
#CALL [\按钮\游戏活动.txt] @游戏活动
break
[@ButtonClick11]
#IF
#ACT
#CALL [\按钮\移动仓库.txt] @移动仓库
break
[@ButtonClick3]
#if
#act
#CALL [\按钮\游戏攻略.txt] @游戏攻略
[@ButtonClick7]
#IF
#ACT
delBUTTON 3
delBUTTON 6
delBUTTON 7
delBUTTON 9
delBUTTON 4
delBUTTON 5
delBUTTON 2
ADDBUTTON 0 8 1430 1431 1432 -50 7 0 -1 打开按钮
[@ButtonClick8]
#IF
#ACT
delBUTTON 8
#CALL [\系统功能\按钮检测.txt] @开始按钮检测
;移动仓库
[@StorageOpenFail2]
#IF
#ACT
MESSAGEBOX \\仓库二还未解锁.需要500元宝开启\ \单击确认后免费开启 @开启仓库二 @取消
[@开启仓库二]
#IF
CHECKGAMEGOLD > 499
#ACT
GAMEGOLD - 500
SETSTORAGEOPEN 20130801 20130802 20130803 20130804 2 20130806 20130807 20130808 1 20130810
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足500个。
[@StorageOpenFail3]
#IF
#ACT
MESSAGEBOX \\仓库三还未解锁.需要1000元宝开启\ \单击确认后开启 @开启仓库三 @取消
[@开启仓库三]
#IF
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
SETSTORAGEOPEN 20130801 20130802 20130803 20130804 3 20130806 20130807 20130808 1 20130810
#ELSEACT
MESSAGEBOX 对不起,您的元宝已经不足1000个。
;开启仓库三命令
[@StdModeFunc8]
#IF
CHECKLEVELEX > 0
#ACT
ReturnBoxItem 2
CLOSEMERCHANTBIGDLG
#SAY
移动仓库为您提供以下服务功能:\ \ \
<存放物品/@storage>\ \
<取回物品/@getback>\
[@storage]
需要保管什么东西?\ \
<存放物品/@storage>\ \
<取回物品/@getback>\
[@getback]
请看目录决定找什么东西.\ \
<存放物品/@storage>\ \
<取回物品/@getback>\ \
重启配置登陆器,重新启动服务器
|
|