【热血传奇】 脚本开发之初识命令

随便找个npc的功能代码
在这里插入图片描述
上图可见,这个功能文件里面包含了三个代码段。

  • [@main] 表示主函数(主代码段),也就是点击npc第一个执行的代码段
  • []传奇脚本是以中括号的形式来定义代码段的。
  • \ 表示换行 有几个换几行
  • <> 用来表示按钮,按钮中的 /@SY 表示点击按钮执行的代码段
  • / 转义符 如果直接 写@SY 那他就是普通的文字 ,而/@SY 表示代码段SY
  • ; 注释符号
  • 脚本自带了一些函数 例如@exit 表示关闭弹窗

[@j] 代码段讲解

#IF 					//if判断开始标识
checkitem 金条 1		//判断玩家是否有1个金条
#ACT					//上面的判断如果成立(true)执行下面的操作
take 金条 1				//拿走玩家身上的金条
TimeRecall 60			//限时60分钟,超时传送到原来位置
mapmove B101			//将玩家移动到B101地图
break 					//执行结束
#ELSESAY 				//如果判断不成立(false)显示下面的内容
你没有钱!\				//弹出窗上显示的文字
<取消/@exit>\			//显示取消按钮
步骤讲解

点击npc时,会自动执行[@main]中的代码
也就是弹出弹窗显示内容和按钮
在这里插入图片描述
当我点击 打听圣域的消息 时,会执行[@SY]代码段
也就是在弹窗显示新的内容。点击关闭 调用@exit 会关闭弹窗
在这里插入图片描述
当我点击 的时候会执行[@j] 代码段,进行一系列的操作,根据是否有金币,觉得是执行#ACT还是#ELSESAY
当然了,我没有钱,执行了#ELSESAY
在这里插入图片描述

常用代码

指令含义
#IFif判断
#ACT执行代码
#ELSEACT执行代码
break结束命令,不再向下执行了
#SAY在弹窗上显示内容
#ELSESAY在弹窗上显示内容
close关闭对话框
#call调用子程序命令。例#CALL [\商人\杂货铺.txt] @杂货铺 表示: D:\MirServer\Mir200\Envir\QuestDiary\商人
goto @段跳转到指定段,开始执行相当于B中的语句

#call详解:#CALL [\商人\杂货铺.txt] @杂货铺
表示:调用 D:\MirServer\Mir200\Envir\QuestDiary\商人\杂货铺.txt 文件中的 @杂货铺 代码段

在这里插入图片描述


