-- Server
function SetPedClothes( ped, clothesTexture, clothesModel, clothesType )
local data =
{
ClothesTexture = clothesTexture;
ClothesModel = clothesModel;
ClothesType = clothesType;
};
setElementData( ped, "clothes", data );
return addPedClothes( ped, clothesTexture, clothesModel, clothesType );
end
-- Client
function OnClientElementDataChange( dataName, oldValue )
if getElementType( source ) == "player" and dataName == "clothes" then
local value = getElementData( source );
if not value then
engineRemoveShaderFromWorldTexture( source.ClothesShader, value.ClothesModel, source );
source.ClothesShader.Destroy();
return;
end
if source.ClothesShader then
source.ClothesShader.Destroy();
source.ClothesShader = null;
end
-- для каждого педа нужен свой шейдер, так как шейдер имеет свои значения под конкретного игрока!
-- сам шейдер конечно же нужно где-то хранить.
-- source.ClothesShader - это для примера. У себя реализуйте по своему.
source.ClothesShader = dxCreateShader( "files/shaders/replace.fx", 0, 0, true, 'ped' );
-- Где-то и текстуру храните (какой-то конфиг в виде глобального массива или что там увас)
dxSetShaderValue( source.ClothesShader, "gTexture", ?.Texture );
engineApplyShaderToWorldTexture( source.ClothesShader, clothesModel, source );
end
end
-- Примерно так же и со стриммером
Peguei esse código aqui pra trocar as roupas do CJ em shader..
Como faço pra usar esse código e trocar a camisa "tshirtwhite.txd" por exemplo?
Não sei nada de .lua, me desculpem