传奇脚本语法
1. 传奇脚本属于C语言吗
真是个麻烦的问题。。。
传奇脚本是指服务端能够解释执行的命令,算是一种传奇专门的语言,不是C,C++,JAVA等常规语言,它的执行需要M2的支持,也就是说M2对脚本进行了解释,并执行。
而传奇M2在早期是用VB做的,算是编译执行的程序,现在的M2也有用C++做的,不过很少。
至于汇编,除非你想破解已经完成的M憨花封拘莩饺凤邪脯矛2,否则用不到。无论是VB
C++还是C,都已经是高级语言的范畴了。(也有人定义C介于汇编和高级之前,无所谓)
总的来说,传奇脚本是专门的一种语言,属于脚本类
解释执行语言,不是C。
2. 传奇脚本教程入门
传奇脚本教程入门:
1、第一步:打开传奇挂机脚本编辑器(仅适用于木剑会议),并选择相应的类型的西装你正在发挥。如果是内部/3K/HGE引擎的点击坐标,点击LEG引擎右侧进入。
2、第二步:按照脚本编辑器中给出的说明,一步一步填写需要的函数。
3、第三步:按照说明一步一步填写后,点击生成脚本,脚本生成后点击保存。
4、第四部分:打开木剑会议助手,点击挂机功能,点击脚本路径后面的浏览,上传刚刚保存的脚本,或者直接昌团拖拽脚本到这个界面。
比如:检测职业:checkjob Warrior 意思就是检测职业是不是战士如果不羡孙是就无法下一步,也就是说满足战士职业才可以耐派橘进行下级命令。
检测人物金币数量:CHECKGOLD >3000 意思就是说人物金币大于3000才可以进入或者下一步。
MOVEMAP 3 339 339 意思就是说 移动地图3土城意思 移动到土城坐标为339,339位置。
3. 传奇是用哪类脚本语言编写的
是用普通的脚本,不是什么语言,是传奇引擎自带的语言。。。
4. 传奇脚本关于random的用法以及详细解释
如下:
说明:Random 是一个随机标签,一般用于判定脚本里,#if的下面,当然这个标签也用在新爆率文件里。
格式:Random 数值(数值与爆率文件里的数值机率类同)。
举例:Random 10(这就表示1/10的概率)。
脚本语言是比较多的,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。
较为热门的脚本语言有Lua、JavaScript等,功能都比较强大,但也有明显的缺点,例如Lua实现面向对象比较麻烦, 而JavaScript和C++相互调用非常困难。
脚本的编写都是采用某一种编程语言。如 LoadRunnert 测试工具用的 C 语言;WebLoadt 测试工具用 JavaScript 或者是接近编程语言的方式。
Robot 测试工具用SQABasic, 一种类似于VB的语言;QTPt 测试工具所用到的是VBScript;WinRunnert 测试工具所用到的是类 C 的语言。
这些测试脚本的易读性相对较低,编写相对复杂, 当设备的功能需求发生变化时,测试脚本不易被维护。
常见的脚本语言有:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,Python,Ruby,JavaFX,Lua,AutoIt等。
5. 传奇狂暴之力的lua脚本怎么写
了传奇挂机脚本中常用的LUA语法的动作篇,用户反应热烈,今天我们脱机挂官网就推出第二篇,信息篇。该篇中主要介绍了就是常见的如何获取一些游戏参数,比如:NPC对话框内容、人物信息、人物包裹信息、已经判断对应的包裹物品属性等常用的内容,需要注意的是每个传奇辅助所支持的获取信息的脚本命令格式、或者所能获取到的信息内容,不一定都是通用的,因此本教程仅是起到抛砖引玉的作用,希望能给大家熟悉掌握传奇挂机脚本带来一些帮助。
6. 传奇脚本如何查看指定玩家的指定变量
■此处仅代表个人意见:脚本的功能大体是一种简易汇编语法具体操作的累积。而活用这些变量是脚本精
华所在,脚本基础命令是一些简单针对这些变量的操作,优秀的脚本系统是通过这些变量和命令编写出来的功
能。而后来所添加的脚本命令大部分是独立的功能,如果这样下去功能固然无限的增多,但是M2却也在无限的
增大。所以建议FTSM多开发和完善M2,n那是脚本发展之福。
以下为脚本命令的解释【检测后缀命令】
此属性命令为#IF后#ACT前,作为检测是否为真的命令。
〖CHECK [001-?] 1/0〗 查看人物指定的变量是否为1/0。如果为真则通过至#act
〖RANDOM (1-?)〗 随机一个数字,根据后边的数字判定当前通过至#act的几率。
★注意这里有一些用法错误。★
错误一:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 3
#act
goto 2
break
#if
RANDOM 3
#act
goto 3
break
很多人认为random的具体运行是首先在3以下随机取一个值,然后该脚本内的random 3都不再取值了。那样理解
的时候goto 1、2、3的几率是相等的,都是1/3。这是一个理解上的错误,实际这里运行的操作是这样的,到达
1的几率为1/3,到达2的几率为先2/3然后1/3就是2/9。而到达3的几率则为2/3然后2/3然后1/3实际几率为4/27
!同样错误的还有如下写法
#if
RANDOM 3
#act
goto 1
#elseact
#if
RANDOM 3
#act
goto 2
#elseact
#if
RANDOM 3
#act
goto 3
#elseact
close
错误二:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 2
#act
goto 2
break
#if
RANDOM 1
#act
goto 3
break
有人认为在第一个random的时候会给一个隐藏的值在3以下做一个赋值。然后以后的random就是检测是否自己的
random值和这个隐藏值相同,如果相同则#act。这个也是一种错误理解,虽然同是对random理解错误造成的,
但是该错误与错误一理解上是不同的。但是这种随机的设计方式是提倡的,利用P变量的随机取值是可以完成的
。具体随机的用法请查看【天笑脚本教程示例:随机处理系统】
〖EQUAL〗(变量)(数值)测试指定变量的值是否等于该命令指定值,可惜的是此处无法用PDG等变量,只能用数字常量!强烈建议Jacky添加该功能。
〖LARGE〗(变量)(数值)测试指定变量的值是否大于该命令指定值,同样非常可惜该数值只能为常量。
〖SMALL〗(变量)(数值)测试指定变量的值是否小于该命令指定值,同样非常可惜该数值只能为常量。
〖GENDER 〗(man/woman)检测是否为男/女
〖hour/min〗(时间1)(时间1)检测当前时间(小时/分钟)是否为时间1与时间2之间。
〖CHECKLEVEL〗(数值)测试等级数量是否大于该命令指定值,同样非常可惜该数值只能为常量。
〖CHECKJOB〗(职业)测试对话职业是否为指定职业,其后缀的根据M2不同而不同基础M2为:Warr, Wizard, Taos。
〖CHECKITEM〗(物品名称)(数量)查看人物背包中是否指定物品名称的数量是否大于该命令指定值,该数量不写默认为1既检测有没有该物品。同样非常可惜该数值只能为常量。
〖CHECKITEMW〗(物品名称)(数量)查看人物所佩带装备中是否指定物品名称的数量是否大于该命令指定值,该数量不写默认为1既检测有没有该物品。同样非常可惜该数值只能为常量。
〖CHECKGOLD〗(数值)测试金币数量是否大于该命令指定值,同样该数值只能为常量。
〖ISTAKEITEM〗(物品名称)检测刚刚取下的物品是否指定物品名称。〖CHECKDURAEVA〗(物品名)(数值)查看人物背包中是否指定的物品名称的持久是否大于该命令指定值,该数量不写默认为1既检测有没有该物品。同样非常可惜该数值只能为常量。
〖DAYOFWEEK〗(星期数)查看当天是否为指定的星期数量。
〖CHECKPKPOINT〗(数值)测试PK值是否大于该命令指定值。
〖CHECKLUCKYPOINT〗(数值)测试幸运值是否大于该命令指定值。
〖CHECKMONMAP〗(地图名)(数值)测试指定的地图名中的怪物数量是否大于该命令指定值。同样非常可惜该数值只能为常量。
〖CHECKHUM〗(地图名)(数值)测试指定的地图名中的人物数量是否大于该命令指定值。同样非常可惜该数值只能为常量。
〖CHECKBAGGAGE〗测试背包是否满了
〖CHECKNAMELIST〗[路径](文件名)检测指定路径下文件名的文件内是否有该玩家当前人物名称。
〖CHECKIPLIST〗[路径](文件名)检测指定路径下文件名的文件内是否有该玩家当前IP地址。
#〖CHECKMARRYED〗检测当前对话人物是否结过婚。
#〖CHECKGUILDMASTER〗检测当前对话人物是否属于行会掌门。
#〖CHECKOFGUILD〗(行会名)检测当前对话人物是否属于指定行会。
#〖CHECKGUILDOFSBK〗检测当前对话人物所属于行会是否为沙。
#〖CHECKATTACKSBKGM〗检测当前对话人物所属于行会是否为当前攻沙行会。
#〖CHECKACCOUNTLIST〗[路径](文件名)检测指定路径下文件名的文件内是否有该玩家当前帐号。
#〖CHECKPAYMENT〗检测当前对话人物是否充值。
#〖CHECKBBCOUNT〗(数值)检查人物所带宝宝数量。
#〖CHECKCREDITPOINT〗(数值)检查当前人物的声望是否大于命令指定数值。
#〖EXECHECK NAMEIPLIST〗[路径](文件名)检测指定路径下文件名的文件内该玩家人物名称后的IP是否与当前登陆IP相同。
#〖EXECHECK DIR〗检查当前人物对面方向站的人物方向是否正确,多用于结婚。
#〖EXECHECK DIR 1〗检查当前人物对面方向站正确方向的人物是否与当前人物性别一致。多用于结婚。
#〖EXECHECK DIR 2〗检查当前人物对面方向站正确方向的人物是否与当前人物性别不同。多用于结婚。
#〖EXECHECK POSTLEVEL〗(数值)检查当前人物对面方向站正确方向的人物的等级是否大于命令指定数值。
#@〖CHECKGUILDLIST〗[路径](文件名)检测指定路径下文件名的文件内该玩家所属行会名称是否存在。
#@〖ISADMIN〗检查当前人物是否为游戏管理员。
#@〖HAVEGUILD〗检查当前人物是否加入了行会。
#@〖ISCASTLEGUILD〗检测当前对话人物是否属于沙。
#@〖ISCASTLEMASTER〗检测当前对话人物是否为沙掌门。
#@〖ISGUILDMASTER〗检测当前对话人物是否为行会的掌门。
#@〖ISNEWHUMAN〗检测当前对话人物是否为刚注册第一次进入游戏。
#@〖CHECKSLAVECOUNT〗[控制符](数值)检查当前人物所带宝宝数量是否[>、=、、=、、=、、=、、=、、=、、=、、=、、=、、=、、=、、=、、=、、=、<]指定的数值。
〖CHECKMONAREA〗未知
〖CHECKOPEN〗未知
〖CHECKUNIT〗未知
7. 传奇私服人物死亡触发脚本
不同版本脚本意思相同但是语法不同
8. 传奇脚本变量
变量是用来完成高级脚本的必备东西,如果想要写一些高级的脚本,比如有关数据保存的,就得使用到变量, 如果只是一些普通的脚本,那么变量基本就属于无用的。
9. 传奇脚本问题
你要问什么?如果你的脚本没省略,倒是有点错误,我认为应该这样写:
;---------------------
[@main]
#if
check [409] 0
CHECKCREDITPOINT = 0
CHECKLEVELEX < 37
#act
set [409] 1 (你的脚本错误在这里,原:#set [409] 1)
break
#say
<王重阳:>\ \
年轻人,看来你是初来乍到.\
没关系,我想我可以给你一份很好的工作\
帮我去收集<二十个蜈蚣的触角>我可以给你一些报酬.\ \
<我现在马上去/@exit>
#if
check [409] 1
CHECKITEM 蜈蚣的触角 20
#ACT
TAKE 蜈蚣的触角 20
give 战士英雄技能包 1
give 法师英雄技能包 1
give 道士英雄技能包 1
GUILDFLOURISHPOINT + 50
#say
<王重阳:>\ \
好吧,年轻人很不错.我想你已经踏上了江湖的路.\
路很漫长,做一个大侠不容易.祝你早日威震江湖.\
造福一方百姓.\ \
<再见/@exit>
#ELSESAY
<王重阳:>\ \
我要的<二十个蜈蚣的触角>在蜈蚣洞穴杀死蜈蚣可以得到\
你还没有给我找来吗?\ \
<马上就去/@exit>