[Help] Aloken Spear/Guardarm Bug

11/21/2012 17:55 HellSpider#1
Hi.

I'm wondering if anyone have any idea which file(s) control inventory equipment slot attributes.

The bug I'm facing is that I can equip 2 Aloken spears or 2 guardarms at the same time. The second one doesn't change stats, so no problems with that, but it's annoying nevertheless.


[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]


Anyone?


.
11/21/2012 18:53 conquer93#2
i dont know but i got the same prob on seguriper he can wear 2 scythes
11/21/2012 19:02 HellSpider#3
Quote:
Originally Posted by conquer93 View Post
i dont know but i got the same prob on seguriper he can wear 2 scythes
Seems like I got that problem too, didn't even notice. :)
11/22/2012 00:03 SkadadIller#4
This is a exe problem, you have missed one weapon control. I will check my notes when I get home on friday or saturday, and see if I have that written down.
11/22/2012 16:33 HellSpider#5
Found it after SkadadIller told me I had missed something. Checked extra carefully and it turned out I didn't miss it, I just had edited it half-assed.



SOLUTION - PROCEDURE AT ADDRESS 00648210 IN DEKARON.EXE


[Only registered and activated users can see links. Click Here To Register...]


The picture is not the edited one!

This procedure is basically a switch case, which has 2 arguments. Both are weapon slot items. This procedure is called only when you try to equip stuff so that you have both weapon slots filled.

Return values:

AL = 1 means equip
AL = 0 means don't equip

Anyway:

cmp eax,14 = amount of cases to handle = weapon amount = 1B for all current chars (11 chars)

Cases you need to add:

CASE 415 (GUARDARM):

cmp dword ptr ss:[esp+8],416
sete al
retn 8

CASE 416 (ALOKEN_SPEAR):

cmp dword ptr ss:[esp+8],415
sete al
retn 8

Other new cases must return zero in AL (no dual equip possibility).
11/22/2012 18:55 Hesorio1u#6
can someone send me link in box? for new exe fixed ?... :)
11/22/2012 18:59 Trac3r#7
He gave a solution on how you can add it. I doubt personally anyone would make the exe for anyone.