条件命令(用于#IF后面的校验)

指令含义示例
CHECKITEM 物品名 数量检测当前人物所带物品及数量
CHECKGOLD 数量检测当前人物所带金币数量
CHECKLEVELEX (>,<,=) 等级数检测当前人物等级
CHECKCREDITPOINT (>,<,=) 声望数检测当前人物声望
CHECKJOB (Warrior,Wizard,Taoist)检测当前人物所属职业
CHECKHUM 地图名 数量检测指定地图的玩家数量
CHECKITEMW 物品名 数量检测当前人物是否佩带指定物品
CHECKDURAEVA 物品名 数值检测当前人物所带矿物等物品的品质
CHECKBAGGAGE检测当前人物的背包是否已满
ONLINELONGMIN (>,<,=) 时长检测当前人物在线时长
CHECKCASTLEDOOR (损坏,开启,关闭)检测沙城城门状态
CASTLEWARAY (>,<,=) 天数检测上次攻城到现在的天数
CASTLECHANGEDAY (>,<,=) 天数检测沙巴克占领天数
CHECKOFGUILD 行会名称检测当前人物行会名称
CHECKNAMELIST 角色名列表.txt检测当前人物角色名是否在列表中
CHECKGUILDLIST 行会列表.txt检测当前人物行会是否在列表中
CHECKACCOUNTLIST 帐号列表.txt检测当前人物帐号是否在列表中
CHECKIPLIST IP列表.txt检测当前人物IP是否在列表中
CHECKACCOUNTIPLIST 帐号和IP列表.txt检测当前人物登录帐号与IP是否与列表中匹配
CHECKNAMEIPLIST 角色名和IP列表.txt检测当前人物角色名称与IP是否与列表中匹配
ISADMIN检测当前人物是否为管理员
HAVEGUILD检测当前人物是否加入行会
ISCASTLEGUILD检测当前人物是否为沙城成员
ISCASTLEMASTER检测当前人物是否为沙城老大
ISGUILDMASTER检测当前人物是否为行会老大
ISNEWHUMAN检测当前人物是否为新人
CHECKSLAVECOUNT (>,<,=) 数量检测当前人物所带宠物的数量
CHECKSLAVELEVEL (>,<,=) 等级数(7)检测当前人物所带宠物的等级
CHECKEXP (>,<,=) 经验值检测当前人物经验值
CHECKPOSELEVEL (>,<,=) 等级数检测当前人物对面人物的等级
CHECKPOSEGENDER 性别(男,女)检测当前人物对面人物的性别
CHECKMEMBERLEVEL 类型 (>,<,=) 等级数检测当前人物的会员等级
CHECKMEMBERTYPE (=,>,<) 类型数检测当前人物的会员类型
CHECKRENEWLEVEL (=,>,<) 转生次数检测当前人物的转生次数
CheckBagSize 数量检测当前人物背包空格数
CHECKDC (=,>,<) 攻击下限 (=,>,<) 攻击上限检测当前人物攻击力的上限及下限值
CHECKMC (=,>,<) 魔法下限 (=,>,<) 魔法上限检测当前人物魔法力的上限及下限值
CHECKSC (=,>,<) 道术下限 (=,>,<) 道术上限检测当前人物道术力的上限及下限值
CHECKHP (=,>,<) HP下限 (=,>,<) HP上限检测当前人物HP值的上限及下限值
CHECKMP (=,>,<) MP下限 (=,>,<) MP上限检测当前人物MP值的上限及下限值
CHECKUSEITEM 物品位置检测当前人物身上指定位置是否戴物品
CHECKITEMTYPE 物品位置 物品类型检测当前人物身上指定位置戴的物品是否为指定类型
CHECKGAMEPOINT 活力值检测当前人物活力值
ISLOCKPASSWORD检测当前人物的仓库是否解锁
PASSWORDERRORCOUNT (=,>,<) 次数检测当前人物输入仓库密码错误次数
CheckRangeMonCount 地图号 X Y 范围 (=,>,<) 数量检测一个坐标范围内怪物数量
CheckMonMap 地图号 数量检测一个指定地图内的怪物数量
CHECKMON 数量检测当前人物所在地图内的怪物数量
CHECKSKILL 技能名称 (=,>,<) 修炼等级检测当前人物已学技能

功能命令(一般用于 #ACT,#ELSEACT 后面)

指令含义示例
MAP 地图名将当前人物移动到指定地图
give 物品名 数量给物及数量
take 物品名 数量拿走物及数量
MOVEMAP 地图名 X Y将当前人物移动到指定地图的指定坐标
TIMERECALL 时间值指定当前人物到达多少时间后被传回这里
BREAKTIMERECALL中断指定人物达多少时间后被传回这里
RECALLMOB 怪物名称 宝宝等级(最高为 7) 叛变时间(分钟) 是否自动变色(0、1)固定颜色(1-7)给予当前人物指定怪物为宝宝
setautogetexp 命令 时间 经验 是否安全区(0为任何地方) 地图号(任何地图请不用填)指定当前人物在线泡经验(直接得到经验)
GAMEGOLD (=,+,-) 数量调整当前人物的元宝数量
SETRANKLEVELNAME 封号调整当前人物的封号
ADDGUILDLIST 行会列表.txt将当前人物行会名加入列表
DELGUILDLIST 行会列表.txt将当前人物行会名从列表删除
ADLNAMELIST 角色名列表.txt将当前人物角色名加入列表
DELNAMELIST 角色名列表.txt将当前人物角色名从列表删除
CLEARNAMELIST 列表.txt清除列表内的所有信息
HAIRSTYLE 数值调整当前人物的发型
CHANGENAMECOLOR 数值调整当前人物的名字颜色
CHANGEJOB 职业名称(Warrior,Wizard,Taoist)调整当前人物的所属职业
CHANGEGENDER 数值调整当前人物的所属性别
ADDSKILL 技能名称 技能等级给予当前人物添加指定技能
DELSKILL 技能名称删除当前人物的指定技能
SKILLLEVEL 技能名称 (=,+,-) 技能等级调整当前人物的指定技能为指定等级
DELNOJOBSKILL删除当前人物非本职业的所有技能
CLEARSKILL删除当前人物的所有技能
GAMEPOINT (=,+,-) 数量调整当前人物的活力值
CREDITPOINT (=,+,-) 数量调整当前人物的声望点数
SETMEMBERLEVEL (=,+,-) 等级数调整当前人物的会员等级
SETMEMBERTYPE (=,+,-) 等级数调整当前人物的会员类型
CHANGELEVEL (=,+,-) 等级数调整当前人物的等级
CHANGEPKPOINT (=,+,-) 点数调整当前人物的PK点数
CHANGEEXP (=,+,-) 经验值调整当前人物的经验值
CHANGEMODE 模式类型(1管理模式、2无敌模式、3隐身模式) 开关(1为开,0为关)调整当前人物的游戏模式
CHANGEPERMISSION 权限等级调整当前人物的权限等级
KILLMONEXPRATE 倍率 有效时间调整当前人物的杀怪经验倍率
POWERRATE 倍率 有效时间调整当前人物的攻击力倍率
KICK将当前人物踢下线
KILL 数值将当前人物杀死,并设置杀死类型
KILLSLAVE将当前人物的宝宝全部杀死
CLEARPASSWORD清除当前人物的仓库密码
RestRenewLevel将人物的转生次数复位为零,即未转生
DELMARRY清除当前人物的结婚信息
DELMASTER清除当前人物的拜师信息
RENEWLEVEL 转次数 转后等级 0将当前人物转生,并设置转生次数以及转生后人物等级跳到多少级
SENDMSG 信息类型代码 %s信息内容%d发送文字信息
CLEARMAPMON 地图号清除指定地图的所有怪物
RESTBONUSPOINT清除当前人物的属性点
PARAM1 地图NPC指定刷怪地图
PARAM2 横坐标NPC刷怪X坐标
PARAM3 纵坐标NPC刷怪Y坐标
MONGEN 怪物名称 数量 时间NPC刷怪命令+怪物+数量+时间
OpenBigDialogBox打开大的弹出层
GuildNoticeMsg发送自定义颜色的文字信息
MESSAGEBOX弹出带有确定按钮的提示文字对话框
GetRandomText从文件中随机获取一行字符串GetRandomText 文件路径 变量(S0–S99) 指定行(0-10000)
SetNewItemValue给装备附加新属性SetNewItemValue 位置(0-12) 属性(0-5) 操作符(+,-,=) 值(1-100)
AutoTakeOnItem自动穿装备装备名称 位置(0-16)
AutoTakeOffItem自动脱装备装备名称 位置(0-16)

内置变量

指令含义
<$USERNAME>人物名称
<$GUILDNAME>行会名称
<$RANKNAME>行会职位名称
<$LEVEL>等级
<$HP>生命值
<$AC>防御力
<$MAXAC>最高防御力
<$MAC>魔法防御力
<$MAXMAC>最高魔法防御力
<$DC>物理攻击力
<$MAXDC>最高物理攻击力
<$MC>魔法力
<$MAXMC>最高魔法力
<$SC>道术
<$MAXSC>最高道术
<$EXP>当前经验值
<$MAXEXP>升级经验值
<$PKPOINT>PK点数
<$CREDITPOINT>声望点数
<$GOLDCOUNT>金币数量
<$GAMEGOLD>游戏币数
<$GAMEPOINT>游戏点数
<$HW>腕力
<$MAXHW>最高腕力
<$BW>背包重量
<$MAXBW>最高背包重量
<$WW>负重力
<$MAXWW>最高负重
<$HUNGER>饥饿程度
<$LOGINTIME>登录时间
<$LOGINLONG>登录时长
<$DRESS>衣服
<$WEAPON>武器
<$RIGHTHAND>蜡烛
<$HELMET>头盔
<$NECKLACE>项链
<$RING_R>右戒指
<$RING_L>右戒指
<$ARMRING_R>右手镯
<$ARMRING_L>左手镯
<$BUJUK>护身符
<$BELT>腰带
<$BOOTS>鞋子
<$CHARM>宝石
<$CASTLENAME>沙城名称

服务器活动变量

指令含义
<$SERVERNAME>服务器名字
<$SERVERIP>服务器IP地址
<$WEBSITE>游戏网址
<$BBSSITE>论坛网址
<$CLIENTDOWNLOAD>客户端程序下载地址
<$QQ>联系QQ号
<$PHONE>联系电话号码
<$BANKACCOUNT0>银行帐号信息
<$BANKACCOUNT1>银行帐号信息
<$BANKACCOUNT2>银行帐号信息
<$BANKACCOUNT3>银行帐号信息
<$BANKACCOUNT4>银行帐号信息
<$BANKACCOUNT5>银行帐号信息
<$BANKACCOUNT6>银行帐号信息
<$BANKACCOUNT7>银行帐号信息
<$BANKACCOUNT8>银行帐号信息
<$BANKACCOUNT9>银行帐号信息
<$GAMEGOLDNAME>游戏币名称
<$USERCOUNT>在线人数
<$DATETIME>当前日期时间
<$GAMEGOLDNAME>游戏币名称
<$HIGHLEVELINFO>最高等人物信息
<$HIGHPKINFO>最高PK点数人物信息
<$HIGHDCINFO>最高攻击力人物信息
<$HIGHMCINFO>最高魔法力人物信息
<$HIGHSCINFO>最高道术人物信息

变量命名规则

P0-P9 私人变量(数字型) 不可保存 命令: MOV INC DEC MUL equal small large
G0-G499 全局变量(数字型) 可保存 命令: MOV INC DEC MUL equal small large
M0-M99 私人变量(数字型) 不可保存 命令: MOV INC DEC MUL equal small large
I0-I99 全局变量(数字型) 不可保存 命令: MOV INC DEC MUL equal small large
D0-D9 私人变量(数字型) 不可保存 命令: MOV INC DEC MUL equal small large
N0-N99 私人变量(数字型) 不可保存 命令: MOV INC DEC MUL equal small large
S0-S99 私人变量(字符型)(自定义输入@@InPutString) 不可保存 命令: MOV INC DEC MUL equal small large
A0-A499 全局变量(字符型)(自定义输入@@InPutInteger) 可保存 命令: MOV INC DEC MUL equal small large


操作变量

指令含义
RANDOM 随机数一般用在#IF语句中作为触发#IF机率
EQUAL 变量名 数值检测变量是否等于指定数值
LARGE 变量名 数值检测变量是否大于指定数值
SMALL 变量名 数值检测变量是否小于指定数值
MOV 变量名 数值给予变量赋于指定值
INC 变量名 数值给予变量加上指定值
DEC 变量名 数值给予变量减去指定值
SUM 变量名A 变量名B将两个变量相加
MOVR 数值变量赋予小于指定数值的随机非负数
$STR(变量)>把变量转为字符串
SET [变量名] 数值定义变量
RESET [变量名] 连续数字变量清零,reset [100] 7 就是把100 101 102 103 104 105 106这7个变量赋值为0
CHECK [变量数值] 数值检测变量是否等于指定数值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸渔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值