Jump to content

How to add NEW skins? (replace old)


Simulate

Recommended Posts

  • Replies 86
  • Created
  • Last Reply

Top Posters In This Topic

Do you have skins folder in the resource?

I'm not completely clueless. lol. Yes there is skins in the "skins" folder, they are called 80.txd and 81.txd as in the meta and lua files.

I'm not saying you are clueless but even experienced scripters can get such stupid errors. Attach your skin replacer in your next message. I'll try to figure out what is wrong but before you do it. Try to replace skin textures with a delay (setTimer).

Link to comment
Do you have skins folder in the resource?

I'm not completely clueless. lol. Yes there is skins in the "skins" folder, they are called 80.txd and 81.txd as in the meta and lua files.

I'm not saying you are clueless but even experienced scripters can get such stupid errors. Attach your skin replacer in your next message. I'll try to figure out what is wrong but before you do it. Try to replace skin textures with a delay (setTimer).

Hmmm. Okay I'm just starting out with this kind of scripting. Soo what would you like me to try?

I have attatched the .zip file, I'm guessing thats what you are asking for?

Thank you for the very quick reply's and help.

Link to comment

OK. You had errors in your script.

Use this code:

function replaceModel()
local skin = engineLoadTXD ( "skins/80.txd" )
engineImportTXD ( skin, 80 )
   skin = engineLoadTXD ( "skins/81.txd" )
engineImportTXD ( skin, 81 )
end
addEventHandler ( "onClientResourceStart", getResourceRootElement(), replaceModel)

Link to comment
OK. You had errors in your script.

Use this code:

function replaceModel()
local skin = engineLoadTXD ( "skins/80.txd" )
engineImportTXD ( skin, 80 )
   skin = engineLoadTXD ( "skins/81.txd" )
engineImportTXD ( skin, 81 )
end
addEventHandler ( "onClientResourceStart", getResourceRootElement(), replaceModel)

Thank you so much! That has fixed it. The skins now work and are applied in game.

Link to comment
  • 1 year later...

tell me what I need to do first. What directory do I create a folder, what should I name the folder, what files go in the folder is it that easy to do, or am I being complicated. As far as I know and what Ive read, I create a folder in .../MTA San Andreas/server/mods/deathmatch/resources/ and I call it skins. As far as Ive read, I stick the txd and dff of the skin Im wanting to use. Then I create a text file with the code you gave me

then I save it as meta.xml. Idk which stock skin to replace so I'll pick a random number like 80. So then I rename the txd and dff, to 80.txd and 80.dff and place them in the skin folder. What do I do now, because Ive looked through all the folders, there is no script.lua. I hear alot about server sided and client sided, all I know is that I'd want to see the skin and I'd also like for players to see the skin. It doesn't specific whether Im suppose to add 2 codes one with client and the other as server, so Im not sure. Theres alot of things the tutorial automatically assumes Im suppose to know. Tutorials should be step by step for dummys, thats basically what a tutorial is.

Link to comment

In my C:\Program Files\MTA San Andreas 1.1\server\mods\deathmatch\resources I have other folders are they supposed to be there or do I have the wrong server setup. The folders are [admin], [editor], [gamemodes], [gameplay], [managers] and [web]. Should I create the folder the same way like this [skins] or just skins?

Link to comment

What will my script.lua look like? Where do I type in skin1.txd, skin1.dff? how do I add more because Im wanting to replace skin1-skin60?

function load()

for index, skin in pairs(skins) do

txd = engineLoadTXD ( skin.fileName .. ".txd" )

engineImportTXD ( txd, skin.skinID )

dff = engineLoadDFF ( skin.fileName .. ".dff", 0 )

engineReplaceModel ( dff, skin.skinID )

end

end

addEventHandler("onClientResourceStart",resourceRoot,

function ()

local version = getVersion()

if string.find(version.mta, "1.1.1") then

setTimer ( load, 1000, 1)

end

end)

THanks for all your help. I really appreciate it.

Link to comment
Alright, I added this script I also changed it to look like this:

