当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

【传奇脚本】MerchantDlg自定义NPC对话框:支持拉条、图片、图片按钮及动态图片切换

来源: 作者: 热度:
本文介绍如何使用传奇脚本实现MerchantDlg自定义NPC对话框的支持,包括拉条、图片、图片按钮以及动态图片切换。

需求

了解传奇脚本基本语法和命令
了解INI配置文件的使用方法
实现步骤

设置自定义NPC对话框
在NPC文件头()里增加 @MDlgImgName=MerchantDlg.png 即可支持自定义NPC对话框。

(NPC
Name=NPC1
Title=NPC1
Model=0
ModelPos=0,0,0
ModelAngle=0,0,0
ModelScale=100,100,100
@MDlgImgName=MerchantDlg.png
)
Copy
MerchantDlg.png表示自顶的NPC对话框的图片名,客户端会根据此图片名搜索lui.pkg包中的图片,存在则起用,否则使用默认对话框。

动态图片切换
使用命令 SetMerchantDlgImgName 可以随时更改当前NPC对话框图片。

SetMerchantDlgImgName BLUEM2.NET_hero.png
Copy
图片名为空或不存在于lui.pkg包中,使用默认NPC对话框。

可以在每个[@Label] 前加此命令,以实现动态图片切换。

支持拉条、图片、图片按钮
传奇脚本支持使用BMP、JPG、PNG等图片,并支持拉条、图片、图片按钮等功能。

以下脚本实例:

[@main]
<LINE=clBlue> //画线,clBlue是颜色
<URL=www.baidu.com>百度</> //网站
<PIC=d:\\pic1.png LABEL=@example1> //指定图片路径为:d:\\pic1.png,前往后执行[@example1]
<PIC=d:\\pic2.png HINT=该文字描述是鼠标移上图片的提示
换行文字1
换行文字2
> //鼠标移动到图片后的提示
<PIC=storage.png HINT=此为自定义资源> //向lui.pkg中搜索storage.png
<color=clLime> <$STR(S0)> </>
Copy
完整示例

(NPC
Name=NPC1
Title=NPC1
Model=0
ModelPos=0,0,0
ModelAngle=0,0,0
ModelScale=100,100,100
@MDlgImgName=MerchantDlg.png
)

#IF
CHECKLEVELEX > 0
#ACT
#INCLUDE 颜色常量.INI
SetMerchantDlgImgName MerchantDlg3.png
#SAY
     <COLOR=clRed ★★★★★★★★★><COLOR=clYellow 【首杀给予介绍】><COLOR=clRed ★★★★★★★★★>\\
╔┈┈-╦┈┈┈┈┈┈┈┈┈┈┈╦--------╦┈┈┈┈┈┈╦-┈┈┈┈╦--------╦--------╦--------╦--------╣
┆<COLOR=$000077FF 编号> ┆ <COLOR=$000077FF 怪物名字> ┆ <COLOR=$000077FF 给予金额> ┆ <COLOR=$000077FF 剩余时间> ┆ <COLOR=$000077FF 剩余名额>┆<COLOR=$000077FF 总计名额>┆
╠┈┈-╬--------╬--------╬--------╬--------╬--------╬--------╬--------╬--------╣
┆<COLOR=$008CEFF7 No.1> ┆  <$254 起源·变异血魔>  ┆ <$253 5W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$STR(S40)> ┆ 10 ┆
┆<COLOR=$008CEFF7 No.2> ┆  <$254 蛮荒·残暴金刚>  ┆ <$253 5W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$STR(S41)> ┆ 10 ┆
┆<COLOR=$008CEFF7 No.3> ┆  <$254 决逐·不死黄泉>  ┆ <$253 10W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字3)> ┆ 5 ┆
┆<COLOR=$008CEFF7 No.4> ┆  <$254 弑神·暗黑精灵>  ┆ <$253 10W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字4)> ┆ 5 ┆
┆<COLOR=$008CEFF7 No.5> ┆  <$254 寒冰·雪域魔王>  ┆ <$253 20W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字5)> ┆ 3 ┆
┆<COLOR=$008CEFF7 No.6> ┆  <$254 上古·千年老魔>  ┆ <$253 20W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字6)> ┆ 3 ┆
┆<COLOR=$008CEFF7 No.7> ┆  <$254 邪恶·混沌火龙>  ┆ <$253 20W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字7)> ┆ 3 ┆
┆<COLOR=$008CEFF7 No.8> ┆  <$254 荣耀·索命树妖>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字8)> ┆ 2 ┆
┆<COLOR=$008CEFF7 No.9> ┆  <$254 乱世·嗜血天珠>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字9)> ┆ 2 ┆
┆<COLOR=$008CEFF7 No.10>┆  <$254 天下·浮屠亡灵>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字10)> ┆ 2 ┆
┆<COLOR=$008CEFF7 No.11>┆  <$254 雷霆·无极蛮王>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字11)> ┆ 2 ┆
┆<COLOR=$0

MerchantDlg自定义NPC对话框支持拉条、图片、图片按钮 #INCLUDE 颜色常量.INI SetMerchantDlgImgName MerchantDlg3.png自定义NPC对话框,例:(@buy @@BuHero @MDlgImgName=MerchantDlg.png)
在@MDlgImgName=MerchantDlg.png中,MerchantDlg.png表示自顶的NPC对话框的图片名
客户端会根据此图片名搜索lui.pkg包中的图片,存在则起用,否则使用默认对话框
注:只需要在NPC文件头()里增加 @MDlgImgName=MerchantDlg.png 即支持

