TA的每日心情 | 衰 2024-1-22 17:00 |
---|
签到天数: 127 天 连续签到: 2 天 [LV.7]常住居民III
实习版主
- 积分
- 2175
|
本帖最后由 陆仁易浩 于 2022-7-5 09:00 编辑
编写脚本前,需要先安装编写脚本的组件:http://bbs.91m2.com/forum.php?mo ... d=13&extra=page%3D1 感谢大佬:一路随云
或论坛下载一键安装包:http://bbs.91m2.com/forum.php?mo ... d=25&extra=page%3D1 感谢大佬:星夜大哥
写脚本前,我们需要先了解 91引擎的脚本结构 ,91引擎的运行语言是JavaScript.而我们写脚本的语法是TypeScript.
实际上我们写的脚本和游戏里运行的不是一个文件.我们写脚本的TS文件是源码,进行编译后编译成JS后缀让引擎去识别执行...
我们用Visual Studio Code 打开TS源码所在的文件夹目录.
1:这个为 引擎命令的词库文件.不要去动他.已官方发布的为准
2:注册文件,你游戏里所有的脚本都需要进行注册
3:结构配置文件.
修改脚本前,我们先点击结构配置文件,确定TS编译为JS的目录.
引擎读取的脚本JS为 : \Mir200\Script\
所以我们需要确定目录..避免生成编译脚本时位置是否正确.
注:如果你将版本上传至服务器时,是不需要TS后缀文件的.也就是不需要源码脚本.
也不需要安装写脚本的组件,只需要本机更新编译后的JS复制到服务器即可.
于是,你可以将你的源码放E盘,D盘放你的版本.所以要注意编译的目录.
版本被盗了也没事,对方没你源码,因为你的源码在本机,是不是感觉91好屌!!!
如上篇帖子我们添加了一个NPC..如果我们将NPC脚本名 武器店
那么需要在游戏里显示,所以需要进行注册
打开Main.ts..添加一个接口:新加的
然后设置 新加的 这个接口读取的脚本的文件名的地址,后缀为TS,但这里不需要写
最后我们定义下一 武器店 读取 新加的 这个接口.
最后别忘了保存和编译..
下面我们再来说说脚本与常规引擎的区别!
常规引擎.以上为常规引擎的NPC脚本.
所有的常规引擎分共有5个执行
#IF ;检测
#SAY ;如果是,输出对话
#ACT ;如果是,执行命令
#ELSEACT ;如果不是,执行命令
#ELSESAY ;如果不是,输出对话
以上面的脚本为例,在@main里的标签默认是进行 [如果是,输出对话] 也就是#SAY
如果你要执行,需要加入[如果是,执行],也就是#ACT,才可以执行脚本命令
但91引擎则不一样.
以此脚本为例, export function Main 注意区分大小写 main
其中Main意思同等于普通脚本的[@main].
然后此标签里申明了3个变量,用 , 分割 分别为NPC,玩家,传递,
NPC的变量类型设置为:TNormNpc
玩家的变量类型设置为:TPlayObject
传递的变量类型设置为:TArgs
脚本的内容在{ }里.他与常规引擎不同的是,他没有SAY,没有#ELSEACT,没有#ELSESAY
默认的打开脚本就相当于执行常规脚本的#ACT
例子脚本的意思,设置一个常量=Main对白,设置常量的内容='对白对白'
再开始执行命令:
NPC.Say(玩家.Main对白)
所以此NPC打开后就直接显示 对白对白..
脚本演示:
这是一段常规引擎,GEE的一个调整等级,和一个带参数的传送功能
这是一段和上面常规引擎一样功能的91脚本..
因为标签里申明过Npc这个变量,它的类型为TNormNpc,才可以执行Npc.命令
同样的,玩家的变量player,也因为设置了类型TPlayObject,所以它才表示玩家.可以执行player.命令
调整等级:
if 后括号内为检测条件,player.Level 意思:玩家.等级 检测玩家等于大于或等于100..
执行{ }内脚本..脚本为Npc.Say .意思 NPC.说 内容为玩家的 S1 常量
检测未通过,else 执行{ }内的脚本命令, 玩家.等级 = 100,同时执行Npc.Say 内容是玩家的S2 常量
地图传送:
同样因为我们申明了Args变量,类型为TArgs,既传递类型的..
当你写了传递参数后.我们的格式调用参数的值,int 为数值.str 为字符
既变量Args.位置.位置从0开始!
Args.str[0],第一个参数以字符为结果.
Args.int[1],第二个参数以数值为结果.
Args.int[2],第三个参数以数值为结果.
现在,脚本我相信你已经可以理解了...
那么现在就可以愉快的开始尝试写脚本了!!!
特别注意:脚本编辑后保存了,记得进行编译,然后在引擎上重读脚本!
PS;你可以在打开 JONE.d.ts 词库..查询脚本命令..例如里面的
SetGold(Value: number): void; //设置金币
设置金币,并且值为Number 也就是数字值.
也可以直接查询:http://doc.91m2.com/ 感谢大佬:你说了算小能手
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|