Noticias:

SMF - Just Installed!

Menú principal

Source Movement effect Season 6 RuneEffect

Publicado por Dakosmu, Jun 26, 2023, 07:22 AM

Tema anterior - Siguiente tema

Dakosmu

Source Movement effect  Season 6 RuneEffect

Los visitantes no pueden visualizar imágenes en los mensajes, por favor Regístrate o Inicia Sesión

Los visitantes no pueden visualizar imágenes en los mensajes, por favor Regístrate o Inicia Sesión

Los visitantes no pueden visualizar imágenes en los mensajes, por favor Regístrate o Inicia Sesión


user.cpp

Agregar

//RuneEffect
void User::RenderRuneEffect(DWORD ObjectModel, int ID, int Type, float Z, float Size)
{
  int Iterator = 0;

  MU3Float lBone[MAX_MODEL_EFFECT];

  MU3Float lBone2[MAX_MODEL_EFFECT];

  vec3_t Color;

  vec3_t ColorRandom;

  Vector(1.0, 1.0, 1.0, Color);

  Vector(((float)(rand() % 100) / 100), ((float)(rand() % 100) / 100), ((float)(rand() % 100) / 100), ColorRandom);

  lBone[Iterator].X = *(float*)(ObjectModel + 252);

  lBone[Iterator].Y = *(float*)(ObjectModel + 256);

  lBone[Iterator].Z = *(float*)(ObjectModel + 260);

  lBone2[Iterator].X = *(float*)(ObjectModel + 264);

  lBone2[Iterator].Y = *(float*)(ObjectModel + 268);

  lBone2[Iterator].Z = *(float*)(ObjectModel + 272);

  lBone[Iterator].Z = lBone[Iterator].Z + (float)(Z);

  lBone2[Iterator].Z = lBone2[Iterator].Z + (float)(Z);
  //32404 : Vong Xoay
  //32378 : AAA

  //pSkillEffect(ID, (int)&lBone, (int)&lBone2, Color, Type, 1, -1, 0, 0, 0, Size, -1);
  CreateEffect(ID, (int)&lBone, (int)&lBone2, ColorRandom, 2, 0, -1, 0, 0, 0, 1.0, -1);
}


user.h

Buscar
CUSTOM_LOGO m_Logo[400];
Colocar Arriba de CUSTOM_LOGO m_Logo
void RenderRuneEffect(DWORD ObjectModel, int ID, int Type, float Z, float Size);

HealthBar.cpp
Agregar
//RuneEffect
#include "Protect.h"
#include "Import.h"
Buscar

void DrawNewHealthBar() // OK
o
void DrawHealthBar()

Agregar

You require the following to view this post content:
  • You require a post count of at least 7, you need another 7 posts.


=============================================================================================
Esto Aqui Debajo es Opcional Mas para los files update bajos

Colocarle los // a el gCustomRankUser

                //gCustomRankUser.RenderShowLogRank(ViewPortAddr, *(WORD*)(ViewPortAddr + 0x7E), PosX - 42, PosY);

Buscar en Common.cpp

