huythao229
23-06-14, 09:51 PM
Mình thấy bài Effects cho Items này rất là thú vị cho các bạn thích màu mè như mình. Tuy nhiên mình rất cần 1 bản hướng dẫn tiếng việt. Tất nhiên mình biết rất nhiều AE trên clb hiểu và Effects được như bên dưới. Mong AE hãy phát triển nó.
Well, I now have a much better method than this, so I made this for those who want to learn something interesting..
First thing to understand: Formulas for calc "ItemID" and "ObjectID"
for ItemID is: #define (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>) ItemId(x, y) ((x * 512) + y)
Small explain:
x = item type get of your: Item(XXX).txt from server side
y = item index get of your: Item(XXX).txt from server side
512 = is max item index possible on: Item.bmd from client side
For example:
for calculate ItemID for item: "Divine Sword of Archangel" you must apply the Formula
Divine Sword ItemId = 0 * 512 + 19 = 19 (This value must be passed to hexadecimal: 0x13)
then: 0x13 is ItemId for: Divine Sword of Archangel (on any main.exe version more than: 1.01 series)
but, for example for calculate ItemID for: "Wings of Storm" of Blade Master:
Wings of Storm ItemId = 12 * 512 + 36 = 6180 (This value must be passed to hexadecimal: 0x1824)
then: 0x1824 is ItemId for: Wings of Storm (of course than on any main.exe more than: 1.01 series, and in main.exe from versions more old not exists this wings :p)
for ObjectID is: #define (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>) ObjectId(x, y) ((x * 512) + y + ItemArray)
Well is the same.. but have 1 aditional factor: ItemArray?? is very simple to find for any version of main.exe, in my case is: 834 (in decimal value) but in hexadecimal value is: 0x342
Small Guide to find: "ItemArray" in any main.exe (more than: 1.01 series)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Well then to calculate our ObjectID for each case of Item:
for example: Wings of Storm ObjectID = 12 * 512 + 36 + 834 = 7014 (in decimal value but passed to hexadecimal value is: 0x1B66)
then: 0x1B66 is ObjectID for: Wings of Storm in own main.exe version: 1.03.11 JPN :)
with main.exe open in ollydbg -> second click -> search for -> all constants and write: 1B66
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
the function allocated on: 005CFAC0 is the function for identifier: Wings of Storm and Render Sprites and Effects on this..
Well here a Individual part of code for understand..
void __declspec(naked) WingsOfStormEffect(){
_asm
{
MOV EAX, DWORD PTR SS:[EBP+0x0C]
MOV dwItem, EAX
CMP dwItem,ObjectId(12,36) //Original case for Wings of Storm item
JE Return
Return:
MOV ECX,0x005CFAC7
JMP ECX
}
}
then.. If you add your own item to this Assembler Inline function re-writed of 1 asm Line of main.exe, and you put on your added item like: .smd the same count of Bones or Nodes, and convert to: .bmd, put on your client folder ussually: "Data/Item", and hook your compiled: Nemesis.dll to your: 1.03k JPN main.exe, you can see something like this:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Download FULL SOURCE CODE (100% FIXED NOT EXTRANGE CRASHS):
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>!WJYgxIZJ!-kF7XkI0DqxghtJbjhW_38EoPNjhS3dzix-Mt48uRoE
PS 1 :
Sorry for put the same effect on this Staff you must add your item case ObjectID in: WingsOfIllusion Inline function of my code and usage this model: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>!fMhi1BJR!pnDeI6Ju53lsDBCyDU5nSPl1vWZKdVoKWzbzdfb HJfg
PS 2 :
For create your own items using this method of: "COPY" of original Wings 3 Effects every one of your added models .bmd must have exactly the same: counts of: Bones or Nodes, than original Wings Models effect, because main.exe get bone positions for calculate the effect lights positions.
Example with: Staff of Angel .smd:
version 1
nodes
0 "Box01" -1
1 "Bone01" 0
2 "Bone02" 1
3 "Bone03" 2
4 "Bone35" 2
5 "Bone34" 2
6 "Bone33" 2
7 "Bone32" 2
8 "Bone31" 2
9 "Bone36" 1
10 "Bone04" 1
11 "Bone05" 10
12 "Bone06" 11
13 "Bone37" 11
14 "Bone38" 1
15 "Bone07" 0
16 "Bone08" 15
17 "Bone09" 16
18 "Bone40" 16
19 "Bone39" 15
20 "Bone51" 0
21 "Bone52" 20
22 "Bone53" 21
23 "Bone43" 21
24 "Bone42" 21
25 "Bone41" 21
26 "Bone45" 21
27 "Bone44" 21
28 "Bone54" 20
29 "Bone55" 28
30 "Bone56" 29
31 "Bone47" 29
32 "Bone46" 20
33 "Bone48" 20
34 "Bone57" 0
35 "Bone58" 34
36 "Bone59" 35
37 "Bone50" 35
38 "Bone49" 34
end
skeleton
time 0
0 0.000000 -100.000000 -0.333302 1.570796 -0.000000 0.000000
1 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
2 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
3 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
4 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
5 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
6 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
7 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
8 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
9 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
10 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
11 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
12 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
13 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
14 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
15 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
16 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
17 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
18 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
19 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
20 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
21 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
22 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
23 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
24 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
25 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
26 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
27 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
28 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
29 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
30 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
31 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
32 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
33 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
34 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
35 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
36 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
37 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
38 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
end
38 is Bone count on: Wings of Illusion original one item than get this effects. :):
Credits for this: ONLY FOR ME (I create this method, like 1 easy way to render cool lights on Items)
And this is like Small Guide for noobs, because people with more knowledge, they may think that this is a silly method, but silly.. or not silly, this method works.
Well, I now have a much better method than this, so I made this for those who want to learn something interesting..
First thing to understand: Formulas for calc "ItemID" and "ObjectID"
for ItemID is: #define (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>) ItemId(x, y) ((x * 512) + y)
Small explain:
x = item type get of your: Item(XXX).txt from server side
y = item index get of your: Item(XXX).txt from server side
512 = is max item index possible on: Item.bmd from client side
For example:
for calculate ItemID for item: "Divine Sword of Archangel" you must apply the Formula
Divine Sword ItemId = 0 * 512 + 19 = 19 (This value must be passed to hexadecimal: 0x13)
then: 0x13 is ItemId for: Divine Sword of Archangel (on any main.exe version more than: 1.01 series)
but, for example for calculate ItemID for: "Wings of Storm" of Blade Master:
Wings of Storm ItemId = 12 * 512 + 36 = 6180 (This value must be passed to hexadecimal: 0x1824)
then: 0x1824 is ItemId for: Wings of Storm (of course than on any main.exe more than: 1.01 series, and in main.exe from versions more old not exists this wings :p)
for ObjectID is: #define (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>) ObjectId(x, y) ((x * 512) + y + ItemArray)
Well is the same.. but have 1 aditional factor: ItemArray?? is very simple to find for any version of main.exe, in my case is: 834 (in decimal value) but in hexadecimal value is: 0x342
Small Guide to find: "ItemArray" in any main.exe (more than: 1.01 series)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Well then to calculate our ObjectID for each case of Item:
for example: Wings of Storm ObjectID = 12 * 512 + 36 + 834 = 7014 (in decimal value but passed to hexadecimal value is: 0x1B66)
then: 0x1B66 is ObjectID for: Wings of Storm in own main.exe version: 1.03.11 JPN :)
with main.exe open in ollydbg -> second click -> search for -> all constants and write: 1B66
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
the function allocated on: 005CFAC0 is the function for identifier: Wings of Storm and Render Sprites and Effects on this..
Well here a Individual part of code for understand..
void __declspec(naked) WingsOfStormEffect(){
_asm
{
MOV EAX, DWORD PTR SS:[EBP+0x0C]
MOV dwItem, EAX
CMP dwItem,ObjectId(12,36) //Original case for Wings of Storm item
JE Return
Return:
MOV ECX,0x005CFAC7
JMP ECX
}
}
then.. If you add your own item to this Assembler Inline function re-writed of 1 asm Line of main.exe, and you put on your added item like: .smd the same count of Bones or Nodes, and convert to: .bmd, put on your client folder ussually: "Data/Item", and hook your compiled: Nemesis.dll to your: 1.03k JPN main.exe, you can see something like this:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Download FULL SOURCE CODE (100% FIXED NOT EXTRANGE CRASHS):
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>!WJYgxIZJ!-kF7XkI0DqxghtJbjhW_38EoPNjhS3dzix-Mt48uRoE
PS 1 :
Sorry for put the same effect on this Staff you must add your item case ObjectID in: WingsOfIllusion Inline function of my code and usage this model: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>!fMhi1BJR!pnDeI6Ju53lsDBCyDU5nSPl1vWZKdVoKWzbzdfb HJfg
PS 2 :
For create your own items using this method of: "COPY" of original Wings 3 Effects every one of your added models .bmd must have exactly the same: counts of: Bones or Nodes, than original Wings Models effect, because main.exe get bone positions for calculate the effect lights positions.
Example with: Staff of Angel .smd:
version 1
nodes
0 "Box01" -1
1 "Bone01" 0
2 "Bone02" 1
3 "Bone03" 2
4 "Bone35" 2
5 "Bone34" 2
6 "Bone33" 2
7 "Bone32" 2
8 "Bone31" 2
9 "Bone36" 1
10 "Bone04" 1
11 "Bone05" 10
12 "Bone06" 11
13 "Bone37" 11
14 "Bone38" 1
15 "Bone07" 0
16 "Bone08" 15
17 "Bone09" 16
18 "Bone40" 16
19 "Bone39" 15
20 "Bone51" 0
21 "Bone52" 20
22 "Bone53" 21
23 "Bone43" 21
24 "Bone42" 21
25 "Bone41" 21
26 "Bone45" 21
27 "Bone44" 21
28 "Bone54" 20
29 "Bone55" 28
30 "Bone56" 29
31 "Bone47" 29
32 "Bone46" 20
33 "Bone48" 20
34 "Bone57" 0
35 "Bone58" 34
36 "Bone59" 35
37 "Bone50" 35
38 "Bone49" 34
end
skeleton
time 0
0 0.000000 -100.000000 -0.333302 1.570796 -0.000000 0.000000
1 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
2 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
3 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
4 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
5 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
6 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
7 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
8 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
9 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
10 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
11 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
12 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
13 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
14 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
15 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
16 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
17 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
18 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
19 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
20 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
21 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
22 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
23 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
24 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
25 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
26 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
27 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
28 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
29 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
30 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
31 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
32 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
33 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
34 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
35 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
36 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
37 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
38 0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000
end
38 is Bone count on: Wings of Illusion original one item than get this effects. :):
Credits for this: ONLY FOR ME (I create this method, like 1 easy way to render cool lights on Items)
And this is like Small Guide for noobs, because people with more knowledge, they may think that this is a silly method, but silly.. or not silly, this method works.