Üdvözletem!
Vegyük elő az elegyet, az elegynek van alapból 3 paintjobja, viszont én szeretnék neki egy 4-ediket is csinálni.
Arra lennék kíváncsi, hogy ezt hogy lehetséges, már próbálkoztam többféle módon, de vagy minden elegynek lecserélte a textúráját, vagy csak az alap 3 paintjob működött, illetve valamikor csak 1 paintjob textúrát töltött be.
texturechanger.fx:
texture gPaintjobTexture;
technique paintjob
{
pass P0
{
Texture[0] = gPaintjobTexture;
}
}
paintjobC.lua:
local paintjobTextures = {}
local paintjobShaders = {}
local paintjobs = {
Elegy = {
[1] = \"elegy1body256\",
[2] = \"elegy2body256\",
[3] = \"elegy3body256\"
}
}
addEventHandler(\"onClientResourceStart\", getRootElement(),
function()
for k, v in ipairs(getElementsByType(\"vehicle\")) do
local vehiclePaintjob = getElementData(v, \"vehicle.tuning.paintjob\") or 0
local vehicleName = getVehicleName(v)
if vehiclePaintjob > 0 and paintjobs[vehicleName][vehiclePaintjob] then
paintjobShaders[k] = dxCreateShader(\"files/texturechanger.fx\")
paintjobTextures[k] = dxCreateTexture(\"files/paintjobs/\" .. paintjobs[vehicleName][vehiclePaintjob] .. \".png\")
if paintjobShaders[k] and paintjobTextures[k] then
dxSetShaderValue(paintjobShaders[k], \"gPaintjobTexture\", paintjobTextures[k])
engineApplyShaderToWorldTexture(paintjobShaders[k], paintjobs[vehicleName][vehiclePaintjob])
end
end
end
end
)
Válaszokat előre is köszönöm.