Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Development] Item Smoke Effect

Newbie Spellweaver
Joined
Jan 13, 2010
Messages
98
Reaction score
118


Nothing complicated and beyond the natural, so I think that it can make each.
How I have done it all? Well to begin with what we already know that such an effect exist in the game under certain conditions and for certain item in it's entirety.
(Dark Knight Set, Venom Set), etc. The level of these items shall be not less than 10 to activate effect. So let's try to find one of these item.
But there is one but, for a start we need to find a so-called ItemId (Start Id for loading swords)

Open OllyDbg and debug main.exe.
Analysis of the PE is completed? Ok let's do...

1) CTRL + G -> Set the start address of the PE -> 00401000 -> Proceed at
2) Push Right Click -> Search for -> All referenced text strings
3) Push Right Click -> Search for text -> (Set up a tick Entire scope and remove from the Case sensitive) and look for the text -> "Sword".

Found? Hit Enter...

Code:
0060FAE8  |> /8B45 E0	   /MOV EAX,DWORD PTR SS:[EBP-20]
0060FAEB  |. |83C0 01	   |ADD EAX,1
0060FAEE  |. |8945 E0	   |MOV DWORD PTR SS:[EBP-20],EAX
0060FAF1  |> |837D E0 11	 CMP DWORD PTR SS:[EBP-20],11
0060FAF5  |. |7D 25		 |JGE SHORT main.0060FB1C
0060FAF7  |. |8B4D E0	   |MOV ECX,DWORD PTR SS:[EBP-20]
0060FAFA  |. |83C1 01	   |ADD ECX,1
0060FAFD  |. |51			|PUSH ECX							; /Arg4
0060FAFE  |. |68 58219200   |PUSH main.00922158			; |Arg3 = 00922158 ASCII "Sword"
0060FB03  |. |68 60219200   |PUSH main.00922160			; |Arg2 = 00922160 ASCII "Data\Item\"
0060FB08  |. |8B55 E0	   |MOV EDX,DWORD PTR SS:[EBP-20]	; |
0060FB0B  |. |81C2 47040000 |ADD EDX,447				; |
0060FB11  |. |52			|PUSH EDX							; |Arg1
0060FB12  |. |E8 7CDBFFFF   |CALL main.0060D693			; \main.0060D693
0060FB17  |. |83C4 10	   |ADD ESP,10
0060FB1A  |.^\EB CC		 \JMP SHORT main.0060FAE8

All what you need here is Add Edx, 447. -> This number 447
Now to find what kind of thing, use the following formula.

*Do not forget that the number 447 in hexadecimal format
Code:
(ItemType * 512 + ItemIndex) + ItemId

Now we can find an item, that we now do.
A small hint, we will look for the following boots because a little bit down code is responsible for the color of the smoke.
Boots are in the 11th group, and let us take for example Boots Dark Knight whose sequence number is 29.
We recall the formula... (11 * 512 + 29) -> translate the result in 16 hexadecimal number system and add to the number 447
What happened? That's right -> 1A64 this number and we will look for.
Press Right Click -> Search for -> All constants -> Write 1A64 and click Ok. (The first comparison is that you need to CMP EAX, 1A64).
Hmmm, here they are boots. And here he is in fact a segment that allows to activate the smoke effect.

Code:
0052B0AE  |> \8B55 08	   MOV EDX,DWORD PTR SS:[EBP+8]
0052B0B1	  0FBF82 680100>MOVSX EAX,WORD PTR DS:[EDX+168]
0052B0B8	  3D 641A0000   CMP EAX,1A64
0052B0BD	  7C 12		 JL SHORT main.0052B0D1
0052B0BF  |.  8B4D 08	   MOV ECX,DWORD PTR SS:[EBP+8]
0052B0C2  |.  0FBF91 680100>MOVSX EDX,WORD PTR DS:[ECX+168]
0052B0C9	  81FA 681A0000 CMP EDX,1A68
0052B0CF  |.  7E 16		 JLE SHORT main.0052B0E7
0052B0D1  |>  8B45 08	   MOV EAX,DWORD PTR SS:[EBP+8]
0052B0D4  |.  0FBF88 680100>MOVSX ECX,WORD PTR DS:[EAX+168]
0052B0DB	  81F9 721A0000 CMP ECX,1A72
0052B0E1  |.  0F85 F9080000 JNZ main.0052B9E0

