Jump to content
  • 0

Inventroy slot problem (Vanganth)


elfeush

Question

Hey any one knew this slot_bit_type ?             {back} not                                    slot.png.1831b46dc30822c33ddf7758950856e1.png

 

          here you got types slots i think this slot it's hairall but its same like hair slot So its hairall / back or hairex but this all slots don't working maybe some one knoe how this working?                                              

 

                                                                                                                             sor.png.b6bbaa222be5f733bb89d6db3ae15865.png

Link to comment
Share on other sites

Recommended Posts

  • 0
17 hours ago, Nevermind25 said:

In my knowledge in both slots must be the same item, back slot does not exist for interlude, just hair/hairall and underwear. 

If you think, you cant put at the same time a hat and a noblesse tiara, or party mask 

I did it, so don't say you can't. Regards.

Link to comment
Share on other sites

  • 0

File CharInfo.cpp CPacketFix::CharinfoBCfix, CPacketFix::CharInfoFix 

/* d */ Packet.WriteD(BaseClass);

		INT32 dhairId = va_arg(tag, INT32);
		INT32 headId = va_arg(tag, INT32);
		INT32 rhandId = va_arg(tag, INT32);
		INT32 lhandId = va_arg(tag, INT32);
		INT32 glovesId = va_arg(tag, INT32);
		INT32 chestId = va_arg(tag, INT32);
		INT32 legsId = va_arg(tag, INT32);
		INT32 feetId = va_arg(tag, INT32);
		INT32 backId = va_arg(tag, INT32);
		INT32 lrhandId = va_arg(tag, INT32);
		INT32 hairId = va_arg(tag, INT32);
		INT32 faceId = 0;	//interlude addon
		//removed visualarmor
/* d */ Packet.WriteD(dhairId);	//dhair
/* d */ Packet.WriteD(headId);	//head
/* d */ Packet.WriteD(rhandId);	//rhand
/* d */ Packet.WriteD(lhandId);	//lhand
/* d */ Packet.WriteD(glovesId);	//gloves
/* d */ Packet.WriteD(chestId);	//chest
/* d */ Packet.WriteD(legsId);	//legs
/* d */ Packet.WriteD(feetId);	//feet
/* d */ Packet.WriteD(backId);	//back
/* d */ Packet.WriteD(lrhandId);	//lrhand
/* d */ Packet.WriteD(hairId);	//hair
/* d */ Packet.WriteD(faceId); //Face slot

In the file Userinfo.cpp  seems to be the same code but with CPacketFix::UserInfoFix and CPacketFix::GMUserInfoFix

 

/* d */ Packet.WriteD(BaseClass);

		INT32 dhairId = va_arg(tag, INT32);
		INT32 headId = va_arg(tag, INT32);
		INT32 rhandId = va_arg(tag, INT32);
		INT32 lhandId = va_arg(tag, INT32);
		INT32 glovesId = va_arg(tag, INT32);
		INT32 chestId = va_arg(tag, INT32);
		INT32 legsId = va_arg(tag, INT32);
		INT32 feetId = va_arg(tag, INT32);
		INT32 backId = va_arg(tag, INT32);
		INT32 lrhandId = va_arg(tag, INT32);
		INT32 hairId = va_arg(tag, INT32);
		INT32 faceId = 0;	//interlude addon 
		//visualarmor removed
/* d */ Packet.WriteD(dhairId);	//dhair
/* d */ Packet.WriteD(headId);	//head
/* d */ Packet.WriteD(rhandId);	//rhand
/* d */ Packet.WriteD(lhandId);	//lhand
/* d */ Packet.WriteD(glovesId);	//gloves
/* d */ Packet.WriteD(chestId);	//chest
/* d */ Packet.WriteD(legsId);	//legs
/* d */ Packet.WriteD(feetId);	//feet
/* d */ Packet.WriteD(backId);	//back
/* d */ Packet.WriteD(lrhandId);	//lrhand
/* d */ Packet.WriteD(hairId);	//hair
/* d */ Packet.WriteD(faceId); //Face slot

 

Someone can help to fix this? 

Link to comment
Share on other sites

  • 0

Take L2PHX and sniff CharInfo packet from L2OFF and L2J servers. You need equip problem item to char slots and you will find diffs in your sending info. In depending from result you will see where you get wrong ID by Inventory slot mask.

  • Upvote 1
Link to comment
Share on other sites

  • 0

fix

#include "StdAfx.h"
#include "Packets.h"