function replaceModel() 
local[color=#FF0000] skin [/color]= engineLoadTXD ( "skins/80.txd" ) 
engineImportTXD ( skin, 80 ) 
local [color=#FF0000]skin[/color] = engineLoadTXD ( "skins/81.txd" ) 
engineImportTXD ( skin, 81 ) 
end 
addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), replaceModel) 

but when I start the resource then connect to the server, it downloads a file so it must be the two modded skins, I then select the team but it shows the original skins and not the modified ones?

any help much appreciated.

they are named same.. look at my earlyer post

Make that variables like skin = ...

skin1 = ...

Link to comment

I personally avoid using declaring variables if they are used once only, to reduce my code lines/characters. So I suggest just try this:

engineImportTXD ( engineLoadTXD ( "skins/80.txd" ), 80 ) 
engineImportTXD ( engineLoadTXD ( "skins/81.txd" ), 81 ) 

(don't use addEventHandler==>onClientResourceStarts, the code starts at the same time as the resource)

Link to comment
  
--This table holds all skins IDs and their corresponding filepaths. 
local skinReplacements = { 
    -- skinID = "pathToFile" 
    80 = "skins/80.txd",  
    81 = "skins/81.txd" 
} 
  
--This function is executed when the resource starts - it replaces all the skin models. 
function replaceSkinModels() 
    for skinID, filePath in pairs(skinReplacments) do 
        local skinTXD = engineLoadTXD(filePath) 
        engineImportTXD(skinTXD, skinID) 
    end 
end 
addEventHandler("onClientResourceStart", resourceRoot, replaceSkinModels) 
  

Untested.

Also, make sure the files are properly added in the meta. Report any errors in the debug console (/debugscript 3) here.

Link to comment

I did, is the scrip.lua suppose to look like this:

local skins = {{fileName="skin1", skinID=9}, {fileName="skin2", skinID=10}}, {fileName="skin3", skinID=11}}, {fileName="skin4", skinID=12}}, {fileName="skin5", skinID=13}}, {fileName="skin6", skinID=14}}, {fileName="skin7", skinID=15}}, {fileName="skin8", skinID=16}}, {fileName="skin9", skinID=17}}, {fileName="skin10", skinID=18}}, {fileName="skin11", skinID=19}}, {fileName="skin12", skinID=20}}, {fileName="skin13", skinID=21}}, {fileName="skin14", skinID=22}}, {fileName="skin15", skinID=23}}, {fileName="skin16", skinID=24}}, {fileName="skin17", skinID=25}}, {fileName="skin18", skinID=26}}, {fileName="skin19", skinID=27}}, {fileName="skin20", skinID=28}}, {fileName="skin21", skinID=29}}, {fileName="skin22", skinID=30}}, {fileName="skin23", skinID=31}}, {fileName="skin24", skinID=32}}, {fileName="skin25", skinID=33}}, {fileName="skin26", skinID=34}}, {fileName="skin27", skinID=35}}, {fileName="skin28", skinID=36}}, {fileName="skin29", skinID=37}}, {fileName="skin30", skinID=38}}, {fileName="skin31", skinID=39}}, {fileName="skin32", skinID=40}}, {fileName="skin33", skinID=41}}, {fileName="skin34", skinID=43}}, {fileName="skin35", skinID=44}}, {fileName="skin36", skinID=45}}, {fileName="skin37", skinID=46}}, {fileName="skin38", skinID=47}}, {fileName="skin39", skinID=48}}, {fileName="skin40", skinID=49}}, {fileName="skin41", skinID=50}}

function load()

for index, skin in pairs(skins) do

txd = engineLoadTXD ( "skins/skin1.txd" )

engineImportTXD ( skin, 9 )

dff = engineLoadDFF ( "skins/skin1.dff", 0 )

engineReplaceModel ( dff, skin.9 )

txd = engineLoadTXD ( "skins/skin2.txd" )

engineImportTXD ( skin, 10 )

dff = engineLoadDFF ( "skins/skin2.dff", 0 )

engineReplaceModel ( dff, skin.10 )

txd = engineLoadTXD ( "skins/skin3.txd" )

engineImportTXD ( skin, 11 )

dff = engineLoadDFF ( "skins/skin3.dff", 0 )

engineReplaceModel ( dff, skin.11 )

txd = engineLoadTXD ( "skins/skin4.txd" )

engineImportTXD ( skin, 12 )

dff = engineLoadDFF ( "skins/skin4.dff", 0 )

engineReplaceModel ( dff, skin.12 )

txd = engineLoadTXD ( "skins/skin5.txd" )

engineImportTXD ( skin, 13 )

dff = engineLoadDFF ( "skins/skin5.dff", 0 )

engineReplaceModel ( dff, skin.13 )

txd = engineLoadTXD ( "skins/skin6.txd" )

engineImportTXD ( skin, 14 )

dff = engineLoadDFF ( "skins/skin6.dff", 0 )

engineReplaceModel ( dff, skin.14 )

txd = engineLoadTXD ( "skins/skin7.txd" )

engineImportTXD ( skin, 15 )

dff = engineLoadDFF ( "skins/skin7.dff", 0 )

engineReplaceModel ( dff, skin.15 )

txd = engineLoadTXD ( "skins/skin8.txd" )

engineImportTXD ( skin, 16 )

dff = engineLoadDFF ( "skins/skin8.dff", 0 )

engineReplaceModel ( dff, skin.16 )

txd = engineLoadTXD ( "skins/skin9.txd" )

engineImportTXD ( skin, 17 )

dff = engineLoadDFF ( "skins/skin9.dff", 0 )

engineReplaceModel ( dff, skin.17 )

txd = engineLoadTXD ( "skins/skin10.txd" )

engineImportTXD ( skin, 18 )

dff = engineLoadDFF ( "skins/skin10.dff", 0 )

engineReplaceModel ( dff, skin.18 )

txd = engineLoadTXD ( "skins/skin11.txd" )

engineImportTXD ( skin, 19 )

dff = engineLoadDFF ( "skins/skin11.dff", 0 )

engineReplaceModel ( dff, skin.19 )

txd = engineLoadTXD ( "skins/skin12.txd" )

engineImportTXD ( skin, 20 )

dff = engineLoadDFF ( "skins/skin12.dff", 0 )

engineReplaceModel ( dff, skin.20 )

txd = engineLoadTXD ( "skins/skin13.txd" )

engineImportTXD ( skin, 21 )

dff = engineLoadDFF ( "skins/skin13.dff", 0 )

engineReplaceModel ( dff, skin.21 )

txd = engineLoadTXD ( "skins/skin14.txd" )

engineImportTXD ( skin, 22 )

dff = engineLoadDFF ( "skins/skin14.dff", 0 )

engineReplaceModel ( dff, skin.22 )

txd = engineLoadTXD ( "skins/skin15.txd" )

engineImportTXD ( skin, 23 )

dff = engineLoadDFF ( "skins/skin15.dff", 0 )

engineReplaceModel ( dff, skin.23 )

txd = engineLoadTXD ( "skins/skin16.txd" )

engineImportTXD ( skin, 24 )

dff = engineLoadDFF ( "skins/skin16.dff", 0 )

engineReplaceModel ( dff, skin.24 )

txd = engineLoadTXD ( "skins/skin17.txd" )

engineImportTXD ( skin, 25 )

dff = engineLoadDFF ( "skins/skin17.dff", 0 )

engineReplaceModel ( dff, skin.25 )

txd = engineLoadTXD ( "skins/skin18.txd" )

engineImportTXD ( skin, 26 )

dff = engineLoadDFF ( "skins/skin18.dff", 0 )

engineReplaceModel ( dff, skin.26 )

txd = engineLoadTXD ( "skins/skin19.txd" )

engineImportTXD ( skin, 27 )

dff = engineLoadDFF ( "skins/skin19.dff", 0 )

engineReplaceModel ( dff, skin.27 )

txd = engineLoadTXD ( "skins/skin20.txd" )

engineImportTXD ( skin, 28 )

dff = engineLoadDFF ( "skins/skin20.dff", 0 )

engineReplaceModel ( dff, skin.28 )

