c++判断求助!!!!!!!!
本帖最后由 dmxayjn 于 2022-12-21 17:35 编辑if (!pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_DOUPOCQNGQ))
{
pUser->AddText("未检测到BUFF,禁止使用");
return;
}
以上代码可以正常判断道具buff ,有BUFF就跳过,没有BUFF就禁止使用
这个BUFF道具是30天的
我又给加了1个7天道具BUFF ,然后把7天的BUFF道具也加进去后,代码就不行了,
if (!pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_DOUPOCQNGQ) || !pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_DOUPOCQNGQ7) )
{
pUser->AddText("未检测到BUFF,禁止使用");
return;
}
谢谢各位大神回答
2楼的代码应该是正确的,但是问题还是没解决,应该是我添加的7天的这个道具buff有问题,暂时先这样吧,谢谢各位大佬回答 两个都没有才跳过的话 , 要用 &&
if (!pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_DOUPOCQNGQ) && !pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_DOUPOCQNGQ7) )
{
pUser->AddText("未检测到BUFF,禁止使用");
return;
} 代码不行是什么意思,逻辑和预期不符吗?你预期应该是怎样的? Broadm 发表于 2022-12-21 16:25
两个都没有才跳过的话 , 要用 &&
if (!pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_ ...
我的意思是,这30天的 和 这个7 天的,只要有其中1个buff ,就跳过 只要有一个就跳过的话,应该这样
if (pUser->HasBuff(BUFF_ITEM2, II_SYS_SYS_SCR_DOUPOCQNGQ) || pUser->HasBuff(BUFF_ITEM2, II_SYS_SYS_SCR_DOUPOCQNGQ7))
{
pUser->AddText("已经有一个buf了");
return;
} Broadm 发表于 2022-12-21 16:25
两个都没有才跳过的话 , 要用 &&
if (!pUser->HasBuff(BUFF_ITEM2,II_SYS_SYS_SCR_ ...
用且的话,就2个必须都要有了。。 那就是用或啊,两个一起判断,有其中一个就跳过 Broadm 发表于 2022-12-21 16:31
只要有一个就跳过的话,应该这样
if (pUser->HasBuff(BUFF_ITEM2, II_SYS_SYS_SCR_ ...
大哥,这样改的话,有1个就执行这个返回了。。。是想让他跳过这个返回 dmxayjn 发表于 2022-12-21 16:37
大哥,这样改的话,有1个就执行这个返回了。。。是想让他跳过这个返回
我的意思是,这30天的 和 这个7 天的,只要有其中1个buff ,就跳过
这个代码就是这个意思. 所以你的意思不是这个? DuSuCyy 发表于 2022-12-21 16:37
那就是用或啊,两个一起判断,有其中一个就跳过
我就是写了 或, 然后不行