用户工具

站点工具


simulation

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
simulation [2019/05/28 18:06] shenmosimulation [2019/06/11 15:00] (当前版本) shenmo
行 1: 行 1:
 ======模拟测试====== ======模拟测试======
 +
 +
  
 =====额外笔记===== =====额外笔记=====
  
-客户端控制台的循环方法+ --- //[[shenmo@riceman.com.cn|沈默]] 2019/05/28 18:08// 
 + 
 + 
 +**group执行顺序:** 
 + 
 +* 先执行一轮[[generated::simulation_config]], 然后在time forward。 所以资源会出现还未消化的情况 
 + 
 +* 表格id顺序就是 执行顺序 
 + 
 + 
 +====客户端测试===== 
 + 
 +[[generated::CONDITION]].GM_SIMULATION_MODE 627 模拟测试是否在模拟中, 
 + 
 +|>0| 禁止常规弹窗 | 
 +|1| 一个大浮窗(显示收益) | 
 +|2| 一个大弹框(显示收益) | 
 +|3| 反馈明细 [[generated::simulation_detail_log_info]] | 
 +|4| 整组执行明细 [[generated::simulation_log_info]] | 
 + 
 +{{:pasted:20190528-181229.png}} 
 + 
 +每次执行[[generated::GMSimulationGroupExcute]]指令之后会重置 627 的状态。所以需要每次重新赋值 
 + 
 +**客户端控制台的循环方法**
  
 |Wait(10)|等待10秒| |Wait(10)|等待10秒|
 |WaitNetwork()|等待网络| |WaitNetwork()|等待网络|
 |Loop(3)|循环三次| |Loop(3)|循环三次|
 +
 +可以在[[generated::command_config]]中 找到编辑好的 一次执行若干天的指令方法
  
 ====反馈==== ====反馈====
  
-如果某一条 +如果某一条 [[generated::simulation_config]]执行有效,会在[[generated::simulation_detail_log_info]]输出反馈 
 +具体的反馈如下
  
 ^反馈^翻译^参数^ ^反馈^翻译^参数^
行 22: 行 51:
 |FIGHT_GUILD_WAR|公会战|胜利5/失败1| |FIGHT_GUILD_WAR|公会战|胜利5/失败1|
 |BuildingLevelUp|建筑升级|建筑实例id building_info.id | |BuildingLevelUp|建筑升级|建筑实例id building_info.id |
-|BaseLevelUp|基地升级||+|BaseLevelUp|基地升级||
 |BuildingResearch|研究开始|建筑实例id building_info.id,building_research_produce_config.id| |BuildingResearch|研究开始|建筑实例id building_info.id,building_research_produce_config.id|
 |BuildingProduce|建筑生产开始|建筑实例id building_info.id,building_research_produce_config.id| |BuildingProduce|建筑生产开始|建筑实例id building_info.id,building_research_produce_config.id|
行 30: 行 59:
 |VipGift|VIP领取|1年卡 0月卡| |VipGift|VIP领取|1年卡 0月卡|
 |TaskComplete|任务完成|task_config.id | |TaskComplete|任务完成|task_config.id |
-|CLAIM_WAR_CHEST|公会战箱子||+|CLAIM_WAR_CHEST|公会战箱子||
 |SummonCard|抽卡|activity_summon_config.id | |SummonCard|抽卡|activity_summon_config.id |
 |HeroLevelUp|英雄升级|hero_info.id, 食物的hero_info.id | |HeroLevelUp|英雄升级|hero_info.id, 食物的hero_info.id |
行 39: 行 68:
 |IapBuy|内购购买|iap_config.id,num | |IapBuy|内购购买|iap_config.id,num |
 |ShopBuy|商店购买|shop_config.id,num | |ShopBuy|商店购买|shop_config.id,num |
-|HeroTeamApply|阵容更换||+|HeroTeamApply|阵容更换|| 
 + 
 +//在服务器的ReportHelper.php中已经提供了道具和反馈的翻译功能,也可以进行关闭// 
 + 
 + 
 +====网页==== 
 + 
 +测试入口:[[http://116.62.174.73:8081/Web/PlayGround.php]] 
 + 
 +**单个模拟** 
 + 
 +单个模拟测试用 [[generated::GMSimulationExcute]] GM执行单条模拟指令 
 + 
 +{{:pasted:20190528-181709.png}} 
 + 
 +输出表格是: 一条[[generated::simulation_detail_log_info]] 
 + 
 +**整组模拟** 
 + 
 +整组模拟的时候用 [[generated::GMSimulationGroupExcute]] GM执行一组模拟指令 
 + 
 +整组模拟的第二个参数 day 
 + 
 +有两个特殊用法 
 + 
 +//0.1: 表示只执行一轮模拟,并timeforward \\ 
 +0.2: 表示执行型议论模拟,并且不timeforward// 
 + 
 +输出表格是: 一大堆[[generated::simulation_detail_log_info]]  
 +和 一轮一条 [[generated::simulation_log_info]] ,其中每天的最后一次是快照 
 + 
 +{{:pasted:20190528-182638.png}}
  
 =====枚举=====  =====枚举===== 
行 58: 行 118:
 |12|FIGHT_PVE_LIMIT|限时挑战-战斗 参数1:自动胜利战力系数  参数2~n:扫荡的关卡减少数| |12|FIGHT_PVE_LIMIT|限时挑战-战斗 参数1:自动胜利战力系数  参数2~n:扫荡的关卡减少数|
 |13|FIGHT_PVE_HERO|英雄挑战-战斗 参数1:自动胜利战力系数  参数2~n:优先的hero_id| |13|FIGHT_PVE_HERO|英雄挑战-战斗 参数1:自动胜利战力系数  参数2~n:优先的hero_id|
-|14|FIGHT_PVP_ROB|PVP掠夺-战斗 1:第一轮搜索战力系数 2:第二轮搜索力比系数 3:每轮最大搜索次数|+|14|FIGHT_PVP_ROB|PVP掠夺-战斗 和机器人斗结果|
 |15|FIGHT_GUILD_BOSS|公会BOSS-战斗-模拟 1:大于多少级的公会BOSS就输,其他则赢 2:自己的排名,可设定范围,例如1~5| |15|FIGHT_GUILD_BOSS|公会BOSS-战斗-模拟 1:大于多少级的公会BOSS就输,其他则赢 2:自己的排名,可设定范围,例如1~5|
 |16|FIGHT_GUILD_WAR|公会战-战斗-模拟 1:赢的概率| |16|FIGHT_GUILD_WAR|公会战-战斗-模拟 1:赢的概率|
行 108: 行 168:
  
 [[generated::GMSimulationGroupExcute]] GM执行一组模拟指令 [[generated::GMSimulationGroupExcute]] GM执行一组模拟指令
 +
 +=====计划任务=====
 +
 +
 +[[generated:player_simulation_info]] 新增了控制字段, 只要 schedule_mode >0 就可以让这个号开启计划任务
 +
 +|schedule_mode |计划任务执行 0不执行 1一次执行一轮(看间隔) 2一次执行一天(看间隔) 3按时间点执行(不进行timeforward)|
 +|schedule_interval |计划任务间隔(分钟) |
 +|schedule_last_time |上一次执行计划任务的时间 |
 +|schedule_condition |计划任务执行条件CONDITION,比如到达多少天就不再执行|
 +|schedule_count |计划任务执行次数 |
 +
 +**同样有枚举**
 +
 +|628|GM_SIMULATION_SCHEDULE_MODE|模拟测试计划任务模式 0不执行  1一次执行一轮 2一次执行一天 3按时间点执行(不进行timeforward)|[[generated:player_simulation_info]]|schedule_mode|
 +|629|GM_SIMULATION_SCHEDULE_INTERVAL|模拟测试计划任务间隔(分钟)|[[generated:player_simulation_info]]|schedule_interval|
 +|630|GM_SIMULATION_SCHEDULE_COUNT|模拟测试计划任务执行次数|[[generated:player_simulation_info]]|schedule_count|
 +|631|GM_SIMULATION_SCHEDULE_COUNT_LIMIT|模拟测试计划任务执行最大次数|[[generated:player_simulation_info]]|debug_array|
 +
 +使用Set(628,2) Set(629,5) 就表示五分钟跑一天, 如果需要Log要通过Set(627,4)/Set(627,3)来配合
 +
 +===代码备忘===
 +
 +代码部分主要是SimlationHandle.php
 +
 +同样需要配置[[generated:timer_config]], 并新增了[[generated:SERVER_TIMER_ACTION]]的枚举
 +
 +//TODO:有个技术点是 再起一个进程调用SimlationHandle.php 还在研究中//
    
simulation.1559037984.txt.gz · 最后更改: 2019/05/28 18:06 由 shenmo