NPC脚本的语句解释
网络 以下对于魔力的NPC解释是本人参照SA及魔力里具体的动作所作的解释
有部分语句无法理解,都写上了"未知"
可能有错漏,但由于没有可实际运行的服务器端,所以无法验证
在有可实际运行的服务器端我会补全的
转帖请注明chiu原创
NPC的Create是在DATA目录下的npc.txt里实现的,由于没有可实际运行的服务器端所以无法具体解释npc.txt
NPC的对话是在DATA目录下的msg.txt里定义的,格式为:对话编号 对话内容
NPC类型:Event
判定语句:
block '判定语句
格式:block 判定条件
(用于出现对话框的条件 达到多个条件用 && 连接 多个条件中达到一个用 || 连接 下同)
Window_YES '对应Window里的按钮YES 判定语句
格式:Window_YES 判定条件
Window_NO '对应Window里的按钮NO 判定语句
格式:Window_NO 判定条件
Window_OK '对应Window里的按钮OK 判定语句
格式:Window_OK 判定条件
判定条件:
ItemSpace '检查道具空间 判定条件 用于判定语句后面
格式:ItemSpace == 数量 (等于)
或ItemSpace >= 数量 (大于等于)
或ItemSpace <= 数量 (小于等于)
或ItemSpace != 数量 (不等于)
Item '检查是否拥有道具 判定条件 用于判定语句后面
格式:Item 道具编号 == 数量 (等于)
或Item 道具编号 >= 数量 (大于等于)
或Item 道具编号 <= 数量 (小于等于)
HaveItem '检查是否拥有特定道具 判定条件 用于判定语句后面
格式:HaveItem == 道具编号
Group '未知 判定条件 用于判定语句后面
格式:Group == 数量 (等于)
或Group >= 数量 (大于等于)
或Group <= 数量 (小于等于)
Gold '检查金钱数量 判定条件 用于判定语句后面
格式:Gold == 数量 (等于)
或Gold >= 数量 (大于等于)
或Gold <= 数量 (小于等于)
BBImage(BImage) '检测玩家图号 判定条件 用于判定语句后面
格式:BBImage(BImage) == 数量 (等于)
或BBImage(BImage) >= 数量 (大于等于)
或BBImage(BImage) <= 数量 (小于等于)
StrCmpChat '未知 判定条件 用于判定语句后面
格式:StrCmpChat == 数量 (等于)
或StrCmpChat >= 数量 (大于等于)
或StrCmpChat <= 数量 (小于等于)
CheckRealTime '时间 判定条件 用于判定语句后面
格式:CheckRealTime YYYY/MM/DD,TT:TT:TT == 0
(此处"0"的作用不清楚)
petlevel '检查特定宠物的等级 判定条件 用于判定语句后面
格式:petlevel 宠物编号 == 等级 (等于)
或petlevel 宠物编号 >= 等级 (大于等于)
或petlevel 宠物编号 <= 等级 (小于等于)
EquipItem '检查正装备着的道具 判定条件 用于判定语句后面(未确定)
格式:EquipItem == 道具编号 (等于)
CheckTitle '检查称号? 用法未知
Job '检查职业相关的 具体未知 判定条件 用于判定语句后面
格式:Job == 未知编号 (等于)
Fame 检查声望 判定条件 用于判定语句后面
格式:Fame == 数量 (等于)
或Fame >= 数量 (大于等于)
或Fame <= 数量 (小于等于)
HaveTitle '检查是否拥有称号 判定条件 用于判定语句后面
格式:HaveTitle == 称号编号 (等于)
TrialFlg '未知 判定条件 用于判定语句后面
格式:TrialFlg == 数量 (等于)
或TrialFlg != 数量 (不等于)
NowTime '未知 时间相关 判定条件 用于判定语句后面
格式:NowTime == 数量 (等于)
或NowTime != 数量 (不等于)
HaveLeak1Item '检查拥有道具相关 具体未知 判定条件 用于判定语句后面
格式:HaveLeak1Item == 道具编号 (等于)
ShipGetStopTime2 '未知 船相关 判定条件 用于判定语句后面
格式:ShipGetStopTime2 < 未知数值
Imagetype '图象相关 未知 判定条件 用于判定语句后面
格式:Imagetype == 未知数值
设定语句:
Window '对话框弹出
格式:Window 对话编号,按钮类型1,按钮类型2
(类型有YES NO OK CANCEL NEXT)
EndWindow '对应 Window 可单独使用
格式:EndWindow 对话编号(,按钮类型)
KillItem '交出道具
格式:KillItem 道具编号,数量
KillItemAll '交出全部的特定道具
格式:KillItemAll 道具编号
GiveItem '给予道具
格式:GiveItem 道具编号,数量
特殊用法:GiveItem (道具编号获得机率,道具编号获得机率,道具编号获得机率)[未确定]
eg:GiveItem (111%60,121%100,101%1)
这里%60 %100 %1是获得的机率,111 121 101是道具编号
GiveLeak1Item '给予道具相关 具体未知
格式:GiveLeak1Item 道具编号,数量
特殊用法:GiveLeak1Item (道具编号获得机率未知,道具编号获得机率未知,道具编号获得机率未知)[未确定]
eg:GiveLeak1Item (18690%1$1,18693%1$1)
这里%1 %1是获得的机率,18690 18693是道具编号,$1 $1未知
Warp '传送至
格式:Warp 0,地图号,X坐标,Y坐标
(这里0的作用暂时不知道)
LeaveGroup '脱离团队
格式 eaveGroup
Encount '发生战斗
格式:未知
AddGold '给予或收取金钱
格式:AddGold 数量
(数量可以为负)
KillPetl '收走宠物
格式:KillPetl 宠物编号,数量
GivePet '给予宠物
格式:GivePet 宠物编号
ChangePal '未知
格式:ChangePal 未知数值,未知数值
SetHouse '未知 房子相关
格式:SetHouse 未知数值,未知数值
Message '对话
格式:Message 对话编号
SetLoginPoint '设定登陆点 具体未知
格式:SetLoginPoint 未知数值
Setaction '设定NPC动作
格式:Setaction 动作编号
playse '播放音效
格式:playse 音效编号,1,1
(这里1,1的作用未知)
判定及设定语句:
EndEvent '检查是否完成任务 判定条件 用于判定语句后面 或 作设定语句使用
格式:EndEvent 任务编号 == 0或1
(这里0为无,1为有)
NowEvent '检查是否正在进行任务 判定条件 用于判定语句后面 或 作设定语句使用
格式:NowEvent 任务编号 == 0或1
(这里0为无,1为有)
ShipCharTake '未知 船相关 判定条件 用于判定语句后面 或 作设定语句用
格式:ShipCharTake 未知数值,未知数值 == 未知数量
设定语句用法:ShipCharTake 未知数值,未知数值
ShipCharDown'未知 船相关 判定条件 用于判定语句后面 或 作设定语句用
格式:ShipCharDown 未知数值,未知数值 == 未知数量
设定语句用法:ShipCharDown 未知数值
|
|