a4505446 发表于 2023-5-7 13:53:11

任务系统命令及称号等命令提交

任务命令!
刷新任务页面

RefreshMissPage 页面名
;刷新任务页面时需使用close关闭当前NPC界面

--------------------------------------------------------------
打开任务窗口命令:
OpenMissionDlg

命令支持坐标调整打开的窗口位置如下:
OpenMissionDlg X坐标 Y坐标
-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------

称号为下
称号相关触发:QFunction
---------------玩家称号从激活变为非激活(设置为当前称号)---------------

[@ActiveTitle_XX]
--------------- 英雄称号从激活变为非激活(设置为当前称号) --------------

[@HeroActiveTitle_XX]
------------------------玩家称号从非激活变为激活(取消当前称号或更换别的称号为当前)-------------------------

[@UnactiveTitle_XX]
------------------------英雄称号从非激活变为激活(取消当前称号或更换别的称号为当前)------------------------

[@HeroUnactiveTitle_XX]
注: XX是数据库中的Shape
================================================================================================检测称号是否激活:

人物:
CheckActiveFengHao 称号名称

英雄:
H.CheckActiveFengHao 称号名称

================================================================================================

人物头顶是否显示称号
修改数据库 Reserved 字段 显示方式(0:显示DB中的名字+图标,1:只显示图标不显示名字,2:不显示)
================================================================================================
使用脚本命令增加人物称号(英雄则在命令前增加H.)
NPC命令:
功能:给予玩家称号
格式:GiveFengHao 称号名(称号名后面空白为不激活,加1为激活)
(注:当有同样的称号时,则不能再增加此称号)
#IF
#act
GIVEFENGHAO 巅峰战神 ;(注:巅峰战神是数据库增加好的称号)
SENDMSG 6 您已获得巅峰战神的称号
#IF
#act
GIVEFENGHAO 巅峰战神 1
;(注:增加1为激活当前使用的称号)
SENDMSG 6 您已获得巅峰战神的称号
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
功能:回收玩家称号
格式:RECYCFENGHAO 称号名 (ALL 删除所有称号)
#act
RECYCFENGHAO 巅峰战神
(注:巅峰战神是数据库增加好的称号)
SENDMSG 6 您的称号已消失
#act
RECYCFENGHAO ALL
(注:删除所有称号)
SENDMSG 6 您的所有称号称号已消失
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
功能:检查玩家是否有指定称号
格式:CHECKFENGHAO 称号名(也就是在物品数据库增加的那个称号物品名称)
#IF
CHECKFENGHAO 巅峰战神
;(注:巅峰战神是数据库增加好的称号)
#act
SENDMSG 6 您已经有巅峰战神的称号了
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
功能:检查玩家所有称号的数量
格式:CHECKFENGHAOCOUNT 操作符(<,>,=) 数量(0-255)
#IF
CHECKFENGHAOCOUNT < 8
#act
SENDMSG 6 您已经有了所有称号
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
套装触发,称号物品支持套装属性;
  注意:不管称号物品是否属于套装,封号属性(或套装属性)在以下情况下生效:
  Anicount = 0时,必须将称号设置为当前(激活)后生效
  Anicount = 1时,给予角色称号即生效
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
服务器设置:
  必须在服务器上指定称号素材读取的文件,客户端才能通过称号物品的Looks指定的位置显示称号图标,指定称号素材读取文件:
称号素材读取文件位于:引擎-选项-客户端控制-其他控制


;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
客户端相关
  封号备注信息 resources\fenghao.dat (限连击界面显示,非连击界面只可以物品备注);支持多种颜色,3位数字的颜色/内容 ,换行用\
  战神=255/服务器249/第一255/战士
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1192;沙巴克城主;70;1;1;0;0;0;690;5000;0;0;0;0;0;2;0;1;0;1;101;3;500;50;255;1;0;0;;0;0;0;0
1193;道尊;71;2;1;0;0;0;695;5000;1;2;3;4;0;2;0;1;0;1;101;10;500;50;255;1;0;0;;0;0;0;0
1194;兵贵神速;70;3;1;0;0;0;700;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1195;法圣;70;4;1;0;0;0;705;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1196;战神;70;5;1;0;0;0;710;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1197;不动如山;70;6;1;0;0;0;715;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1198;主宰者知己;70;0;1;0;0;0;720;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1199;国色天香;70;0;1;0;0;0;725;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1200;巅峰战神;70;5;1;0;0;0;730;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1201;倾国倾城;70;6;1;0;0;0;735;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1202;称号9;70;0;1;0;0;0;1240;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1203;称号10;70;0;1;0;0;0;1245;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1204;称号11;70;0;1;0;0;0;1250;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1205;称号12;70;0;1;0;0;0;1255;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1206;称号13;70;0;1;0;0;0;1260;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1207;玛法之星;70;0;1;0;0;1;1265;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1208;称号15;70;0;1;0;0;0;1270;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1209;传奇之星;70;0;1;0;0;1;1275;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1210;威武之师;70;0;1;0;0;1;3010;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0
1211;雄霸天下;70;0;1;0;0;1;3015;5000;0;0;0;0;0;2;0;1;0;1;0;3;500;50;255;1;0;0;;0;0;0;0



