用户工具

站点工具


竞技场_天梯模块笔记

===== 竞技场/天梯/挑战 ===== ===== 策划案 ===== [[挑战]] ===== 相关存档表 ===== ====character_challenge_info 挑战表 新增表 ==== [[generated:character_challenge_info]] 对手信息为 base64格式压缩信息,存放匹配时的角色基础信息,装备,宠物,技能,等其他战斗信息。我们可以称之为"人物快照" 对手信息填充到dict_*_info。 每周一 0点结算后清除对手,排名,场次信息。 ====character_info 新增字段 ==== ^ 字段名 ^ 描述 ^ 类型 ^ 默认值 ^ | **best_battle_power** | 本转最高战力(匹配用) | int | 0 | ====character_daily_info新增字段 ==== ^ 字段名 ^ 描述 ^ 类型 ^ 默认值 ^ | **task_ladder_score** | 今日挑战积分(每日奖励) | int | 0 | ===== 相关配置表 ===== ====ladder_level_config 天梯等级表 新增表 ==== [[generated:ladder_level_config ]] condition (竞技场积分,100) condition (竞技场积分,200) condition (竞技场积分,300) condition (竞技场积分,300),(竞技场排名<4) ====ladder_award_config 结算奖励表 新增表 ==== [[generated:ladder_award_config]] ====ladder_shop_config 竞技场商城 新增表 ==== [[generated:ladder_shop_config ]] ====ladder_search_match_config 搜索匹配规则表 新增表 ==== [[generated:ladder_search_match_config]] condition (我和对手战力比>=0.9),(我和对手战力比<=1.1) condition (我和对手战力比<0.6) =====相关枚举===== DailyCount 竞技场挑战次数 1016 daily_arena dailycost_config 配置每日额外购买 dailyrefresh_config 配置免费 DailyTask 竞技场战斗次数 1104 task_arena_fight_count 每日任务完成条件 =====新增条件枚举===== 竞技场积分 character_challenge_info ladder_score 每日竞技场积分 character_daily_info task_ladder_score 竞技场排名 character_challenge_info rank 竞技场等级 character_challenge_info ladder_level =====新增复杂条件枚举===== 暂无 =====相关协议===== [[generated:ArenaGetMatch]] 获得对手信息 返回 character_challenge_info 和 对手战斗数据 [[generated:ArenaBuyRuneReel]] 购买符文卷轴 [[generated:BuyDailyLimit]] 购买挑战次数 module=1104 character_daily_info->arena_count-- character_daily_buy_info->arena_count++ 返回 character_challenge_info 和 对手战斗数据 [[generated:CompleteTask]] 领取每日奖励 [[generated:OpenEmail]] 领取结算奖励 [[generated:GetTopLeaderBoard ]]取得全部排行榜名次 [[generated:StartBattle]] 开始挑战 character_daily_info->arena_count++ =====服务器逻辑接口===== <code php> function ArenaRefreshMatch()//刷新对手 function ArenaStart()//单场开始,扣除挑战此时,刷新对手 function ArenaEnd($match_index,$iswin)//单场结算 function ArenaGetSeasonAward()//领取赛季奖励,OpenEmail type 为 6 特殊处理 function ArenaSeasonCalculate()//赛季结算 </code> ArenaSeasonCalculate 结算 {{:pasted:20161207-173835.png}} 结算本场天梯 改写last_ladder_award_id 字段 重置积分,等级,胜场等 插入一个条 global_mail_info 有效期至下周一5点 ,type 为 6 的全局邮件 =====常用比较变量===== 每日首刷 <code c++> if(!in_the_same_cycle(5,1,time(),character_challenge_info->last_refresh_time)) //<del>character_daily_info->task_arena_fight_count=0 (DailyTaskEnum 1104)</del> </code> 剩余挑战次数 <code c++> dailyrefresh_config[1016] - character_daily_info->arena_count </code> 剩余购买挑战次数 <code c++> dailycost_config[1016] - character_daily_buy_info->arena_count </code> =====领取结算奖励===== 读到 type=6 的邮件 客户端需要根据自己的character_challenge_info->last_ladder_award_id, 从ladder_award_config找出具体的奖励,补全邮件内容 =====每日累积积分奖励===== 初步设想:通过添加 task 类型,及配置任务的形式 =====发起战斗外参数===== <code c++> GameManager.Instance.SetNextGameMode(GameModeType.PVPArena, 400001, 907 ,"ArenaStart,1"); //ArenaStart + , + 对手index </code>

竞技场_天梯模块笔记.txt · 最后更改: 2020/04/13 21:17 (外部编辑)