Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Custom Battle Gloves 100% (Season 6 - 1.04e)  (Visto 2480 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline emersonx13 Posteado: April 24, 2020, 03:21:58 PM | Modificado: April 24, 2020, 03:52:19 PM by emersonx13

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • 3D Maker
  • 0 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 523
  • Gracias recibida: 32797
  • br
Bueno, esto es mío para uso personal.
@Nemesis  lo hizo por mí hace mucho tiempo, mi conocimiento y tiempo son limitados, así que nunca tuve la oportunidad de cambiar a getmaininfo.
Sé que hay otra fuente publicada aquí, pero si es útil para alguien, espero que ayude.


Credits: @Nemesis / @emersonx13


Donate for my Work

BTC: 1HnXqN1wAh3EUC2Gi4WVH5Cj8fmihgeQze

Gracias:

altoperu, samsung13, Xysad, dakosmu, ninjanegro, iuri220, nicz01, nokta01, idpnguyeni, kimrubi, Volkano21, hieuvt, PowerNet, rando, ProTecno, kiritosao, aldo, unico, pigo666, MUDERBY, Saige, MuVision1, exegame, usersa, InFamous, wiljipa, RifleMaN_, ewtn, FOX, jony820, tilmur, martin castro, h3yShOk, tangyi90, rekis, barteo, Ifreat, Alexbrm, RAGNAR111, ImportedPotato, Keko, Dragonvl15, ezesosa, xxcondexx, tuyendam, bkbodoke, tuGoogle123, mudevsbr, khyle650, NoobDK, zhangjianle865, judakiss21, smiley, 452745444, louisfdp, showmax, draco425, Wolfox, duykhoa, Cartman, tiendoanit, mattihi1mi, PachoRasta, MsotoC, Thor Host, samluis, nguqua, deathsquad, weverton233, 183358, GabrielDevel, Higgs, luciferlg, neeck1234, Aguila, nonnan005, GX_KYO, alexfy, dhaomao, guigonvg, muancestral, xz18786628, shizen, comelon666, longcon, hiep, 423646802, stark98, xxyatsenxx, andreiob, C4nn4b1s, Crowley, kksky, kaisudo, iggfree, pedrob, n0tee, gacon201294, Llalex, pquintal, Hax.Gaming, Nemesis, c4nhsatcodong, Cheke, KhongGianOL, muzic25, smallz170, Gamers, quyanxu, dahouzi, VadimashRS, josecola, esteban, gauyeutho, Karuritoku, Iямαηɗαɗ ☠, thunwa1, melo920, Nexus, AZURE, axeman192, marvin540, beecubin, binhchivn, mastermcy, NguyenAnh, dlawls662, onlinezajzaj, Lude, ailsoncost, beibei, Peterox, 6atters, Terran, Shaman, Almdar, kaiocnx, Denis Alves, JavixFer, Andre1981, erickmalfoy, takumi12, reandroid, louis, knight.php, cri0, Pyke, NasLy, testemureconnect, SaintZeus, matheusgom, djagripnos, allhoy, npt.formu, spartacus, MaxVoll, yhoon, TzCr4ck, reveage, higlans, moacir13

Offline JavixFer #1 Posteado: April 25, 2020, 01:44:04 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 476
  • Gracias recibida: 3975
  • bo
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.


Online takumi12 #2 Posteado: April 25, 2020, 01:54:46 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.310
  • Gracias recibida: 39652
  • mx
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.


para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función


Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Offline SaintZeus #3 Posteado: April 25, 2020, 04:10:52 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 482
  • Gracias recibida: 2753
  • ar
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.


para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función
Asi o me falta algo?

Code: [Select]
void __declspec ( naked ) cRFItem::BattleGloveProp4() {
    static DWORD BattleGloveProp4_Return    = 0x005CD454;
    static DWORD BattleGloveProp4_Jump      = 0x005CD491;

static double x = 0.03499999966472387;
    // ----
    _asm {

//////////////////////////////////////////////////////////
///////////////GLOVE 240
//////////////////////////////////////////////////////////
        BattleGloveProp4_Label1:
        // ----
        CMP DWORD PTR SS : [EBP + 0x8], 0x583
        JNZ BattleGloveProp4_Label2
FLD DWORD PTR SS:[EBP-0x4C]
FSUB QWORD PTR DS:[x]//[0x0D27CA8] //prueba
FSTP DWORD PTR SS:[EBP-0x4C]
FLD DWORD PTR SS:[EBP-0x48]
FADD QWORD PTR DS:[0x0D254B8]
FSTP DWORD PTR SS:[EBP-0x48]
FLDZ
FSTP DWORD PTR DS:[0x82C6320]
FLDZ
FSTP DWORD PTR DS:[0x82C6324]
FLDZ
FSTP DWORD PTR DS:[0x82C6328]
        JMP BattleGloveProp4_Jump

Gracias:


Offline reveage #4 Posteado: April 25, 2020, 07:01:06 PM | Modificado: April 25, 2020, 07:04:43 PM by reveage

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 64
  • Gracias recibida: 22
  • cl
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.


para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función
Asi o me falta algo?

Code: [Select]
void __declspec ( naked ) cRFItem::BattleGloveProp4() {
    static DWORD BattleGloveProp4_Return    = 0x005CD454;
    static DWORD BattleGloveProp4_Jump      = 0x005CD491;

static double x = 0.03499999966472387;
    // ----
    _asm {

//////////////////////////////////////////////////////////
///////////////GLOVE 240
//////////////////////////////////////////////////////////
        BattleGloveProp4_Label1:
        // ----
        CMP DWORD PTR SS : [EBP + 0x8], 0x583
        JNZ BattleGloveProp4_Label2
FLD DWORD PTR SS:[EBP-0x4C]
FSUB QWORD PTR DS:[x]//[0x0D27CA8] //prueba
FSTP DWORD PTR SS:[EBP-0x4C]
FLD DWORD PTR SS:[EBP-0x48]
FADD QWORD PTR DS:[0x0D254B8]
FSTP DWORD PTR SS:[EBP-0x48]
FLDZ
FSTP DWORD PTR DS:[0x82C6320]
FLDZ
FSTP DWORD PTR DS:[0x82C6324]
FLDZ
FSTP DWORD PTR DS:[0x82C6328]
        JMP BattleGloveProp4_Jump

En battlegloves.h
agrega:
Code: [Select]
static void AddInventoryPos();

en battlegloves.cpp

Code: [Select]
Naked(AddInventoryPos) {
static DWORD IsRFItem = 0;
static DWORD RFPosition = 0x005CD084; // 1.04D ENG
static DWORD NextRFPosition = 0x005CD086; // 1.04D ENG
  //
    _asm {
        mov ecx, dword ptr ss : [ebp + 0x8]
        mov dword ptr ss : [ebp + 0x8], ecx
        mov IsRFItem, ecx
    }

    // ---
    if ( IsRFItem == 0x04B3 ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 41 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 42 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 43 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 46 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 52 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 61 ) ) {
        _asm {jmp RFPosition}
    }
    else {
        _asm {jmp NextRFPosition}
    }
}
Nota en lo de arriba debes poner los ID que usas tu.
Nota2: podes optimizar el codigo usando 1 solo IF que contenga todos los items xD



en el mismo archivo dentro de void InitBattleGloves() agrega:
Code: [Select]
	SetRange ( ( LPVOID ) 0x005CD07D, 7, ASM::NOP );
    SetJmp ( ( LPVOID ) 0x005CD07D, AddInventoryPos );

con eso deberia acomodarse la rotacion del item aunque la posicion seguira desplazada a la derecha.


Offline SaintZeus #5 Posteado: April 25, 2020, 07:12:16 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 482
  • Gracias recibida: 2753
  • ar
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.


para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función
Asi o me falta algo?

Code: [Select]
void __declspec ( naked ) cRFItem::BattleGloveProp4() {
    static DWORD BattleGloveProp4_Return    = 0x005CD454;
    static DWORD BattleGloveProp4_Jump      = 0x005CD491;

static double x = 0.03499999966472387;
    // ----
    _asm {

//////////////////////////////////////////////////////////
///////////////GLOVE 240
//////////////////////////////////////////////////////////
        BattleGloveProp4_Label1:
        // ----
        CMP DWORD PTR SS : [EBP + 0x8], 0x583
        JNZ BattleGloveProp4_Label2
FLD DWORD PTR SS:[EBP-0x4C]
FSUB QWORD PTR DS:[x]//[0x0D27CA8] //prueba
FSTP DWORD PTR SS:[EBP-0x4C]
FLD DWORD PTR SS:[EBP-0x48]
FADD QWORD PTR DS:[0x0D254B8]
FSTP DWORD PTR SS:[EBP-0x48]
FLDZ
FSTP DWORD PTR DS:[0x82C6320]
FLDZ
FSTP DWORD PTR DS:[0x82C6324]
FLDZ
FSTP DWORD PTR DS:[0x82C6328]
        JMP BattleGloveProp4_Jump

En battlegloves.h
agrega:
Code: [Select]
static void AddInventoryPos();

en battlegloves.cpp

Code: [Select]
Naked(AddInventoryPos) {
static DWORD IsRFItem = 0;
static DWORD RFPosition = 0x005CD084; // 1.04D ENG
static DWORD NextRFPosition = 0x005CD086; // 1.04D ENG
  //
    _asm {
        mov ecx, dword ptr ss : [ebp + 0x8]
        mov dword ptr ss : [ebp + 0x8], ecx
        mov IsRFItem, ecx
    }

    // ---
    if ( IsRFItem == 0x04B3 ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 41 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 42 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 43 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 46 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 52 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 61 ) ) {
        _asm {jmp RFPosition}
    }
    else {
        _asm {jmp NextRFPosition}
    }
}
Nota en lo de arriba debes poner los ID que usas tu.
Nota2: podes optimizar el codigo usando 1 solo IF que contenga todos los items xD



en el mismo archivo dentro de void InitBattleGloves() agrega:
Code: [Select]
	SetRange ( ( LPVOID ) 0x005CD07D, 7, ASM::NOP );
    SetJmp ( ( LPVOID ) 0x005CD07D, AddInventoryPos );

con eso deberia acomodarse la rotacion del item aunque la posicion seguira desplazada a la derecha.
La rotacion esa ya la tenia, estoy tratando de arreglar la posicion en inventario y al equiparse pero nada  llorando2


Offline JavixFer #6 Posteado: April 25, 2020, 08:31:28 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 476
  • Gracias recibida: 3975
  • bo
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.


para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función
Asi o me falta algo?

Code: [Select]
void __declspec ( naked ) cRFItem::BattleGloveProp4() {
    static DWORD BattleGloveProp4_Return    = 0x005CD454;
    static DWORD BattleGloveProp4_Jump      = 0x005CD491;

static double x = 0.03499999966472387;
    // ----
    _asm {

//////////////////////////////////////////////////////////
///////////////GLOVE 240
//////////////////////////////////////////////////////////
        BattleGloveProp4_Label1:
        // ----
        CMP DWORD PTR SS : [EBP + 0x8], 0x583
        JNZ BattleGloveProp4_Label2
FLD DWORD PTR SS:[EBP-0x4C]
FSUB QWORD PTR DS:[x]//[0x0D27CA8] //prueba
FSTP DWORD PTR SS:[EBP-0x4C]
FLD DWORD PTR SS:[EBP-0x48]
FADD QWORD PTR DS:[0x0D254B8]
FSTP DWORD PTR SS:[EBP-0x48]
FLDZ
FSTP DWORD PTR DS:[0x82C6320]
FLDZ
FSTP DWORD PTR DS:[0x82C6324]
FLDZ
FSTP DWORD PTR DS:[0x82C6328]
        JMP BattleGloveProp4_Jump

En battlegloves.h
agrega:
Code: [Select]
static void AddInventoryPos();

en battlegloves.cpp

Code: [Select]
Naked(AddInventoryPos) {
static DWORD IsRFItem = 0;
static DWORD RFPosition = 0x005CD084; // 1.04D ENG
static DWORD NextRFPosition = 0x005CD086; // 1.04D ENG
  //
    _asm {
        mov ecx, dword ptr ss : [ebp + 0x8]
        mov dword ptr ss : [ebp + 0x8], ecx
        mov IsRFItem, ecx
    }

    // ---
    if ( IsRFItem == 0x04B3 ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 41 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 42 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 43 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 46 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 52 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 61 ) ) {
        _asm {jmp RFPosition}
    }
    else {
        _asm {jmp NextRFPosition}
    }
}
Nota en lo de arriba debes poner los ID que usas tu.
Nota2: podes optimizar el codigo usando 1 solo IF que contenga todos los items xD



en el mismo archivo dentro de void InitBattleGloves() agrega:
Code: [Select]
	SetRange ( ( LPVOID ) 0x005CD07D, 7, ASM::NOP );
    SetJmp ( ( LPVOID ) 0x005CD07D, AddInventoryPos );

con eso deberia acomodarse la rotacion del item aunque la posicion seguira desplazada a la derecha.
La rotacion esa ya la tenia, estoy tratando de arreglar la posicion en inventario y al equiparse pero nada  llorando2

a mi me quedo volcado, al intentar agregar el AddInventoryPos se vuelve a la pocision donde estaba antes



Offline reveage #7 Posteado: April 25, 2020, 08:44:23 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 64
  • Gracias recibida: 22
  • cl
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.

estas usando itemposition creo. por eso tus items estan un poco a la izquierda

para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función
Asi o me falta algo?

Code: [Select]
void __declspec ( naked ) cRFItem::BattleGloveProp4() {
    static DWORD BattleGloveProp4_Return    = 0x005CD454;
    static DWORD BattleGloveProp4_Jump      = 0x005CD491;

static double x = 0.03499999966472387;
    // ----
    _asm {

//////////////////////////////////////////////////////////
///////////////GLOVE 240
//////////////////////////////////////////////////////////
        BattleGloveProp4_Label1:
        // ----
        CMP DWORD PTR SS : [EBP + 0x8], 0x583
        JNZ BattleGloveProp4_Label2
FLD DWORD PTR SS:[EBP-0x4C]
FSUB QWORD PTR DS:[x]//[0x0D27CA8] //prueba
FSTP DWORD PTR SS:[EBP-0x4C]
FLD DWORD PTR SS:[EBP-0x48]
FADD QWORD PTR DS:[0x0D254B8]
FSTP DWORD PTR SS:[EBP-0x48]
FLDZ
FSTP DWORD PTR DS:[0x82C6320]
FLDZ
FSTP DWORD PTR DS:[0x82C6324]
FLDZ
FSTP DWORD PTR DS:[0x82C6328]
        JMP BattleGloveProp4_Jump

En battlegloves.h
agrega:
Code: [Select]
static void AddInventoryPos();

en battlegloves.cpp

Code: [Select]
Naked(AddInventoryPos) {
static DWORD IsRFItem = 0;
static DWORD RFPosition = 0x005CD084; // 1.04D ENG
static DWORD NextRFPosition = 0x005CD086; // 1.04D ENG
  //
    _asm {
        mov ecx, dword ptr ss : [ebp + 0x8]
        mov dword ptr ss : [ebp + 0x8], ecx
        mov IsRFItem, ecx
    }

    // ---
    if ( IsRFItem == 0x04B3 ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 41 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 42 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 43 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 46 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 52 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 61 ) ) {
        _asm {jmp RFPosition}
    }
    else {
        _asm {jmp NextRFPosition}
    }
}
Nota en lo de arriba debes poner los ID que usas tu.
Nota2: podes optimizar el codigo usando 1 solo IF que contenga todos los items xD



en el mismo archivo dentro de void InitBattleGloves() agrega:
Code: [Select]
	SetRange ( ( LPVOID ) 0x005CD07D, 7, ASM::NOP );
    SetJmp ( ( LPVOID ) 0x005CD07D, AddInventoryPos );

con eso deberia acomodarse la rotacion del item aunque la posicion seguira desplazada a la derecha.
La rotacion esa ya la tenia, estoy tratando de arreglar la posicion en inventario y al equiparse pero nada  llorando2

a mi me quedo volcado, al intentar agregar el AddInventoryPos se vuelve a la pocision donde estaba antes



Offline erickmalfoy #8 Posteado: April 26, 2020, 12:59:19 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 557
  • Gracias recibida: 314
  • ar
que hice mal, copie los sources y agregue al Item genere el getinfo y me sale esto xD

alguien puede hacer una guia un poco mas completa please Gracias :) o cual es mi problema xD

https://prnt.sc/s61wze

O tengo que mover algo en los sources que me esta faltando por ejemplo
cambie el index a 100 pero creo que tengo que ponerlo para los 2 ( L y R ) pero noce donde mover alguien me puede ayudar gracias :)


Offline erickmalfoy #9 Posteado: April 26, 2020, 01:07:59 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 557
  • Gracias recibida: 314
  • ar
los guantes siguen a un lado y no estan centrado en el inventario? no se si yo sea el del problema o por mis bajos conocimientos me debe faltar agregar algo... alguna alma generosa que ayude a corregir ese detalle seria una maravilla.

estas usando itemposition creo. por eso tus items estan un poco a la izquierda

para centrarlo haz esto: declarar una variable static double

Code: [Select]
static double x = 0.03499999966472387;

luego agregarla en nuestra función

Code: [Select]
FSUB QWORD PTR DS:[x]/*0x0D27CA8] //D28D58                     //FLOAT 0.004999999888241291


justo en esa parte, la declaración de la variable debe ser dentro de la función
Asi o me falta algo?

Code: [Select]
void __declspec ( naked ) cRFItem::BattleGloveProp4() {
    static DWORD BattleGloveProp4_Return    = 0x005CD454;
    static DWORD BattleGloveProp4_Jump      = 0x005CD491;

static double x = 0.03499999966472387;
    // ----
    _asm {

//////////////////////////////////////////////////////////
///////////////GLOVE 240
//////////////////////////////////////////////////////////
        BattleGloveProp4_Label1:
        // ----
        CMP DWORD PTR SS : [EBP + 0x8], 0x583
        JNZ BattleGloveProp4_Label2
FLD DWORD PTR SS:[EBP-0x4C]
FSUB QWORD PTR DS:[x]//[0x0D27CA8] //prueba
FSTP DWORD PTR SS:[EBP-0x4C]
FLD DWORD PTR SS:[EBP-0x48]
FADD QWORD PTR DS:[0x0D254B8]
FSTP DWORD PTR SS:[EBP-0x48]
FLDZ
FSTP DWORD PTR DS:[0x82C6320]
FLDZ
FSTP DWORD PTR DS:[0x82C6324]
FLDZ
FSTP DWORD PTR DS:[0x82C6328]
        JMP BattleGloveProp4_Jump

En battlegloves.h
agrega:
Code: [Select]
static void AddInventoryPos();

en battlegloves.cpp

Code: [Select]
Naked(AddInventoryPos) {
static DWORD IsRFItem = 0;
static DWORD RFPosition = 0x005CD084; // 1.04D ENG
static DWORD NextRFPosition = 0x005CD086; // 1.04D ENG
  //
    _asm {
        mov ecx, dword ptr ss : [ebp + 0x8]
        mov dword ptr ss : [ebp + 0x8], ecx
        mov IsRFItem, ecx
    }

    // ---
    if ( IsRFItem == 0x04B3 ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 41 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 42 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 43 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 46 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 52 ) ) {
        _asm {jmp RFPosition}
    }
    else if ( IsRFItem == ITEM2 ( 0, 61 ) ) {
        _asm {jmp RFPosition}
    }
    else {
        _asm {jmp NextRFPosition}
    }
}
Nota en lo de arriba debes poner los ID que usas tu.
Nota2: podes optimizar el codigo usando 1 solo IF que contenga todos los items xD



en el mismo archivo dentro de void InitBattleGloves() agrega:
Code: [Select]
	SetRange ( ( LPVOID ) 0x005CD07D, 7, ASM::NOP );
    SetJmp ( ( LPVOID ) 0x005CD07D, AddInventoryPos );

con eso deberia acomodarse la rotacion del item aunque la posicion seguira desplazada a la derecha.
La rotacion esa ya la tenia, estoy tratando de arreglar la posicion en inventario y al equiparse pero nada  llorando2

a mi me quedo volcado, al intentar agregar el AddInventoryPos se vuelve a la pocision donde estaba antes



Men comparte como lo agregaste en los sources y como lo agregaste al server y donde moviste Gracias :) seria de gran ayuda.


Offline JavixFer #10 Posteado: April 26, 2020, 02:10:09 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 476
  • Gracias recibida: 3975
  • bo
@erickmalfoy men solo es copiar lo necesario de estos codigos pero aun falta corregir la rotacion de los gloves, alli como vez en el equipamiento esta rotado.... aun nos falta algo.


Offline reveage #11 Posteado: April 26, 2020, 03:09:29 AM | Modificado: April 26, 2020, 03:11:46 AM by reveage

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 64
  • Gracias recibida: 22
  • cl
Aqui un fix con trampa diran algunos, es una bmd editada usando el aporte de takumi y sin el Naked(AddInventoryPos) que puse antes.

captura:


bmd modificada:
https://www.mediafire.com/file/k8cd6t7tnd7xjnq/BloodangelClo.bmd/file

si les vale este fix con trampa mañana subo las demas bmd utilizadas en la source.

Edit2: No, no tiene bug de rotacion y tampoco se deforma.

Repito es un fix con trapa no me quemen la casa.


Offline SaintZeus #12 Posteado: April 26, 2020, 05:35:08 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 482
  • Gracias recibida: 2753
  • ar
Aqui un fix con trampa diran algunos, es una bmd editada usando el aporte de takumi y sin el Naked(AddInventoryPos) que puse antes.

captura:


bmd modificada:
https://www.mediafire.com/file/k8cd6t7tnd7xjnq/BloodangelClo.bmd/file

si les vale este fix con trampa mañana subo las demas bmd utilizadas en la source.

Edit2: No, no tiene bug de rotacion y tampoco se deforma.

Repito es un fix con trapa no me quemen la casa.
Tengo 32 claws agregadas xD podes hacer una guia asi voy haciendo todas?


Offline JavixFer #13 Posteado: April 26, 2020, 05:39:28 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 476
  • Gracias recibida: 3975
  • bo
listo!!! despues de varias horas de trabajo logre acomodar los codigos y me dio este resultado magia2

Gracias:


Offline erickmalfoy #14 Posteado: April 26, 2020, 06:15:21 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 557
  • Gracias recibida: 314
  • ar
listo!!! despues de varias horas de trabajo logre acomodar los codigos y me dio este resultado magia2



compartelo El codigo

acomode el codigo pero me sale como espadas los guantes xD noce por que no lo reconose
comparte para ver que estoy haciendo mal.


Offline Nemesis #15 Posteado: April 26, 2020, 08:42:17 AM | Modificado: April 26, 2020, 09:21:28 AM by Nemesis

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Heroe
  • Posts: 170
  • Gracias recibida: 6500
  • ar
Bueno mire esta version de mi mismo codigo, aclaro que es el mismo codigo, solo cambie las funciones de hook porque las que yo utilizaba no daban con el resto de codigo presente en las fuentes de la DLL de cliente de MU EMU, es decir, emersonx13 a diferencia de: GX_KYO, para aquella epoca ya usaba MU EMU como codigo fuente base para su proyecto, en fin. estan correctas correctas en cuanto a la funcion: BattleGloveAssoc en el tema de ir incrementado el numero de los BattleGloves: +1 por cada Guante nuevo agregado.

Estube mirando el codigo principal. y vi que muchos no entendieron algo que es fundamental. tienen que modificar en esta funcion: void __declspec ( naked ) cRFItem::BattleGloveAssoc() el: BattleGlove Number que arranca en: 5 para el primer guante agregado a esta funcion... pero que debe ser incrementado en: +1 cada vez que agregas 1 caso nuevo de: BattleGlove.

la linea vista en asm seria asi: MOV DWORD PTR SS:[EBP-0x4], 5   // -> Battle Glove Number ese ultimo numero 5 lo tienen que ir subiendo cada vez que agregan al codigo 1 nuevo battle glove, vendria a ser como una especie de enumerador para identificar los: L y R por cada modelo central.

tengan esto siempre en cuenta.

Bueno ya que muchos parecen estar utilizando este codigo, habiendo 1 version del mismo como: casi-codigo de C, quiero darles 1 agregado mas que podria ser de utilidad.. ya que como muchos de ustedes saben... las funciones re-escritas del main en Ensamblador en Linea, tienden a volver mas lenta la carga del ejecutable, aunque el codigo este correctamente escrito en cuanto a los registros del informacion: EAX,ECX,EDX,etc.. es muy comun que tu main trabaje de manera distinta, al utilizar una gran cantidad de funciones re-escritas en: ASM, la mejor solucion ademas de los Buffer tipo: DWORD que yo encontre para esto en mis investigaciones a lo largo de todos estos años es utilizar un truco del compilador del IDE de Visual Studio.. es mas o menos asi:

#pragma optimize("t",on)

void __declspec(naked) TUFUNCIONASMENLINEA()
{
  ...
}

#pragma optimize("t",off)

PD: Lean en internet por favor y pruebenlo, el resultado es bastante bueno con solo hacerlo en 1 funcion, dependiendo de como tengas configurado tu proyecto o solucion, esto puede resultar benefico.

PD 2: Fuente Microsoft

LEEAN: https://docs.microsoft.com/en-us/cpp/preprocessor/optimize?view=vs-2019

Gracias:


Offline erickmalfoy #16 Posteado: April 26, 2020, 09:35:32 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 557
  • Gracias recibida: 314
  • ar
Haber logre leer el código puedo agregar mas guantes esta sencillo pero tengo un problema mejor dicho una duda es
Copie los src del main pero no agarran los scr cuando agregó salen como esperada obviamente es 42. 610. 611
Donde lo agrego en el gameserver ? Ese es mi duda alguien me puede decir ?


Offline reveage #17 Posteado: April 26, 2020, 10:18:36 AM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 64
  • Gracias recibida: 22
  • cl
Aqui un fix con trampa diran algunos, es una bmd editada usando el aporte de takumi y sin el Naked(AddInventoryPos) que puse antes.

captura:


bmd modificada:
https://www.mediafire.com/file/k8cd6t7tnd7xjnq/BloodangelClo.bmd/file

si les vale este fix con trampa mañana subo las demas bmd utilizadas en la source.

Edit2: No, no tiene bug de rotacion y tampoco se deforma.

Repito es un fix con trapa no me quemen la casa.
Tengo 32 claws agregadas xD podes hacer una guia asi voy haciendo todas?

-Usa Pentium Tools para convertirlo en formato smd
-Lo abres con Milkshape Usando la opcion "import"-> Halflife SMD
-Pulsa Ctrl + A
-Apreta Rotate en el menu de la derecha y donde sale para poner 3 datos pones "-90.0" "0.0" 0.0" (no usar comillas)y apretas rotate.
- Luego en el mismo menu apretas la opcion move y otras vez en las casillas rellenas con "0.0" "0.0" "-30.0"(no usar comillas)
Exportas el archivo Export-> Half life Smd... y lo vuelves a bmd con Pentium Tools.

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
8 Replies
3330 Views
Last post January 02, 2019, 06:22:32 PM
by djagripnos
14 Replies
5052 Views
Last post April 23, 2020, 04:11:44 AM
by erickmalfoy
1 Replies
1705 Views
Last post October 04, 2019, 04:22:00 AM
by baolove000
1 Replies
1434 Views
Last post March 04, 2020, 03:03:04 PM
by ALCONMU
6 Replies
1197 Views
Last post October 07, 2019, 02:22:57 AM
by baolove000