官方称号素材位于UI1.WZL ,请在列表信息二的WIL资源中添加UI1.WZL,然后请在M2-客户端控制-其他控制里面设置文件名为:UI1.WZL,内挂瘾藏称号是控制角色头顶显示的!






自定义OK框
自定义OK框
*******注意:如果您的QF内也使用了自定义OK框,那么NPC和QF内的OK框编号不要出现相同编号***************



<ITEMBOX:N:F:M:X:Y:W:H:S:T>\
N=编号(0~31)
F=OK框的背景的WIL序号,-1时不绘制背景
M=OK框的背景的图片序号
X Y = 微调坐标
W=宽度
H=高度
S=允许放入的物品类型。DB库的StdMode值,如果有多个使用“,”隔开,如果为“*”时,允许所有物品
T=未放入装备时,鼠标移动显示信息
<$BOXITEM.NAME> 当前自定义OK框中的物品名称
<$BOXITEM.NAME_G> 当前自定义OK框中的物品改名名称
<$BOXITEM.DURA> 当前自定义OK框中的物品持久
<$BOXITEM.DURAMAX> 当前自定义OK框中的物品最大持久
<$BOXITEM.MAKEINDEX> 当前自定义OK框中的物品序列号
<$BOXITEM.STDMODE> 当前自定义OK框中的物品StdMode字段值
<$BOXITEM.SHAPE> 当前自定义OK框中的物品Shape字段值
<$BOXITEM.LOOKS> 当前自定义OK框中的物品Looks字段值
<$BOXITEM.COLOR> 当前自定义OK框中的物品Color字段值
<$BOXITEM.UPGRADECOUNT> 当前自定义OK框中的物品星星数
<$BOXITEM.HP> 当前自定义OK框中的物品HP字段值
<$BOXITEM.MP> 当前自定义OK框中的物品MP字段值
<$BOXITEM.LAC> 当前自定义OK框中的物品的防御下限
<$BOXITEM.HAC> 当前自定义OK框中的物品的防御上限
<$BOXITEM.LMAC> 当前自定义OK框中的物品的魔防下限
<$BOXITEM.HMAC> 当前自定义OK框中的物品的魔防上限
<$BOXITEM.LDC> 当前自定义OK框中的物品的攻击下限
<$BOXITEM.HDC> 当前自定义OK框中的物品的攻击上限
<$BOXITEM.LMC> 当前自定义OK框中的物品的魔法下限
<$BOXITEM.HMC> 当前自定义OK框中的物品的魔法上限
<$BOXITEM.LSC> 当前自定义OK框中的物品的道术下限
<$BOXITEM.HSC> 当前自定义OK框中的物品的道术上限
.............. <$BOXITEM.Expand20> 支持数据库所有字段.............

X范围=0~31

[@main]
请放入需要升级的装备\
<ITEMBOX:0:2:117:20:10:76:76:10,11:254#只允许放入衣服^251#www.geem2.com>\ \ \
<ITEMBOX:1:2:117:96:10:76:76:*:254#所有物品都允许放入^251#www.geem2.com>\

