# 基础脚本示例及解读

  • 当基本了解脚本机制之后,我们可以来试试脚本都能做些什么。
  • 在游戏中建立一个新的开发者模式地图,试试下边的例子吧!

示例1:

如何在3个不同的坐标放置石块

Block:replaceBlock(105, 3, 7, 3, FACE_DIRECTION.DIR_POS_Y)
Block:replaceBlock(105, 5, 7, 5, FACE_DIRECTION.DIR_POS_Y)
Block:replaceBlock(105, 7, 7, 7, FACE_DIRECTION.DIR_POS_Y)

--参数释义:
--Block:replaceBlock(方块ID, X坐标, Y坐标, Z坐标, 朝向)

代码解读:

  • 放置方块首先需要用到方块管理接口,所以我们用到Block对象
  • 放置方块这个触发点需要用到replaceBlock()接口
  • 经过查询API接口,replaceBlock()内接口有5个参数需要填入,分别是:
  • 选定坐标后调用这句代码,即可在这3个位置生成方块

示例2:

在3个坐标放置同一个石块

local blockId = 105  --声名一个变量名为blockID,把ID为105的方块装进去
local blockFace = FACE_DIRECTION.DIR_POS_Y --同样,声明一个变量名为blockFace,把朝向也可以装进去
Block:replaceBlock(blockId, 3, 7, 10, blockFace)
Block:replaceBlock(blockId, 5, 7, 10, blockFace)
Block:replaceBlock(blockId, 7, 7, 10, blockFace)

代码解读:

  • 既然放置的3个方块都是相同的,那么我们可以用一个“变量”来代替ID
  • 变量相当于名字,可以起个名字,把方块的ID装进去。
  • local blockId = 105 这一步就是把变量装进了blockID这个变量里面
  • 如果想要放别的方块,只需要改动local blockId = 105这一条就可以了

示例3:

在一个坐标面前刷出3只萌眼怪

local actorId = 3102 --声明1个变量,把怪物ID装进去
local num1, num2 = 1, 2 --声明2个变量,把1只怪物,和2只怪物装进去
local x, y, z = 5, 7, 5 --声明3个变量,把坐标位置装进去
World:spawnCreature(x, y, z, actorId, num1+num2)

--参数释义:
--World:spawnCreature(X坐标, Y坐标, Z坐标, 怪物ID, 怪物数量)

代码解读:

  • 前面3行做了声明变量的工作,声明变量的步骤都大同小异
  • 另外,脚本还可以支持 “+ - * / ”的运算,并且变量也都可以做运算
  • 刷怪用到的是World对象里的spawnCreature()接口
  • 怪物ID查询

示例4:

在坐标随机刷出1~10只野萌宝,并且把数量输出到聊天框。

local actorId = 3102 --声明变量,怪物ID
local num = math.random(1,10)--声明变量num,把得到的随机数装进去
local x, y, z = 5, 7, 5 --声明变量,把怪物坐标装进去
World:spawnCreature(x, y, z, actorId, num)
Chat:sendSystemMsg("随机出的怪物数量:"..num)

--参数释义:
--Chat:sendSystemMsg("想要输出的文字写在这里"..储存随机数的变量num)

代码解读:

  • 随机数的使用:math.random(1,10)表示在1~10之间随机一个数字(包含1和10)
  • 想要输入到聊天框,需要用到Chat对象的sendSystemMsg()接口
上次更新: 2021/8/30 18:06:36