I have a skin that I'm trying to apply to the T Series. It's a Mario Skin for part of a skin pack. The console throws no errors and the truck remains unskinned. The skin shows in the Part Selector, yet with it applied, no visible differences are noticeable. materials.cs: singleton Material("semi.skin.mario") { mapTo = "semi.skin.mario"; overlayMap[2] = "vehicles/semi/marioluigi/mario_skin.dds"; diffuseMap[2] = "vehicles/semi/semi_c.dds"; specularMap[2] = "vehicles/semi/semi_s.dds"; normalMap[2] = "vehicles/semi/semi_n.dds"; diffuseMap[1] = "vehicles/semi/semi_d.dds"; specularMap[1] = "vehicles/semi/semi_s.dds"; normalMap[1] = "vehicles/semi/semi_n.dds"; diffuseMap[0] = "vehicles/common/null.dds"; specularMap[0] = "vehicles/common/null.dds"; normalMap[0] = "vehicles/semi/semi_n.dds"; specularPower[0] = "128"; pixelSpecular[0] = "1"; specularPower[1] = "32"; pixelSpecular[1] = "1"; specularPower[2] = "128"; pixelSpecular[2] = "1"; diffuseColor[0] = "1 1 1 1"; diffuseColor[1] = "1 1 1 1"; diffuseColor[2] = "1 1 1 1"; useAnisotropic[0] = "1"; useAnisotropic[1] = "1"; useAnisotropic[2] = "1"; castShadows = "1"; translucent = "1"; translucentBlendOp = "None"; alphaTest = "0"; alphaRef = "0"; dynamicCubemap = true; instanceDiffuse[2] = true; materialTag0 = "beamng"; materialTag1 = "vehicle"; }; semi_skins.jbeam: "semi_skin_mario": { "information":{ "authors":"Mario64iscool2", "name":"Mario Livery", "value":150, }, "slotType" : "paint_design", "skinName" : "mario", },
Use Code: [CODE] to wrap your code, so that it preserves all the indentations. I believe the material name is wrong, there's no 'semi' material, but 'semi_cab' and 'semi_sleeper' Have a look at the official materials.cs file and see how we do the official skins.
is it possible to have a single skin that has multiple lines of mapTo, such as this: Code: { mapTo = "semi_cab.skin.mario"; mapTo = "semi_sleeper.skin.mario"; ... }
No, that will not work. Just do the same way as we do for our other skins. You only need to create a skin material for semi_cab and another for semi_sleeper.
So for a skin to only have one name show in parts selector would be something like this? Code: singleton Material("sunburst.skin.luigi") { mapTo = "sunburst.skin.luigi"; overlayMap[2] = "vehicles/sunburst/marioluigi/luigi_skin.dds"; diffuseMap[2] = "vehicles/sunburst/sunburst_c.dds"; specularMap[2] = "vehicles/sunburst/sunburst_s.dds"; normalMap[2] = "vehicles/sunburst/sunburst_n.dds"; diffuseMap[1] = "vehicles/sunburst/sunburst_d.dds"; specularMap[1] = "vehicles/sunburst/sunburst_s.dds"; normalMap[1] = "vehicles/sunburst/sunburst_n.dds"; diffuseMap[0] = "vehicles/common/null.dds"; specularMap[0] = "vehicles/common/null.dds"; normalMap[0] = "vehicles/sunburst/sunburst_n.dds"; specularPower[0] = "128"; pixelSpecular[0] = "1"; specularPower[1] = "32"; pixelSpecular[1] = "1"; specularPower[2] = "128"; pixelSpecular[2] = "1"; diffuseColor[0] = "1 1 1 1"; diffuseColor[1] = "1 1 1 1"; diffuseColor[2] = "1 1 1 1"; useAnisotropic[0] = "1"; useAnisotropic[1] = "1"; useAnisotropic[2] = "1"; castShadows = "1"; translucent = "1"; translucentBlendOp = "None"; alphaTest = "0"; alphaRef = "0"; dynamicCubemap = true; instanceDiffuse[2] = true; materialTag0 = "beamng"; materialTag1 = "vehicle"; }; singleton Material("sunburst.skin.mario") { mapTo = "sunburst.skin.mario"; overlayMap[2] = "vehicles/sunburst/marioluigi/mario_skin.dds"; diffuseMap[2] = "vehicles/sunburst/sunburst_c.dds"; specularMap[2] = "vehicles/sunburst/sunburst_s.dds"; normalMap[2] = "vehicles/sunburst/sunburst_n.dds"; diffuseMap[1] = "vehicles/sunburst/sunburst_d.dds"; specularMap[1] = "vehicles/sunburst/sunburst_s.dds"; normalMap[1] = "vehicles/sunburst/sunburst_n.dds"; diffuseMap[0] = "vehicles/common/null.dds"; specularMap[0] = "vehicles/common/null.dds"; normalMap[0] = "vehicles/sunburst/sunburst_n.dds"; specularPower[0] = "128"; pixelSpecular[0] = "1"; specularPower[1] = "32"; pixelSpecular[1] = "1"; specularPower[2] = "128"; pixelSpecular[2] = "1"; diffuseColor[0] = "1 1 1 1"; diffuseColor[1] = "1 1 1 1"; diffuseColor[2] = "1 1 1 1"; useAnisotropic[0] = "1"; useAnisotropic[1] = "1"; useAnisotropic[2] = "1"; castShadows = "1"; translucent = "1"; translucentBlendOp = "None"; alphaTest = "0"; alphaRef = "0"; dynamicCubemap = true; instanceDiffuse[2] = true; materialTag0 = "beamng"; materialTag1 = "vehicle"; }; singleton Material("sunburst_widebody_skin_luigi") { mapTo = "sunburst_widebody.skin.luigi"; overlayMap[2] = "vehicles/sunburst/marioluigi/luigi_skin_wide.dds"; diffuseMap[2] = "vehicles/sunburst/sunburst_widebody_c.dds"; specularMap[2] = "vehicles/sunburst/sunburst_widebody_s.dds"; normalMap[2] = "vehicles/sunburst/sunburst_widebody_n.dds"; diffuseMap[1] = "vehicles/sunburst/sunburst_widebody_d.dds"; specularMap[1] = "vehicles/sunburst/sunburst_widebody_s.dds"; normalMap[1] = "vehicles/sunburst/sunburst_widebody_n.dds"; diffuseMap[0] = "vehicles/common/null.dds"; specularMap[0] = "vehicles/common/null.dds"; normalMap[0] = "vehicles/sunburst/sunburst_widebody_n.dds"; specularPower[0] = "128"; pixelSpecular[0] = "1"; specularPower[1] = "32"; pixelSpecular[1] = "1"; specularPower[2] = "128"; pixelSpecular[2] = "1"; diffuseColor[0] = "1 1 1 1"; diffuseColor[1] = "1 1 1 1"; diffuseColor[2] = "1 1 1 1"; useAnisotropic[0] = "1"; useAnisotropic[1] = "1"; useAnisotropic[2] = "1"; castShadows = "1"; translucent = "1"; translucentBlendOp = "None"; alphaTest = "0"; alphaRef = "0"; dynamicCubemap = true; instanceDiffuse[2] = true; materialTag0 = "beamng"; materialTag1 = "vehicle"; }; singleton Material("sunburst_widebody_skin_mario") { mapTo = "sunburst_widebody_skin_mario"; overlayMap[2] = "vehicles/sunburst/marioluigi/mario_skin_wide.dds"; diffuseMap[2] = "vehicles/sunburst/sunburst_widebody_c.dds"; specularMap[2] = "vehicles/sunburst/sunburst_widebody_s.dds"; normalMap[2] = "vehicles/sunburst/sunburst_widebody_n.dds"; diffuseMap[1] = "vehicles/sunburst/sunburst_widebody_d.dds"; specularMap[1] = "vehicles/sunburst/sunburst_widebody_s.dds"; normalMap[1] = "vehicles/sunburst/sunburst_widebody_n.dds"; diffuseMap[0] = "vehicles/common/null.dds"; specularMap[0] = "vehicles/common/null.dds"; normalMap[0] = "vehicles/sunburst/sunburst_widebody_n.dds"; diffuseMap[0] = "vehicles/common/null.dds"; specularMap[0] = "vehicles/common/null.dds"; normalMap[0] = "vehicles/sunburst/sunburst_widebody_n.dds"; specularPower[0] = "128"; pixelSpecular[0] = "1"; specularPower[1] = "32"; pixelSpecular[1] = "1"; specularPower[2] = "128"; pixelSpecular[2] = "1"; diffuseColor[0] = "1 1 1 1"; diffuseColor[1] = "1 1 1 1"; diffuseColor[2] = "1 1 1 1"; useAnisotropic[0] = "1"; useAnisotropic[1] = "1"; useAnisotropic[2] = "1"; castShadows = "1"; translucent = "1"; translucentBlendOp = "None"; alphaTest = "0"; alphaRef = "0"; dynamicCubemap = true; instanceDiffuse[2] = true; materialTag0 = "beamng"; materialTag1 = "vehicle"; }; And I would just have the mapTo be the regular, and another for the sleeper? In the Parts Selector, is there only going to be one skin name?