External Knife Changer

Posts 31–45 of 61 · Page 3 of 5
Code:
394:  models/weapons/v_knife_karam.mdl (RES_FATALIFMISSING | RES_PRELOAD):    1 refs, first 0.00 mru 0.00
395:  models/weapons/w_knife_karam.mdl (RES_FATALIFMISSING | RES_PRELOAD):    never used
396:  models/weapons/w_knife_karam_dropped.mdl (RES_FATALIFMISSING | RES_PRELOAD):    1 refs, first 0.00 mru 0.00
I tried to change
Mem.Write<int>(ViewModel + m_nModelIndex, 394);
Mem.Write<int>(ViewModel + m_nModelIndex, 395);
Mem.Write<int>(ViewModel + m_nModelIndex, 396);
But nothing changed in game
Quote Originally Posted by MIXA066 View Post
Code:
394:  models/weapons/v_knife_karam.mdl (RES_FATALIFMISSING | RES_PRELOAD):    1 refs, first 0.00 mru 0.00
395:  models/weapons/w_knife_karam.mdl (RES_FATALIFMISSING | RES_PRELOAD):    never used
396:  models/weapons/w_knife_karam_dropped.mdl (RES_FATALIFMISSING | RES_PRELOAD):    1 refs, first 0.00 mru 0.00
I tried to change
Mem.Write<int>(ViewModel + m_nModelIndex, 394);
Mem.Write<int>(ViewModel + m_nModelIndex, 395);
Mem.Write<int>(ViewModel + m_nModelIndex, 396);
But nothing changed in game
Why are you writing nModelIndex to 3 different values?
What you need to do is write nModelIndex to 394 (in that case), write viewmodelindex to 394 and write worldmodelindex (or something) to 395. Dont bother on models that start with a "w_". They represent world, which you dont need. Just focuss on the v_ and do what I did.
Quote Originally Posted by gauthier08 View Post
Why are you writing nModelIndex to 3 different values?
What you need to do is write nModelIndex to 394 (in that case), write viewmodelindex to 394 and write worldmodelindex (or something) to 395. Dont bother on models that start with a "w_". They represent world, which you dont need. Just focuss on the v_ and do what I did.
I think he simply does not understand his own code.
Still need help
Quote Originally Posted by MIXA066 View Post
Still need help
Code:
void Changer::Start()
{
	while (true)
	{
		for (int i = 1; i<=8; i++) //zero is invalid, 4 granades + 1 primary weapon + 1 sec + 1 knife + c4 = 8
		{
			DWORD CurrentWeaponIndex = Mem.Read<DWORD>(LocalPlayer.Base + m_hMyWeapons + ((i - 1) * 0x4)) & 0xFFF;
			DWORD CurrentWeaponEntity = Mem.Read<DWORD>(Mem.Client() + Offsets.m_dwEntityList + (CurrentWeaponIndex - 1) * 0x10);
			int CurrentWeaponId = Mem.Read<int>(CurrentWeaponEntity + m_iItemDefinitionIndex);
			int MyXuid = Mem.Read<int>(CurrentWeaponEntity + m_OriginalOwnerXuidLow);
			Mem.Write<int>(CurrentWeaponEntity + m_iItemIDHigh, -1); 

			DWORD ViewModelEntityIndex = Mem.Read<DWORD>(LocalPlayer.Base + m_hViewModel) & 0xFFF;
			DWORD ViewModel = Mem.Read<DWORD>(Mem.Client() + Offsets.m_dwEntityList + (ViewModelEntityIndex - 1) * 0x10);


			if (LocalPlayer.GetWeapon() == WEAPON_KNIFE || LocalPlayer.GetWeapon() == WEAPON_KNIFE_T) {
				Mem.Write<int>(ViewModel + m_nModelIndex, 507); //sv_precacheinfo first desired knife model index!!
				Mem.Write<int>(CurrentWeaponEntity + m_iViewModelIndex, 326); //first index 
				Mem.Write<int>(CurrentWeaponEntity + m_iWorldModelIndex, 327); //first index + 1
+ add this-> Mem.Write(CurrentWeaponEntity + Offsets.m_iWorldDroppedModelIndex, x) //first index + 2
				Mem.Write<int>(CurrentWeaponEntity + m_iItemDefinitionIndex, 507);
			}

		
			Mem.Write<int>(CurrentWeaponEntity + m_iAccountID, MyXuid);
		}
		Sleep(5);
	}
	return;
}
Although, my skinchanger isn't working on knives, i tried everything, still no luck:
https://i.gyazo.com/1990576ac5989259...55a5777cfc.mp4
Quote Originally Posted by Don Coderleone View Post
Code:
void Changer::Start()
{
	while (true)
	{
		for (int i = 1; i<=8; i++) //zero is invalid, 4 granades + 1 primary weapon + 1 sec + 1 knife + c4 = 8
		{
			DWORD CurrentWeaponIndex = Mem.Read<DWORD>(LocalPlayer.Base + m_hMyWeapons + ((i - 1) * 0x4)) & 0xFFF;
			DWORD CurrentWeaponEntity = Mem.Read<DWORD>(Mem.Client() + Offsets.m_dwEntityList + (CurrentWeaponIndex - 1) * 0x10);
			int CurrentWeaponId = Mem.Read<int>(CurrentWeaponEntity + m_iItemDefinitionIndex);
			int MyXuid = Mem.Read<int>(CurrentWeaponEntity + m_OriginalOwnerXuidLow);
			Mem.Write<int>(CurrentWeaponEntity + m_iItemIDHigh, -1); 

			DWORD ViewModelEntityIndex = Mem.Read<DWORD>(LocalPlayer.Base + m_hViewModel) & 0xFFF;
			DWORD ViewModel = Mem.Read<DWORD>(Mem.Client() + Offsets.m_dwEntityList + (ViewModelEntityIndex - 1) * 0x10);


			if (LocalPlayer.GetWeapon() == WEAPON_KNIFE || LocalPlayer.GetWeapon() == WEAPON_KNIFE_T) {
				Mem.Write<int>(ViewModel + m_nModelIndex, 507); //sv_precacheinfo first desired knife model index!!
				Mem.Write<int>(CurrentWeaponEntity + m_iViewModelIndex, 326); //first index 
				Mem.Write<int>(CurrentWeaponEntity + m_iWorldModelIndex, 327); //first index + 1
+ add this-> Mem.Write(CurrentWeaponEntity + Offsets.m_iWorldDroppedModelIndex, x) //first index + 2
				Mem.Write<int>(CurrentWeaponEntity + m_iItemDefinitionIndex, 507);
			}

		
			Mem.Write<int>(CurrentWeaponEntity + m_iAccountID, MyXuid);
		}
		Sleep(5);
	}
	return;
}
Although, my skinchanger isn't working on knives, i tried everything, still no luck:
https://i.gyazo.com/1990576ac5989259...55a5777cfc.mp4
Thanks, it works, but I need to start forceupdate every time when I change gun