In my source code you will notice that I erased the check to the address 0052B0DB (CMP ECX, 1A72) and added to their checks, plus you can do the same, or overwrite the above, actually as you want.
And just a little below you can see a bit of code that is responsible for the color of smoke, so what do we do?
So here we add the check to the thing in order to be able to paint smoke in a different color, and of course choose a color for the smoke in the RGB color scheme.

Code:
0052B122	  3D 641A0000   CMP EAX,1A64
0052B127  |.  75 27		 JNZ SHORT main.0052B150
0052B129  |.  8B4D 0C	   MOV ECX,DWORD PTR SS:[EBP+C]
0052B12C	  C781 9C000000>MOV DWORD PTR DS:[ECX+9C],3F266666
0052B136  |.  8B55 0C	   MOV EDX,DWORD PTR SS:[EBP+C]
0052B139	  C782 A0000000>MOV DWORD PTR DS:[EDX+A0],3E99999A
0052B143  |.  8B45 0C	   MOV EAX,DWORD PTR SS:[EBP+C]
0052B146  |.  C780 A4000000>MOV DWORD PTR DS:[EAX+A4],3DCCCCCD

Here, you can generate a color:
Here, you can convert a floating point number in a 16-decimal number:

Source Code.




Version of Main 1.3.28.0 (Eng).
или

Credits.
Brain aka Mr.Kernighan

Sorry for my bad english (Google Translate Helper) :)
 
Last edited:
Nothing Better
Joined
Jul 3, 2008
Messages
551
Reaction score
92
very cool
but i need more guide (ex: clip) :D
 
Experienced Elementalist
Joined
Sep 20, 2011
Messages
243
Reaction score
172
Very nice idea.
now i understand why your nick name is Brain :tongue:
I just suggets to do it when you doing any heal skill
then the charcter got the ligth on all his body wings and boots too :p:
But it is only my suggestion.
Good Luck.
 
Nothing Better
Joined
Jul 3, 2008
Messages
551
Reaction score
92
how can add any colour smoke ? i think every set should have every color smoke =]]

please get the video for guiding.... please.
 
Nothing Better
Joined
Jul 3, 2008
Messages
551
Reaction score
92
this source causes crash with minimap :))
is it true own thread ?
 
Joined
Oct 29, 2007
Messages
1,267
Reaction score
1,284
I'm working for this on: 1.04d GMO Main - Season 6 Episode 3, the main.exe assembly struct showed with olly... it's different but I can understand...

Other effects like: Flamberge different's Shine... Can be modified using.. the same source with some small modification's for put this effect's in others added items.
 
Experienced Elementalist
Joined
Oct 31, 2006
Messages
282
Reaction score
82
main 1.04D GMO offsets correct mauro07?

#define HDK_SET_ITEM_EFFECT 0x0057AD82
#define HDK_SET_COLOR_EFFECT 0x0057ADC8
#define HDK_ITEM_EFFECT_ALLOW 0x0057AD8D
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x0057B73B
#define HDK_NEXT_ITEM_COLOR 0x0057ADFD


Credits : OMEGA_ADM no finished
 
Newbie Spellweaver
Joined
Feb 5, 2008
Messages
51
Reaction score
0
main 1.03K

#define HDK_SET_ITEM_EFFECT 0x004F9F93
#define HDK_SET_COLOR_EFFECT 0x004F9FDA
#define HDK_ITEM_EFFECT_ALLOW 0x004F9F9F
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x004FA63E
#define HDK_NEXT_ITEM_COLOR 0x004FA009

no finished
 
Back
Top