- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【ARPG】怪物刷新机制
怪物刷新机制V1.00
目录
1 设计目的 3
2 概述 3
3 名词解释 3
4 数据库 3
4.1 u_monstergen 3
4.2 u_pathset 4
5 具体设计 5
5.1 怪物刷新分类 5
5.2 普通怪物刷新 5
5.3 巡逻怪物刷新 6
6 脚本接口 7
7 Log打印 7
8 界面流程 7
设计目的
说明怪物刷新机制。
概述
游戏中怪物刷新大体可分为2种:普通怪物刷新和巡逻怪物刷新。前者的思路为批量刷新,通过数据控制刷新范围、密度等;后者的思路为个别刷新,通过数据控制刷新位置、移动路线等。
名词解释
无
数据库
u_monstergen
怪物刷新表。记录游戏中所有地图中的怪物刷新数据。
普通怪物和巡逻怪物分别使用不同的字段,下表中分别按“通用”“普通”“巡逻”标注。
字段 类型 说明 备注 id int mapid int 地图id。对应u_map表id。 普通 bound_x int 普通怪物刷新区域左上角锚点的x坐标。 普通 bound_y int 普通怪物刷新区域左上角锚点的y坐标。 普通 bound_cx int 普通怪物刷新区域的宽度。 普通 bound_cy int 普通怪物刷新区域的高度。 普通 move_delay int 普通怪物移动间隔时间,单位秒 普通 grid int 普通怪物刷新密度。记录怪物之间最小间隔。 通用 rest_secs int 怪物刷新时间。单位秒。 通用 max_per_gen int 普通怪物每次刷新最大数量。 普通 monstertype int 怪物类型。对应u_monstertype表id。 通用 timer_begin int 怪物刷新时段的起始时间点。 通用 timer_end int 怪物刷新时间的中止时间点。 通用 born_x int 巡逻怪物刷新位置x坐标。 巡逻 born_y int 巡逻怪物刷新位置y坐标。 巡逻 pathset_id int 巡逻怪物巡逻路线id。对应u_pathset表id。 巡逻 path_returnmode tinyint 巡逻怪物巡逻模式。
0=原路折返返回出生点;
1=瞬移返回出生点;
2=自路线最后一个位置移动至出生点;
3=到达最后一个位置后删除怪物 巡逻 deadtoborn tinyint 巡逻怪物原地刷新标志。
1=巡逻怪物下一次在死亡位置刷新。 巡逻 patrol_secs int 巡逻怪物巡逻时间。到达时间后强制瞬移返回出生点,之后按普通怪物规则移动,不再巡逻。 巡逻 dir int 巡逻怪物出生时朝向。 巡逻 maxgen int 巡逻怪物刷新数量。 巡逻
u_pathset
怪物巡逻表。记录游戏中各巡逻怪物的巡逻路径。
表数据的机制是逐条连接,即idid_next,通过这2个字段的对应关系连接出一条巡逻路径,直至id_next=0表示路径终点。
字段 类型 说明 id int 巡逻路径id。 id_next int 到达指定位置后执行的下一条巡逻路径id。0=中止。 x int 下一个位置的x坐标。 y int 下一个位置的y坐标。 action int 到点后执行脚本ID delay smallint 巡逻停顿时间
延迟执行时间(秒)
具体设计
怪物刷新分类
怪物刷新在数据上分为2种:普通怪物刷新、巡逻怪物刷新。
普通怪物刷新:用于批量控制一个范围内一群同样怪物的刷新,参数包括范围、怪物密度、最大数量等。
巡逻怪物刷新:用于个别控制一只或一组巡逻怪物的刷新,参数包括位置、数量、巡逻路线等。
要点:
对于一条怪物刷新数据,仅对应上述2种类型中的1种:即要么是普通怪物刷新,要么是巡逻怪物刷新,两者不会同时在一条数据中生效。
不同类型的怪物刷新对应不同的字段。
区分普通怪物刷新的标志字段为bound_x,该字段不为0则表示记录普通怪物刷新。
区分巡逻怪物刷新的标志字段为born_x,该字段不为0则表示记录巡逻怪物刷新。
上述2个字段均有值时,优先视为巡逻怪物刷新。
普通怪物刷新
普通怪物刷新的基本机制是“一次刷新一批怪物”,在这个前提下控制怪物的区域、密度等参数。相关要点说明如下:
怪物类型:刷新哪一种怪物,对应u_monstertype表id。
所在地图:怪物在哪个地图刷新,对应u_map表id。
刷新时段:包括起始时间点和中止时间点2个参数。普通怪物只会在指定的时间段内进行刷新判断,之外的时间段即使被玩家击杀也不会刷新。
刷新范围:怪物在地图中哪个区域刷新,包括左上角锚点坐标、宽度、高度共4个参数。
最大密度:怪物在区域内的最大密度。服务端以该参数为标准,判断该区域内的怪物是否刷新到足够的数量,即密度。达到最大密度时则不继续
您可能关注的文档
最近下载
- 高中物理24个题型.docx VIP
- 高中化学——高中化学知识清单.docx VIP
- 人教版高中物理高考必考重点知识点总结完整版(必修+选修).pdf VIP
- 2023年中考英语专题复习——冠词+答案.pdf VIP
- 2023年中考英语真题分项汇编(全国通用):专题04 单项选择之时态和语态(第02期)(解析版).docx VIP
- 【中考真题】2024年新疆维吾尔自治区中考语文试卷(附答案) .pdf VIP
- 2024年兰州市高三诊断考试(一诊)英语试卷(含官方标准答案)后附原卷扫描版.docx
- 2024年黑龙江哈尔滨市中考数学真题卷及答案解析.pdf VIP
- 2025年春新人教版物理八年级下册全册教案.pdf
- 五年级综合算式计算题 100题.doc
文档评论(0)