91引擎爱好者论坛

 找回密码
 立即注册
热搜: 91引擎
查看: 4047|回复: 16

[教程] 91引擎完全新手小白入门-脚本编(③)

[复制链接]
  • TA的每日心情

    2024-1-22 17:00
  • 签到天数: 127 天

    连续签到: 2 天

    [LV.7]常住居民III

    25

    主题

    161

    帖子

    2175

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    积分
    2175
    发表于 2022-7-1 15:15:19 | 显示全部楼层 |阅读模式
    本帖最后由 陆仁易浩 于 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

    评分

    参与人数 1金币 +50 收起 理由
    无名 + 50 很给力!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 00:56
  • 签到天数: 451 天

    连续签到: 7 天

    [LV.9]以坛为家II

    50

    主题

    461

    帖子

    5454

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    积分
    5454
    发表于 2022-7-1 18:29:47 来自手机 | 显示全部楼层
    新手又一福音
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-11 11:04
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    20

    主题

    68

    帖子

    2456

    积分

    世外高人

    Rank: 5Rank: 5

    积分
    2456
    发表于 2022-7-1 18:35:24 | 显示全部楼层

    新手又一福音,缺的就是你们这种奉献精神。
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 277 天

    连续签到: 1 天

    [LV.8]以坛为家I

    27

    主题

    321

    帖子

    1896

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1896
    发表于 2022-7-6 15:05:33 | 显示全部楼层
    好东西啊  新手的福音..
    回复

    使用道具 举报

  • TA的每日心情

    2022-10-5 01:29
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    1

    主题

    19

    帖子

    147

    积分

    注册会员

    Rank: 2

    积分
    147
    发表于 2022-7-9 21:35:32 | 显示全部楼层
    好东西啊  新手的福音..
    回复

    使用道具 举报

  • TA的每日心情

    半小时前
  • 签到天数: 228 天

    连续签到: 1 天

    [LV.7]常住居民III

    6

    主题

    247

    帖子

    2070

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    2070
    发表于 2022-7-9 21:55:34 | 显示全部楼层
    计数器更新
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2022-10-20 09:37
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    12

    主题

    75

    帖子

    1990

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    1990
    发表于 2022-7-10 22:09:27 | 显示全部楼层
    顶你个肺,很高产啊
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 469 天

    连续签到: 7 天

    [LV.9]以坛为家II

    1

    主题

    502

    帖子

    4055

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    4055
    发表于 2022-7-11 22:49:03 | 显示全部楼层
    厉害了   感谢感谢·
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-11-23 11:21
  • 签到天数: 89 天

    连续签到: 1 天

    [LV.6]常住居民II

    6

    主题

    125

    帖子

    934

    积分

    高级会员

    Rank: 4

    积分
    934
    发表于 2022-8-16 12:09:19 | 显示全部楼层
    这种教程都需要支持!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-5-19 13:53
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    2

    主题

    65

    帖子

    412

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    412
    发表于 2022-8-16 17:33:09 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|妖孽游戏素材网|91引擎爱好者

    GMT+8, 2024-3-29 22:42 , Processed in 0.121199 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表