int InventoryUpdateFix(PCHAR buf, int bufLen, CItem *pItem, WORD UpdateType, WORD ItemType, DWORD ObjectID, DWORD ItemID, DWORD Count, WORD ItemType2, WORD CustomType1, WORD IsEquiped, DWORD BodyPart, WORD EnchantLevel, WORD CustomType2)
{
	// Old FMT:			 "hhdddhhhdhh"
	const char *format = "hhdddhhhdhhdd"; //New IL Format
	DWORD AugmentationID = 0;
	DWORD Mana = 0;
//	DWORD itemId = 0;
//	DWORD SlotType = 0;
	if(pItem->IsValidItem())
	{
		AugmentationID = pItem->nAugmentationID;
		Mana = pItem->nManaLeft/60;

//		SlotType = pItem->pSID->nSlotType;
//		itemId = pItem->pSID->nItemID;
//		g_Log.Add(CLog::Error, "----InventoryUpdateFix----");
//		g_Log.Add(CLog::Error, "nItemId: [%d] nItemType[%d]",itemId,SlotType  );
//		g_Log.Add(CLog::Error, "UpdateType: [%d] ItemType2[%d] CustomType1[%d] BodyPart[%d] CustomType2[%d]",UpdateType,ItemType2,CustomType1,BodyPart,CustomType2  );
//		g_Log.Add(CLog::Error, "--------------------------");

+		if (BodyPart ==1)
+			BodyPart = 262144;

	}
	return Assemble(buf, bufLen, format, UpdateType, ItemType, ObjectID, ItemID, Count, ItemType2
		,CustomType1, IsEquiped, BodyPart, EnchantLevel, CustomType2, AugmentationID, Mana);
}

 

Link to comment
Share on other sites

  • 0
7 hours ago, guytis said:

fix


#include "StdAfx.h"
#include "Packets.h"

int InventoryUpdateFix(PCHAR buf, int bufLen, CItem *pItem, WORD UpdateType, WORD ItemType, DWORD ObjectID, DWORD ItemID, DWORD Count, WORD ItemType2, WORD CustomType1, WORD IsEquiped, DWORD BodyPart, WORD EnchantLevel, WORD CustomType2)
{
	// Old FMT:			 "hhdddhhhdhh"
	const char *format = "hhdddhhhdhhdd"; //New IL Format
	DWORD AugmentationID = 0;
	DWORD Mana = 0;
//	DWORD itemId = 0;
//	DWORD SlotType = 0;
	if(pItem->IsValidItem())
	{
		AugmentationID = pItem->nAugmentationID;
		Mana = pItem->nManaLeft/60;

//		SlotType = pItem->pSID->nSlotType;
//		itemId = pItem->pSID->nItemID;
//		g_Log.Add(CLog::Error, "----InventoryUpdateFix----");
//		g_Log.Add(CLog::Error, "nItemId: [%d] nItemType[%d]",itemId,SlotType  );
//		g_Log.Add(CLog::Error, "UpdateType: [%d] ItemType2[%d] CustomType1[%d] BodyPart[%d] CustomType2[%d]",UpdateType,ItemType2,CustomType1,BodyPart,CustomType2  );
//		g_Log.Add(CLog::Error, "--------------------------");

+		if (BodyPart ==1)
+			BodyPart = 262144;

	}
	return Assemble(buf, bufLen, format, UpdateType, ItemType, ObjectID, ItemID, Count, ItemType2
		,CustomType1, IsEquiped, BodyPart, EnchantLevel, CustomType2, AugmentationID, Mana);
}

 

awesome, i would delayed a entire month xD

Link to comment
Share on other sites

  • 0
6 hours ago, Nevermind25 said:

@guytis   en ItemList.cpp es lo mismo? Creo que sí, pero tú eres el sabio

 

yes yes

 

 

int ItemListFix(PCHAR buf, int bufLen, CItem *pItem, WORD ItemType, DWORD ObjectID, DWORD ItemID, DWORD Count, WORD ItemType2, WORD CustomType1, WORD IsEquiped, DWORD BodyPart, WORD EnchantLevel, WORD CustomType2)
{
	//Old FMT:			 "hdddhhhdhh"
	const char *format = "hdddhhhdhhdd"; //New IL Format
						 
	DWORD AugmentationID = 0;
	DWORD Mana = 0;
//	DWORD itemId = 0;
//	DWORD SlotType = 0;
	if(pItem->IsValidItem())
	{
		AugmentationID = pItem->nAugmentationID;
		Mana = pItem->nManaLeft / 60;

//		SlotType = pItem->pSID->nSlotType;
//		itemId = pItem->pSID->nItemID;
//		g_Log.Add(CLog::Error, "---------ItemListFix------");
//		g_Log.Add(CLog::Error, "nItemId: [%d] nItemType[%d]",itemId,SlotType  );
//		g_Log.Add(CLog::Error, "ItemType: [%d] ItemType2[%d] CustomType1[%d] BodyPart[%d] CustomType2[%d]",ItemType,ItemType2,CustomType1,BodyPart,CustomType2  );
//		g_Log.Add(CLog::Error, "---------------------------");

		if (BodyPart ==1)
			BodyPart = 262144;
	}
	return Assemble(buf, bufLen, format, ItemType, ObjectID, ItemID, Count, ItemType2
		,CustomType1, IsEquiped, BodyPart, EnchantLevel, CustomType2, AugmentationID, Mana);
}

 

  • Upvote 1
Link to comment
Share on other sites

  • 0
On 9/28/2019 at 8:10 AM, guytis said:

 

yes yes

 

 