UNALLOWITEMINTOBOX
禁止放入命令,在OK框里放入物品时触发使用
ReturnBoxItem (0~31)
OK框物品返回到包裹
CheckBoxItemCount OK框编号(0~31) 物品数量(该参数只有是叠加物品时才会有效)
检测OK框中是否有物品
DelBoxItem(0~31) 数量(数量只对叠加物品有效)
删除操作框物品
自定义OK框放入物品后在当前NPC脚本中触发,X值为0~31
[@ItemIntoBoxX]
#ACT
;禁止放入命令,可以检测是否可以升级的物品,可以使用此命令禁止放入
UNALLOWITEMINTOBOX
例:
[@main]
请放入需要升级的装备\
<ITEMBOX:0:2:117:20:10:76:76>\ \ \ \ \ \
<开始升级/@开始升级>\
[@开始升级]
#IF
;检测名称不等于空时OK框中有物品,也可以检测其他参数
NOT Equal <$BOXITEM.NAME>
#ACT
;关联到OK框物品 才可以使用脚本命令修改自定义OK框中的物品
SetUpgradeItem 0
;修改该OK框物品的名称颜色 boxitem0表示是OK框
CHANGEITEMNAMECOLOR boxitem0 253
;修改OK框物品星星数量 boxitem0表示是OK框
CHANGEITEMUPGRADECOUNT boxitem0 + 1
;修改OK框装备名称 boxitem0表示是自定义OK框第一个位置
ChangeItemName boxitem0 <$BOXITEM.NAME>+1
;修改OK框装备暴击+1 boxitem0表示是OK框第一个框
SetNewItemValue boxitem0 0 + 1
;刷新到客户端 (注意:刷新必须写对位置)
UpdateItem boxitem0
;物品返回到包裹
ReturnBoxItem 0
SENDMSG 6 装备升级成功
#ELSEACT
SENDMSG 6 请放入需要升级的装备


;自定义OK框新增命令:GiveBoxItem 0~31 数量(数量只对叠加物品有效) 将背包中指定物品放入指定OK框
#IF
checkitem 怒斩 1
#ACT
GiveBoxItem 0 怒斩
SendMsg 5 恭喜:OK框0成功放入怒斩!
============================================================================================
GiveOnItem 装备位置 物品名称 数量默认写1(数量大于1时只对OK框叠加物品有效) 参数4 参数5 参数6 参数7 参数8 参数9

物品位置:
-1升级框
0--29:装备栏和时装栏
30-35:首饰盒
40-51:神佑袋
boxitem0-boxitem7:OK框

参数4-参数9 参考 GIVE的扩展

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

检测包裹中物品的数量(排除已经放入自定义OK框的物品)
CHECKBAGITEMCOUNTEX 物品名称 数量

增加触发:
将OK框的物品放回到包裹后,触发[@ItemOutBoxX],X值为0~31




*******注意:如果您的QF内也使用了自定义OK框,那么NPC和QF内的OK框编号不要出现相同编号***************







字符串分隔命令:
字符串分隔命令:

;======================================================
;下列为读取一套装备数据配合GetRandomText使用

#IF
gender man
checkjob warrior
#ACT
GetRandomText ..\QuestDiary\装备列表.txt S0 0
EXTRACTSTRING : <$STR(S0)> s1 s2 s3 s4 s5 s6 s7 s8
GIVE <$STR(S1)> 1
GIVE <$STR(S2)> 1
GIVE <$STR(S3)> 1
GIVE <$STR(S4)> 1
GIVE <$STR(S5)> 1
GIVE <$STR(S6)> 1
GIVE <$STR(S7)> 1
GIVE <$STR(S8)> 1
TakeOn <$STR(S1)> 0
TakeOn <$STR(S2)> 1
TakeOn <$STR(S3)> 3
TakeOn <$STR(S4)> 4
TakeOn <$STR(S5)> 5
TakeOn <$STR(S6)> 6
TakeOn <$STR(S7)> 7
TakeOn <$STR(S8)> 8
BREAK
;======================================================
;装备列表.txt 内容

;战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
;战神盔甲(女):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
;魔法长袍(男):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺
;魔法长袍(女):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺
;灵魂战衣(男):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指
;灵魂战衣(女):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指

;======================================================
;写变量可配合inc实现写入数据
#act
inc S0 <$DRESS>
inc S0 :
inc S0 <$WEAPON>
inc S0 :
inc S0 <$HELMET>
;.........后面的自己写
;======================================================


注:是字符串为空的时候才出现报错 引擎报错要延时两秒 应该是卡了一下,处理方式:就是字串空的时候 m2会报错 功能正常 字串空时中止执行就OK了


























页: [1]
查看完整版本: 任务系统命令及称号等命令提交