Project1
标题:
关于游戏数据 任务&成就系统 数据结构的个人方案
[打印本页]
作者:
清澈淌漾
时间:
2022-9-22 20:13
标题:
关于游戏数据 任务&成就系统 数据结构的个人方案
本帖最后由 清澈淌漾 于 2022-9-22 20:53 编辑
定义一张 成就数值表
规定每个数值类型的意义
数值类型1 总获得金钱
数值类型2 出售道具获得金钱
数值类型3 完成任务获得金钱
数值类型4 打怪获得金钱
数值类型5 总消耗金钱
数值类型6 修理装备消耗金钱
数值类型7 击杀史莱姆数量
玩家id 数值类型 值
100 1 1000
100 2 200
100 3 500
100 4 300
100 5 500
100 6 400
100 7 200
////////////////////////////////////////////
表内的数值 只增不减。
根据数值类型 在统一的接口代码中嵌入
获得金钱让 数值类型1增加
失去金钱让 数值类型2增加
/////////////////////////////////////////////
资源文件 记录方式
任务编号 名称 成就? 需要类型 数值
1 击杀10个史莱姆 f 7 10
2 击杀20个史莱姆 f 7 10
3 击杀30个史莱姆 f 7 10
4 击杀40个史莱姆 f 7 10
5 击杀50个史莱姆 f 7 50
6 累积击杀100个史莱姆 t 7 100
7 累积击杀200个史莱姆 t 7 200
8 累积击杀300个史莱姆 t 7 300
成就 为F时 表示
玩家在接到任务时 存入 对应的数值值
成就 为T时 表示这个是自动接受自动达成的成就
比如 100号玩家已经击杀200个史莱姆
他领取了 击杀50个史莱姆 的任务
在存档记录中 写入以下一条
玩家编号 任务编号 领取日期 初始值
100 5 日期 200
/////////////////////////////////////////////
初始值记录了 接受任务时 成就数值写在任务的数据中内
显示给玩家的进度是
当前数值-接受任务时数值/资源文件中的完成数值
----------------------------------------
对于成就 只需记下 是否已经达成。
如果是成就链
任务编号 名称 成就? 需要类型 数值 下一个任务
6 累积击杀100个史莱姆 t 7 100 7
7 累积击杀200个史莱姆 t 7 200 8
8 累积击杀300个史莱姆 t 7 300 9
9 未开放 t 99 1 0
已知 【全部的任务编号】 【已达成的任务编号】
未达成的任务= 【全部的任务编号】 -【已达成的任务编号】
给玩家显示的任务(端点任务)=【全部未达成的任务】-【全部未达成的任务的下一个任务】
为了方便扩展 可以写一个通用的终点任务
/////////////////////////////////////////////
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1