Buscar
int Linear;
Agregar
int HPMonster; //RuneEffect
Buscar en Common.cpp
SetCompleteHook(0xE9,0x008317BD
Agregar
    //RuneEffect
    HpMonsterBar = GetPrivateProfileIntA("Setting", "HpMonsterBar", 0, "./Settings.ini");




HealthBar.h
Buscar
BYTE rate
Agregar
BYTE rate2; //RuneEffect


HealthBar.cpp Este por si el de arriba no te funciona
#include "stdafx.h"
#include "CustomRankUser.h"
#include "Defines.h"
#include "HealthBar.h"
#include "Interface.h"
#include "User.h"
#include "Util.h"
#include "Object.h"
#include "Protect.h"
#include "Import.h"
#include "Common.h"
#include "PrintPlayer.h"

NEW_HEALTH_BAR gNewHealthBar[MAX_MAIN_VIEWPORT];

void ClearNewHealthBar() // OK
{
    for(int n=0;n < MAX_MAIN_VIEWPORT;n++)
    {
        gNewHealthBar[n].index = 0xFFFF;
        gNewHealthBar[n].type = 0;
        gNewHealthBar[n].rate = 0;
        gNewHealthBar[n].rate2 = 0;
    }
}

void InsertNewHealthBar(WORD index,BYTE type,BYTE rate,BYTE rate2) // OK
{
    for(int n=0;n < MAX_MAIN_VIEWPORT;n++)
    {
        if(gNewHealthBar[n].index == 0xFFFF)
        {
            gNewHealthBar[n].index = index;
            gNewHealthBar[n].type = type;
            gNewHealthBar[n].rate = rate;
            gNewHealthBar[n].rate2 = rate2;
            return;
        }
    }
}

NEW_HEALTH_BAR* GetNewHealthBar(WORD index,BYTE type) // OK
{
    for(int n=0;n < MAX_MAIN_VIEWPORT;n++)
    {
        if(gNewHealthBar[n].index != 0xFFFF)
        {
            if(gNewHealthBar[n].index == index && gNewHealthBar[n].type == type)
            {
                return &gNewHealthBar[n];
            }
        }
    }

    return 0;
}
DWORD RunEffectTickTime[10] = { 0 };
void DrawNewHealthBar() // OK
{
    if ( pPlayerState == 4) //Select Character
    {
        return;
    }

    int PosX, PosY, LifeProgress, ShieldProgress;

    float LifeBarWidth; // [sp+D4h] [bp-4h]@2

    LifeBarWidth = 38.0;

    char LifeDisplay[25];
    VAngle Angle;

    if ( gProtect.m_MainInfo.DisablePartyHpBar == 1 )
    {
        if (pPartyMemberCount > 0)
        {
            for (int j = 0; j < pPartyMemberCount; j++)
            {
                signed int PartyNummber = *((DWORD*)&pPartyListStruct + 8 * j + 7);

                DWORD ViewportAddress = ((DWORD(__thiscall*)(void*,DWORD))0x0096A4C0)(((void*(*)())0x00402BC0)(),PartyNummber);

                if ( ViewportAddress )
                {
                    Angle.X = *(float*)(ViewportAddress + 0x404);

                    Angle.Y = *(float*)(ViewportAddress + 0x408);

                    Angle.Z = *(float*)(ViewportAddress + 0x40C) + *(float*)(ViewportAddress + 0x3E8) + 100.0f;

                    pGetPosFromAngle(&Angle, &PosX, &PosY);

                    RenderBitmap(30019, (float)(PosX - 8), (float)(PosY - 32), 24.0, 24.0, 0.0, 0.40000001f, 1.4f, 1.4f, 1, 1, 0.0);
                }
            }
        }
    }
    else if (gProtect.m_MainInfo.DisablePartyHpBar == 0)
    {
        ((void(*)())0x005BA770)();
    }
   
        EnableAlphaTest(1);
        glColor4f(1.0, 1.0, 1.0, 1.0);

        for( int n = 0 ; n < MAX_MAIN_VIEWPORT; ++n )
        {
            DWORD ViewPortAddr = pGetPreviewStruct(pPreviewThis(), n);

            DWORD ViewportAddress = ((DWORD(__thiscall*)(void*, DWORD))0x0096A4C0)(((void* (*)())0x00402BC0)(), n);

            ObjectPreview* Object = &*(ObjectPreview*)(ViewportAddress);

            if( ViewPortAddr )
            {
                if( *(BYTE*)(ViewPortAddr + 0x30C) == 0 )
                {
                    continue;
                }

                Angle.X = *(float*)(ViewPortAddr + 0x404);

                Angle.Y = *(float*)(ViewPortAddr + 0x408);

                Angle.Z = *(float*)(ViewPortAddr + 0x40C) + *(float*)(ViewPortAddr + 0x3E8) + 100.0f;

                pGetPosFromAngle(&Angle, &PosX, &PosY);
               
                if (*(BYTE*)(ViewPortAddr + 0x320) == 1) //Check User
                {
int index = *(WORD*)(ViewportAddress + 0x7E);

                    char* name = (char*)(ViewportAddress + 0x38);

                    if (pCheckEffectPlayer((DWORD*)(ViewportAddress + 0x4EC), 28))
                    {
                        if ((GetTickCount() - RunEffectTickTime[index]) > 500)
                        {
                            //32378 2.0 Type: 2 //VIP
                            //441 Type 1
                            //32404 Type 1 //Admin
                            //32313
                            gObjUser.RenderRuneEffect((int)&Object->m_Model, 32404, 2, 0.5, 0.0);
                            RunEffectTickTime[index] = GetTickCount();
                        }
                    }

                    if (ViewReset >100 && !pCheckEffectPlayer((DWORD*)(ViewportAddress + 0x4EC), 28))
                    {
                        if ((GetTickCount() - RunEffectTickTime[index]) > 500)
                        {
                            //32378 2.0 Type: 2 //VIP
                            //441 Type 1
                            //32404 Type 1 //Admin
                            gObjUser.RenderRuneEffect((int)&Object->m_Model, 32378, 2, 10, 2.0);
                            RunEffectTickTime[index] = GetTickCount();
                        }
                    }

                    gCustomRankUser.RenderShowLogRank(ViewPortAddr, *(WORD*)(ViewPortAddr+0x7E),PosX - 42,PosY);
                }

                PosX -= (int)( LifeBarWidth / 2.0 );

                PosY -= 16;

                NEW_HEALTH_BAR* lpNewHealthBar = GetNewHealthBar(*(WORD*)(ViewPortAddr + 0x7E),*(BYTE*)(ViewPortAddr+0x320));

                char* name = (char*)(ViewPortAddr+0x38);

                if(lpNewHealthBar == 0)
                {
                    continue;
                }

                int LifePercent = lpNewHealthBar->rate / 10;
                int ShieldPercent = lpNewHealthBar->rate2 / 10;

                LifeProgress = (LifePercent > 10) ? 10 : LifePercent;
                ShieldProgress = (ShieldPercent > 10) ? 10 : ShieldPercent;

                if (*(BYTE*)(ViewPortAddr + 0x320) == 1) //Check User
                {
                    glColor4f(0.0, 0.0, 0.0, 0.8);
                    pDrawBarForm((double)PosX, (double)PosY, LifeBarWidth + 4.0,( gProtect.m_MainInfo.CustomInterfaceType != 1 ) ? 10.0 : 6.0, 0.0, 0);
                    pGLSwitch();

                    if( gProtect.m_MainInfo.CustomInterfaceType != 1 )
                    {
                        glColor4f(0.19607843, 0.039215688, 0.0, 0.8);
                        pDrawBarForm((double)(PosX + 2), (double)(PosY + 2), LifeBarWidth, 2.0, 0.0, 0);
                        pGLSwitch();
                        glColor3f(0.98039216f, 5.039215688f, 0.0);
                        for (int i = 0 ; i < ShieldProgress ; ++i )
                        {
                            pDrawBarForm((double)(PosX + 4 * i + 2), (double)(PosY + 6), 3.0, 2.0, 0.0, 0);
                        }
                        pGLSwitch();
                    }
                }
                else
                {
                    if( HPMonster == 1 )
                    {
                        glColor4f(0.2, 0.0, 0.0, 0.8);
                        pDrawBarForm((double)PosX, (double)PosY, LifeBarWidth + 4.0, 6.0, 0.0, 0);
                        pGLSwitch();
                    }
                }
                if (*(BYTE*)(ViewPortAddr + 0x320) == 1) //Check User
                {
                    glColor4f(0.19607843, 0.039215688, 0.0, 0.8);
                    pDrawBarForm((double)(PosX + 2), (double)(PosY + 2), LifeBarWidth, 2.0, 0.0, 0);
                    pGLSwitch();
               
                    glColor3f(0.98039216, 0.039215688, 0.0);

                    for (int j = 0 ; j < LifeProgress ; ++j )
                    {
                        pDrawBarForm((double)(PosX + 4 * j + 2), (double)(PosY + 2), 3.0, 2.0, 0.0, 0);
                    }
                    pGLSwitch();
                }
                else
                {
                    if( HPMonster == 1 )
                    {
                        glColor4f(0.19607843, 0.039215688, 0.0, 0.8);
pDrawBarForm((double)(PosX + 2), (double)(PosY + 2), LifeBarWidth, 2.0, 0.0, 0);
                        pGLSwitch();
               
                        //glColor3f(0.98039216, 0.039215688, 0.0);
                        glColor3f(0.0, 0.88039216, 0.0);

                        for (int j = 0 ; j < LifeProgress ; ++j )
                        {
                            pDrawBarForm((double)(PosX + 4 * j + 2), (double)(PosY + 2), 3.0, 2.0, 0.0, 0);
                        }
                        pGLSwitch();
                    }
                }

                if((pCursorX >= PosX - 2) && ((float)pCursorX <= (float)PosX + LifeBarWidth + 2) && (pCursorY >= PosY - 2) && (pCursorY < PosY + 10))
                {
                    if (*(BYTE*)(ViewPortAddr + 0x320) == 1) //Check User
                    {
                        if( gProtect.m_MainInfo.CustomInterfaceType != 1 )
                        {
                            wsprintf(LifeDisplay, "HP : %d0%% | SD : %d0%%", LifePercent, ShieldPercent);
                            pSetTextColor(pTextThis(), 0xFF, 0xE6, 0xD2, 0xFF);
                            pDrawText(pTextThis(), PosX - 20, PosY - 10, LifeDisplay, 0, 0, (LPINT)3, 0);
                        }
                        else
                        {
                            wsprintf(LifeDisplay, "HP : %d0%%", LifePercent);
                            pSetTextColor(pTextThis(), 0xFF, 0xE6, 0xD2, 0xFF);
                            pDrawText(pTextThis(), PosX, PosY - 8, LifeDisplay, 0, 0, (LPINT)3, 0);
                        }
                    }
                    else
                    {
                        if( HPMonster == 1 )
                        {
                            wsprintf(LifeDisplay, "HP : %d0%%", LifePercent);
                            pSetTextColor(pTextThis(), 0xFF, 0xE6, 0xD2, 0xFF);
                            pDrawText(pTextThis(), PosX, PosY - 8, LifeDisplay, 0, 0, (LPINT)3, 0);
                        }
                    }
                }
            }
        pGLSwitch();
        EnableAlphaTest(0);
    }

    gCustomRankUser.DrawInfo();

    pGLSwitch();

    glColor3f(1.0, 1.0, 1.0);
}


en Stdafx.h

#include "BuffIcon.h"


Solucion 2
CitarHealthBar.cpp

You require the following to view this post content:
  • You require a post count of at least 1, you need another 1 posts.


CitarEn CustomRankUser.cpp
Desactivar
You require the following to view this post content:
  • You require a post count of at least 1, you need another 1 posts.



Creditos
Dakosmu Por la Guia

Bon Dia















🡱 🡳