Right off the bat, is that a client limitation ?
CharacterCreate_UpdateFacialHairCustomization(); CharacterCreate_UpdateHairCustomization(); CharacterChangeFixup();
function CharacterCustomization_Left(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, -1);endfunction CharacterCustomization_Right(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, 1);endfunction CharacterCreate_Randomize() PlaySound("gsCharacterCreationLook"); RandomizeCharCustomization();end
You will need to find the relevant functions in the binary by reverse engineering it.Noteworthy:Code: [Select] CharacterCreate_UpdateFacialHairCustomization(); CharacterCreate_UpdateHairCustomization(); CharacterChangeFixup();And:Code: [Select]function CharacterCustomization_Left(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, -1);endfunction CharacterCustomization_Right(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, 1);endfunction CharacterCreate_Randomize() PlaySound("gsCharacterCreationLook"); RandomizeCharCustomization();endI looked at the GueXML inside patch-enGB.mpq (build ~8000) and these functions are identical, so I do not know how you could, or if you could, even allow these skins etc to be used in the char creation menu.
Quote from: "stoneharry"You will need to find the relevant functions in the binary by reverse engineering it.Noteworthy:Code: [Select] CharacterCreate_UpdateFacialHairCustomization(); CharacterCreate_UpdateHairCustomization(); CharacterChangeFixup();And:Code: [Select]function CharacterCustomization_Left(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, -1);endfunction CharacterCustomization_Right(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, 1);endfunction CharacterCreate_Randomize() PlaySound("gsCharacterCreationLook"); RandomizeCharCustomization();endI looked at the GueXML inside patch-enGB.mpq (build ~8000) and these functions are identical, so I do not know how you could, or if you could, even allow these skins etc to be used in the char creation menu.You can't, you use WPE Pro to hack the packet.The problem is...The filtering makes everyone else see a different skin, I.E skin 00.So say...As a Human Female, no matter what special skin you pick, Deathknight, Cultist, Whitemane etc.Any other player will see you as a normal human with the palest skin, namely, skin 00.This was not the case with the Burning Crusade or with Vanilla.
Quote from: "Gurluas"Quote from: "stoneharry"You will need to find the relevant functions in the binary by reverse engineering it.Noteworthy:Code: [Select] CharacterCreate_UpdateFacialHairCustomization(); CharacterCreate_UpdateHairCustomization(); CharacterChangeFixup();And:Code: [Select]function CharacterCustomization_Left(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, -1);endfunction CharacterCustomization_Right(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, 1);endfunction CharacterCreate_Randomize() PlaySound("gsCharacterCreationLook"); RandomizeCharCustomization();endI looked at the GueXML inside patch-enGB.mpq (build ~8000) and these functions are identical, so I do not know how you could, or if you could, even allow these skins etc to be used in the char creation menu.You can't, you use WPE Pro to hack the packet.The problem is...The filtering makes everyone else see a different skin, I.E skin 00.So say...As a Human Female, no matter what special skin you pick, Deathknight, Cultist, Whitemane etc.Any other player will see you as a normal human with the palest skin, namely, skin 00.This was not the case with the Burning Crusade or with Vanilla.Which packet are you manipulating in specific? As far as I am aware, the server loads your character information, then sends these byte values to you and any other players who need the data.This means that if you are intercepting this packet and changing the byte values, of course it will be client side only.But this also implies that you could simply just send the relevant skin index byte from the server rather than the one sent from the client when creating the char.I am confused.
Quote from: "stoneharry"Quote from: "Gurluas"Quote from: "stoneharry"You will need to find the relevant functions in the binary by reverse engineering it.Noteworthy:Code: [Select] CharacterCreate_UpdateFacialHairCustomization(); CharacterCreate_UpdateHairCustomization(); CharacterChangeFixup();And:Code: [Select]function CharacterCustomization_Left(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, -1);endfunction CharacterCustomization_Right(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, 1);endfunction CharacterCreate_Randomize() PlaySound("gsCharacterCreationLook"); RandomizeCharCustomization();endI looked at the GueXML inside patch-enGB.mpq (build ~8000) and these functions are identical, so I do not know how you could, or if you could, even allow these skins etc to be used in the char creation menu.You can't, you use WPE Pro to hack the packet.The problem is...The filtering makes everyone else see a different skin, I.E skin 00.So say...As a Human Female, no matter what special skin you pick, Deathknight, Cultist, Whitemane etc.Any other player will see you as a normal human with the palest skin, namely, skin 00.This was not the case with the Burning Crusade or with Vanilla.Which packet are you manipulating in specific? As far as I am aware, the server loads your character information, then sends these byte values to you and any other players who need the data.This means that if you are intercepting this packet and changing the byte values, of course it will be client side only.But this also implies that you could simply just send the relevant skin index byte from the server rather than the one sent from the client when creating the char.I am confused. What I am doing, is interception the packet during character creation that tells the server what skin the character will have, and give it a value you cannot select ingame, such as 0A which is skin 10. The result is that the character, serverside HAS skin 0A, and if your server has a model viewer plugin in the website showing your character you can see said skin there too.The problem is, that the filtering I call the failsafe, filters that skin for anyone else who sees it to skin 00.This is NOT the case with Vanilla or Burning Crusade. If I get the Earthen skin there, others can see it, this filter isn't there.
Quote from: "Gurluas"Quote from: "stoneharry"Quote from: "Gurluas"Quote from: "stoneharry"You will need to find the relevant functions in the binary by reverse engineering it.Noteworthy:Code: [Select] CharacterCreate_UpdateFacialHairCustomization(); CharacterCreate_UpdateHairCustomization(); CharacterChangeFixup();And:Code: [Select]function CharacterCustomization_Left(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, -1);endfunction CharacterCustomization_Right(id) PlaySound("gsCharacterCreationLook"); CycleCharCustomization(id, 1);endfunction CharacterCreate_Randomize() PlaySound("gsCharacterCreationLook"); RandomizeCharCustomization();endI looked at the GueXML inside patch-enGB.mpq (build ~8000) and these functions are identical, so I do not know how you could, or if you could, even allow these skins etc to be used in the char creation menu.You can't, you use WPE Pro to hack the packet.The problem is...The filtering makes everyone else see a different skin, I.E skin 00.So say...As a Human Female, no matter what special skin you pick, Deathknight, Cultist, Whitemane etc.Any other player will see you as a normal human with the palest skin, namely, skin 00.This was not the case with the Burning Crusade or with Vanilla.Which packet are you manipulating in specific? As far as I am aware, the server loads your character information, then sends these byte values to you and any other players who need the data.This means that if you are intercepting this packet and changing the byte values, of course it will be client side only.But this also implies that you could simply just send the relevant skin index byte from the server rather than the one sent from the client when creating the char.I am confused. What I am doing, is interception the packet during character creation that tells the server what skin the character will have, and give it a value you cannot select ingame, such as 0A which is skin 10. The result is that the character, serverside HAS skin 0A, and if your server has a model viewer plugin in the website showing your character you can see said skin there too.The problem is, that the filtering I call the failsafe, filters that skin for anyone else who sees it to skin 00.This is NOT the case with Vanilla or Burning Crusade. If I get the Earthen skin there, others can see it, this filter isn't there.That makes a lot more sense. In future, just edit the byte fields in the database rather than going to the hassle of having to manipulate the packets in real time. Then I guess it is just a client side range check which defaults to 0 if that range is exceeded. Finding this in the assembly will not be trivial.