卧龙笔记作为道具,点击之后弹出翻书界面,翻书结束点击按钮传送进入卧龙山庄,整套脚本分为道具触发段、翻书界面展示段、地图传送判定段,适配主流引擎,脚本语法以GOM引擎为基准,其他引擎只需要微调界面弹窗函数。
首先在物品数据库内添加卧龙笔记道具,设置物品触发字段为1,代表双击触发脚本,物品名称和数据库编号需要和脚本内物品编号保持一致,道具的外观图片编号填写书本类素材,素材需要提前放到客户端补丁,否则双击道具不显示模型。双击触发入口脚本放在QFunction-0.txt文件,道具双击触发标签[@stdmodeclick],通过物品编号判断是否为卧龙笔记,匹配成功后调用翻书界面的自定义弹窗。
翻书效果依靠引擎自定义窗体实现,窗体设置书本背景图片,分页设置左右翻页按钮,第一页写入卧龙山庄背景介绍文字,第二页放置进入山庄的确认按钮,翻书界面素材两张书本png图片,打包到客户端data文件夹,在窗体脚本内定义图片资源路径,界面宽高按照书本素材尺寸设置,设置窗体为模态弹窗,不允许在打开界面时移动人物或者打开其他面板。
基础入口脚本代码,在QFunction-0.txt写入:
[@stdmodeclick]
#IF
ISADMIN
#ACT
SENDMSG 5 检测道具双击触发编号:<$\(ITEMSTDID>
#IF
EQUAL <\)$ITEMSTDID> 2411
#ACT
OpenDialog 卧龙笔记
BREAK
;2411为卧龙笔记物品数据库StdID,需要自行修改成自己数据库内编号
接下来编写翻书自定义窗体脚本,新建文件Dialog\卧龙笔记.txt,写入窗体定义代码,设置背景图,添加两个翻页按钮,一个进入按钮,初始显示第一页书本内容,点击下一页切换到第二页,点击上一页返回第一页。
[Dialog]
Width=520
Height=360
Pic=book1.png
Button=1|410|280|80|30|下一页
Button=2|30|280|80|30|上一页
Button=3|200|300|100|30|进入卧龙山庄
Text=50|40|450|200|卧龙山庄,卧龙长眠之地,山庄内遍布卧龙名将,击败名将可挖掘身上装备。
[Button1]
#ACT
DialogPic book2.png
#SACT
#ACT
DialogPic book1.png
#SACT
#ACT
MAPMOVE WOLONG 100 120
CLOSEDIALOG
SENDMSG 6 你翻开卧龙笔记,踏入卧龙山庄
BREAK
按钮1对应下一页,切换第二张书本图片,按钮2上一页切回,按钮3为进入山庄,点击执行地图传送,WOLONG为卧龙山庄地图编号,坐标100,120替换成自己山庄的安全入口坐标,传送执行同时关闭书本窗体。
增加前置条件判定,在传送脚本前加入条件限制,防止低等级玩家直接进入,可增加等级、是否携带卧龙笔记、背包空位判断,修改按钮3触发代码。
#ACT
#IF
CHECKLEVEL > 45
CHECKITEM 2411 1
#ACT
MAPMOVE WOLONG 100 120
CLOSEDIALOG
SENDMSG 6 翻开卧龙笔记,成功传送至卧龙山庄
#ELSEACT
MESSAGE 你等级不足45级,无法进入卧龙山庄
CLOSEDIALOG
BREAK
CHECKLEVEL代表最低进入等级,CHECKITEM校验背包内拥有卧龙笔记,部分版本需要设置消耗道具,将CHECKITEM改为TAKE 2411 1,点击进入之后扣除卧龙笔记道具。
需要注意引擎差异,GEE引擎自定义弹窗函数名称不同,OpenDialog替换为ShowDialog,窗体文件存放目录写法略有区别,HERO引擎不支持多图片翻书自定义窗体,只能使用GMMESSAGE弹窗模拟文字翻页效果,无法实现图片书本翻页动画。素材方面,book1.png和book2.png两张翻书图片,必须打包到客户端补丁,路径错误会导致打开笔记只看到空白窗体。
脚本调试操作,保存脚本文件,重新加载M2引擎脚本,输入命令Reload QFunction和Reload Dialog,不用重启服务端。游戏内刷卧龙笔记道具,双击打开书本界面,点击翻页测试图片切换,点击进入按钮,检测人物是否正常传送卧龙山庄。测试出现点击道具无反应,检查物品数据库stdmode是否设置为1,物品编号和脚本内编号保持一致。打开书本图片不显示,核对图片名称大小写,图片补丁是否正确打包。点击进入没有传送,检查地图编号WOLONG是否存在,地图文件是否加载,目标坐标是否在地图可行走区域,坐标在障碍物上会传送失败。
增加额外逻辑,可添加进入山庄倒计时提示、地图进入人数限制,或者标记玩家进入状态,设置山庄内离线自动传回主城。翻书界面文字内容可以自行修改,调整文字位置、字体大小,也可以增加背景音效,打开书本的时候播放书本翻页音效,在OpenDialog下方添加PlaySound 123.wav,音效文件放入客户端音效目录。
脚本编写完成之后,做好脚本备份,修改地图传送坐标、等级限制、道具编号,匹配自身版本数据库和地图资源。如果只需要简易文字翻书,不使用图片窗体,可以用连续弹出信息框代替图片翻书效果,适合不支持自定义窗体的老旧引擎。双击道具后依次弹出两段文字,模拟翻阅笔记,确认之后执行地图跳转,简易写法不需要图片素材,适配更多旧版本引擎。
简易文字版卧龙笔记脚本:
[@stdmodeclick]
#IF
EQUAL <$ITEMSTDID> 2411
#ACT
MESSAGE 卧龙笔记第一页:传闻卧龙山庄藏有卧龙名将,身怀神兵
MESSAGE 卧龙笔记第二页:确认前往山庄探险?
QUESTION 确认前往|@YesWolong|@NoWolong
BREAK
[@YesWolong]
#IF
CHECKLEVEL >45
#ACT
MAPMOVE WOLONG 100 120
SENDMSG 6 进入卧龙山庄
#ELSEACT
MESSAGE 等级不足无法进入
[@NoWolong]
#ACT
MESSAGE 你合上卧龙笔记,放弃前往山庄
BREAK
文字版本没有图片翻书动画,开发工作量小,不需要客户端素材,适合快速搭建基础功能。图片翻书方案观感更贴合1.85原版卧龙笔记效果,但是需要配套界面素材,不同引擎窗体函数存在区别,移植脚本时需要针对性修改函数命令。
传奇1.85卧龙笔记翻书效果,点击进入卧龙山庄触发脚本编写教程
来源:
作者:
点击:

