学习目标 回城补给设计 相关数据准备 作业: 寻路到FindToWay(x,y); 相关数据准备 //检测是否需要补给 IsRequireSupply(); // //回城补给相关 BOOL IsRequireSupply(); //检测是否需要回城补给 BOOL IsLowHpSupply;//低于ndHpGoodsMinNum时 是否回城补给 DWORD ndHpGoodsMinNum;//低于此值时回城补给HP物品 10 DWORD ndHpGoodsMaxNum;//回城补给时补满到这个数值 200 char szHpGoodsNameForSupply[20];//回城需要补给的HP药品名 BOOL IsLowMpSupply;//低于ndMpGoodsMinNum时 是否回城补给 DWORD ndMpGoodsMinNum;//低于此值时回城补给MP物品 10 DWORD ndMpGoodsMaxNum;//回城补给时补满到这个数值 200 char szMpGoodsNameForSupply[20];//回城需要补给的MP药品名 BOOL CAutoPlay::IsRequireSupply() //检测是否需要回城补给 { DWORD ndHpNum=g_tBackPackList.GetData()->GetAllHpGoodsNum(); DWORD ndMpNum=g_tBackPackList.GetData()->GetAllMpGoodsNum(); if (ndHpNum<ndHpGoodsMinNum) { return TRUE; } if (ndMpNum<ndMpGoodsMinNum) { return TRUE; } if (g_tBackPackList.GetData()->IsFullBackPack()) { return TRUE; } //负重判断 负重超过90% //背包满 return FALSE; } NPC 坐标(737,1955) GetAllHpGoodsNum() GetAllMpGoodsNum() 补给条件成立时 补给物品流程 1、保存当前坐标 2、寻路到 平十指NPC 坐标(737,1955) 3、打开NPC对话 4、打开商店 5、补给药品 (详细的 包括出售垃圾物品,购买指定数量的 补给物品列表) 6、关闭商店 7、关闭NPC对话 8、返回到坐标
时间: 2024-11-09 10:07:27