NPC命令:SetMerchantDlgImgName 图片名 //设置当前NPC对话框图片,可以随时更改
图片名为空或不存在于lui.pkg包中,使用默认NPC对话框
否则搜索lui.pkg包中的图片名,存在则起用,可以在每个[@Label] 前加此命令

例:

(@@BuHero)
[@MAIN]
\ \ \ \
  受伤的英雄经过我的治疗,大体已经康复。\
  新招募的英雄也刚好都在我这边休息。\
  他们都已经听说了你的事情,都非常愿意跟随你。\
  现在是时候,让这些英雄前往玛法大陆了。\ \
  <带领一个英雄/@@buHero>\ \
  英雄状态更改<COLOR=clRED Ctrl+E> 锁定目标<COLOR=clRED Ctrl+W> 英雄守护<COLOR=clRED Ctrl+Q> 释放合击<COLOR=clYELLOW Ctrl+S>\
  释放合击必需品火龙之心,可以在我这直接购买!只需要10万金币即可!\ \
  <购买火龙之心/@HLX>\ \
#ACT
SetMerchantDlgImgName BLUEM2.NET_hero.png

--------------------------------------------------------------------------------

2.NPC支持拉条、图片、图片按钮……

例:

[@main]
支持功能例子,支持BMP,JPG,PNG等图片\
<LINE=clBlue> //画线,clBlue是颜色
<URL=www.baidu.com>百度</>\ //网站
<PIC=d:\pic1.png LABEL=@example1>\ //指定图片路径为:d:\pic1.png,前往后执行[@example1]
<PIC=d:\pic2.png HINT=该文字描述是鼠标移上图片的提示\换行文字1\换行文字2\>\ //鼠标移动到图片后的提示
<PIC=storage.png HINT=此为自定义资源>\ //向lui.pkg中搜索storage.png
<color=clLime> <$STR(S0)> </>\


以下脚本实例:


#IF
CHECKLEVELEX > 0
#ACT
#INCLUDE 颜色常量.INI
SetMerchantDlgImgName MerchantDlg3.png
#SAY
     <COLOR=clRed ★★★★★★★★★><COLOR=clYellow 【首杀给予介绍】><COLOR=clRed ★★★★★★★★★>\
╔┈┈-╦┈┈┈┈┈┈┈┈┈┈┈╦┈┈┈┈┈╦┈┈┈┈┈┈╦-┈┈┈┈╦┈┈┈┈╗\
┆<COLOR=$000077FF 编号> ┆ <COLOR=$000077FF 怪物名字> ┆ <COLOR=$000077FF 给予金额> ┆ <COLOR=$000077FF 剩余时间> ┆ <COLOR=$000077FF 剩余名额>┆<COLOR=$000077FF 总计名额>┆\
╠┈┈-╬┈┈┈┈┈┈┈┈┈┈┈╬┈┈┈┈┈╬┈┈┈┈┈┈╬-┈┈┈┈╬┈┈┈┈╣\
┆<COLOR=$008CEFF7 No.1> ┆  <$254 起源·变异血魔>  ┆ <$253 5W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$STR(S40)> ┆ 10 ┆\
┆<COLOR=$008CEFF7 No.2> ┆  <$254 蛮荒·残暴金刚>  ┆ <$253 5W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$STR(S41)> ┆ 10 ┆\
┆<COLOR=$008CEFF7 No.3> ┆  <$254 决逐·不死黄泉>  ┆ <$253 10W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字3)> ┆ 5 ┆\
┆<COLOR=$008CEFF7 No.4> ┆  <$254 弑神·暗黑精灵>  ┆ <$253 10W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字4)> ┆ 5 ┆\
┆<COLOR=$008CEFF7 No.5> ┆  <$254 寒冰·雪域魔王>  ┆ <$253 20W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字5)> ┆ 3 ┆\
┆<COLOR=$008CEFF7 No.6> ┆  <$254 上古·千年老魔>  ┆ <$253 20W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字6)> ┆ 3 ┆\
┆<COLOR=$008CEFF7 No.7> ┆  <$254 邪恶·混沌火龙>  ┆ <$253 20W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字7)> ┆ 3 ┆\
┆<COLOR=$008CEFF7 No.8> ┆  <$254 荣耀·索命树妖>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字8)> ┆ 2 ┆\
┆<COLOR=$008CEFF7 No.9> ┆  <$254 乱世·嗜血天珠>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字9)> ┆ 2 ┆\
┆<COLOR=$008CEFF7 No.10>┆  <$254 天下·浮屠亡灵>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字10)> ┆ 2 ┆\
┆<COLOR=$008CEFF7 No.11>┆  <$254 雷霆·无极蛮王>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字11)> ┆ 2 ┆\
┆<COLOR=$008CEFF7 No.12>┆  <$254 龍吟·风卷残云>  ┆ <$253 50W元宝> ┆ <COLOR=clYellow 打完为止> ┆  <$GLOBAL(首杀名字12)> ┆ 2 ┆\
╠┈┈-╩┈┈┈┈┈╦┈┈┈┈┈╩┈┈┈┈┈╩┈┈┈┈┈┈╩╦-┈┈┈╩┈┈┈--╣\
┆ 『<下一页面/@next>』 ┆ <COLOR=clLime 首杀给予物品自动发放到帐号> ┆ 『<下一页面/@next>』 ┆\
╚┈┈┈┈┈┈┈┈-╩-┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈-╩-┈┈┈┈┈┈┈┈╝\
 <COLOR=$00FFAADD 温馨提示:以上大部分首杀给予不限制时间.打完为止.无论元宝还是金币都是真金白银>\
[顶部]