山东大鲤鱼 发表于 2022-12-24 20:52:14

编写脚本需掌握的基础知识

                                                             编写脚本需掌握的基础知识====================********************************========================
                                                             程 序 语 句 与 程 序 段
====================********************************========================
以下为HERO引擎为例 大部分通用于其它引擎 大家可以补充起来 造福更多新人


\ 换一行   {图像类别/图像定位} ;图像类别是说明动物或NPC图像定位是指那一个具体图像
[@段]      ;段用英文或数字表示
goto @段       ;跳转到指定段,开始执行相当于B中的goto语句
<选择项目/@段>    ;选择项目后转称到指定段,相当于C中的case语句
#say 语句      ;语句设定为字符,不用加任何定界符
#act 执行命令    ;符合3.0规定的任何系统已定义命令
give 物品 数量    ;给多少东西,除了物器数据库中有的物品,还有金币,
         ;在大多数汉化版3.0中都汉化为“金”
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为任何正整数,是逻辑变量,有0值和1值,初始0值
#IF
条件--执行
#elsesay 或者 #elseact
否定--执行         ;相当于程序中的条件判断
SET 1          ;设置逻辑变量为真
Check 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(变量)> 把变量转换为字符型

NPC脚本里的彩色文字控制

从上到下:
{FCOLOR/1}文字{FCOLOR/12}
{FCOLOR/2}文字{FCOLOR/12}
{FCOLOR/3}文字{FCOLOR/12}
{FCOLOR/4}文字{FCOLOR/12}
{FCOLOR/5}文字{FCOLOR/12}
{FCOLOR/6}文字{FCOLOR/12}
{FCOLOR/7}文字{FCOLOR/12}
{FCOLOR/8}文字{FCOLOR/12}
{FCOLOR/9}文字{FCOLOR/12}
{FCOLOR/10}文字{FCOLOR/12}
{FCOLOR/11}文字{FCOLOR/12}
{FCOLOR/12}文字{FCOLOR/12}
...........
不过一般常用比较好看的就有:
{FCOLOR/1}红色{FCOLOR/12}
{FCOLOR/10}绿色{FCOLOR/12}
{FCOLOR/11}蓝色{FCOLOR/12}
{FCOLOR/14}浅蓝色{FCOLOR/12}
{FCOLOR/15}黄色{FCOLOR/12}

用户龙 发表于 2022-12-24 20:52:23

我醉了谢谢大家

长白雪松 发表于 2022-12-24 20:52:43

1111111111111111

日升月恒 发表于 2022-12-24 20:53:18

热火个软件和人家投入

微笑余生 发表于 2022-12-24 20:54:07

不错,有帮助。

松林听涛 发表于 2022-12-24 20:55:06

难啊,慢慢来吧 一天一天积累吧

用户紫气东来 发表于 2022-12-24 20:55:21

传奇商用NPC开头解释(部分,补足请补足)

这个就是物品的stdmode

向着红日的狼 发表于 2022-12-24 20:55:31

除第一部分外都不太懂

蛤蟆老大 发表于 2022-12-24 20:56:18

其实很简单 貌似写复杂了
先掌握最前面的基本语句就可以

想好后再改名 发表于 2022-12-24 20:56:59

大哥,看不懂啊,这是不是传说中的易语言
页: [1] 2 3
查看完整版本: 编写脚本需掌握的基础知识