Quote Originally Posted by gauthier08 View Post
Why are you writing nModelIndex to 3 different values?
What you need to do is write nModelIndex to 394 (in that case), write viewmodelindex to 394 and write worldmodelindex (or something) to 395. Dont bother on models that start with a "w_". They represent world, which you dont need. Just focuss on the v_ and do what I did.
It was different code.. I didnt know right id and try it all.

Quote Originally Posted by gigagiga View Post
I think he simply does not understand his own code.
Nice flooding, all ur messages are so helpful

- - - Updated - - -

So, now knife changing, but I have some troubles.. again..
First of all I dont know how change it without ForceUpd cause if I do it
Code:
	if (LocalPlayer.GetWeapon() == WEAPON_KNIFE || LocalPlayer.GetWeapon() == WEAPON_KNIFE_T|| LocalPlayer.GetWeapon() == 507)
All weapons became knifes..
2) Skins are not changing.. I tryed
Code:
				Mem.Write<int>(CurrentWeaponEntity + m_iItemIDHigh, -1);
				Mem.Write<int>(CurrentWeaponEntity + m_nFallbackPaintKit, 38);
				Mem.Write<int>(CurrentWeaponEntity + m_nFallbackStatTrak, 111);
				Mem.Write<int>(CurrentWeaponEntity + m_nFallbackSeed, 0);
				Mem.Write<int>(CurrentWeaponEntity + m_iEntityQuality, 1);
				Mem.Write<float>(CurrentWeaponEntity + m_flFallbackWear, 0.000001);
				Mem.Write<int>(CurrentWeaponEntity + m_iAccountID, MyXuid);
