Autor Topic: Item Description main 1.05D  (Visto 779 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline DeilanSasame on: November 17, 2017, 03:22:12 PM

  • *
  • Rank: Puto amo
  • Posts: 293
  • Gracias recibida: 425
Bueno aqui les dejo el codigo para Poner Descripcion a X Item



si quieren agregar mas , es Copiar las misma lineas
y cambiar el numero de return

si el primer item tiene return1,
el segundo return2
y asi susecibamente

Video Explicacion:

« Ultima edicion: November 17, 2017, 04:47:42 PM by DeilanSasame »

Offline DeilanSasame #1 on: November 17, 2017, 04:48:34 PM

  • *
  • Rank: Puto amo
  • Posts: 293
  • Gracias recibida: 425

Gracias:


Offline laulinh2 #2 on: November 24, 2017, 04:41:50 AM

  • *
  • Rank: Principiante
  • Posts: 1
  • Gracias recibida: 0
please share source change color Name in main 1.05D

Offline Nemesis #3 on: December 08, 2017, 09:03:10 PM

  • C++ Coder
  • *
  • *
  • Rank: Dedicado
  • Posts: 31
  • Gracias recibida: 569
Bueno mis feliciitaciones a Deilan antes que todo, se nota man que le estas metiendo duro y parejo al tema del desarrollo. Te comento sencillamente vi tu metodo y aunque me trae muy lindos y viejos recuerdos de cuando re-programaba practicamente todos mis codigos utilizando una variacion de C++ con la convencion de llamada: __declspec(naked), vi potenciales fallas en tu codigo y me voy a permitir darte un par de sugerencias, como para que no tengas extraño crashs o bien bugs producto de una mala re-direccion de la memoria del main, primero que todo, los registros de informacion: EAX,EBX,ECX,EDX,EDI,ESI.... se que seguramente no viste esto que voy a explicarte en ningun lado, a mi sencillamente me lo explico hace muchos años atras pinkof, y ahora quiero tratar de explicartelo:

Cuando tengas un codigo en el cual tenes o bien un: CALL o bien un JMP, JMP SHORT, etc, no necesitas hacer esto:

MOV EAX,0x00XXXXXX
JMP EAX

o Esto:

MOV ESI,0x00XXXXXX
CALL ESI

lo podes hacer asi tambien (y de hecho es muy recomendable que lo hagas):

CALL dwBuffer_Call

de donde: "dwBuffer_Call" seria (fuera de lo que es el bloque ensamblador), esto:

DWORD dwBuffer_Call = 0x00XXXXXX;

Me explico ? lo mismo se puede utilizar para los Saltos, Saltos con condicionales, etc.

Saludos Espero te sirva.

PD: Aca abajo te dejo un Ejemplo con el codigo que posteaste, te invito a que pruebes. recorda que si vas a definir por asi decirlo el Buffer tipo DWORD dentro de la funcion y no fuera, es importante setearlo como: "static", para que no te toque el Stack.

Code: [Select]
#include "stdafx.h"
#include "Util.h"
#include "Description.h"


// Text
char * JewelOfLevel = "Jewel used to Climb Level 0 - 15 in all Items";


// Code
void __declspec(naked) DescriptionLevel()
{
static DWORD dwCall = 0x007DF818;
static DWORD dwJump = 0x00589A68;
// ----
_asm
{
        CMP WORD PTR SS:[EDI],ITEMGET(14,200); //Index item
        JNZ Return
LEA EAX,DWORD PTR DS:[EAX+EAX*4]
        PUSH JewelOfLevel                      // char text
        LEA EDX,DWORD PTR DS:[EAX+EAX*4]
        LEA EAX,DWORD PTR DS:[EDX*4+0x7B22A50]
        PUSH EAX
        CALL dwCall
        MOV EAX,DWORD PTR DS:[0x7B553F4]
        ADD ESP,8
        MOV DWORD PTR DS:[EAX*4+0x7B23BB4],0x08 //cor
        MOV DWORD PTR DS:[EAX*4+0x7B52C30],0x01 //borda
        INC EAX
        MOV DWORD PTR DS:[0x7B553F4],EAX
        JMP Return
// ----
Return:
// ----
JMP dwJump
}


void DescriptionInit()
{
SetCompleteHook(0xE9,0x00589A1D,(DWORD)&DescriptionLevel);
}
« Ultima edicion: December 08, 2017, 09:08:54 PM by Nemesis »

Offline spixder #4 on: December 08, 2017, 09:30:53 PM

  • *
  • Rank: Usuario activo
  • Posts: 74
  • Gracias recibida: 82
valla par de extraterrestres los admiro, muy buenos trabajos se mandan man son unos crack

Offline n0tee #5 on: December 09, 2017, 03:09:13 PM

  • *
  • Rank: Principiante
  • Posts: 2
  • Gracias recibida: 0
Hola Nemesis, ya que comentas estos temas de esta sección, me gustaría pedirte si podrías liberar tu Item Description; ya que, nos gustaría ver tu manera de hacerlo y la manera en cómo haces para que cuando agregues el custom item automáticamente tenga el title. Es una simple petición, puedes negarte y no habría problema pero creo que no es algo del más allá que te pueda perjudicar en tus trabajos porque eso es sólo una mínima cosa de las que has hecho en tu trayectoria con MU Online.

Offline Nemesis #6 on: December 09, 2017, 07:29:01 PM

  • C++ Coder
  • *
  • *
  • Rank: Dedicado
  • Posts: 31
  • Gracias recibida: 569
Bueno voy a ver, lo que sucede es que mi código (el mas actual que tengo), funciona tomando la información de descripción del item vía: Script y con un Encoding que vendría a ser una encriptacion generada por mi. Para lo cual, debería también proporcionarles las fuentes de la herramienta: "Encoder.exe" con la que es posible generar dicha encriptacion desde los archivos .txt, y la verdad no estoy muy seguro de querer compartir todo ese código todavía xD

Offline dedicadobk #7 on: July 08, 2018, 11:03:48 PM

  • *
  • Rank: Principiante
  • Posts: 7
  • Gracias recibida: 0
does it work on version 97d + 99i?

 

Related Topics

  Subject / Started by Replies Last post
4 Replies
1979 Views
Last post June 30, 2017, 02:53:32 PM
by delmin
2 Replies
567 Views
Last post December 20, 2016, 02:52:13 AM
by malbacino
0 Replies
573 Views
Last post July 11, 2017, 10:33:35 AM
by Dann
4 Replies
259 Views
Last post November 06, 2017, 09:04:55 PM
by dreams
4 Replies
770 Views
Last post January 26, 2018, 04:01:54 PM
by -𝐑𝐀𝐒𝐓𝐀𝐀👽