[Help] How to move HP value

Results 1 to 5 of 5
  1. #1
    Member nhacker is offline
    MemberRank
    Sep 2015 Join Date
    91Posts

    [Help] How to move HP value

    I search for this all over the internet and could not find any solution, but I know many pros have done this please help.



    As in the picture the HP value got move up y-axis, please someone help or share how to do this.

    Printplayer.cpp of muemus6
    PHP Code:
    __declspec(nakedvoid PrintPlayerViewHP1() // OK
    {
        static 
    DWORD PrintPlayerViewHPAddress1 0x0080FD27;
        
    _asm
        
    {
            
    Mov Ecx,ViewMaxHP
            Test Ecx
    ,Ecx
            Jle 
    EXIT
            
    Mov Edx,ViewMaxHP
            Mov Eax
    ,ViewCurHP
            Sub Edx
    ,Eax
            Mov Dword Ptr Ss
    :[Ebp-0x174],Edx
            Fild Dword Ptr Ss
    :[Ebp-0x174]
            
    Mov Ecx,ViewMaxHP
            Mov Dword Ptr Ss
    :[Ebp-0x178],Ecx
            Fidiv Dword Ptr Ss
    :[Ebp-0x178]
            
    Fstp Dword Ptr Ss:[Ebp-0x134]
            EXIT:
            
    Jmp [PrintPlayerViewHPAddress1]
        }
    }
    __declspec(nakedvoid PrintPlayerViewHP2() // OK
    {
        static 
    float PositionModifierHP 3.25f;
        static 
    DWORD PrintPlayerViewHPAddress1 0x0080FF12;
        
    _asm
        
    {
            
    Mov Ecx,ViewCurHP
            Push Ecx
            Push Ecx
            Fld Dword Ptr Ds
    :[0x00D461A4]
            
    Fstp Dword Ptr Ss:[Esp]
            
    Fld Dword Ptr Ss:[Ebp-0x0C]
            
    Cmp Ecx,0x186A0
            Jl 
    EXIT
            
    Fsub Dword Ptr Ds:[PositionModifierHP]
            
    Cmp Ecx,0xF4240
            Jl 
    EXIT
            
    Fsub Dword Ptr Ds:[PositionModifierHP]
            EXIT:
            
    Jmp [PrintPlayerViewHPAddress1]
        }

    I can only move HP value in x-axis by editing "PositionModifierHP", there no y-axis to modify, and I know nothing of assembly. Please help thank you.


  2. #2
    Novice lol132 is offline
    MemberRank
    May 2019 Join Date
    2Posts

    re: [Help] How to move HP value

    I'm also looking for this. Please help someone.

  3. #3
    Member nhacker is offline
    MemberRank
    Sep 2015 Join Date
    91Posts

    Re: [Help] How to move HP value

    up .

  4. #4
    Proficient Member XcellMu is offline
    MemberRank
    Aug 2012 Join Date
    198Posts

    Re: [Help] How to move HP value

    up up neeed this

  5. #5
    Member nhacker is offline
    MemberRank
    Sep 2015 Join Date
    91Posts

    Re: [Help] How to move HP value

    Thread can be close since I had found the other solution.
    For people still working on this here is what I have learned so far and try to disassembly:

    PHP Code:
    __declspec(nakedvoid PrintPlayerViewHP2() // OK
    {
        static 
    float PositionModifierHP 3.25f;
        static 
    DWORD PrintPlayerViewHPAddress1 0x0080FF12;
        
    _asm
        
    {
            
    Mov Ecx,ViewCurHP //Ecx = current HP
            
    Push Ecx
            Push Ecx
            Fld Dword Ptr Ds
    :[0x00D461A4//Declare offset position of (HP/MANA/SD/AG)
            
    Fstp Dword Ptr Ss:[Esp
            
    Fld Dword Ptr Ss:[Ebp-0x0C//Declare offset position of HP by -12 memory block
            
    Cmp Ecx,0x186A0 //Compare HP with 100000
            
    Jl EXIT //False -> exit
            
    Fsub Dword Ptr Ds:[PositionModifierHP//True -> move to left by subtract PositionModifierHP
            
    Cmp Ecx,0xF4240 //Compare HP with 1000000
            
    Jl EXIT //False -> exit
            
    Fsub Dword Ptr Ds:[PositionModifierHP//True -> Move to left one more
            
    EXIT:
            
    Jmp [PrintPlayerViewHPAddress1//Return value to 0x0080FF12
        
    }

    You can try to overwrite this offset 0x0080FF12 with:

    PHP Code:
    __declspec(nakedvoid HPNumberPosition()
    {
        static 
    float HPNumberPositionY 290.0f;//Modify as you wish
        
    static DWORD HPNumberPosition 0x0080FF1E//Pointer
        
    _asm
        
    {
            
    Fadd Dword Ptr DS:[HPNumberPositionY]
            
    Fstp Dword Ptr SS:[ESP]
            
    Fld Dword Ptr SS:[EBP-0xC]
            
    jmp [HPNumberPosition]
        }
    }
    SetRange((LPVOID)0x0080FF120x12ASM::NOP);
    SetOp((LPVOID)0x0080FF12, (LPVOID)HPNumberPositionASM::JMP); //Overwrite to offset 0x0080FF12 
    Didnt test myself so use wisely



Advertisement