传奇脚本开发之初识命令随便找个npc的功能代码就会用到以下下传奇脚本代码以及变量逻辑判断语句,传奇制作架设脚本制作变量新手教程,传奇修改脚本或者写脚本要看的语法
下面是常见的传奇修改方法中用到的语法跟脚本很简单明了的给大家统计出来。
如果你还在想学习修改传奇脚本或者写传奇NPC你看懂这个基本上就可以看懂NPC跟脚本修改方法了。
传奇脚本命令详解
====================********************************========================
[@段] ;段用英文或数字表示
GOTO @段 ;跳转到指定段,开始执行相当于B中的GOTO语句
#SAY 语句 ;语句设定为字符,不用加任何定界符
#ACT 执行命令 ;符合3.0规定的任何系统已定义命令
GIVE 物品 数量 ;给多少东西,除了物器数据库中有的物品,还有金币,
TAKE 物品 数量 ;同上,只是与上面相反,一个是给东西,一个是收回东西
MAP 地图名 ;移动到这个地图的随机坐标,地图名为地图的数字人码
MAPMOVE 地图名 坐标A 坐标B ;同上,只是指定了坐标
MONCLEAR 地图名 ;清除这个地图上刷的怪物
MONGEN 怪物名称 数量 时间 ;刷怪物,与刷怪角本用法相同
TIMERECALL 数值 ;数值为分钟,定义进入某地的时间限制。
BREAKTIMERECALL ;中断上面那个语句设定的时间
HAIRSTYLE 数值 ;改变头发类型
HAIRCOLOR 红值 绿值 蓝值 ;值域为0 ~ 255 设定头发颜色
CLOSE ; 关闭对话框
======================****************************========================
---------------------- 程 序 中 的 变 量 与 常 量 ------------------------
======================****************************========================
变量 ;变量用字母表示,在程序中可以赋任何数据 名称只限于P0-P9,D0-D9
MOV 变量 数值 ;给变量赋值
INC 变量 数值 ;让变量自动加指定数值到变量,相当于程序中的X=X+N
SUM 变量A 变量B ;变量求和不要与INT混淆,需要下面的组合语名才能实现
MOV 变量X 0 ;变量X,初值。
SUM 变量A 变量B ;X=A+B
SUM 变量C ;X=X+C 最后在程序中得到的是X值,实际X=A+B+C
;如果只写中间一句是无意义的,只能导致错误
MOVR 变量 数值 ;定义随机变量,变量值为 “0 到 数值”
RANDOM 数值 ;当数值=随机数时则为1否则为0
<$STR(变量)> ;显示变量时用,可以将变量值显示在游戏里,用在 #SAY后面。
=========================*******************************========================
------------------------- 程 序 中 的 逻 辑 判 断 语 句 ------------------------
=========================*******************************========================
[N] ;N为1-1024正整数,是逻辑变量,有0值和1值,初始0值
#IF
条件--执行
#ELSESAY 或者 #ELSEACT
否定--执行 ;相当于程序中的条件判断
SET [N] 1 ;设置逻辑变量为真
--------------------关于RESET命令的详解------------------------------------
RESET [XXX] 7 意思是将从XXX开始的7个变量回复到原始值0
比如:RESET [100] 7 就是把100 101 102 103 104 105 106 107这7个变量赋值为0。
它等同与:SET [100] 0
SET [101] 0
SET [102] 0
SET [103] 0
SET [104] 0
SET [105] 0
SET [106] 0
--------------------------------------------------------
CHECK [N] 1 ;测试逻辑变量是否为真,可以测试是否已经完成了任务
SMALL 变量 数值 ;如果“变量 < 数值”则为1否则为0
LARGE 变量 数值 ;如果“变量 > 数值”则为1否则为0
EQUAL 变量 数值 ;如果“变量 = 数据”则为1否则为0
CHECKJOB WARR(WIZARD、TAOS) ;测试职业 成功为1否则为0
CHECKGOLD 数值 ;拥有金币数>=数值为1否则为0
CHECKLEVEL 数值 ;人物等级>=数值为1否则为0
CHECKITEM 物品 数值 ;测试拥用物品的数量
GENDERMAN ;测试性别为男,如果为男则为1否则为0
CHECKBAGGAGE ;测试背包是否已满,满时为1否则为0
CHECKPKPOINT 数值 ;数值为PK值,PK值数>值时为1否则为0
CHECKLUCKYPOINT 数值 ;同上,只是测的是幸运值
CHECKMONMAP 地图名 数值 ;同上,只是测的是怪物数量
CHECKDURAEVA 物品名 数值 ;同上,只是测试有品质的物品的品质
CHECKHUM 地图名 数值 ;同上,测试这个地图的人数
CHECKITEMW 物品 检测身上所带的物品
TAKEW 物品 直接从身上回收物品
CHECKMAGIC 技能名称 检测已经修炼的技能
脚本大全 [喜欢脚本的来]
传奇商用NPC开头解释(部分,补足请补足)
%100 代表买东西是原价格还是双倍价格
+40 买肉
+1 卖肉
+43 武器有关(修)
+15 头盔
+10 买衣服
+11 修衣服
+26 修手镯类
+0 买各种药水
+42 卖各种药水
+30 蜡烛等.
+25 特殊水
+3 买卷轴,书类
+4 卖书类
+19 项链
+20 项链
+21 项链
+22 买戒指
+23 卖戒指
+24 买手镯
+26 卖手镯
+5 修炼武器或买武器
+6 修炼武器或卖武器
================================
CHECKJOB (WARR, WIZARD, TAOS) ;测试职业
CHECKGOLD (金币数) ;测试金币
CHECKLEVEL (等级) ;测试等级
CHECKITEM (物品名) (数量) ;测试物品及数量
GIVE GOLD (金币数) ;给钱
GIVE (物品名) (数量) ;给物及数量
TAKE GOLD (金币数) ;拿走钱
TAKE (物品名) (数量) ;拿走物及数量
CHECKPKPOINT (PK值) ;测试PK值
CHECKLUCKYPOINT (幸运值) ;幸运值正值为好,负值为差
CHECKDURAEVA (物品名) (数值) ;一般测试矿物等物品的品质
CHECKHUM (地图名) (数值) ;测试这个地图的人数
CHECKMONMAP (地图名) (数值) ;测试这个地图的怪物数
MAP (地图名) ;移动到这个地图
MAPMOVE (地图名) (坐标A) (坐标B) ;移动到这个地图指定坐标
MONCLEAR 地图清除
CLOSE 关闭对话框
TIMERECALL (设定时间值) ;分钟,一般指进入地图时间限制
BREAKTIMERECALL ;中断设定时间
EXCHANGEMAP (地图名) ;与指定地图里的人交换位置
DAYTIME SUNSET ;一天时间
CHECKBAGGAGE ;测试背包满没
SMALL (变量) (数值) ;测试变量是不是小于指定数值
LARGE (变量) (数值) ;测试变量是不是大于指定数值
EQUAL (变量) (数值) ;测试变量是不是等于指定数值
MOV (变量) (数值) ;让变量等于指定数值
SUM (变量A) (变量B) ;A+B 注意,如果还要家第3个数直接换行写SUM (变量C)
注:关于SUM的详解
首先有MOV (变量X) 0 ;(变量X)清0
SUM (变量A) (变量B) ;X=A+B
SUM (变量C) ;X=X+C
MOVR (变量) (数值) ;随机把指定数值以下的数(正数)给变量
INC (变量) (数值) ;让变量自动加指定数值到变量
PLAYDICE (转子数) @XXX ;玩转子,跳转到标签[@XXX]
RANDOM (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列#IF语句数用 于随机多项选择,例如: #IF RANDOM 3 #SAY() #ELSEACT
CHECK [条件数] 1 ;测试[条件数]触发与否 1(触发)
SET [条件数] 1 ;设置[条件数]触发
MONCLEAR 地图 清理这个地图!
PARAM1 地图 地图名
PARAM2 横坐标 坐标
PARAM3 纵坐标 坐标
MONGEN 怪物名称 数量 时间
TIMERECALL 时间 时间限制
二。脚本变量:
<$USERNAME> 当前用户名
<$GUILDWARFEE>行会战金币数
<$LORD>沙巴克行会头名
<$OWNERGUILD>沙巴克行会名
<$UPGRADEWEAPONFEE>升级武器价格
<$USERWEAPON> 放在对话框里的武器名字
<$STR(变量)> 把变量转换为字符型 RANDOM (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列
#IF语句数用 于随机多项选择,例如: #IF RANDOM 3 #SAY() #ELSEACT