HellSpider
Nice (:

Btw could you help me on making more items socketable?
Like I want to make Pants also socketable and such (:
11/22/2012 19:05 Decima#8
he has a point man, u come on here boasting about how you got new classes and all this crap back a month or so ago every time someone tried to tell you something, now ur on here trying to get someone to hand you the finished work ffs, all the info you need to do it urself is right there, after how smart and knowledgeable you made urself out to be when u first started posting here, u shouldnt even have to ask for anything much less when its laid out right in from of you for you to do it urself.

and the socketing on the other items is pretty simple once you know what u are looking at, there is a proc that has all the parts in iot EXCEPT pants and boots, take another look thru and see if u can find it, ur prolly gonna kick urself in the ass once you notice it, u prolly read right over it a few times and didnt even realize it ;)

gl
11/22/2012 19:24 Trac3r#9
Most likely xD well I will go over it again and see if it now comes in my eyes xD
Ty Decima
11/23/2012 17:25 conquer93#10
Quote:
Originally Posted by Trac3r View Post
He gave a solution on how you can add it. I doubt personally anyone would make the exe for anyone.

HellSpider
Nice (:

Btw could you help me on making more items socketable?
Like I want to make Pants also socketable and such (:
uh thats itemarmor.csv!

Example ! Slotable armor

201,Valor Armor,0,5,1,0,1282,27,1000-0000-0000-0000-0000-0000-0000-0000,1500,0,1,5,39,2,2,0,0,1,1,0,0,15,35,50,3,2,1, 540,1,1,0,0,0,5,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2032,2032,2033, 2033,2035,2035,0,0,0,0,0,10,10,0,0,0,0,0,0,0,12001 ,0,0,1,0,0

Example ! Pants

10008,Valor Pants +8,0,5,2,0,1282,27,1000-0000-0000-0000-0000-0000-0000-0000,1500,0,1,2,18,2,2,0,0,1,1,0,0,15,35,50,3,2,1, 8,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2002,2002,2003, 2003,2005,2005,8,0,0,0,0,47,47,0,0,0,0,0,0,10007,1 0009,0,0,1,0,0

Add the 5,1,1,1 to all pants/boots/gloves u want to add socket on and ther u go u can now socket ur pants bots gloves :D
11/23/2012 17:30 SkadadIller#11
okey you fixed it anyway :)
Gj :)
11/23/2012 19:20 kokamentos#12
HellSpider you can help me fix class not show?

1 - 9 ,0A,0B Class Can Show !

but class 0C,0D class not show.I don't know where proplem. :( I think some offset specified how many lines are read.

this my ASM

PHP Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
0099B499  
/$  B8 209AAD00   MOV EAX,OFFSET 00AD9A20                  ASCII "ALO"
0099B49E  |.  80FA 06       CMP DL,6
0099B4A1  
|.  74 31         JE SHORT 0099B4D4
0099B4A3  
|.  B8 2C9AAD00   MOV EAX,OFFSET 00AD9A2C                  ASCII "BWZ"
0099B4A8  |.  80FA 09       CMP DL,9
0099B4AB  
|.  74 27         JE SHORT 0099B4D4
0099B4AD  
|.  B8 249AAD00   MOV EAX,OFFSET 00AD9A24                  ASCII "WSU"
0099B4B2  |.  80FA 0A       CMP DL,0A
0099B4B5  
|.  74 1D         JE SHORT 0099B4D4
0099B4B7  
|.  B8 289AAD00   MOV EAX,OFFSET 00AD9A28                  ASCII "MSE"
0099B4BC  |.  80FA 0B       CMP DL,0B
0099B4BF  
|.  74 13         JE SHORT 0099B4D4
0099B4C1  
|.  B8 309AAD00   MOV EAX,OFFSET 00AD9A30                  ASCII "HWA"
0099B4C6  |.  80FA 0C       CMP DL,0C
0099B4C9  
|.  90            NOP
0099B4CA  
|.  90            NOP
0099B4CB  
|.  74 07         JE SHORT 0099B4D4
0099B4CD  
|.  8B0495 94CEAD MOV EAX,DWORD PTR DS:[EDX*4+0ADCE94]     ; PTR to ASCII "SWD"
0099B4D4  \>  C3            RETN 
and this is my default.txt
PHP Code:
[SWD_HEL]
game_mesh    "Item\Armor\Helmet\SWD_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\SWD_EQU_HEL_00.tpack"
[/SWD_HEL]

[
SWD_COT]
game_mesh    "Item\Armor\Coat\SWD_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\SWD_EQU_COT_00.tpack"
[/SWD_COT]

[
SWD_PAT]
game_mesh    "Item\Armor\Pants\SWD_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\SWD_EQU_PAT_00.tpack"
[/SWD_PAT]

[
SWD_BOT]
game_mesh    "Item\Armor\Boots\SWD_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\SWD_EQU_BOT_00.tpack"
[/SWD_BOT]

[
SWD_GLV]
game_mesh    "Item\Armor\Glove\SWD_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\SWD_EQU_GLV_00.tpack"
[/SWD_GLV]

// Archeress

[ARC_HEL]
game_mesh    "Item\Armor\Helmet\ARC_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\ARC_EQU_HEL_00.tpack"
[/ARC_HEL]

[
ARC_COT]
game_mesh    "Item\Armor\Coat\ARC_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\ARC_EQU_COT_00.tpack"
[/ARC_COT]

[
ARC_PAT]
game_mesh    "Item\Armor\Pants\ARC_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\ARC_EQU_PAT_00.tpack"
[/ARC_PAT]

[
ARC_BOT]
game_mesh    "Item\Armor\Boots\ARC_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\ARC_EQU_BOT_00.tpack"
[/ARC_BOT]

[
ARC_GLV]
game_mesh    "Item\Armor\Glove\ARC_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\ARC_EQU_GLV_00.tpack"
[/ARC_GLV]

// Sorceress

[SOR_HEL]
game_mesh    "Item\Armor\Helmet\SOR_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\SOR_EQU_HEL_00.tpack"
[/SOR_HEL]

[
SOR_COT]
game_mesh    "Item\Armor\Coat\SOR_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\SOR_EQU_COT_00.tpack"
[/SOR_COT]

[
SOR_PAT]
game_mesh    "Item\Armor\Pants\SOR_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\SOR_EQU_PAT_00.tpack"
[/SOR_PAT]

[
SOR_BOT]
game_mesh    "Item\Armor\Boots\SOR_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\SOR_EQU_BOT_00.tpack"
[/SOR_BOT]

[
SOR_GLV]
game_mesh    "Item\Armor\Glove\SOR_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\SOR_EQU_GLV_00.tpack"
[/SOR_GLV]

// Summoner

[SUM_HEL]
game_mesh    "Item\Armor\Helmet\SUM_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\SUM_EQU_HEL_00.tpack"
[/SUM_HEL]

[
SUM_COT]
game_mesh    "Item\Armor\Coat\SUM_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\SUM_EQU_COT_00.tpack"
[/SUM_COT]

[
SUM_PAT]
game_mesh    "Item\Armor\Pants\SUM_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\SUM_EQU_PAT_00.tpack"
[/SUM_PAT]

[
SUM_BOT]
game_mesh    "Item\Armor\Boots\SUM_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\SUM_EQU_BOT_00.tpack"
[/SUM_BOT]

[
SUM_GLV]
game_mesh    "Item\Armor\Glove\SUM_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\SUM_EQU_GLV_00.tpack"
[/SUM_GLV]

// Healer

[HIL_HEL]
game_mesh    "Item\Armor\Helmet\HIL_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\HIL_EQU_HEL_00.tpack"
[/HIL_HEL]

[
HIL_COT]
game_mesh    "Item\Armor\Coat\HIL_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\HIL_EQU_COT_00.tpack"
[/HIL_COT]

[
HIL_PAT]
game_mesh    "Item\Armor\Pants\HIL_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\HIL_EQU_PAT_00.tpack"
[/HIL_PAT]

[
HIL_BOT]
game_mesh    "Item\Armor\Boots\HIL_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\HIL_EQU_BOT_00.tpack"
[/HIL_BOT]

[
HIL_GLV]
game_mesh    "Item\Armor\Glove\HIL_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\HIL_EQU_GLV_00.tpack"
[/HIL_GLV]

// Warrior

[WAR_HEL]
game_mesh    "Item\Armor\Helmet\WAR_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\WAR_EQU_HEL_00.tpack"
[/WAR_HEL]

[
WAR_COT]
game_mesh    "Item\Armor\Coat\WAR_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\WAR_EQU_COT_00.tpack"
[/WAR_COT]

[
WAR_PAT]
game_mesh    "Item\Armor\Pants\WAR_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\WAR_EQU_PAT_00.tpack"
[/WAR_PAT]

[
WAR_BOT]
game_mesh    "Item\Armor\Boots\WAR_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\WAR_EQU_BOT_00.tpack"
[/WAR_BOT]

[
WAR_GLV]
game_mesh    "Item\Armor\Glove\WAR_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\WAR_EQU_GLV_00.tpack"
[/WAR_GLV]

// Alloken

[ALO_HEL]
game_mesh    "Item\Armor\Helmet\ALO_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\ALO_EQU_HEL_00.tpack"
[/ALO_HEL]

[
ALO_COT]
game_mesh    "Item\Armor\Coat\ALO_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\ALO_EQU_COT_00.tpack"
[/ALO_COT]

[
ALO_PAT]
game_mesh    "Item\Armor\Pants\ALO_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\ALO_EQU_PAT_00.tpack"
[/ALO_PAT]

[
ALO_BOT]
game_mesh    "Item\Armor\Boots\ALO_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\ALO_EQU_BOT_00.tpack"
[/ALO_BOT]

[
ALO_GLV]
game_mesh    "Item\Armor\Glove\ALO_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\ALO_EQU_GLV_00.tpack"
[/ALO_GLV]


// BlackWizard

[BWZ_HEL]
game_mesh    "Item\Armor\Helmet\BWZ_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\BWZ_EQU_HEL_00.tpack"
[/BWZ_HEL]

[
BWZ_COT]
game_mesh    "Item\Armor\Coat\BWZ_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\BWZ_EQU_COT_00.tpack"
[/BWZ_COT]

[
BWZ_PAT]
game_mesh    "Item\Armor\Pants\BWZ_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\BWZ_EQU_PAT_00.tpack"
[/BWZ_PAT]

[
BWZ_BOT]
game_mesh    "Item\Armor\Boots\BWZ_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\BWZ_EQU_BOT_00.tpack"
[/BWZ_BOT]

[
BWZ_GLV]
game_mesh    "Item\Armor\Glove\BWZ_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\BWZ_EQU_GLV_00.tpack"
[/BWZ_GLV]


// CONCERRA_SUMMONER
[WSU_HEL]
game_mesh    "Item\Armor\Helmet\WSU_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\WSU_EQU_HEL_00.tpack"
[/WSU_HEL]

[
WSU_COT]
game_mesh    "Item\Armor\Coat\WSU_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\WSU_EQU_COT_00.tpack"
[/WSU_COT]

[
WSU_PAT]
game_mesh    "Item\Armor\Pants\WSU_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\WSU_EQU_PAT_00.tpack"
[/WSU_PAT]

[
WSU_BOT]
game_mesh    "Item\Armor\Boots\WSU_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\WSU_EQU_BOT_00.tpack"
[/WSU_BOT]

[
WSU_GLV]
game_mesh    "Item\Armor\Glove\WSU_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\WSU_EQU_GLV_00.tpack"
[/WSU_GLV]

// SEGEURIPER
[MSE_HEL]
game_mesh    "Item\Armor\Helmet\MSE_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\MSE_EQU_HEL_00.tpack"
[/MSE_HEL]

[
MSE_COT]
game_mesh    "Item\Armor\Coat\MSE_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\MSE_EQU_COT_00.tpack"
[/MSE_COT]

[
MSE_PAT]
game_mesh    "Item\Armor\Pants\MSE_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\MSE_EQU_PAT_00.tpack"
[/MSE_PAT]

[
MSE_BOT]
game_mesh    "Item\Armor\Boots\MSE_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\MSE_EQU_BOT_00.tpack"
[/MSE_BOT]

[
MSE_GLV]
game_mesh    "Item\Armor\Glove\MSE_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\MSE_EQU_GLV_00.tpack"
[/MSE_GLV]

// HalfBagi

[HWA_HEL]
game_mesh    "Item\Armor\Helmet\HWA_EQU_HEL_00.mesh"
game_tpack    "Item\Armor\Helmet\HWA_EQU_HEL_00.tpack"
[/HWA_HEL]

[
HWA_COT]
game_mesh    "Item\Armor\Coat\HWA_EQU_COT_00.mesh"
game_tpack    "Item\Armor\Coat\HWA_EQU_COT_00.tpack"
[/HWA_COT]

[
HWA_PAT]
game_mesh    "Item\Armor\Pants\HWA_EQU_PAT_00.mesh"
game_tpack    "Item\Armor\Pants\HWA_EQU_PAT_00.tpack"
[/HWA_PAT]

[
HWA_BOT]
game_mesh    "Item\Armor\Boots\HWA_EQU_BOT_00.mesh"
game_tpack    "Item\Armor\Boots\HWA_EQU_BOT_00.tpack"
[/HWA_BOT]

[
HWA_GLV]
game_mesh    "Item\Armor\Glove\HWA_EQU_GLV_00.mesh"
game_tpack    "Item\Armor\Glove\HWA_EQU_GLV_00.tpack"
[/HWA_GLV
Please help me!
11/23/2012 22:05 HellSpider#13
Quote:
Originally Posted by kokamentos View Post
HellSpider you can help me fix class not show?

1 - 9 ,0A,0B Class Can Show !

but class 0C,0D class not show.I don't know where proplem. :( I think some offset specified how many lines are read.

this my ASM

PHP Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
0099B499  
/$  B8 209AAD00   MOV EAX,OFFSET 00AD9A20                  ASCII "ALO"
0099B49E  |.  80FA 06       CMP DL,6
0099B4A1  
|.  74 31         JE SHORT 0099B4D4
0099B4A3  
|.  B8 2C9AAD00   MOV EAX,OFFSET 00AD9A2C                  ASCII "BWZ"
0099B4A8  |.  80FA 09       CMP DL,9
0099B4AB  
|.  74 27         JE SHORT 0099B4D4
0099B4AD  
|.  B8 249AAD00   MOV EAX,OFFSET 00AD9A24                  ASCII "WSU"
0099B4B2  |.  80FA 0A       CMP DL,0A
0099B4B5  
|.  74 1D         JE SHORT 0099B4D4
0099B4B7  
|.  B8 289AAD00   MOV EAX,OFFSET 00AD9A28                  ASCII "MSE"
0099B4BC  |.  80FA 0B       CMP DL,0B
0099B4BF  
|.  74 13         JE SHORT 0099B4D4
0099B4C1  
|.  B8 309AAD00   MOV EAX,OFFSET 00AD9A30                  ASCII "HWA"
0099B4C6  |.  80FA 0C       CMP DL,0C
0099B4C9  
|.  90            NOP
0099B4CA  
|.  90            NOP
0099B4CB  
|.  74 07         JE SHORT 0099B4D4
0099B4CD  
|.  8B0495 94CEAD MOV EAX,DWORD PTR DS:[EDX*4+0ADCE94]     ; PTR to ASCII "SWD"
0099B4D4  \>  C3            RETN 
Please help me!
0041AAB1 CMP CL,XX

XX = NumberOfCharacters
11/24/2012 05:31 kokamentos#14
Thanks so much :) you are very good