int ItemListFix(PCHAR buf, int bufLen, CItem *pItem, WORD ItemType, DWORD ObjectID, DWORD ItemID, DWORD Count, WORD ItemType2, WORD CustomType1, WORD IsEquiped, DWORD BodyPart, WORD EnchantLevel, WORD CustomType2)
{
	//Old FMT:			 "hdddhhhdhh"
	const char *format = "hdddhhhdhhdd"; //New IL Format
						 
	DWORD AugmentationID = 0;
	DWORD Mana = 0;
//	DWORD itemId = 0;
//	DWORD SlotType = 0;
	if(pItem->IsValidItem())
	{
		AugmentationID = pItem->nAugmentationID;
		Mana = pItem->nManaLeft / 60;

//		SlotType = pItem->pSID->nSlotType;
//		itemId = pItem->pSID->nItemID;
//		g_Log.Add(CLog::Error, "---------ItemListFix------");
//		g_Log.Add(CLog::Error, "nItemId: [%d] nItemType[%d]",itemId,SlotType  );
//		g_Log.Add(CLog::Error, "ItemType: [%d] ItemType2[%d] CustomType1[%d] BodyPart[%d] CustomType2[%d]",ItemType,ItemType2,CustomType1,BodyPart,CustomType2  );
//		g_Log.Add(CLog::Error, "---------------------------");

		if (BodyPart ==1)
			BodyPart = 262144;
	}
	return Assemble(buf, bufLen, format, ItemType, ObjectID, ItemID, Count, ItemType2
		,CustomType1, IsEquiped, BodyPart, EnchantLevel, CustomType2, AugmentationID, Mana);
}

 

 

you rly did a great job..thx man.

Link to comment
Share on other sites

  • 0

here still have a error, some items in c6 are hairall and must use the two slots (circlets, hats) and some other uses 1 slot and it suposes that you can equip for example a rabbit ear an a eye patch, this fix is good, if i find the way to make the other i'll paste here the code

Link to comment
Share on other sites

  • 0

When adding the fix, what would be the method that should be used in the type of itemdata, because I tested and is using underwear type, but that would not be correct. Because this item is next to the necklace.

Link to comment
Share on other sites

  • 0
15 hours ago, xPeNaChO said:

When adding the fix, what would be the method that should be used in the type of itemdata, because I tested and is using underwear type, but that would not be correct. Because this item is next to the necklace.

anyway, the fix is good

 

the correct position is this. 

 

[hair] [helmet] [hair2] [underwear] [necklace]

================== 

[hairall] [helmet] [hairall] [underwear] [necklace]

 

Some interlude has the {back} slot? in this case the back is used like c4 

Link to comment
Share on other sites

  • 0

A sua adaptação foi super boa, mas ainda não passou de uma gambiarra .. precisa ser feita, mas algumas coisas fica oculta após ser gerada algum erro no código .. 

 

mass parabéns caminho tá certo :thumbs-up:

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

  • Posts

    • Welcome to L2Xena server advertising   About Our Server L2xena project started 2022 Jan with positive thought making a great custom server with features Lineage II missing. We have made lots of improvements in gameplay. Players will have access  to unique items upgrade crafting system.    About System Our server running on Germany hosting provider with powerful engine which can take up to 3000 players. Server pack is well optimized = Lags free in EU. US and Asia might experience a little delay or lag.   Server Protection We've spent a lot of money and time on this project so server protection and safe game play for our players is on Highest priority. We have 12 Months contract with AA Protection with full support included.   What we Offer & Future Plans We offer to our players server stability, amazing gameplay, friendly environment, excellent support. We know, more players = more fun so our plans is to have best server advertisement on the best L2 advertising sites. Our advertising strategy will bring lots of new players to L2Xena server.   Server/Game Settings     Rates: EXP x1, SP x1, Spoil x1, Drop x1, Adena x1 (Xp/Adena rate can increase scrolls, Sayhas up to 1200%) all these items can be obtained in game. All chars will get a starter reward box restricted by lvl.  Server has easy auto farm system which can be activated in open world but not in Dungeons. Dualbox - 10 windows allowed per one PC. Buffs time is 300 minutes. A new item upgrade system that increases the stats of your character.  New collection system with Boss Hunting cards. PvP Events New Hp,Mp and buff potions which need to be crafted from material. Max Enchant +25.  Smart Auction House. 80% Skills are auto learn. Shop up to C-Grade gear. The rest need to be crafted with Special craft blacksmith. Auto loot. Unlimited weight limit. Inventory has 200 cells Daily Missions:, Clan, System, Upgrade for rare rewards Clan Shop Castle Sieges every 2 weeks Purge, Special Hunting Zones Ranking System Attendance Rewards Ranking System Achievement Box Reward  Magic Lamp Random Crafting Premium Accounts Donate Shop Beauty Items Only without stats Fast Equipment Enchant System                            
    • New link added to main post. Thanks to @911reg
    • can you reupload the  link i have same issue on deadz 2.4 aswell assist button aint workin for me if anyone got it fixed please reply or dm me
    • This is actually gold for someone who knows how to use it.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock