Français Changer les skins des tenues vanilla

  • Auteur de la discussion Auteur de la discussion Bugz
  • Date de début Date de début

Bugz

User
29/12/19
98
4
7
950
Avignon, Vaucluse, France
Bienvenue sur ce tutoriel qui vous permettra de changer les textures d'une tenues, d'un sac (en vanilla).
Ce tutoriel fait suite à la demande d'aide de H HarK
C'est parti !

Pour commencer, vous devez placer les tenues dans votre dossier "textures" à la racine de votre mission (ou dans un autre dossier).

Maintenant, nous devons modifier certains fichiers pour que le skin s'applique à la tenue.

Aller dans votre dossier core\functions

Et ouvrer le fichier fn_playerSkins.sqf

[CODE title="fn_playerSkins.sqf"]#include "..\..\script_macros.hpp"
/*
File: fn_playerSkins.sqf
Author: Daniel Stuart

Description:
Sets skins for players by their side and uniform.
*/
private ["_skinName"];

switch (playerSide) do {
case civilian: {
if (LIFE_SETTINGS(getNumber,"civ_skins") isEqualTo 1) then {
if (uniform player isEqualTo "U_C_Poloshirt_blue") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_1.jpg"];
};
if (uniform player isEqualTo "U_C_Poloshirt_burgundy") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_2.jpg"];
};
if (uniform player isEqualTo "U_C_Poloshirt_stripped") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_3.jpg"];
};
if (uniform player isEqualTo "U_C_Poloshirt_tricolour") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_4.jpg"];
};
if (uniform player isEqualTo "U_C_Poloshirt_salmon") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_5.jpg"];
};
if (uniform player isEqualTo "U_C_Poloshirt_redwhite") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_6.jpg"];
};
if (uniform player isEqualTo "U_C_Commoner1_1") then {
player setObjectTextureGlobal [0, "textures\civilian_uniform_7.jpg"];
};
};
};

case west: {
if (uniform player isEqualTo "U_Rangemaster") then {
_skinName = "textures\cop_uniform.jpg";
if (LIFE_SETTINGS(getNumber,"cop_extendedSkins") isEqualTo 1) then {
if (FETCH_CONST(life_coplevel) >= 1) then {
skinName = ["textures\cop_uniform",(FETCH_CONST(life_coplevel)),".jpg"] joinString "";
};
};
player setObjectTextureGlobal [0, _skinName];
};
};

case independent: {
if (uniform player isEqualTo "U_Rangemaster") then {
player setObjectTextureGlobal [0, "textures\medic_uniform.jpg"];
};
};
};[/CODE]

Pour modifier le skin d'une tenue il suffit de remplacer le chemin existant par le chemin de votre tenue

Exemple :


Code:
switch (playerSide) do {
    case civilian: {
            if (uniform player isEqualTo "U_C_Poloshirt_burgundy") then {
                player setObjectTextureGlobal [0, "textures\ma_texture.jpg"];
            };
        };
    };

À savoir : Les textures peuvent être en .paa ou .jpg (les .paa sont moins volumineux généralement)

Maintenant, pour modifier la texture d'un sac il vous suffit d'ajouter les lignes suivantes :
Code:
(unitBackpack player) setObjectTextureGlobal [0,"textures\la_texture_sac.paa"];

Remplacer "textures\la_texture_sac.paa" par le chemin de la texture de votre sac

Exemple :

Code:
case west: {
        if (uniform player isEqualTo "U_Rangemaster") then {
            _skinName = "textures\cop_uniform.jpg";
            if (LIFE_SETTINGS(getNumber,"cop_extendedSkins") isEqualTo 1) then {
                if (FETCH_CONST(life_coplevel) >= 1) then {
                    _skinName = ["textures\cop_uniform_",(FETCH_CONST(life_coplevel)),".jpg"] joinString "";
                };
            };

            if (backpack player isEqualTo "class_de_mon_sac") then {
                 unitBackpack player setObjectTextureGlobal [0,"textures\backpack_Gendarmerie.paa"];
            };
    };

Et voilà !

Si vous avez le moindre problème, créez une demande d'aide sur le forum

Cordialement,
Forum Moderator - Bugz
 
salut je suis daccord sur ca, mais pars contre comment tu peux mettre plusieurs texture sur une meme tenue ? genre

case civil

if (uniform player isEqualTo "U_C_Poloshirt_burgundy") then {
player setObjectTextureGlobal [0, "textures\ma_texture1.jpg"]; ma première texture

if (uniform player isEqualTo "U_C_Poloshirt_burgundy") then {
player setObjectTextureGlobal [0, "textures\ma_texture2.jpg"]; ma deuxième texture
 
Logiquement ce n'est pas possible d'avoir 2 skins différents sur la même tenue.
Il faut forcément que ce soit un skin ou l'autre qui est mis selon une condition.

Pour avoir 2 skins différents dans le shop, il faut forcément utiliser 2 tenues qui ont des classnames différents comme je l'ai dit au dessus