Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 8 de 8
  1. #1

    Avatar de LKTeaM
    Data de Ingresso
    Nov 2011
    Localização
    Jacareí
    Idade
    32
    Posts
    104
    Agradecido
    3
    Agradeceu
    3
    Peso da Avaliação
    14

    Question Como deixar o visual do char com os 2 itens nas costas?

    Opa, mais um tópico pra encher o saco ^^'.

    Bom, gostária de saber como fazer pra que apareça as duas swords ou sword e shield, staff e shield, etc... nas costas do personagem quando o mesmo está na safe zone.

    tipo o season 4. O char ta em lorencia parado e nas costas aparece as duas espadas. Quero deixar assim na 1.02T (não só eu como alguns também).

    como fazer isso??

  2. #2



    Avatar de Prøjë¢T
    Data de Ingresso
    Jul 2010
    Localização
    Sao Jose do Rio Preto
    Posts
    1.134
    Agradecido
    105
    Agradeceu
    40
    Peso da Avaliação
    31

    Padrão

    Ja existe topico com tutorial no forum, favor pesquisar antes de postar uma duvida ou pedido...

    [Somente usuários registrados podem vem os links. ]

    Topico reaberto
    Última edição por Prøjë¢T; 23-11-2011 às 01:58 PM.

  3. #3

    Avatar de LKTeaM
    Data de Ingresso
    Nov 2011
    Localização
    Jacareí
    Idade
    32
    Posts
    104
    Agradecido
    3
    Agradeceu
    3
    Peso da Avaliação
    14

    Padrão

    Alguem pode me ajudar a hookar a WeaponView.dll no main 1.02t '-'..

    tutorialzinho que tem num tá batendo com meu main pq tem varias coisas diferente.. '-'

  4. #4

    Avatar de hidy
    Data de Ingresso
    Apr 2010
    Localização
    Na ninha Casa XD
    Idade
    34
    Posts
    343
    Agradecido
    17
    Agradeceu
    14
    Peso da Avaliação
    20

    Padrão

    Aqui no fórum tem um hook facil que foi postado pelo levlx, se você dar uma olhada na parte de [Somente usuários registrados podem vem os links. ] aqui no fórum você vai achar ele. testa com esse aqui vê se vai dar certo [Somente usuários registrados podem vem os links. ].

  5. #5

    Avatar de levelx
    Data de Ingresso
    Nov 2010
    Localização
    fail Cave
    Idade
    41
    Posts
    559
    Agradecido
    28
    Agradeceu
    23
    Peso da Avaliação
    23

    Padrão

    vc pode usar qualquer hokeador que tem por ai que pega, nao precisa usar o olly para add esta dll.
    porem lembre se que a dll tem que ser para main 102t pois as offets podem ser diferentes e e for diferente a unica coisa que vai acontecer é nada..

    primeiro passo pegue a source e compile ou pegue a dll (se tiver) j compilada para o main 102t.

    segundo pegue um progama de hokear, na esao de utilitarios tem diversos use o que vc achar mais facil de usar.
    recomendo o he engine pela simplicidade ou o stupd_pe dee hook e pronto.

    offsets.h
    Código PHP:
    #pragma once


    #ifdef M_104D

    #define OBJ_OFFS                (0x285)

    const int WeaponViewCheck_Hook 0x5254C3;
    const 
    int WeaponViewCheck_Ret 0x52561A;

    #define RightHandFixup 0x2F0
    #define LeftHandFixup 0x310

    #define WeaponViewFlagFixup -0x1A8
    #define HandFlagFixup -0x1B0
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x1BC
    #define SomeVal2Fixup -0x1C0
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x525843;


    const 
    int SecondWeaponViewCheck_Hook1 0x5256D3+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x5256E0+1;
    const 
    int SecondWeaponViewCheck_Ret 0x525852;

    const 
    int SecondWeaponViewFix_Hook 0x51D071;
    const 
    int SecondWeaponViewFix_Ret 0x51D076;
    #define SomeVal4 0x695B88C

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x6F4125;
    const 
    int TransFunc 0x6F43C1;

    #define RotFixup    (-0x2B8)
    #define TransFixup    (-0x2AC)



    #elif M_102K_J


    #define OBJ_OFFS                (0x27B)

    const int WeaponViewCheck_Hook 0x538EC9;
    const 
    int WeaponViewCheck_Ret 0x539020;

    #define RightHandFixup 0x2F8
    #define LeftHandFixup 0x318

    #define WeaponViewFlagFixup -0x1A8
    #define HandFlagFixup -0x1B0
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x1BC
    #define SomeVal2Fixup -0x1C0
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x539249;


    const 
    int SecondWeaponViewCheck_Hook1 0x5390D9+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x5390E6+1;
    const 
    int SecondWeaponViewCheck_Ret 0x539258;

    const 
    int SecondWeaponViewFix_Hook 0x530A5B;
    const 
    int SecondWeaponViewFix_Ret 0x530A60;
    #define SomeVal4 0x69D9554

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x679035;
    const 
    int TransFunc 0x6792D1;

    #define RotFixup    (-0x2B8)
    #define TransFixup    (-0x2AC)



    #elif M_102C

    #define OBJ_OFFS                (0x246)

    const int WeaponViewCheck_Hook 0x52C5A7;
    const 
    int WeaponViewCheck_Ret 0x52C6FE;

    #define RightHandFixup 0x2F8
    #define LeftHandFixup 0x318

    #define WeaponViewFlagFixup -0x13C
    #define HandFlagFixup -0x144
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x150
    #define SomeVal2Fixup -0x154
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x52C927;


    const 
    int SecondWeaponViewCheck_Hook1 0x52C7B7+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x52C7C4+1;
    const 
    int SecondWeaponViewCheck_Ret 0x52C936;

    const 
    int SecondWeaponViewFix_Hook 0x525482;
    const 
    int SecondWeaponViewFix_Ret 0x525487;
    #define SomeVal4 0x69A3384

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x661735;
    const 
    int TransFunc 0x6619D1;

    #define RotFixup    (-0x2B8)
    #define TransFixup    (-0x2AC)

    #elif M_102K

    #define OBJ_OFFS                (0x285)

    const int WeaponViewCheck_Hook 0x5254C3;
    const 
    int WeaponViewCheck_Ret 0x52561A;

    #define RightHandFixup 0x2F0
    #define LeftHandFixup 0x310

    #define WeaponViewFlagFixup -0x1A8
    #define HandFlagFixup -0x1B0
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x1BC
    #define SomeVal2Fixup -0x1C0
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x525843;


    const 
    int SecondWeaponViewCheck_Hook1 0x5256D3+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x5256E0+1;
    const 
    int SecondWeaponViewCheck_Ret 0x525852;

    const 
    int SecondWeaponViewFix_Hook 0x51D071;
    const 
    int SecondWeaponViewFix_Ret 0x51D076;
    #define SomeVal4 0x695B88C

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x6F4125;
    const 
    int TransFunc 0x6F43C1;

    #define RotFixup    (-0x2B8)
    #define TransFixup    (-0x2AC)


    #elif M_104J

    #define OBJ_OFFS                (0x289)


    const int WeaponViewCheck_Hook 0x525BC1;
    const 
    int WeaponViewCheck_Ret 0x525D18;

    #define RightHandFixup 0x2F0
    #define LeftHandFixup 0x310

    #define WeaponViewFlagFixup -0x1DC
    #define HandFlagFixup -0x1E4
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x1F0
    #define SomeVal2Fixup -0x1F4
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x525F41;


    const 
    int SecondWeaponViewCheck_Hook1 0x525DD1+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x525DDE+1;
    const 
    int SecondWeaponViewCheck_Ret 0x525F50;

    const 
    int SecondWeaponViewFix_Hook 0x51D071;
    const 
    int SecondWeaponViewFix_Ret 0x51D076;
    #define SomeVal4 0x695CA2C

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x6F59F5;
    const 
    int TransFunc 0x6F5C91;

    #define RotFixup    (-0x2B8)
    #define TransFixup    (-0x2AC)

    #elif M_105H


    #define OBJ_OFFS                (0x325)

    const int WeaponViewCheck_Hook 0x4EA4FA;
    const 
    int WeaponViewCheck_Ret 0x4EA598;

    #define RightHandFixup 0x180
    #define LeftHandFixup 0x1A0

    #define WeaponViewFlagFixup -0x244
    #define HandFlagFixup -0x24C
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x258
    #define SomeVal2Fixup -0x25C
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x4EA860;


    const 
    int SecondWeaponViewCheck_Hook1 0x4EA64B+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x4EA658+1;
    const 
    int SecondWeaponViewCheck_Ret 0x4EA86F;

    const 
    int SecondWeaponViewFix_Hook 0x4DF49B;
    const 
    int SecondWeaponViewFix_Ret 0x4DF4A0;
    #define SomeVal4 0x6A2D648

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x6A9865;
    const 
    int TransFunc 0x6A9B01;

    #define RotFixup    (-0xB0)
    #define TransFixup    (-0xA4)


    #elif M_105K

    #define OBJ_OFFS                (0x325)

    const int WeaponViewCheck_Hook 0x4EA53A;
    const 
    int WeaponViewCheck_Ret 0x4EA5D8;

    #define RightHandFixup 0x180
    #define LeftHandFixup 0x1A0

    #define WeaponViewFlagFixup -0x244
    #define HandFlagFixup -0x24C
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x258
    #define SomeVal2Fixup -0x25C
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x4EA8A0;


    const 
    int SecondWeaponViewCheck_Hook1 0x4EA68B+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x4EA698+1;
    const 
    int SecondWeaponViewCheck_Ret 0x4EA8AF;

    const 
    int SecondWeaponViewFix_Hook 0x4DF4DB;
    const 
    int SecondWeaponViewFix_Ret 0x4DF4E0;
    #define SomeVal4 0x6A2E648

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x6A9AA5;
    const 
    int TransFunc 0x6A9D41;

    #define RotFixup    (-0xB0)
    #define TransFixup    (-0xA4)


    #elif M_300E

    #define OBJ_OFFS                (0x325)


    const int WeaponViewCheck_Hook 0x4EA285;
    const 
    int WeaponViewCheck_Ret 0x4EA323;

    #define RightHandFixup 0x180
    #define LeftHandFixup 0x1A0

    #define WeaponViewFlagFixup -0x244
    #define HandFlagFixup -0x24C
    #define SafeZoneFlagFixup -0x5C


    #define SomeVal1Fixup -0x258
    #define SomeVal2Fixup -0x25C
    #define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x4EA5EB;


    const 
    int SecondWeaponViewCheck_Hook1 0x4EA3D6+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x4EA3E3+1;
    const 
    int SecondWeaponViewCheck_Ret 0x4EA5FA;

    const 
    int SecondWeaponViewFix_Hook 0x4DF226;
    const 
    int SecondWeaponViewFix_Ret 0x4DF22B;
    #define SomeVal4 0x6A30C88

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x6A7F45;
    const 
    int TransFunc 0x6A81E1;

    #define RotFixup    (-0xB0)
    #define TransFixup    (-0xA4)


    #elif M_097D

    #define OBJ_OFFS                (0x190)

    const int WeaponViewCheck_Hook 0x456E14;
    const 
    int WeaponViewCheck_Ret 0x456EAA;

    #define RightHandFixup 0x270
    #define LeftHandFixup 0x288

    #define WeaponViewFlagFixup +0x98
    //#define HandFlagFixup -0x1B0
    #define SafeZoneFlagFixup +0x18


    //#define SomeVal1Fixup -0x1BC
    //#define SomeVal2Fixup -0x1C0
    //#define SomeVal3Fixup 8

    const int SecondWeaponViewCheckReplacedCode_Hook 0x456FA7;


    const 
    int SecondWeaponViewCheck_Hook1 0x456F05+1;
    const 
    int SecondWeaponViewCheck_Hook2 0x456F0E+1;
    const 
    int SecondWeaponViewCheck_Ret 0x456FAC;

    const 
    int SecondWeaponViewFix_Hook 0x454477;
    const 
    int SecondWeaponViewFix_Ret 0x45447C;
    #define SomeVal4 0x6EFE300

    //const int SecondWeaponViewRotFix_Hook[] = {0x51CF67, 0x51CD87, 0x51CDE4, 0x51CED1, 0x51CF31, 0x51CFA4};
    //const int SecondWeaponViewTransFix_Hook = 0x51D097;


    const int RotateFunc 0x4F5340;
    const 
    int TransFunc 0x4F5500;

    #define RotFixup    (+0x20)
    #define TransFixup    (+0x58)



    #define OLD_MAIN

    #define STACK_PTR            ESP
    #define CHAR_REG            EBX
    #define WEAPON_ID_CONTAINER    EBX

    #endif



    #ifdef OLD_MAIN
    #define MAX_ITEM                (32)
    #else
    #define MAX_ITEM                (512)
    #define STACK_PTR                EBP
    #define WEAPON_ID_CONTAINER        DWORD PTR SS:[EBP+0x1C]
    #endif


    #define MAKE_ITEM(type, index)    (type*MAX_ITEM + index) 

    stdafx
    Código PHP:
    // stdafx.h : include file for standard system include files,
    // or project specific include files that are used frequently, but
    // are changed infrequently
    //

    #pragma once

    // Modify the following defines if you have to target a platform prior to the ones specified below.
    // Refer to MSDN for the latest info on corresponding values for different platforms.
    #ifndef WINVER                // Allow use of features specific to Windows XP or later.
    #define WINVER 0x0501        // Change this to the appropriate value to target other versions of Windows.
    #endif

    #ifndef _WIN32_WINNT        // Allow use of features specific to Windows XP or later.                   
    #define _WIN32_WINNT 0x0501    // Change this to the appropriate value to target other versions of Windows.
    #endif                        

    #ifndef _WIN32_WINDOWS        // Allow use of features specific to Windows 98 or later.
    #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
    #endif

    #ifndef _WIN32_IE            // Allow use of features specific to IE 6.0 or later.
    #define _WIN32_IE 0x0600    // Change this to the appropriate value to target other versions of IE.
    #endif

    #define WIN32_LEAN_AND_MEAN        // Exclude rarely-used stuff from Windows headers
    // Windows Header Files:
    #include <windows.h> 
    utils.h
    Código PHP:
    #pragma once

    #include <windows.h>

    //void MsgBox(char *szlog, ...);

    DWORD HookThis(DWORD dwMyFuncOffsetDWORD dwJmpOffset);
    void WriteJmp(DWORD dwWriteOffsetDWORD dwDstJmp);
    void WriteCall(DWORD dwWriteOffsetDWORD dwDstJmp);

    void SetNop(DWORD dwOffsetint Size);
    void SetRangeNop(DWORD dwStartDWORD dwEnd);
    void SetRetn(DWORD dwOffset);
    void SetByte(DWORD dwOffsetBYTE btValue);
    void SetDword(DWORD dwOffsetDWORD dwValue);
    DWORD GetDword(DWORD dwOffset);

    DWORD UnProtect(DWORD dwAddrDWORD size);
    void Protect(DWORD dwAddrDWORD sizeDWORD dwProtection);
    BYTE GetByte(DWORD dwOffset); 
    stdafx.cpp
    Código PHP:
    // stdafx.cpp : source file that includes just the standard includes
    // WeaponView.pch will be the pre-compiled header
    // stdafx.obj will contain the pre-compiled type information

    #include "stdafx.h"

    // TODO: reference any additional headers you need in STDAFX.H
    // and not in this file 
    Código PHP:
    #include "stdafx.h"
    #include "utils.h"

    #include <stdio.h>
    #include <stdarg.h>

    //void MsgBox(char *szlog, ...)
    //{
    //    char szBuffer[512]="";
    //    va_list pArguments;
    //    va_start(pArguments, szlog);
    //    vsprintf(szBuffer, szlog, pArguments);
    //    va_end(pArguments);
    //    MessageBoxA(NULL, szBuffer, "error", MB_OK|MB_APPLMODAL);
    //}



    DWORD UnProtect(DWORD dwAddrDWORD size)
    {
        
    DWORD old 0;
        
    VirtualProtect((LPVOID)dwAddrsizePAGE_EXECUTE_READWRITE, &old);
    //        MsgBox("Unable to remove page protection. ERROR: %08X.", GetLastError());
        
    return old;
    }

    void Protect(DWORD dwAddrDWORD sizeDWORD dwProtection)
    {
        
    DWORD old 0;
        
    VirtualProtect((LPVOID)dwAddrsizedwProtection, &old);
    }

    DWORD HookThis(DWORD dwMyFuncOffsetDWORD dwJmpOffset)
    {
        
    DWORD old 0;
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwJmpOffset10);

            
    old = *(DWORD*)(dwJmpOffset+1) + dwJmpOffset 5;
            *(
    DWORD*)(dwJmpOffset+1) = dwMyFuncOffset - (dwJmpOffset+5);

            
    Protect(dwJmpOffset10dwP);
        }
        
    __finally{}

        return 
    old;
    }

    void WriteJmp(DWORD dwWriteOffsetDWORD dwDstJmp)
    {
        if(
    dwWriteOffset)
        {
            
    __try
            
    {
                
    DWORD dwP UnProtect(dwWriteOffset10);
        
                
    SetByte(dwWriteOffset0xE9);
                
    HookThis(dwDstJmpdwWriteOffset);
        
                
    Protect(dwWriteOffset10dwP);
            }
            
    __finally{}
        }

    }

    void WriteCall(DWORD dwWriteOffsetDWORD dwDstJmp)
    {
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwWriteOffset10);

            
    SetByte(dwWriteOffset0xE8);
            
    HookThis(dwDstJmpdwWriteOffset);

            
    Protect(dwWriteOffset10dwP);
        }
        
    __finally{}

    }

    void SetNop(DWORD dwOffsetint Size)
    {
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwOffsetSize);

            for(
    int n=0Sizen++)
            {
                *(
    BYTE*)(dwOffset+n) = 0x90;
            }

            
    Protect(dwOffsetSizedwP);
        }
        
    __finally{}

    }

    void SetRangeNop(DWORD dwStartDWORD dwEnd)
    {
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwStartdwEnd dwStart);

            for(
    int n=dwStartdwEndn++)
            {
                *(
    BYTE*)(n) = 0x90;
            }

            
    Protect(dwStartdwEnd dwStartdwP);
        }
        
    __finally{}
    }



    void SetRetn(DWORD dwOffset)
    {
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwOffset1);

            *(
    BYTE*)(dwOffset)=0xC3;

            
    Protect(dwOffset1dwP);
        }
        
    __finally{}
    }

    void SetByte(DWORD dwOffsetBYTE btValue)
    {
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwOffset1);

            *(
    BYTE*)(dwOffset)=btValue;

            
    Protect(dwOffset1dwP);
        }
        
    __finally{}
    }


    BYTE GetByte(DWORD dwOffset)
    {
        
    BYTE byVal 0;
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwOffset1);

            
    byVal = *(BYTE*)(dwOffset);

            
    Protect(dwOffset1dwP);
        }
        
    __finally{}

        return 
    byVal;
    }



    void SetDword(DWORD dwOffsetDWORD dwValue)
    {    
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwOffset4);

            *(
    DWORD*)(dwOffset)=dwValue;

            
    Protect(dwOffset4dwP);
        }
        
    __finally{}
    }


    DWORD GetDword(DWORD dwOffset)
    {
        
    DWORD dwVal 0;
        
    __try
        
    {
            
    DWORD dwP UnProtect(dwOffset4);

            
    dwVal = *(DWORD*)(dwOffset);

            
    Protect(dwOffset4dwP);
        }
        
    __finally{}

        return 
    dwVal;




    WeaponView.cpp
    Código PHP:
    // WeaponView.cpp : Defines the entry point for the DLL application.
    //

    #include "stdafx.h"
    #include "utils.h"
    #include "offsets.h"


    #ifdef _MANAGED
    #pragma managed(push, off)
    #endif

    #pragma comment (lib, "kernel32")

    void InitDLL();

    DWORD SecondWeaponFixVal 0;
    DWORD IsShield 0;

    BOOL APIENTRY DllMainHMODULE hModule,
                           
    DWORD  ul_reason_for_call,
                           
    LPVOID lpReserved
                         
    )
    {
        switch(
    ul_reason_for_call)
        {
            case 
    DLL_PROCESS_ATTACH:
                
    InitDLL();
            break;

        }
        return 
    TRUE;
    }

    __declspec(nakedvoid WeaponViewCheck()
    {
        
    __asm
        
    {

    #ifndef OLD_MAIN
            
    MOV BYTE PTR SS:[EBP+WeaponViewFlagFixup], 0

            CMP DWORD PTR SS
    :[EBP+SafeZoneFlagFixup], 0
            JE WEAPON_CHECK
            MOV BYTE PTR SS
    :[EBP+WeaponViewFlagFixup], 1    

    WEAPON_CHECK
    :

            
    MOV EAXDWORD PTR SS:[EBP+8]
            
    CMP DWORD PTR SS:[EBP+HandFlagFixup], 0
            JNZ LEFT_HAND
        

            MOVSX ECX
    WORD PTR DS:[EAX+RightHandFixup]

            
    CMP ECXMAKE_ITEM(70) + OBJ_OFFS
            JGE NO_DISPLAY

            CMP ECX
    MAKE_ITEM(415) + OBJ_OFFS
            JE DISPLAY_WEAPON
            JMP END_CHECK

    LEFT_HAND
    :
            
    MOVSX ECXWORD PTR DS:[EAX+LeftHandFixup]

            
    CMP ECXMAKE_ITEM(70) + OBJ_OFFS
            JGE NO_DISPLAY

            CMP ECX
    MAKE_ITEM(47) + OBJ_OFFS
            JE DISPLAY_WEAPON
            JMP END_CHECK


    DISPLAY_WEAPON
    :
            
    MOV BYTE PTR SS:[EBP+WeaponViewFlagFixup], 1
            JMP END_CHECK

    NO_DISPLAY
    :
            
    MOV BYTE PTR SS:[EBP+WeaponViewFlagFixup], 0

    #elif defined OLD_MAIN


            
    MOV BYTE PTR SS:[STACK_PTR+WeaponViewFlagFixup], 0

            CMP DWORD PTR SS
    :[STACK_PTR+SafeZoneFlagFixup], 0
            JE WEAPON_CHECK
            MOV BYTE PTR SS
    :[STACK_PTR+WeaponViewFlagFixup], 1    

    WEAPON_CHECK
    :

            
    CMP EAX0
            JNZ LEFT_HAND
        

            CMP WORD PTR DS
    :[CHAR_REG+RightHandFixup], MAKE_ITEM(70) + OBJ_OFFS
            JGE NO_DISPLAY

            CMP WORD PTR DS
    :[CHAR_REG+RightHandFixup], MAKE_ITEM(415) + OBJ_OFFS
            JE DISPLAY_WEAPON
            JMP END_CHECK

    LEFT_HAND
    :


            
    CMP WORD PTR DS:[CHAR_REG+LeftHandFixup], MAKE_ITEM(70) + OBJ_OFFS
            JGE NO_DISPLAY

            CMP WORD PTR DS
    :[CHAR_REG+LeftHandFixup], MAKE_ITEM(47) + OBJ_OFFS
            JE DISPLAY_WEAPON
            JMP END_CHECK


    DISPLAY_WEAPON
    :
            
    MOV BYTE PTR SS:[STACK_PTR+WeaponViewFlagFixup], 1
            JMP END_CHECK

    NO_DISPLAY
    :
            
    MOV BYTE PTR SS:[EBP+WeaponViewFlagFixup], 0


    #else 

            //check for correct preprocessor definitions :D
            
    throw

    #endif

    END_CHECK:
            
            
    jmp WeaponViewCheck_Ret
        
    }
    }

    __declspec(nakedvoid SecondWeaponViewCheck()
    {
        
    __asm
        
    {
    #ifndef OLD_MAIN

            
    CMP DWORD PTR SS:[EBP+HandFlagFixup], 0
            JNZ END_CHECK

            MOV DWORD PTR SS
    :[EBP+HandFlagFixup], 1
            MOV SecondWeaponFixVal
    1

    #elif defined OLD_MAIN

            
    CMP SecondWeaponFixVal0
            JNZ END_CHECK

            MOV EAX
    1
            MOV SecondWeaponFixVal
    1

    #else

            //check for correct preprocessor definitions :D
            
    throw

    #endif


            
    JMP WeaponViewCheck

    END_CHECK
    :
            
    MOV SecondWeaponFixVal0
            jmp SecondWeaponViewCheck_Ret
        
    }
    }

    __declspec(nakedvoid SecondWeaponViewCheckReplacedCode()
    {
        
    __asm
        
    {
    #ifndef OLD_MAIN

            
    MOV EDXDWORD PTR SS:[EBP+SomeVal1Fixup]
            
    MOV EAXDWORD PTR SS:[EBP+SomeVal2Fixup]
            
    MOV DWORD PTR DS:[EDX+SomeVal3Fixup], EAX

    #elif defined OLD_MAIN
            
    MOV EDX0x3E800000
    #else
            
    throw
    #endif
            
    JMP SecondWeaponViewCheck
        
    }
    }

    DWORD s_eaxs_ecxs_edx;

    __declspec(nakedvoid SecondWeaponViewFix()
    {
        
    __asm
        
    {
            
    //MOV EAX, SecondWeaponFixVal
            //XOR DWORD PTR SS:[EBP+RotFixup], EAX
            //XOR DWORD PTR SS:[EBP+TransFixup], EAX

    #ifdef OLD_MAIN
            
    MOV s_eaxEAX
            MOV s_ecx
    ECX
            MOV s_edx
    EDX
    #endif

            
    MOV IsShield0

            
    // check for shield
            
    CMP WEAPON_ID_CONTAINERMAKE_ITEM(60) + OBJ_OFFS
            JL FLIP_CHECK
            CMP WEAPON_ID_CONTAINER
    MAKE_ITEM(70) + OBJ_OFFS
            JGE FLIP_CHECK

            MOV IsShield
    1
            
            CMP WEAPON_ID_CONTAINER
    MAKE_ITEM(616) + OBJ_OFFS
            JNZ CHECK_SHIELD_14_15


            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup], 0x41F00000
            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup+4], 0
            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup+8], 0x42B40000
            LEA EDX
    DWORD PTR SS:[STACK_PTR+TransFixup]
            
    LEA EAXDWORD PTR SS:[STACK_PTR+RotFixup]
            
    PUSH EDX
            PUSH EAX
            CALL RotateFunc
            ADD ESP
    8
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x0C], 0xC1A00000
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x1C], 0
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x2C], 0xC1A00000

            JMP FLIP_CHECK


    CHECK_SHIELD_14_15
    :

            
    CMP WEAPON_ID_CONTAINERMAKE_ITEM(615) + OBJ_OFFS
            JE SHIELD_14_15
            CMP WEAPON_ID_CONTAINER
    MAKE_ITEM(614) + OBJ_OFFS
            JNZ CHECK_SHIELD_6

    SHIELD_14_15
    :

            
    MOV DWORD PTR SS:[STACK_PTR+RotFixup], 0x42480000
            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup+4], 0
            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup+8], 0x42B40000
            LEA EDX
    DWORD PTR SS:[STACK_PTR+TransFixup]
            
    LEA EAXDWORD PTR SS:[STACK_PTR+RotFixup]
            
    PUSH EDX
            PUSH EAX
            CALL RotateFunc
            ADD ESP
    8
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x0C], 0xC1E00000
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x1C], 0
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x2C], 0xC1C80000

            JMP FLIP_CHECK


    CHECK_SHIELD_6
    :

            
    CMP WEAPON_ID_CONTAINERMAKE_ITEM(66) + OBJ_OFFS
            JNZ SET_SHIELD

            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup], 0x41F00000
            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup+4], 0
            MOV DWORD PTR SS
    :[STACK_PTR+RotFixup+8], 0x42B40000
            LEA EDX
    DWORD PTR SS:[STACK_PTR+TransFixup]
            
    LEA EAXDWORD PTR SS:[STACK_PTR+RotFixup]
            
    PUSH EDX
            PUSH EAX
            CALL RotateFunc
            ADD ESP
    8
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x0C], 0xC1700000
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x1C], 0
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x2C], 0xC1C80000

            JMP FLIP_CHECK


    SET_SHIELD
    :


            
    MOV DWORD PTR SS:[STACK_PTR+TransFixup+0x0C], 0xC1200000
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x1C], 0
            MOV DWORD PTR SS
    :[STACK_PTR+TransFixup+0x2C], 0


    FLIP_CHECK
    :
            
            
    CMP IsShield1
            JE 
    EXIT
        
            
    CMP SecondWeaponFixVal0
            JE 
    EXIT

            
    SUB ESP0x3C
    #if STACK_PTR == ESP
        #define fixup    0x3C
    #else
        #define fixup    0
    #endif
            
    MOV DWORD PTR SS:[ESP+0x30], 0x43110000
            MOV DWORD PTR SS
    :[ESP+0x34], 0
            MOV DWORD PTR SS
    :[ESP+0x38], 0x43898000
            LEA EAX
    DWORD PTR SS:[ESP]
            
    LEA ECXDWORD PTR SS:[ESP+0x30]
            
    PUSH EAX
            PUSH ECX
            CALL RotateFunc
            ADD ESP
    8

            MOV DWORD PTR SS
    :[ESP+0x0C], 0
            MOV DWORD PTR SS
    :[ESP+0x1C], 0x41200000
            MOV DWORD PTR SS
    :[ESP+0x2C], 0xC1F00000
            LEA EDX
    DWORD PTR SS:[STACK_PTR+TransFixup+fixup]
            
    LEA EAXDWORD PTR SS:[ESP]
            
    LEA ECXDWORD PTR SS:[STACK_PTR+TransFixup+fixup]
            
    PUSH EDX
            PUSH EAX
            PUSH ECX
            CALL TransFunc

            ADD ESP
    0x48

    EXIT:

    #ifdef OLD_MAIN
            
    MOV EAXs_eax
            MOV ECX
    s_ecx
            MOV EDX
    s_edx
    #endif

            
    PUSH SomeVal4
            JMP SecondWeaponViewFix_Ret
        
    }
    }

    //DWORD SecondWeaponViewRotFix_Old;
    //DWORD SecondWeaponViewTransFix_Old;
    //
    //__declspec(naked) void SecondWeaponViewRotFix()
    //{
    //    __asm
    //    {
    //        MOV EAX, DWORD PTR SS:[ESP+4]
    //        MOV ECX, SecondWeaponFixVal
    //        XOR DWORD PTR DS:[EAX+8], ECX
    //        JMP SecondWeaponViewRotFix_Old
    //    }
    //}
    //
    //__declspec(naked) void SecondWeaponViewTransFix()
    //{
    //    __asm
    //    {
    //        MOV EAX, DWORD PTR SS:[ESP+8]
    //        MOV ECX, SecondWeaponFixVal
    //        XOR DWORD PTR DS:[EAX+0x0C], ECX
    //        JMP SecondWeaponViewTransFix_Old        
    //    }
    //}

    void InitDLL()
    {
        
    WriteJmp(WeaponViewCheck_Hook, (DWORD)WeaponViewCheck);
        
    WriteJmp(SecondWeaponViewCheckReplacedCode_Hook, (DWORD)SecondWeaponViewCheckReplacedCode);
        
        
    HookThis((DWORD)SecondWeaponViewCheckSecondWeaponViewCheck_Hook1);
        
    HookThis((DWORD)SecondWeaponViewCheckSecondWeaponViewCheck_Hook2);

        
    WriteJmp(SecondWeaponViewFix_Hook, (DWORD)SecondWeaponViewFix);

        
    //for(int i=0; i < sizeof(SecondWeaponViewRotFix_Hook)/sizeof(*SecondWeaponViewRotFix_Hook); i++)
        //{
        //    SecondWeaponViewRotFix_Old = HookThis((DWORD)SecondWeaponViewRotFix, SecondWeaponViewRotFix_Hook[i]);
        //}

        //SecondWeaponViewTransFix_Old = HookThis((DWORD)SecondWeaponViewTransFix, SecondWeaponViewTransFix_Hook);
    }


    #ifdef _MANAGED
    #pragma managed(pop)
    #endif 

    tem que se basear nessa e fazer a sua dll.
    Última edição por levelx; 24-11-2011 às 01:16 AM.
    Hidden Content
    Tip
    "E sem saber que era impossível, ele foi lá e fez"(Jean Cocteau)
    LUCENA ME DEIXOU DE MEMBRO ETERNO E ME DEIXOU UMA SAUDADE ETERNA TBM................
    Hidden Content

  6. #6

    Avatar de LKTeaM
    Data de Ingresso
    Nov 2011
    Localização
    Jacareí
    Idade
    32
    Posts
    104
    Agradecido
    3
    Agradeceu
    3
    Peso da Avaliação
    14

    Padrão

    eu peguei a weaponview.dll de um tópico que tem aqui... porém nem sei se ela é pra 1.02t.. como saber se é ou não??.. se procura na net será que tem a sourcer dela pra 1.02t?? '-'

  7. #7

    Avatar de levelx
    Data de Ingresso
    Nov 2010
    Localização
    fail Cave
    Idade
    41
    Posts
    559
    Agradecido
    28
    Agradeceu
    23
    Peso da Avaliação
    23

    Padrão

    source ta ai porem axo muito pouco provavel alguem liberar as offsets pra vc...
    vc tem que pegar um main e procurar elas do mesmo geito que estava procurando o limite de itens e texturas.
    Hidden Content
    Tip
    "E sem saber que era impossível, ele foi lá e fez"(Jean Cocteau)
    LUCENA ME DEIXOU DE MEMBRO ETERNO E ME DEIXOU UMA SAUDADE ETERNA TBM................
    Hidden Content

  8. #8


    Avatar de Lipe
    Data de Ingresso
    Jan 2012
    Localização
    Campinas
    Posts
    768
    Agradecido
    3
    Agradeceu
    3
    Peso da Avaliação
    20

    Padrão

    Mensagem de moderação:
    Tópico inativo, fechado para evitar flood.
    Caso a dúvida do autor não tenha sido solucionada, entre em contato via MP para que o tópico seja re-aberto

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Pedido| Como Deixar em MD5?
    Por Guilherme no fórum Pedidos
    Respostas: 2
    Último Post: 03-11-2013, 07:17 PM
  2. |Tutorial| Como deixar uma Render em (HD)
    Por patrick#524 no fórum Avançados
    Respostas: 3
    Último Post: 05-04-2013, 10:41 AM
  3. |Pedido| Como deixar itens acima de +11 sem ser meio invisivel
    Por Bullet no fórum Arquivos MuOnline
    Respostas: 3
    Último Post: 10-12-2011, 08:56 AM
  4. |Resolvido| Query para resetar os char perder os itens do char!
    Por kelvin no fórum Tópicos resolvidos
    Respostas: 5
    Último Post: 04-02-2010, 01:48 PM
  5. |Resolvido| Quais as melhores combinações de Socket System para deixar char mais forte?
    Por Lucian no fórum Tópicos resolvidos
    Respostas: 2
    Último Post: 29-12-2009, 01:55 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •