Jump to content

Rekyuma

Members
  • Posts

    1
  • Joined

  • Last visited

Rekyuma's Achievements

I ordered some spaghetti with marinara sauce and I got egg noodles and ketchup. I'm an average nobody.

I ordered some spaghetti with marinara sauce and I got egg noodles and ketchup. I'm an average nobody. (2/54)

0

Reputation

  1. Hello sir, I need help understanding how to properly edit an existing GTA:SA ped DFF and TXD to add new clothing so that it works with my custom MTA:SA clothing shader system. local shader = {} local clothes = {} local shaderData = [[ texture tex; technique replace { pass P0 { Texture[0] = tex; } } ]] local dxImg = dxDrawImage function removeTexture ( player, type, model, txd ) if not shader[player] then shader[player] = {} end if not shader[player][type] then shader[player][type] = {} end if isElement(shader[player][type]) then destroyElement(shader[player][type]) shader[player][type] = {} end local skin = getElementModel(player) if type then if config.clothes[skin] then if config.clothes[skin][type] then local textureName = config.clothes[skin][type][model] if textureName then shader[player][type] = dxCreateShader(shaderData, 0, 0, false, 'ped') engineApplyShaderToWorldTexture(shader[player][type], textureName, player) end end end end end addEvent('removeTexture', true) addEventHandler('removeTexture', root, removeTexture) addEvent('clearClothes', true) addEventHandler('clearClothes', root, function( player ) if shader[player] then for i,v in pairs(shader[player]) do if shader[player][i] and isElement(shader[player][i]) then destroyElement(shader[player][i]) shader[player][i] = {} end end end end) function applyTexture ( player, type, model, txd ) if not type or not model or not txd then return end if not shader[player] then shader[player] = {} end if not shader[player][type] then shader[player][type] = {} end if not clothes[player] then clothes[player] = {} end if not clothes[player][type] then clothes[player][type] = {} end local skin = getElementModel(player) if config.models[skin] then local image = 'src/textures/'..config.models[skin]..'/'..type..'/'..model..'/'..txd..'.png' if config.corpo[skin] then if config.corpo[skin][type] then image = config.corpo[skin][type]..'/'..model..'/'..txd..'.png' end end if config.clothes[skin][type] then local textureName = config.clothes[skin][type] if fileExists(image) and textureName then removeTexture ( player, type, model, txd ) local texture = dxCreateTexture(image) dxSetShaderValue(shader[player][type], 'tex', texture) destroyElement(texture) clothes[player][type] = {model, txd} elseif model <= 0 then removeTexture ( player, type, model, txd ) clothes[player][type] = nil end end end end function applyTatto (player, type, model, txd) if not shader[player] then shader[player] = {} end if not shader[player][type] then shader[player][type] = {} end print('chegou aqui') print(type, model, txd) local skin = getElementModel(player) --if config.models[skin] then if config.tattos[type] then local model, txd = tonumber(model), tonumber(txd) if config.tattos[type][model] then local image = 'src/textures/tattos/'..config.tattos[type][model]..'/'..txd..'.png' --if fileExists(image) then if config.tattosSettings[type] then local modelo = config.tattosSettings[type] if clothes[player][modelo] then local genderFolder = (skin == 9) and 'female' or 'male' local bg = 'src/textures/'..genderFolder..'/'..modelo..'/'..clothes[player][modelo][1]..'/'..clothes[player][modelo][2]..'.png' if fileExists(bg) then print('chegou aquii 4') local texture = dxCreateRenderTarget(512, 512) dxSetRenderTarget(texture) dxImg(0, 0, 512, 512, bg) dxImg(0, 0, 512, 512, image) dxSetRenderTarget() local render = function () dxDrawImage(0, 0, 512, 512, texture) end addEventHandler('onClientRender', root, render) setTimer(function() removeEventHandler('onClientRender', root, render) dxSetShaderValue(shader[player][modelo], 'tex', texture) destroyElement(texture) end, 5000, 1) else print('background nC#o encontrado') end end else print('sem tipo') end else print('parou aq') end else print('tipo de tattoo inexistente' ) end --else --print('modelo invalido') --end end addEvent('setPlayerRoupa', true) addEventHandler('setPlayerRoupa', root, function(player, type, model, txd) if not config.models[getElementModel(player)] then return end if type and model then local model, txd = tonumber(model), tonumber(txd) or 0 if model > 0 and txd > 0 then applyTexture ( player, type, model, txd ) if getElementModel(player) == 7 or getElementModel(player) == 9 then if type == 'peito' or type == 'barriga' or type == 'ombro' or type == 'braco' or type == 'cotovelo' or type == 'coxa' or type == 'joelho' or type == 'calcanhar' or type == 'pe' then if not getElementData(player, 'Pele') then setElementData(player, 'Pele', txd) end end end if config.repair[getElementModel(player)] then if config.repair[getElementModel(player)][type] then if config.repair[getElementModel(player)][type][model] then for i,v in pairs(config.repair[getElementModel(player)][type][model]) do if i == 'peito' or i == 'barriga' or i == 'ombro' or i == 'braco' or i == 'cotovelo' or i == 'coxa' or i == 'joelho' or i == 'calcanhar' or i == 'pe' then local pele = getElementData(player, 'Pele') or 1 if clothes[player][i] then pele = clothes[player][i][2] end applyTexture ( player, i, config.repair[getElementModel(player)][type][model][i], pele ) else if clothes[player][i] then applyTexture ( player, i, config.repair[getElementModel(player)][type][model][i], clothes[player][i][2] ) else applyTexture ( player, i, config.repair[getElementModel(player)][type][model][i], 1 ) end end end end end end else removeTexture ( player, type, model, txd ) if config.repair[getElementModel(player)] then if config.repair[getElementModel(player)][type] then if config.repair[getElementModel(player)][type][model] then for i,v in pairs(config.repair[getElementModel(player)][type][model]) do if i == 'peito' or i == 'barriga' or i == 'ombro' or i == 'braco' or i == 'cotovelo' or i == 'coxa' or i == 'joelho' or i == 'calcanhar' or i == 'pe' then local pele = getElementData(player, 'Pele') or 1 if clothes[player][i] then pele = clothes[player][i][2] end applyTexture ( player, i, config.repair[getElementModel(player)][type][model][i], pele ) else if clothes[player][i] then applyTexture ( player, i, config.repair[getElementModel(player)][type][model][i], clothes[player][i][2] ) else applyTexture ( player, i, config.repair[getElementModel(player)][type][model][i], 1 ) end end end end end end end end end) addEventHandler('onClientResourceStart', resourceRoot, function() setTimer(function() if getElementData(localPlayer, 'ID') then triggerServerEvent('loadClothesNUMIDIA', localPlayer, localPlayer) end end, 10000, 1) end)
×
×
  • Create New...