txd = engineLoadTXD ( "skins/skin21.txd" )

engineImportTXD ( skin, 29 )

dff = engineLoadDFF ( "skins/skin21.dff", 0 )

engineReplaceModel ( dff, skin.29 )

txd = engineLoadTXD ( "skins/skin22.txd" )

engineImportTXD ( skin, 30 )

dff = engineLoadDFF ( "skins/skin22.dff", 0 )

engineReplaceModel ( dff, skin.30 )

txd = engineLoadTXD ( "skins/skin23.txd" )

engineImportTXD ( skin, 31 )

dff = engineLoadDFF ( "skins/skin23.dff", 0 )

engineReplaceModel ( dff, skin.31 )

txd = engineLoadTXD ( "skins/skin24.txd" )

engineImportTXD ( skin, 32 )

dff = engineLoadDFF ( "skins/skin24.dff", 0 )

engineReplaceModel ( dff, skin.32 )

txd = engineLoadTXD ( "skins/skin25.txd" )

engineImportTXD ( skin, 33 )

dff = engineLoadDFF ( "skins/skin25.dff", 0 )

engineReplaceModel ( dff, skin.33 )

txd = engineLoadTXD ( "skins/skin26.txd" )

engineImportTXD ( skin, 34 )

dff = engineLoadDFF ( "skins/skin26.dff", 0 )

engineReplaceModel ( dff, skin.34 )

txd = engineLoadTXD ( "skins/skin27.txd" )

engineImportTXD ( skin, 35 )

dff = engineLoadDFF ( "skins/skin27.dff", 0 )

engineReplaceModel ( dff, skin.35 )

txd = engineLoadTXD ( "skins/skin28.txd" )

engineImportTXD ( skin, 36 )

dff = engineLoadDFF ( "skins/skin28.dff", 0 )

engineReplaceModel ( dff, skin.36 )

txd = engineLoadTXD ( "skins/skin29.txd" )

engineImportTXD ( skin, 37 )

dff = engineLoadDFF ( "skins/skin29.dff", 0 )

engineReplaceModel ( dff, skin.37 )

txd = engineLoadTXD ( "skins/skin30.txd" )

engineImportTXD ( skin, 38 )

dff = engineLoadDFF ( "skins/skin30.dff", 0 )

engineReplaceModel ( dff, skin.38 )

txd = engineLoadTXD ( "skins/skin31.txd" )

engineImportTXD ( skin, 39 )

dff = engineLoadDFF ( "skins/skin31.dff", 0 )

engineReplaceModel ( dff, skin.39 )

txd = engineLoadTXD ( "skins/skin32.txd" )

engineImportTXD ( skin, 40 )

dff = engineLoadDFF ( "skins/skin32.dff", 0 )

engineReplaceModel ( dff, skin.40 )

txd = engineLoadTXD ( "skins/skin33.txd" )

engineImportTXD ( skin, 41 )

dff = engineLoadDFF ( "skins/skin33.dff", 0 )

engineReplaceModel ( dff, skin.41 )

txd = engineLoadTXD ( "skins/skin34.txd" )

engineImportTXD ( skin, 43 )

dff = engineLoadDFF ( "skins/skin34.dff", 0 )

engineReplaceModel ( dff, skin.43 )

txd = engineLoadTXD ( "skins/skin35.txd" )

engineImportTXD ( skin, 44 )

dff = engineLoadDFF ( "skins/skin35.dff", 0 )

engineReplaceModel ( dff, skin.44 )

txd = engineLoadTXD ( "skins/skin36.txd" )

engineImportTXD ( skin, 45 )

dff = engineLoadDFF ( "skins/skin36.dff", 0 )

engineReplaceModel ( dff, skin.45 )

txd = engineLoadTXD ( "skins/skin37.txd" )

engineImportTXD ( skin, 46 )

dff = engineLoadDFF ( "skins/skin37.dff", 0 )

engineReplaceModel ( dff, skin.46 )

txd = engineLoadTXD ( "skins/skin38.txd" )

engineImportTXD ( skin, 47 )

dff = engineLoadDFF ( "skins/skin38.dff", 0 )

