学习目标
回城补给设计
相关数据准备
作业: 寻路到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、返回到坐标
原文:http://blog.csdn.net/mc_cc1/article/details/43523737