游戏脚本开发——定时器与常用指令应用
课程名称:游戏脚本开发基础——定时器与常用指令实战
适用对象:游戏开发初学者(熟悉基础脚本语法)
课时:90分钟
一、教学目标
- 知识目标:掌握个人定时器与全局定时器的定义、参数及使用场景;熟悉绑定规则、物品/人物操作指令、喊话功能的分类与语法。
- 能力目标:能独立编写定时器脚本(开启/关闭、设置间隔与次数);能运用常用指令实现物品绑定、属性修改、喊话等功能。
- 情感目标:培养规范编写脚本的习惯(如定时器关闭逻辑),提升游戏功能实现的逻辑思维能力。
二、教学重点与难点
- 重点:个人定时器与全局定时器的参数差异及使用场景;定时器脚本的放置位置(QM文件);绑定规则对物品显示的影响。
- 难点:全局定时器与个人定时器的调用对象区别(服务器vs个人);多参数指令(如给物品、获取属性)的语法结构;喊话功能的类型与显示逻辑。
三、教学准备
- 开发环境:游戏引擎(如M2引擎)、脚本编辑器(QF/QM文件)。
- 示例代码:定时器开启/关闭脚本、全局变量修改脚本、绑定规则表配置、喊话指令示例。
- 辅助工具:帮助文档(定时器参数说明、指令列表)、测试角色(用于演示背包、属性等功能)。
四、教学过程
(一)课程导入(10分钟)
- 问题引入:
“在游戏开发中,如何实现‘每秒钟自动增加经验’‘活动倒计时结束后关闭地图’等功能?”
引导学生思考“定时触发”的需求,引出本节课核心内容——定时器。
- 回顾旧知:
简要回顾上节课内容(基础脚本结构、变量与常量),强调“脚本需根据需求调用特定指令”。
(二)新授知识(50分钟)
1. 定时器的使用(核心内容)
(1)定时器分类
- 个人定时器:面向单个玩家,用于角色专属逻辑(如经验累积、状态持续)。
- 全局定时器:面向服务器,用于全局事件(如活动倒计时、全服状态同步)。
(2)个人定时器详解
- 参数(4个):
- 索引(0-255):唯一标识,避免重复;
- 间隔(必填):执行频率(单位:秒);
- 次数(可选,默认0=无限循环);
- 跨服(可选,默认0=不跨服)。
- 脚本位置:需写入QM文件(若引擎未开启“QM/QF合并”,不可写QF)。
- 操作流程:
- 开启:在触发脚本(如跑步触发)中使用
开启定时器(索引, 间隔, 次数, 跨服)
;
- 关闭:任意位置使用
关闭定时器(索引)
;
- 执行逻辑:写入QM文件的对应定时器脚本(修改索引编号)。
示例:每秒钟增加玩家变量N0(经验):
-- 开启定时器(索引2,间隔1秒,无限循环)
开启定时器(2, 1, 0, 0)
-- QM文件中编写执行逻辑
仅act:
N0 = N0 + 1
信息框("当前经验:"..N0)
(3)全局定时器详解
- 参数(2个):索引(0-4)、间隔(必填);
- 限制:仅能修改全局变量(如G100),无法直接修改个人变量(需通过
开始提问
指令调用玩家脚本);
- 脚本位置:需写入PM文件(引擎特殊要求)。
示例:每秒钟增加全局变量G100(全服活动进度):
-- 开启全局定时器(索引0,间隔1秒)
开启全局定时器(0, 1)
-- PM文件中编写执行逻辑(需调用玩家脚本修改个人变量)
开始提问:
MOV G100, G100 + 1 -- 全局变量自增
AT "玩家变量更新" -- 触发玩家脚本修改N0
2. 绑定规则与物品操作(扩展内容)
(1)绑定规则
- 作用:控制物品的交易、摆摊、丢弃等行为(如“绑定物品禁止交易”);
- 参数(10个):物品名、数量、绑定类型(0=正常,1=禁止交易/摆摊/存仓库等);
- 显示逻辑:需在“订单表设置”中配置绑定规则对应的图标(如锁标志)。
示例:创建禁止交易的木剑:
-- 绑定规则参数:物品名=木剑,数量=1,禁止交易(类型1)
获得物品(木剑, 1, 0, 0, 0, 0, 1, 0, 0, 0)
(2)物品操作指令
- 给物品:
给物品(物品名, 数量, 极品属性)
(极品属性需按位置赋值,如防御=0,攻击=3);
- 获取背包物品数量:
获取背包物品数量(物品名)
(返回当前背包中该物品的数量);
- 获取物品原始属性:
获取物品原始各项属性(物品名, 字段ID, 变量)
(如获取“暴击几率”需对应表中字段)。
3. 人物与喊话功能(实用技巧)
(1)人物操作
- 改性别:
更改性别(0/1)
(0=男,1=女,需先判断当前性别);
- 改颜色:
更改人物颜色(颜色代码)
(如255=白色,需结合常量使用);
- 改发型/武器绑定:
更改发型(发型ID)
、设置装备绑定(装备位置, 绑定类型)
(位置-1=OK框物品)。
(2)喊话功能
- 类型:全服广播(0-3)、NPC头顶发言(4)、个人私聊(5-9)、滚屏/弹窗(100+);
- 语法:
喊话(类型, 内容, 颜色, 显示位置)
(如喊话(0, "活动开始!", 255, "红色广播")
)。
4. 脚本控制与刷怪(实战演练)
- 脚本控制怪物:
脚本控制怪物(地图ID, 坐标, 怪物名, 数量, 范围)
(怪物会自动向指定坐标移动并攻击玩家);
- 刷怪指令:
刷怪(地图ID, x, y, 怪物名, 范围, 数量, 名字颜色)
(可自定义怪物名称,如将“白野猪”改为“白猪”)。
(三)课堂练习(20分钟)
- 基础任务:编写一个“每5秒增加玩家N0变量”的个人定时器脚本(需包含开启、关闭逻辑)。
- 进阶任务:创建一个“禁止摆摊的木剑”(绑定规则参数:禁止摆摊=1),并测试其效果。
- 实战任务:使用喊话功能实现“全服红色广播‘活动即将开始’”和“个人私聊‘你获得了100金币’”。
(四)总结与作业(10分钟)
- 重点总结:
- 定时器的核心参数(索引、间隔、次数)及放置位置(QM/PM);
- 全局定时器只能修改全局变量,需结合
开始提问
调用玩家脚本;
- 绑定规则影响物品行为,需配置表中图标显示;
- 喊话功能按类型区分显示范围(全服/个人/头顶)。
- 课后作业:
- 完善课堂练习中的定时器脚本(添加关闭逻辑);
- 尝试用全局定时器实现“全服变量G100每10秒加1,并同步到玩家变量N0”;
- 查阅帮助文档,总结“给物品”指令的其他参数(如极品属性)用法。
五、教学反思
(课后填写:学生是否掌握定时器核心参数?喊话功能类型是否易混淆?是否需要补充更多实例演示?)