Jump to content

Sistema de personalizar skin em armas


Recommended Posts

Bom Dia, Boa Tarde e Boa Noite

 

Estou tentando desenvolver um script que personaliza a skin das armas dentro do jogo, que é a famosa "Weapon Skin" ou "Paint Weapon", ou muitos conhecem como Sistema de skin em armas, só que eu testei muitos métodos que encontrei aqui e funcionaram, só que estou tendo problemas pois estou usando pAttach para fazer a criação das armas pois pretendo colocar mais armas dentro do jogo, eu não sou muito de falar mais vou mostrar os codigos para que vocês possam ter uma visibilidade melhor.

Esse aqui é o server-side, estou tendo problema com ele para fazer a implementação da skin, eu to testando pelo comando para verificar se tá tudo funcionando certo, só que quando eu uso o comando, a trigger ela funciona mais a skin so mostra pra mim em vez pros outros.
Server-Side:

addCommandHandler("changeweaponskin", function(player, command, skinName)
    local skinData = SKIN_WEAPONS[skinName]
    if skinData then
        triggerClientEvent(player, "xyz.WeaponSkin", player, skinName, skinData.model)
    else
        outputChatBox("Skin de arma não encontrada: " .. skinName, player, 255, 0, 0)
    end
end)

Exemplo: "/changeweawponskin ak47_xyz"

Client-Side:

function setWeaponSkin(skinName, skinModel)
    local player = client

    local myShader = dxCreateShader("assets/shaders/texture_replace.fx", 0, 0, false)
    local myTexture = dxCreateTexture("assets/textures/weapons/" .. skinName .. ".png")

    if myShader and myTexture then
        dxSetShaderValue(myShader, 'Tex0', myTexture)
        engineApplyShaderToWorldTexture(myShader, skinModel, player)
    else
        outputChatBox("Falha ao carregar a textura ou o shader para " .. skinName, player, 255, 0, 0)
    end
end

addEvent("xyz.WeaponSkin", true)
addEventHandler("xyz.WeaponSkin", getRootElement(), setWeaponSkin)

Explicação: "Eu tentei de algumas formas, tentar fazer aparecer para todo mundo mais só consegui fazer aparecer pra mim e algumas formas nem pra mim aparece e nem retorna erro, muito menos aparece pros outros."

 

Se puderem me ajudar, ficarei muito agradecido!

Link to comment
  • 2 weeks later...
  • Other Languages Moderators

E aí, @AllissonDxyz — bem-vindo ao fórum!

Desculpe pelo atraso na resposta. Sobre o seu erro, você pode tentar resolver isso no client-side, trocando de:

local player = client

para:

local player = source

Aquele variável client não existe no client-side, ela existe apenas no server-side para fins de segurança, onde você pode confiar nela.

Edited by androksi
  • Like 1
Link to comment
23 hours ago, androksi said:

E aí, @AllissonDxyz — bem-vindo ao fórum!

Desculpe pelo atraso na resposta. Sobre o seu erro, você pode tentar resolver isso no client-side, trocando de:

local player = client

para:

local player = source

Aquele variável client não existe no client-side, ela existe apenas no server-side para fins de segurança, onde você pode confiar nela.

Obrigado! já resolvi

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...