but knife is staying default..
3) How can I get modelindex of default knife to math karambit id on the specific map?
Quote Originally Posted by MIXA066 View Post
Thanks, it works, but I need to start forceupdate every time when I change gun



It was different code.. I didnt know right id and try it all.


Nice flooding, all ur messages are so helpful

- - - Updated - - -

So, now knife changing, but I have some troubles.. again..
First of all I dont know how change it without ForceUpd cause if I do it
Code:
	if (LocalPlayer.GetWeapon() == WEAPON_KNIFE || LocalPlayer.GetWeapon() == WEAPON_KNIFE_T|| LocalPlayer.GetWeapon() == 507)
All weapons became knifes..
2) Skins are not changing.. I tryed
Code:
				Mem.Write<int>(CurrentWeaponEntity + m_iItemIDHigh, -1);
				Mem.Write<int>(CurrentWeaponEntity + m_nFallbackPaintKit, 38);
				Mem.Write<int>(CurrentWeaponEntity + m_nFallbackStatTrak, 111);
				Mem.Write<int>(CurrentWeaponEntity + m_nFallbackSeed, 0);
				Mem.Write<int>(CurrentWeaponEntity + m_iEntityQuality, 1);
				Mem.Write<float>(CurrentWeaponEntity + m_flFallbackWear, 0.000001);
				Mem.Write<int>(CurrentWeaponEntity + m_iAccountID, MyXuid);
but knife is staying default..
3) How can I get modelindex of default knife to math karambit id on the specific map?
2)
Quote Originally Posted by gigagiga View Post
It has to be done differently since the glove update.
3) That's the stuff that you have to figure out on your own.
Quote Originally Posted by Don Coderleone View Post
Although, my skinchanger isn't working on knives, i tried everything, still no luck
It has to be done differently since the glove update.

- - - Updated - - -

Quote Originally Posted by AbsoluteMadman View Post
Got any footage of it online? I've never seen one actually work well. Not saying it's not possible, I'm just curious.

Edit: Had me interested with what you posted so I looked around, and can't find literally anything that points to a fully fine external skin changer even existing. Just a bunch of people asking why their forceupdate doesn't apply the skin with 100% consistency, then a bunch of people responding saying that's not possible externally.
It depends on how you do it. I had it working flawlessly, however it dropped my framerates by 25% + i have a karambit anyway.
any help ?

for me its not working code c#:

for (int i = 1; i <= 8; i++) //zero is invalid, 4 granades + 1 primary weapon + 1 sec + 1 knife + c4 = 8
{
int CurrentWeaponIndex = Main.Memory.rdInt(LocalPlayer.Base + 0x00002DE8 + ((i - 1) * 0x4)) & 0xFFF; // m_hMyWeapons
int CurrentWeaponEntity = Maini.Memory.rdInt(Main.ClientPointer + Offsets.m_dwEntityList + (CurrentWeaponIndex - 1) * 0x10);
int CurrentWeaponId = Main.Memory.rdInt(CurrentWeaponEntity);

int MyXuid = Main.Memory.rdInt(CurrentWeaponEntity + 0x3168); // m_OriginalOwnerXuidLow
Main.Memory.WrtInt(CurrentWeaponEntity + 0x2FA0, -1); // m_iItemIDHigh


int ViewModelEntityIndex = Main.Memory.rdInt(LocalPlayer.Base + 0x32FC) & 0xFFF; // m_hViewModel
int ViewModel = Main.Memory.rdInt(Main.ClientPointer + Offsets.m_dwEntityList + (ViewModelEntityIndex - 1) * 0x10);

int WeaponID = Main.Memory.rdInt(CurrentWeaponEntity + Offsets.m_iItemDefinitionIndex);

if (WeaponID == 59 || WeaponID == 42)
{
Main.Memory.WrtInt(ViewModel + 0x254, 403); // m_nModelIndex
Main.Memory.WrtInt(CurrentWeaponEntity + 0x31E0, 403); // + m_iViewModelIndex
Main.Memory.WrtInt(CurrentWeaponEntity + 0x31E4, 404); // + m_iWorldModelIndex
Main.Memory.WrtInt(CurrentWeaponEntity + 0x31E8, 405); // + m_iWorldDroppedModelIndex
Main.Memory.WrtInt(CurrentWeaponEntity + Offsets.m_iItemDefinitionIndex, 515);

// 0x000032EC
}

Main.Memory.WrtInt(CurrentWeaponEntity + 0x2FA8, MyXuid); // + m_iAccountID

}

Thread.Sleep(5);
I posted the solution to fix the skin like twice lol...
Quote Originally Posted by gauthier08 View Post
I posted the solution to fix the skin like twice lol...
Could you link me the post? I checked your previous posts and there were nothing about that.
Quote Originally Posted by Don Coderleone View Post
Could you link me the post? I checked your previous posts and there were nothing about that.
Add this Mem.Write<int>(CurrentWeaponEntity + m_nModelIndex, 507);
Sorry for late reply, i was out...

Here is the video:
https://ab-s.me/phyz/2017-03-09_23-36-45.mp4

...
What do i do?
- First get the model index, it can vary in each map, thats why we use math, its really simple, just get what happens in common every round/game start (pis....), get their index, get the diff, sum some shit, done, you have a dynamic index finder.
> Is that the best way to get the index? No. You can do it better, will i do it for you? No. (that was my first way doing the knife changer, now i do it in the other way getting the index at the right place with the right function, not using gettho calc xD)

- Check if the current weapon is knife, k, check if the index is in range, (???) to 600 (max knife index, even a bit more)
- Write pLocal ModelBase + m_nModelIndex, the index...

> Wait, but it is not setting skinz/bla bla bla
- Loop thouhg all your weapons (m_hMyWeapons)...
- Check if is the Knife...
- If is knife... You have to write, pWeapon Base + iViewModel, pWeapon Base + iWorldModel, pWeapon Base + iWorldDroppedModel and then again the pWeapon Base + m_nModelIndex, the index...
- pWeapon Base + iItemDefinitionIndex, the knife weapon id...
-- iViewModel = the index... iWorldModel = the index + 1... iWorldDroppedModel = the index + 2...

Really scrabled, wrote that really fast, but may be understandable, no codez cuz i dont wanna spread pasta.

Good Luck, Have Fun.

Credits??????? PhYz and LegitPlayer.

I did it, but I have no idea how read index of normal knife
Quote Originally Posted by MIXA066 View Post

I did it, but I have no idea how read index of normal knife
Code:
!SkinChanger::startIndex ? SkinChanger::startIndex = WeaponEntity[i].modelIndex() * (WeaponEntity[i].weaponID() == 59 || WeaponEntity[i].weaponID() == 42) + 37 * (WeaponEntity[i].weaponID() == 59) + 336 * (WeaponEntity[i].weaponID() == 42) : 1;
ghetto way, works on every map tho.

Code:
modelindex = weapon base + 0x254
and startIndex is the index of bayonet . you just add +3 to get the others.
worldmodel is always equal with index +1
Posts 31–45 of 61 · Page 3 of 5

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?