engineReplaceModel ( dff, skin.47 )

txd = engineLoadTXD ( "skins/skin39.txd" )

engineImportTXD ( skin, 48 )

dff = engineLoadDFF ( "skins/skin39.dff", 0 )

engineReplaceModel ( dff, skin.48 )

txd = engineLoadTXD ( "skins/skin40.txd" )

engineImportTXD ( skin, 49 )

dff = engineLoadDFF ( "skins/skin40.dff", 0 )

engineReplaceModel ( dff, skin.49 )

txd = engineLoadTXD ( "skins/skin41.txd" )

engineImportTXD ( skin, 50 )

dff = engineLoadDFF ( "skins/skin41.dff", 0 )

engineReplaceModel ( dff, skin.50 )

end

end

addEventHandler("onClientResourceStart",resourceRoot,

function ()

local version = getVersion()

if string.find(version.mta, "1.1.1") then

setTimer ( load, 1000, 1)

end

end)

and then this is my meta.xml:

Im not sure if this is right. I wrote the code down and then tried to fit in the names of the files. Correct me, por favor.

Link to comment

script.lua is EPICLLY wrong, you are not using the table for anything really..

local skins = {{fileName="skin1", skinID=9}, {fileName="skin2", skinID=10}}, {fileName="skin3", skinID=11}}, {fileName="skin4", skinID=12}}, {fileName="skin5", skinID=13}}, {fileName="skin6", skinID=14}}, {fileName="skin7", skinID=15}}, {fileName="skin8", skinID=16}}, {fileName="skin9", skinID=17}}, {fileName="skin10", skinID=18}}, {fileName="skin11", skinID=19}}, {fileName="skin12", skinID=20}}, {fileName="skin13", skinID=21}}, {fileName="skin14", skinID=22}}, {fileName="skin15", skinID=23}}, {fileName="skin16", skinID=24}}, {fileName="skin17", skinID=25}}, {fileName="skin18", skinID=26}}, {fileName="skin19", skinID=27}}, {fileName="skin20", skinID=28}}, {fileName="skin21", skinID=29}}, {fileName="skin22", skinID=30}}, {fileName="skin23", skinID=31}}, {fileName="skin24", skinID=32}}, {fileName="skin25", skinID=33}}, {fileName="skin26", skinID=34}}, {fileName="skin27", skinID=35}}, {fileName="skin28", skinID=36}}, {fileName="skin29", skinID=37}}, {fileName="skin30", skinID=38}}, {fileName="skin31", skinID=39}}, {fileName="skin32", skinID=40}}, {fileName="skin33", skinID=41}}, {fileName="skin34", skinID=43}}, {fileName="skin35", skinID=44}}, {fileName="skin36", skinID=45}}, {fileName="skin37", skinID=46}}, {fileName="skin38", skinID=47}}, {fileName="skin39", skinID=48}}, {fileName="skin40", skinID=49}}, {fileName="skin41", skinID=50}} 
  
function load() 
    for index, skin in pairs(skins) do 
    engineImportTXD(engineLoadTXD ( "skins/".. skin.fileName ..".txd" ), tonumber(skin.skinID)) 
    engineReplaceModel(engineLoadDFF ( "skins/".. skin.fileName ..".dff", 0 ), tonumber(skin.skinID)) 
    end 
end 
  
addEventHandler("onClientResourceStart",resourceRoot, 
function () 
local version = getVersion() 
       if string.find(version.mta, "1.1.1") then 
            setTimer ( load, 1000, 1) 
      end 
end) 

That should work.

Link to comment

ok, I'll try it. As an update for people reading this, I created a folder in C:\Program Files\MTA San Andreas 1.1\server\mods\deathmatch\resources\ called skins and then I made a zip file of my script.lua and meta.xml along with all the txds and dffs and placed the zip file in the skins folder. Am I missing any other detail that Im not aware of? When I start my game the tutorial said I must restart resourcebrowser, resourcemanager, webadmin, and webmap so that the game server rescans new resources, should I do this in the admin panel or the console and whats the command cause Im using start "resource name" then enter.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...