dmxayjn 发表于 2022-1-18 17:26

c语言求助,请大佬解答

本帖最后由 dmxayjn 于 2022-1-18 23:35 编辑

                        if(pItemBase &&(((FLOAT)g_pPlayer->GetMaxHitPoint() / g_pPlayer->GetHitPoint() ) > 2.0F || pItemBase->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint()))
                        {

                              if( g_pPlayer->m_cooltimeMgr.CanUse( g_pPlayer->m_cooltimeMgr.GetGroup(pItemBase->GetProp() )))
                              {
                                        g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, pItemBase->m_dwObjId ), NULL_ID, pItemBase->GetProp()->dwParts );
                              }
                        }
这个代码是自动吃药的代码,g_pPlayer->GetMaxHitPoint() / g_pPlayer->GetHitPoint() ) > 2.0F这一句是计算了当前HP的 50%吗?如果是的话,怎么可以改成70%。。

易语言的话,我知道怎么实现,,对C语言还不是很明白。。请求大佬支个招,,有些能看懂,但是不知道怎么去改。。。
----------------------------------------------------------------------
问题已经解决,把2.0F改成1.74F就解决了。。谢谢各位大佬的解答。

chenlun 发表于 2022-1-18 17:43

就是当前血量最大值/当前血量>2如果你想写70的话 你反过来 当前血量/当前血量最大值>0.7f 就行了

dmxayjn 发表于 2022-1-18 18:26

chenlun 发表于 2022-1-18 17:43
就是当前血量最大值/当前血量>2如果你想写70的话 你反过来 当前血量/当前血量最大值>0.7f 就行了

好的,我试试,随后过来反馈。

unmask 发表于 2022-1-18 19:29

当前血量/当前血量最大值 < 0.7f

应该是<,不是>,不然满血状态还在嗑药...

dmxayjn 发表于 2022-1-18 19:38

unmask 发表于 2022-1-18 19:29
当前血量/当前血量最大值 < 0.7f

应该是,不然满血状态还在嗑药...

我突然想到,把2.0 改成 1.7试试。。正在测试

孤梦拾遗 发表于 2022-1-18 20:36

(FLOAT)g_pPlayer->GetMaxHitPoint() / g_pPlayer->GetHitPoint() ) > 2.0F
等效
(FLOAT)g_pPlayer->GetHitPoint()/ g_pPlayer->GetMaxHitPoint() ) > 0.5F


(FLOAT)g_pPlayer->GetHitPoint()/ g_pPlayer->GetMaxHitPoint() ) > 0.7F

孤梦拾遗 发表于 2022-1-18 20:37


(FLOAT)g_pPlayer->GetMaxHitPoint() / g_pPlayer->GetHitPoint() ) > 2.0F
等效
(FLOAT)g_pPlayer->GetHitPoint()/ g_pPlayer->GetMaxHitPoint() ) < 0.5F


(FLOAT)g_pPlayer->GetHitPoint()/ g_pPlayer->GetMaxHitPoint() ) < 0.7F

dmxayjn 发表于 2022-1-18 21:36

孤梦拾遗 发表于 2022-1-18 20:37
(FLOAT)g_pPlayer->GetMaxHitPoint() / g_pPlayer->GetHitPoint() ) > 2.0F
等效
(FLOAT)g_pPlayer->Ge ...

好的,谢谢回答。我测试后,会统一回复一下。。
页: [1]
查看完整版本: c语言求助,请大佬解答