如题,
我读取游戏人物血量:
   ReadProcessMemory hProcess, ByVal &HD0EF3C, adr, 4, 0&
   ReadProcessMemory hProcess, ByVal adr + &H45C, hp, 4, 0&
label1.caption = hp
比如读完之后,HP为 30000
那么我想 用计时器检测血量Timer1.Interval = 100'当血量少于50%时,自动加血!
if hp < hp * 50% then
加血
end if还有一种
if val(hp) < val(hp * 50%) then
加血
end if当然这2种都不对了,数据类型不对。
本人数据类型是一片盲目啊。
我改怎样取HP的数值做对比????????
很菜 别见笑 哈哈!!!

解决方案 »

  1.   

    汗........这个就不是编程的问题了吧百分比换算成小数总会吧- -!if hp < hp* 0.5 then.....0.5=50%啊- -!
      

  2.   

    但是这样比,也是没反映
    当血量少于一半时,不执行下面的代码
    为什么呢?
    Private Sub Timer2_Timer()
    If hp < hp * 0.5 Then
    Label52.Caption = "哦客"
    End If
    End Sub
      

  3.   


    If hp < hp * 0.5 Then 这个条件永远都不能成立。
    另外定义一个变量来存原始的值
    Private Sub Timer2_Timer() 
    If hp < oldhp * 0.5 Then  'oldhp是开始读出的HP,
    Label52.Caption = "哦客" 
    End If 
    End Sub
      

  4.   

    If hp < hp * 0.5 Then 这个条件永远都不能成立
    //
    啊哈,对哦,一个人永远咬不到自己的鼻子,嘿嘿~~光看语法错误了,根本没看逻辑错误,哈哈哈哈~~~楼上正解~~~看来是饿了,啃饼~~~~~~~~~~~~~