# 基础脚本示例及解读
- 当基本了解脚本机制之后,我们可以来试试脚本都能做些什么。
- 在游戏中建立一个新的开发者模式地图,试试下边的例子吧!
示例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()接口