[DCS-BS/FC2] Manuel du Modeur

Section reservée au Manuels/Addons/Mods/Skins/utilitaires
pour Lock on FC2

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

[DCS-BS/FC2] Manuel du Modeur

#1

Message par Michelange »

Introduction et préparation


Bonjour,

Ce sujet s'adresse aux futurs modeurs, aux personnes désirant étendre leurs connaissances sur le fonctionnement de Lockon et DCS.

Je vais regrouper dans ce sujet, les informations nécessaires pour créer des mods, modifier et/ou adapter des mods existants pour FC2.0 et Black Shark.
Ces informations ont déjà été traitées dans certains sujets sur le forum, mais il est plus simple de tout regrouper.

De même je souhaiterai que vous n'interveniez pas sur ce sujet avant que j'ai mis en place toutes les rubriques d'ont j'ai connaissance.

Pour les personnes désirant participer à cette base de connaissance, vous pouvez directement rajouter vos informations ou me contacter par MP pour que je les rajoute.

Important : ces informations devraient être valables pour FC2.0 et DCS une fois DCS patchés.


0°- Question de bon sens : Et les shadocks pompèrent, pompèrent, pompèrent....

- Avant toute chose, faites une copie de votre installation vierge dans un autre répertoire.

- Vous pouvez faire tourner plusieurs installations de FC2 ou BS mais attention à bien configurer les raccourcis ils doivent renvoyer à :
Cible = ...\bin\stable\launcher.exe --console pour BS ou FC2 en local
et
Cible = Multiplayer.bat pour DCS BS en réseau (ça va peut être changer avec le patch ?)
Cible = ...\bin\x86\stable\simulator.exe" --net gui pour FC2 en réseau

- Copiez les clés de registre, au cas ou vous aurez besoin de formater. Le tuto est Ici


00°- Le debuggage : Quelque chose besoin monsieur ?

- Si votre mod ne fonctionne pas allez dans le répertoire .../temp vous trouverez un fichier error.log.
- Ouvrez le. Parfois des informations intéressantes s'y trouvent.

MA

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#2

Message par Michelange »


Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#3

Message par Michelange »

Les fichiers skins

1°- C'est quoi donc ?

- Ce sont des fichiers que vous pouvez éditer avec un editeur de texte
- Ils contiennent les information d'indexation des skins en fonction du modèle 3D au format LOM uniquement
- Vous trouvez ces fichiers avec les fichiers des modèles 3D dans le répertoire Bazar/World/shapes

- En premier lieu est donné la distance ou l'on change de modèle 3D le LOD (le petit cube qu'on voit au loin devient une modèle 3D complexe en se rapprochant)
- Ensuite chaque jeu de skins est indexé.


2°- Exemple

- Le Su-25T : comprends 5 fichiers .skins (SU-25T.skins, SU-25T-WING-R.skins, SU-25T-WING-L.skins, SU-25T-TAIL.skins, SU-25T-NOSE.skins, SU-25T-FONAR.skins)

- Voyons le début le fichier SU-25T.skins

models -- Ici sont défini les modèles 3D de l'avion, il y en a 3
{
lod = {"SU-25T", 30}; -- Le modèle le plus précis SU-25T.lom est visible de prèt
lod = {"SU-25T_LOD1", 500}; -- Le modèle SU-25T_LOD1.lom est chargé à 500 m
lod = {"SU-25T_LOD", 1000000}; -- ça c'est le petit carré qu'on voit de loin
collision = "SU-25T-COLLISION"; -- et voici le modèle de dégats
}


argument
{
argument = 70; -- ça c'est un argument de visibilité de la skin lié au modèle 3D
skin
{
value = 0.0; -- Important : ceci représente le premier indice donc la skin 1
material = {"fuz-center", "standart", "SU39-PAINT1-DEF-01.BMP"};
material = {"wings", "standart", "SU39-PAINT2-DEF-01.BMP"};
material = {"SU39-PAINT2bis-DEF-01", "standart", "SU39-PAINT2bis-DEF-01.BMP"};
material = {"fuz-tail & fin", "standart", "SU39-PAINT3-DEF-01.BMP"};
material = {"tail & stab", "standart", "SU39-PAINT4-DEF-01.BMP"};
material = {"brake-L", "standart", "SU39-PAINT5-L-DEF-01.BMP"};
material = {"brake-R", "standart", "SU39-PAINT5-R-DEF-01.BMP"};
material = {"fuz-nose-steel", "standart", "SU39-PAINT6-DEF-01.BMP"};
material = {"SU-39-PILON", "standart", "SU39-PILON-PAINT-DEF-01.BMP"};
material = {"PILON_2_Su-39", "standart", "SU39-PILON-2-PAINT-DEF-01.BMP"};
material = {"numbers", "standart", "rus-code-numbers-ver1-BwW-X.TGA"};
material = {"PylonsSu-25T1", "standart", "Su-25TPylon.bmp"};
material = {"pylon25lateral", "standart", "Lateral25TPylon.bmp"};
}

- Comme vous pouvez le voir, chaque skin est composée de plusieurs textures BMP ou TGA, représentant les différents éléments de l'avion, la cocarde, les éléments mécaniques etc...
- Ces fichiers sont ceux que vous trouvez compacté dans les fichiers CDDS (voir plus haut)

skin
{
value = 0.1; -- 2ème indice : ici débute l'indexation de la skin 2

...
Etc...
...

Important :
- Si vous voulez rajouter un jeu de textures, il suffit de les indexer à la fin du fichier en incrémentant la valeur de l'indice.
- Ne pas oublier d'ajouter ces fichiers lorsque vous compactez un mod avec Modman.

Très important :
- Si vous utilisez le Modmaker de Modman, ce dernier s'occupe de mettre en place ces lignes pour votre skin, mais à vous de lui fournir les informations dans dans un fichier skin.lma7 que vous devez créer.
- Le mode d'emploi vous est fourni dans le module Mods Maker vous trouverez une petite icone sous forme de ? à côté de skin.lma config file


3°- Autres exemples déjà traités

* Le F-18
* Le Su-27 3GO
* Le A-10 Simod
* Le Su-25T


to be continued

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#4

Message par Michelange »

Le fichier db_countries
1°- Est ce que ça se mange ? - Il contient les informations concernant les pays (Anciennement dans le Meinit.xml de FC1.12)
- Il permet d'assigner à chaque pays les armements et les skins des avions, hélico, troupes etc...

Petite remarque concernant le langage LUA :
- Lorsqu'une ligne commence par -- (2 signes -), elle est considérée comme un commentaire, donc non exécutée.
- Certaines lignes ont été inhibées de cette manière par ED.


2°- Mais ou suis- je ? Ou comment s'y retrouver.
- Ce fichier est relativement grand et il vaut mieux faire une recherche par mot clé (exemple le nom) pour trouver ce que l'on recherche.
- Chaque début de définition d'un pays commence par :
country("{La clé CLSID}", _("Le Nom"),..., le drapeau.png...

3°- Exemple : country("{24623DF1-59F6-4231-B669-4B0160F2C9BF}", _("France"), "France", "FRA", "France.png", 5,
-- Voyons ce qu'on a dans le ventre
{
Planes =
{
CATID = "{C168A850-3C0B-436a-95B5-C4A015552560}",
-- Tous les avions assignés à la France (avec la clé pour la catégorie avions)
Plane =
{
cnt_unit("{AAD0C656-A7E0-4099-8F6C-25DDCB3EEEA2}", "Mirage 2000-5", {
-- Le premier type Mirage 2000-5 avec sa clé
color_scheme("{55033da3-6ad7-4a9c-807f-79696ce713a2}", "EC1/2 SPA3 \"Cigogne de Guynemer\""),
color_scheme("{7c41a49f-74a3-42e6-b8d0-8297722aa1bb}", "EC1/2 SPA103 \"Cigogne de Fonck\""),
color_scheme("{703e7ba9-e80c-4049-a440-25a45a8a0a29}", "EC1/2 SPA12 \"Cigogne a ailes ouvertes\""),
color_scheme("{2cd75265-f577-41fb-bdc7-6bdee4555385}", "EC2/2 \"Cote d'or\" SPA65 \"Chimere\""),
color_scheme("{e2ab0c76-4248-4268-8372-b7b35993de47}", "EC2/2 \"Cote d'or\" SPA57 \"Mouette\""),
color_scheme("{f6b81feb-e6d9-4f4d-9a75-40a33e5b3750}", "EC2/2 SPA94 \"LaMort qui fauche\""),
-- Les 6 skins du mirage 2000-5 : les clés sont les mêmes que celles du fichier Mirage_2000-5.lua
-- Attention : Le modèle 3D du 2000 n'est pas au format LOM mais CMD donc on ne peut pas rajouter une 7ème skin à cet avion. Il faut un nouveau modèle 3D.
-- Pour les avions au format LOM vous pouvez ajouter une nouvelle skin que vous avez défini par une clé supplémentaire dans le fichier \Database\planes\Avion.lua voir le sujet ci-dessous.
-- En copiant la ligne cnt_unit et une des skins dans un autre pays, il est possible d'assigner le 2000 à un autre pays... (A tester. Attention au nombre de skins total)
}),
cnt_unit("{0213FA86-978D-4586-BAC3-BD642AD52B96}", "C-130", {
-- Le deuxième type d'avion
color_scheme("{2024A60C-DC7B-4af0-B0E7-6A911774383B}", "ET 2/61 \"Franche-Comte\""),
}),
},
},
...
Vous avez ainsi pour chaque pays :
Heliports = le type d'héliports disponnibles FARP
Ships = les bateaux
Cars = les véhicules
Helicopters = les hélicos
Fortifications = les batiments
-- Pour touts ces groupes, vous pouvez changer/déplacer/rajouter des éléments. Mais attention à bien tester si cela fonctionne en réseau.
-- En hélico, on a par exemple le KA-50, pour je les joueurs de DCS puissent jouer sous la banière France.
Enfin à la fin de chaque définition de pays :
callsign(1, "{F55E6D97-9C9E-417a-A275-B23ABC556414}", "Enfield"),
-- les identifients
rank('Second lieutenant', _('Second lieutenant'), 0, {0, 0, 64, 32}),
-- Les grades
award('Croix de la bravoure', _('Croix de la bravoure'), 200, 'FR-01-Cross_of_Valour.png'),
-- Les médailles


Très important :
- Si vous utilisez le Modmaker de Modman, ce dernier s'occupe de mettre en place les lignes pour vos skins, mais à vous de lui fournir les informations dans dans un fichier skin.lma7 que vous devez créer.
- Le mode d'emploi vous est fourni dans le module Mods Maker vous trouverez une petite icone sous forme de ? à côté de skin.lma config file


Voir aussi le sujet Bienvenue à Groland

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#5

Message par Michelange »

Les fichiers du répertoire Scripts/Database/Planes (Scripts/Database/Helicopters)
1°- Y a quoi là dedans ? - Ce sont les fichiers de configuration des avions (répertoire planes), hélico (répertoire hélicopter) etc...
- Chaque élément du jeu y est décrit par un fichier .LUA qui peut être édité par un éditeur de texte.
- Chaque fichier contient les informations concernant les skins appliqué à l'appareil, les emports et d'autres information caractérisant l'appareil.

Petite remarque concernant le langage LUA :
- Lorsqu'une ligne commence par -- (2 signes -), elle est considérée comme un commentaire, donc non exécutée.
- Certaines lignes ont été inhibées de cette manière par ED.

2°- Exemple : A-10A.lua return plane("{8FDB2742-2283-450D-B417-CFC47774E8B6}", "A-10A", _("A-10A"),
-- chaque avion est identifié une clé CLSID unique, le dernier nom est affiché dans le menu de l'éditeur.
{
-- ici vous trouvez les caractéristiques de l'avion. Evitez les modifications de celles-ci
Cannon = "yes",
...
Picture = "A-10A.png", -- L'image de l'onglet Loadout de l'éditeur. Elles sont stocké dans \BlackShark\data\images\Loadout\Units
...
Shape = "a-10", -- Je pense que qu'il fait appel ici au A-10.skins pour récupérer les Value = ID pour les skins
WorldID = 17, -- Identifiant : je soupçonne un lien avec le MDV

...


ColorSchemes = {
-- Ici sont attribués les jeux de textures
-- cette liste comprend toutes les skins indépendament du pays ou l'avion est employé.
-- chaque skin est identifié une clé CLSID unique
color_scheme("{D7FBDFAC-7CDA-4857-9999-CDC0F2AFD1CA}", _("USA Grey"), 0),
-- Le 0 correspond à la valeur 0.0 du fichier A-10A.Skins
color_scheme("{6D79BC93-FB8D-4EE4-AE1A-AECADB2798E5}", _("USA Flipper"), 1),
-- Le 1 correspond à la valeur 0.1 du fichier A-10A.Skins
...
}
-- Pour ajouter une nouvelle skin, il suffit de copier/coller la dernière ligne, changer la clé, donner la valeur que vous avez mis dans le fichier .skins et donner un nom à votre skin.
-- Pour créer une clé vous pouvez utiliser un générateur de clé
-- Attention : cette clé est aussi utilisée dans db_contries.lua
Failures = {
-- Les pannes je ne commenterai pas
{ id = 'asc', label = _('ASC'), enable = false, hh = 0, mm = 0, mmint = 1, prob = 100 },
...
},

mapclasskey = "P0091000025", -- Imagette représentant l'avion lorsque vous le placez sur la carte.
},

pylon(1, 0, -0.220000, -0.062000, -5.522000,
-- Les pylon : Ici est défini ce que chaque pylon peut porter -- Le n° et les coordonnée XYZ, à modifier si le modèle 3D change -> cas du nouveau A-10A
{
FiZ = -3.3,
},
{
{ CLSID = "{6D21ECEA-F85B-4E8D-9D51-31DC9B8AA4EF}" }, -- ALQ-131
-- chaque type d'emport est défini par une clé vous trouverez toutes les clés des armes dans le fichier db_weapons
{ CLSID = "{A4BCC903-06C8-47bb-9937-A30FEDB4E741}" }, -- Smoke Generator - red
-- Nouvelles possibilités d'emports ajoutés par l'utilisateur
{ CLSID = "{08164777-5E9C-4B08-B48E-5AA7AFB246E2}" }, -- BL-755
{ CLSID = "{DB769D48-67D7-42ED-A2BE-108D566C8B1E}" }, -- GBU-12
}
), -- fin de configuration du pylon 1
...
-- A la fin du fichier vous trouvez les tâches de l'avion { aircraft_task(GroundAttack),
aircraft_task(CAS),
aircraft_task(AFAC),
},
aircraft_task(CAS) -- tâche par défaut
);

Très important :
- Si vous utilisez le Modmaker de Modman, ce dernier s'occupe de mettre en place les lignes pour vos skins, mais à vous de lui fournir les informations dans dans un fichier skin.lma7 que vous devez créer.
- Le mode d'emploi vous est fourni dans le module Mods Maker vous trouverez une petite icone sous forme de ? à côté de skin.lma config file

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#6

Message par Michelange »

Le fichier db_weapons

1°- Le schmilblick fait-il boum ?

- dans une certaine mesure on peut faire l'analogie avec les fichiers dans les répertoires \Scripts\Database\planes, \Scripts\Database\helicolters puisque ce fichier leur est complémentaire.

- Les fichiers dédiés aux avions et hélico s'arrêtant à l'inventaire de ce qui est autorisé à placer sous chaque pylon, db_weapons, décrit plus précisément ces éléments.


2°- Les Bastos : ça va dézinguer !

Prenons simplement un exemple 3 AGM-65K en grappe, vous allez trouvez ces lignes dans le fichier db_weapons :

...
launcher("{907D835F-E650-4154-BAFD-C656882555C0}", "AGM-65K*3", _("AGM-65K*3"),
-- La même clé est utilisée dans le fichier \Scripts\Database\planes\A-10A.lua. c'est dingue non ? Regardez le pylon 3 dans le fichier A-10A.lua

{
Picture = "agm65.png", -- ça c'est la petite image qui se met lorsque vous créez un emport dans l'éditeur.
Count = 3,
WorldID = "5",
Weight = "981",
Guided = "no",
Required = {
req_launcher("{6C0D552F-570B-42ff-9F6D-F10D9C1D4E1C}", "AN/AAS-38 FLIR"), -- Ha, il faut aussi un POD !
req_launcher("{CAAC1CFD-6745-416B-AFA4-CB57414856D0}", "Lantirn F-16"), -- Et un autre pod POD !
},
},

{
-- OK, ici on va voir ce qui se fixe sous le pylon 3 par exemple
element("LAU-88", 0.000000, 0.000000, 0.000000),
-- Un support pour 3 armes les coordonnées sont 0 0 0 puisqu'il se fixe directement sous le pylon
element("AGM-65K", lau_88_shift_x, -0.310000, 0.000000,
drawarg(1, 1.000000),
drawarg(2, 1.000000)
-- Le premier missile sous le LAU-88 déplacement vers le bas -0.31 /pylon
),

element("AGM-65K", lau_88_shift_x, -0.085000, 0.275000,
drawarg(1, 1.000000), -- rotation (pas d'impact visible)
drawarg(2, 1.000000), -- rotation (pas d'impact visible)
drawarg(3, 1.000000)* -- rotation de 90°
-- Le 2ème missile déplacement vers le bas -0.08 et latéral 0.27 /pylon
-- on le tourne de 90° pour que les fixations soient latérales / LAU-88
),

element("AGM-65K", lau_88_shift_x, -0.085000, -0.275000,
drawarg(1, 1.000000),
drawarg(2, 1.000000),
drawarg(3, -1.000000) -- rotation de 90° dans l'autre sens
-- Le 3ème missile déplacement vers le bas -0.08 et latéral -0.27 /pylon. Ben oui, l'autre côté.
-- on le tourne de 90° pour que les fixations soient latérales / LAU-88, ça, fait plus joli.

),
}
),
...

Ben tien ! Le Flir et le lantrin sont décrits plus loin :

...
launcher("{CAAC1CFD-6745-416B-AFA4-CB57414856D0}", "Lantirn F-16", _("Lantirn F-16"),
-- Vous ne trouverez pas ces clés dans la description des pylon du A-10A.lua puisqu'ils sont fixés à l'avant de l'avion
{
Picture = "Lantirn.png",
WorldID = "9",
Weight = "445",
Guided = "no",
},
{
element("LANTIRN", 0.000000, 0.000000, 0.000000),
}
),
...

launcher("{6C0D552F-570B-42ff-9F6D-F10D9C1D4E1C}", "AN/AAS-38 FLIR", _("AN/AAS-38 FLIR"),
{
Picture = "ANAAS38.png",
WorldID = "9",
Weight = "200",
Guided = "no",
},
{
element("F-18-FLIR-POD", 0.000000, 0.000000, 0.000000),
}
),

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#7

Message par Michelange »

Les emports au parking 1° - Le principe :

- Le sujet est traité Ici
- Pour BlackShark version anglaise, le principe est le même sauf qu'il y a moyens d'utiliser des sous menus.

- Pour BlackShark francisé, cela est plus compliqué puisque ED a rajouté les traductions dans des fichiers spécifiques .mo, j'en discute plus en détails dans le chapitre "Les fichiers .res"
Avatar de l’utilisateur

Marc"Phoenix"
Messages : 6149
Inscription : 31 mai 2005

#8

Message par Marc"Phoenix" »

Excellente idée :notworthy
Tellement excellente que le sujet va etre Stiké :yes:

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#9

Message par Michelange »

Le fichier graphics.cfg

- C'est le fichier dans lequel sont déclaré les Packages de skins CDDS et Lockon / BS va chercher les skins en partant du pack déclaré en haut vers le bas, dès qu'il a trouvé ce qu'il cherche, il ne va pas plus loin.

- Dans les 2 Simulateurs BS et FC2.0, il y a en fait 2 fichiers :

\Config\graphics.cfg --> celui-ci est lu par FC2
\Config\graphics_bs.cfg --> celui-ci est lu par BS

- Normalement la déclaration des ces fichiers CDDS est faite automatiquement par Modman et ceci dans le fichier approprié en fonction du simu que vous avez sélectionné au lancement de Modman (graphics.cfg pour FC, graphics_bs.cfg pour BS).

- Il se peut nez en moins que le mauvais fichier soit déclaré et dans ce cas vous ne voyez pas les textures. Dans ce cas, ouvrez les 2 fichiers et copiez/collez les lignes manquantes dans le fichier concerné.


Pourquoi ces 2 fichiers existent-ils en même temps dans le 2 simus ?

Si cela se confirme, je pense qu'il faut déclarer la même chose dans les 2 fichiers pour des raisons de compatibilité réseau que ce soit sous FC2 ou BS, de toute manière, cela n'influence pas le simulateur si vous déclarez vos CDDS dans les 2 fichiers.


to be continued

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#10

Message par Michelange »

Le fichier db_units_planes.lua

- Il se trouves dans le répertoire : ...\Scripts\Database\
- Pas grand chose à dire à ce sujet là... Si, regardez bien la liste des avions et vers la fin.

--plane_file("planes\\BAE_Harrier.lua"); -- cet avion a été inhibée par ED.

- Il existe une procédure sous DCS pour activer cet avion : voir ici beczl et elle est aussi valable pour FC2.
- Attention à vérifier la compatibilité réseau, je vous invite à vous documenter sur les différents forums.
- le modèle 3D est aussi dans bazar/World/shapes

Tien mais il y a aussi :

plane_file("planes\\F-111F.lua"); -- et dans \Scripts\Database\Planes un F-111F.lua
plane_file("planes\\MiG-29K.lua"); -- et dans \Scripts\Database\Planes un MiG-29K.lua

Mais pas de modèle 3D dans bazar/World/shapes, il faut les faire...
- Puis à ma connaissance, y a eu un Mod franco français qui se basait sur le 29K, non ? Style F1...
- Et le Mirage IV, sur le F-111 ça pourrait le faire non ?

- Et si on essayait de rajouter nos avions ? En regardant dans le fichier wsTypes.lua on y trouve la liste des ID avions de 1 à 57. Et 2 lignes plus loin ceci LastPlaneType = 150; bon, il y a matière à réflexion là.

Plus d'explications à ce sujet dans : Comment rajouter un avion IA

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#11

Message par Michelange »

L'encyclopédie
Les données de l'encyclopédie se trouve à 2 endroits précis :

- Les images sont dans les sous répertoires de...\BlackShark\data\images\Encyclopedia
- La taille est de 694x521 et le format est PNG.

- Les textes sont dans les sous répertoires de ...\BlackShark\data\scripts\Enc

Tien ! Si vous avez BS en français, il est possible de transférer les donnée text de BS vers FC2. Attention le nom des fichiers n'est pas tout à fait le même, il faut corriger :
AH-1W_fr.txt (de BS) -> devient -> AH-1W.txt de FC2.

- Dans ...\BlackShark\data\images\Loadout vous allez trouver les images des pylons en PNG 1024x512.
Avatar de l’utilisateur

Ghostrider
Grand Manitou
Grand Manitou
Messages : 28340
Inscription : 04 août 2001

#12

Message par Ghostrider »

Superbe boulot :)
Il faut qu on te cause :)
Moniteur F/A-18C à l AVM http://avm-fr.com/
ImageAmd 3700x - 64 go DDR 4 3200 -Asus Tuf x570 gaming wifi - GTX 1080 ti 11go - SSD : 1 to NVME ( OS + simus) + 1ssd 500 GO Mx 500 simus + 1 SSD 256 GO (games) + 5 To HD(s)+ TM Warthog + Grip F/A18 - Track IR 5 - Pallo TPR - Deskpit 2 MFD+ICP +Oculus tift

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#13

Message par Michelange »

Allez LUA


1°- Et la lumière fût...

- LUA, lua mais de quoi tu causes ? Le LUA est un langage informatique utilisé dans Lockon / DCS pour que nous petits humains puissions communiquer avec le simulateur.

- Je ne vais pas m'étendre sur la programmation en LUA, internet vous renseignera à ce sujet. J'aborderai justes quelques notions de "bonne conduite" afin que les différents modules puissent cohabiter en harmonie.

- Je vous conseille aussi de regarder ce que d'autres programmeurs ont fait.

- Juste ceci :

* En LUA lorsqu'une ligne commence par -- (2 signes -), elle est considérée comme un commentaire, donc non exécutée.
* Idem : --[ Ceci est un bloc de commentaires pouvant englober plusieurs lignes ]--


2°- Et DCS / Lockon dans tout ça ?

- Si vous voulez communiquer avec le simulateur ou en extraire des informations, allez dans le répertoire \Config\Export tout se passe là bas.

- vous y trouvez 2 fichiers importants :


* Config.lua

- Il n'y a qu'une ligne active, le reste ce sont des lignes de commentaires.
- EnableExportScript = false -- passez cette valeur à true pour que lockon / DCS puisse vous faire causette.


* Export.lua

- Ce fichier est un commentaire unique à lui tout seul et en apparence ne contient rien de fonctionnel.
- C'est un fichier qui contient des exemples de ce qui est possible de faire et quelles variables vous sont accessibles.
- Je vous déconseille fortement de programmer directement dans ce module, bien qu'il soit prévu pour cela suivez plutôt la règle ci-dessus.


3°- Quelques règles.


* Export.lua

Utilisez ce fichier uniquement pour appeler votre routine que vous allez écrire dans un autre fichier pour celà :

- Vous allez créer un nouveau fichier dans le répertoire \Config\Export que vous aller nommer Mon_Programme.lua (par exemple)
- A la fin du fichier export.lua ajoutez la ligne : dofile( "./Config/export/Mon_Programme.lua ") -- ceci permet d'appeler votre routine


* Mon_Programme.lua

- Ici vous allez écrire votre code
- Afin que votre programme puisse cohabiter avec d'autres routines comme TacviewExport.lua ou Lotact2.lua veuillez respecter la structure suivante dans votre fichier. (ps: il suffit de la copier)

Mafonction =

{
Start=function(self)
-- Ici placez votre code que sera exécuté 1 seule fois au démarrage du simu (apres la pause)
end,


AfterNextFrame=function(self)
-- Ici votre code sera exécuté à chaque cycle du jeu
end,


Stop=function(self)
-- Ici votre code sera exécuté lorsque vous quittez le jeu
end,
}


-- =============
-- Overload
-- =============

-- Works once just before mission start.
do
local PrevLuaExportStart=LuaExportStart;
LuaExportStart=function()
Mafonction:Start();
if PrevLuaExportStart then
PrevLuaExportStart();
end
end
end

-- Works just after every simulation frame.
do
local PrevLuaExportAfterNextFrame=LuaExportAfterNextFrame;
LuaExportAfterNextFrame=function()
Mafonction:AfterNextFrame();
if PrevLuaExportAfterNextFrame then
PrevLuaExportAfterNextFrame();
end
end
end

-- Works once just after mission stop.
do
local PrevLuaExportStop=LuaExportStop;
LuaExportStop=function()
Mafonction:Stop();
if PrevLuaExportStop then
PrevLuaExportStop();
end
end
end


- Bien que je ne suis pas programmeur professionnel, je sais reconnaître une structure propre et je loue les personnes qui s'y connaissent dans ce domaine.

- Certains modules qui se trouvent sur le net (comme le module pour le clavier G15) ne suivent pas cette structure et ne peuvent donc pas être utilisés tel quel avec Lotact2 ou tactview.

- Alors pour les non inités que nous sommes, vérifions au moins si ces règles de base sont respectées.


4°- Cherchez l'erreur.

- Lorsque votre routine vous pose des problèmes ou qu'il y a une erreur de syntaxe, vous pouvez allez dans le répertoire .../temp vous trouverez un fichier error.log.

- dans ce fichier la ligne de code incriminée vous sera indiquée ainsi que le type d'erreur.

- Ces conseils m'ont été donné par des programmeurs confirmés et j'ai essayer le les transcrire au plus clair pour que les routines puissent fonctionner en harmonie.

- Si vous ne suivez pas ces principes, ne vous étonnez pas que tactview ou Lotact2 ne répondent plus.

Amen

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#14

Message par Michelange »

les fichiers .res

1°- Mais dans quel étagère ?

- Allez faire un tour dans les répertoire ...\FUI\Resources et \FUI\Resources\Multiplayer

- Vous trouverez une liste de fichiers assez conséquente qui sont utilisés à mettre en forme l'interface et les différents menus, boîtes de dialogues et affichages dans le simu.

- Tout spécialement les fichiers commençant par RC_ sont utilisés par la fenêtre de communication (touche * dans le simu).


2°- Et alors ?

Ben si ça vous ammuse ou que vous trouvez l'interface terne, que vous préférez une belle écriture rose, ou des boîtes de dialogue flashy, c'est ici qu'il faut jouer au docteur Frankenstein.


3°- Mister Hyde à l'oeuvre

Ouvrez : RC-ReloadingHel.res par exemple,

\dialog -- c'est une boite de dialogue et les lignes qui suivent la définissent
\begin
\tag{-1} -- ? Je ne sais pas ce que c'est pour l'instant
\upright -- L'origine des coordonnées est en haut de l'écran à droite
\coord{-204,5,-5,200} -- Cooronnées X, Y, Largeur, Hauteur du cadre
\caption{Change payload...} -- Le titre de la boite
\musthavecursor{0} -- Pas besoin de curseur
\drawitself{1}
\color{0, 0, 0, 50} -- Un peu de couleur de fond
\layer{100}
\end

\static -- ça c'est un texte
\begin
\tag{50}
\font{2} -- vous voulez changer de police ?
\coord{12, 5,204, 25} -- Cooronnées X, Y, Largeur, Hauteur de l'écriture
\fontcolor{0, 219, 111, 255} -- La couleur de la police ne vous plait pas ?
\caption{Change payload...} -- Le texte affiché
\end

- Ceci n'est qu'un exemple parmis d'autres pour les anglophones, il n'y a pas trop de difficultés à identifier à quoi le fichier est employé et à comprendre sont contenu.


4°- Là c'est space : ça se complique

- Pour la version francisée de Blackshark, les textes sont stockés dans des fichiers .mo du répertoire \l10n\fr\lc_messages.
- Ces fichiers ne sont pas directement exploitables, il faut un éditeur spécifique et convertir le fichier en .po

Mais comment faire ???

- Téléchargez : Poedit

- Copiez votre fichier .mo que vous voulez éditer dans le répertoire bin de poedit. Exemple -> \Poedit\bin\payloads.mo
- Lancez l'invité de commande MS/Dos allez dans le répertoire bin de Poedit et tapez : msgunfmt payloads.mo > payloads.po -> Pst, je l'ai fait pour vous voir les fichiers joints.
- Ceci fait vous pouvez éditer le fichier avec Poedit et lors de la sauvegarde, Poedit vous génèrera automatiquement les fichiers .po et .mo correspondant.

- Si cela ne fonctionne pas (problèmes de compatibilité OS j'utilise XP), voici un petit lien vers la solution de Muse

Je vous ai rajouté les fichiers de traduction FR convertis au format .po

Gnarfgnarf...
Pièces jointes

[L’extension « zip » a été désactivée et ne peut plus être affichée.]


Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#15

Message par Michelange »

Le répertoire /Blackshark
1°- HMI : Comment ça, dans ta face ?

- Dans le répertoire \Blackshark, vous allez retouver tout ce qui concerne l'interface utilisateur. (Human Machin Interface)

-Dans \BlackShark\data\images et \BlackShark\themes\main\images sont stocké par exemple toutes les images. C'est la partie graphique de l'HMI.
- Il y a même les cartes. Si, si cherchez bien. Et si ça vous prend de changer de couleur en fonction du pays, essayez de modifier ces fichiers.

- Vous allez aussi trouver des fichiers dans certains répertoires, qui commencent par me_. Ce sont des fichiers utilisé par l'éditeur de mission (Mission Editor)


L'interface
1°- Un mot sur l'interface

- Il semblerai qu'ils aient utilisé Fast Light User Interface Designer (fluid) pour travailler sur l'interface. Voici le lien pour les spécialistes Fast Light Tool Kit
- dans le répertoire \Scripts\UI vous trouverez des fichiers .fl généré par ce dernier.

A suivre.

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#16

Message par Michelange »

Le répertoire Bazar
1°- Sht, t'en veeuuux ? - Les fichiers .sht, vous allez les trouver dans le répertoire /Bazar
- ces fichiers contiennent les informations sur la ferraille qui reste une fois que vous vous êtes craché lamentablement...


2°- Un tour chez le ferrailleur

- Ouvrons le fichier PlaneTable.sht (les autres fichiers sont à peu près semblables)

- Je regarde ce qu'il y a d'écrit pour le A-10. Et voici ce que j'en déduis.

// a-10 <- ceci est une ligne de commentaire en Java
shape
{
file = "a-10"; <- ceci est à mettre en relation avec Shape = "a-10", dans le fichier A-10A.lua
life = 32; <- Le temps que ça va cramer
vis = 3; <- la visibilité
// desrt = "Fighter-2-crush"; <- ça c'est inactivé par ED (commentaire)
desrt = "a-10-oblomok"; <- ça c'est le modèle 3D de l'avion détruit (la ferraille que vous voyez au sol) le fichier correspondant se trouve dans bazar/World/Shapes a-10-oblomok.Cmd
shadow= "shadow21"; <- besoin d'ombre ?
// load = { false, false};
fire = { 300, 2}; <- paramètres du feu ?
username = "a-10a";
index = 17; <- Le même indice que vous trouvez un peu partout pour cet avion, par exemple dans A-10a.lua et surtout wsTypes.lua
}


3°- Les autres fichiers du Bazar


- On y trouve parfois un fichier .loc du même nom, qui contient une liste des objets définis dans le fichier .sht correspondant

- J'ai essayé d'ouvrir le fichier binaire .bin, mais je n'arrives pas à en déduire l'origine ni le format des données.
- 2 ou 3 pistes à explorer :
* C'est un fichier Java compacté des données .sht (on y trouve les mêmes noms)
* J'ai vu ceci à l'intérieur "Storage Serializer v.3" ?
* Aucune idée quand à l'utilité.

- Le ModelLOD.txt, il contient la liste des modèles 3D de colision et de leur LOD

- SpeedWind.ini contient des infos sur le vent.




4°- Le répertoire Bazar/World


- Vous allez y retrouver la plus part des fichiers .CDDS pour les modèles 3D des Avions, Hélicos et autres objets.




5°- Le répertoire Bazar/World/Shapes


- Vous allez y trouver les modèles 3D des différents objets de lockon, ils ont 2 formats .cmd (ancien format plus utilisé) et .lom format actuellement utilisé par les modeurs 3D pour intégrer les modèles.
- Pour intégrer, visualiser les modèles 3D, ED a mis à votre disposition des utilitaires Ici
- je ne m'étendrai pas sur ce sujet, c'est tout une histoire à part et qui demande beaucoup de documentation et de travail.

- Les fichiers .skins, J'en ai parlé dans lla première page de ce tuto, veuillez vous y reporter.

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#17

Message par Michelange »

Bienvenue à Groland

1°- Nos amis les Grolandais - Voulant contribuer à l'effort de guerre de son voisin français, le Groland a décidé de participer au conflict engagé en Mer Noire.
- Pour ajouter ce pays merveilleux, allons faire un tour dans le fichier \Scripts\Database\db_countries.lua
- Je vais chercher un petit pays limitrophe à la France et copier les lignes correspondantes à ce pays dans un fichier texte pour adapter les données avant de les injecter dans le fichier db_contries.lua.
- Une fois le fichier prêt, j'injecte les données à la fin du fichier db_contries.lua.


2°- Le pays et son armée

* Le db_contries.lua :

country("{6AE50372-804A-4137-BAD3-A549CA056D3B}", _("Groland"), "Groland", "GOD", "Groland.png", 18,
-- Une nouvelle clé,nom, drapeau et identifiant (dernier ID Insurgés = 17)
{
Planes =
{
-- Je leur assigne un avion à la taille du pays (le predator), en copiant et colant tout simplement les lignes trouvées dans les avions des USA
CATID = "{C168A850-3C0B-436a-95B5-C4A015552560}",
Plane =
{
cnt_unit("{3170e5d2-f866-4ade-a66a-81703d65a7ca}", "F/A-18C", {
-- Une erreur dans le fichier d'origine (F/A-18C) : je pense que ceci n'a aucune influance vu que ce devrait être RQ-1A Predator
color_scheme("{6b4e276b-4d8e-42b5-ab9e-e765bec3649b}", "Predator Skin"), -- Skin du pays si vous l'avez crée
}),
},
},
Heliports =
{
-- Un FARP pour héliport -> ça me va
CATID = "{E6490BAB-7129-4d23-9023-1CFE810886EF}",
Heliport =
{
cnt_unit("{24FC9197-F225-4f2a-8A31-BD51DC7BDAB6}", "FARP"),
},
},
Ships =
{
-- Un zodiac c'est OK
CATID = "{AAFD44F1-C080-4572-9465-3A52C46F2A45}",
Ship =
{
cnt_unit("{6449989a-2f92-48ed-89bf-d0ae87176cb3}", "speedboat"),
},
},
Cars =
{
- Un hummer presidentiel
CATID = "{6CAE2420-8E36-40f3-8586-E853AADB9199}",
Car =
{
cnt_unit("{5A76E1FB-E73B-4D93-B61B-967AB6F87508}", "Hummer"),
},
},
Helicopters =
{
- Un hélico emprunté aux Belges
CATID = "{828CEADE-3F1D-40aa-93CE-8CDB73FE2710}",
Helicopter =
{
cnt_unit("{3457BB1E-523F-4C24-BBEA-58D028623F05}", "Ka-50", {
color_scheme("{0af4efc0-eafe-11dd-ba2f-0800200c9a66}", "Belgium Camo"), -- Skin du pays si vous l'avez crée
}),
},
},
Fortifications =
{
CATID = "{7F1597F0-88EB-41cb-A04E-E9A4D5EF7466}",
Fortification =
{
-- faut bien alimenter les troupes
cnt_unit("{db4d86a5-f9d6-4db1-b6ff-72153d082fc8}", "Farm A"),
cnt_unit("{65c10c17-e726-46d4-a380-db42706b923f}", "Restaurant 1"),
cnt_unit("{70bf5fc8-441f-47cb-b587-d8f36ab81600}", "Cafe"),
cnt_unit("{044858e2-4d40-4702-a185-70ee80f07151}", "WC"),
},
},
},
{
-- pas besoin de modifier
callsign(1, "{F55E6D97-9C9E-417a-A275-B23ABC556414}", "Enfield"),
...
callsign(8, "{4F817272-795B-437b-B488-208C462E2FAB}", "Pontiac"),
},
{
-- pas besoin de modifier
rank('Second lieutenant', _('Second lieutenant'), 0, {0, 0, 64, 32}),
...
rank('Colonel', _('Colonel'), 240, {0, 160, 64, 32}),
},
{
-- Queques médailles et les points à accumuler pour les obtenir
award('Medaille de bravoure', _('Medaille de bravoure'), 200, 'GL-01-Medaille_Grobeu.png'),
award('Medaille Dufurieux', _('Medaille Dufurieux '), 600, 'GL-02-Medaille_Grocon.png'),
award('Medaille Dufélé', _('Medaille Dufélé'), 1400, 'GL-03-Medaille_Gronaz.png'),
award('Medaille du Planké', _('Medaille du Planké'), 2200, 'GL-04-Medaille_Grolache.png'),
award('Medaille du Présitent', _('Medaille du Présitent'), 3000, 'GL-05-Medaille_Grostache.png'),
},
'Groland.lua',
{0,480,64,30}
-- dernier chiffre + 30 = 480 ( Dernière nation insurgés = 450), il correspond à la position du drapeau dans le fichier BlackShark\data\images\Countries\flags-1.png qu'il faudra éditer et rajouter un morceau entre le drapeau des téroriste et le dernier dapeau gris.
);


* Le fichier Groland.lua : il sera crée dans \Scripts\Database\Troops\LOP
Ce fichier n'existe pas sous BS 1.0.1 les données sont directement intégrées dans db_countries.lua

-- Voici les unités de combat
troops = {
troop('1er Grosbouf', _('1er Grosbouf'), 'Grosbouf.png'),
};


*Dans le fichier \Scripts\World\Countries.lua il faut mettre à mettre à jour la table en ajoutant : country:add('GORLAND', 18).

Ceci semble jouer un rôle sur le menu communication lorsque vous décidés de mettre des avions jouables dans le pays.

*Idem sans le fichier \Config\Localizer.cfg il faut mettre à mettre à jour la table en ajoutant : [country.GROLAND] = language.RUSSIAN).
dans 2 lignes pour les com's de contrôle.




3°- Drapeaux, et autres images


- Les différentes images utilisées dans l'interface de Lockon/DCS sont pour la plupart éparpillés dans les répertoires /FUI et /BlackShark. - Faites y un petit tour, vous trouverez des surprises.
- je ne vais pas vous donner de détails, je vous propose plutôt de vous fournir un exemple avec toutes les imagettes à créer.
PJ : Lien pour mes images de médailles : Awards

Plus sérieux :
- Les grades : Ingignia Search
- Les médailles : Medals of the world
4°- Le Grospack - Ci joint un fichier zip de toutes les imagettes, ajouts et modifications de fichiers à faire pour créer un pays.
- Attention : Ce fichier n'est pas un fichier Modman mais peut être utilisé (installé) telquel. Il est à titre didactique. Je vous conseille de le décompacter et regarder son contenu afin que vous ayez une idée de la structure à mettre en place. Attention à faire une sauvegarde de votre fichier db_contries.lua original et autres fichiers qui vont être remplacés avant d'injecter mes données.
- Je considère que les personnes qui vont utiliser ce fichier le font en connaissance de cause et prendront les précautions necessaires.

PJ : Un lien vers un autre tuto en Anglais. Merci PinkTigrou


Petit Up 07/05 : Mise à jour des fichiers zip

Pays en construction Pour ceux qui veulent ajouter un pays, il est préférable d'utiliser le template de base qui est actuellement disponible ICI, ceci pour éviter de futurs problèmes de compatibilité entre les MOD's.


Longue vie au Groland
Pièces jointes

[L’extension « zip » a été désactivée et ne peut plus être affichée.]

[L’extension « zip » a été désactivée et ne peut plus être affichée.]

Groland.png

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#18

Message par Michelange »

Les images en DDS

1°- Encore un format d'image ? - Bon c'est quoi la différence entre un CDDS et un DDS ?
- Ben, en gros, Le DDS est une image compactée unique tandis que le CDDS est un pack de plusieurs images.
- Le format DDS est souvent utilisé pour les images de l'interface ( Photos des menus, images d'attentes etc...


2°- Et comment éditer tout ça ? - Personellement j'utilise un logiciel qui me permet de visualier la plupart des formats d'images Xnview qui me permet de voir ce que c'est sans avoir à les transformer en un autre format (Je vous le conseille car c'est une très bonne alternative à des logiciels comme Acdsee et beaucoup moins complexe) - Pour les éditer, il y a plusieurs solutions (les convertir avec Xnview) ou utiliser un pluging (plugin pour toshop) - Voilà vous pouvez maintenant agrémenter votre jeu avec vos images à vous.

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#19

Message par Michelange »

Ajouter un avion IA

1°- Est alors ou en est-on ?

- La question que tout le monde se pose est peut-on ajouter des IA sans enlever les avions existants ?
- La réponse est : Il semblerai que oui.

- Mais alors jusqu'où peut-on aller ?
- La limitation est le nombre de modèles de vols que ED a intégré dans le simu, et à première vue tous les avions ont un ID différent et par conséquent un comportement différent.


2°- Que peut-on faire et comment ?

- Simplement assigner à une nouvelle clé CLSID une des 57 ID existantes.

Voici un exemple que j'ai testé :


Dans Names.lua ajoutez cette ligne pour assigner le MDV du F-16C à une clé :

laTypes["{082D2561-FB8B-11d5-9190-00A0249B6F01}"] = F_16;

- J'ai simplement copié/collé la ligne d'origine en incrémentant la clé CLSID+1 pour avoir une nouvelle clé
- Pour un nouveau modèle 3D, il vaudra mieux utiliser une nouvelle clé que vous aurez généré.


Dans db_units_planes.lua ajoutez à la fin cette ligne :

plane_file("planes\\F-16C-3.lua");

- ça sera le fichier qui définira l'avion et pourra se nommer Gripen.lua par exemple.


Dans db_countries.lua sous USA

cnt_unit("{082D2561-FB8B-11d5-9190-00A0249B6F00}", "F-16C bl.52d", {
color_scheme("{eeaab67f-6f15-4a5d-9b74-1c08ee971e9b}", "USAFE 555th FS (AV) Aviano AFB"),
color_scheme("{189e0024-e439-494c-8b7e-817a2884ab85}", "PACAF 14th FS (MJ) Misawa AFB"),
color_scheme("{65a85d13-351d-450d-84f9-c5cc528228cf}", "PACAF 35th FW (WW) Misawa AFB"),
color_scheme("{89c5ff57-d84c-4950-8109-dafd18e40143}", "USAF 77th FS (SW) Shaw AFB"),
color_scheme("{356613e0-28af-4ca1-ac5d-1c590bb213c6}", "USAFE 22nd FS (SP) Spangdahlem AFB"),
color_scheme("{382e7a6a-b29f-4881-9c28-d9ea192bc4c6}", "USAF 414th CTS (WA) Nellis AFB"),
color_scheme("{924ed5b8-c371-4315-b29f-c0be4ecb188d}", "USAF 412th TW (ED) Edwards AFB"),
color_scheme("{d00a836b-6c9c-40f9-a8c5-39501ae3a178}", "USAF 147th FIG (EF) Ellington AFB"),
}),

Ajoutez ces lignes :

cnt_unit("{082D2561-FB8B-11d5-9190-00A0249B6F01}", "F-16C bl.60", {
color_scheme("{eeaab67f-6f15-4a5d-9b74-1c08ee971e9b}", "USAFE 555th FS (AV) Aviano AFB"),
color_scheme("{189e0024-e439-494c-8b7e-817a2884ab85}", "PACAF 14th FS (MJ) Misawa AFB"),
color_scheme("{65a85d13-351d-450d-84f9-c5cc528228cf}", "PACAF 35th FW (WW) Misawa AFB"),
color_scheme("{89c5ff57-d84c-4950-8109-dafd18e40143}", "USAF 77th FS (SW) Shaw AFB"),
color_scheme("{356613e0-28af-4ca1-ac5d-1c590bb213c6}", "USAFE 22nd FS (SP) Spangdahlem AFB"),
color_scheme("{382e7a6a-b29f-4881-9c28-d9ea192bc4c6}", "USAF 414th CTS (WA) Nellis AFB"),
color_scheme("{924ed5b8-c371-4315-b29f-c0be4ecb188d}", "USAF 412th TW (ED) Edwards AFB"),
color_scheme("{d00a836b-6c9c-40f9-a8c5-39501ae3a178}", "USAF 147th FIG (EF) Ellington AFB"),
}),

- Ceci me permet d'assigner des skins à ma nouvelle clé (en fait les mêmes qu'au dessus)
- Il est biensûr possible de créer un nouveau pays et y assigner les skins de votre avion. (Voir le tuto sur le Groland)

Dans \Scripts\Database\planes :

Faites une copie de F-16C-2.lua et renommez le en F-16C-3.lua
Editez y la première ligne : return plane("{082D2561-FB8B-11d5-9190-00A0249B6F01}", "F-16C bl.60", _("F-16C bl.60"),

- SI vous ajouter un nouveau modèle 3D il faudra revoir toutes les caractéristiques de ce fichier. (Voir les explications en détail dans le tuto : Les fichiers du répertoire Scripts/Database/Planes)


J'ai aussi rajouté dans wsTypesTree.lua cette ligne ["F-16C bl.60"] = F_16, sous [wsType_Fighter] = { ceci est utilisé pour définir le comportement de l'IA.

Voilà vous avez maintenant un F-16C Block 60 IA avec un MDV du F-16C dans le jeu.


Il y a encore quelques détails à modifier, mais avec ce principe en modifiant les données du fichier Nom_Avion.lua il est possible d'intégrer n'importe quel modèle 3D sur un MDV existant sans en remplacer un autre.

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#20

Message par Michelange »

Les fichiers CDDS

1°- Quoi qu'est ce ?
- Ces fichiers se trouvent dans différents sous répertoires du répertoire Bazar/ (Bazar/World, Bazar/Terrain/Surface/, etc...) - Ce sont des fichiers compressés contenant des jeux de textures des différents objets 3D des simulateurs. - Certains fichiers sont communs aux 3 jeux (FC1.12, FC2 et BS) et les mods de ces fichiers peuvent donc s'appliquer aux 3 simus. - Ils contiennent soit des textures au format BMP ou au format TGA avec une couche Alpha pour la transparance.
2°- Visualisation / Extraction / Remplacement - Vous pouvez effectuer ces 3 opération avec l'utilitaire CDDS Explorer qui est fourni dans Modman.
- Pour un remplacement de textures, il est préférable d'utiliser Modman, puisque ce dernier essayera toujours de remplacer la texture dans le fichier CDDS d'origine. S'il n'y arrive pas (cas ou la taille est différente), il les place dans temps textures.

- Il est toujours préférable de créer un fichier CDDS avec les textures du répertoire Bazar/temptextures que de les laisser dans ce répertoire.

3° - Création d'un pack CDDS
- Vous ne pouvez compacter des textures qu'à partir du moment ou elle ont une taille standart 2^a x 2^b (128x256, 512x512,2048x248 etc...)
-> Astuce : si une texture est hors standart on peut y remédier en l'étirant avec un éditeur d'images.
- il faut que, lors de la création, ces fichiers soient sauvé sous le format 24bits

- La procédure de création est identique à celle de FC1.12 et vous trouvez le tuto ICI

- Par la suite je vous mettrai une synthèse.
To be continued

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#21

Message par Michelange »

Aux Utilisateurs

- Bon, c'est bien beau tout ça, mais qu'en est il quant à l'installation et l'utilisation de tout ces MOD's ?

- Je vous donne ici quelques informations à ce sujet pour que cela se passe au mieux.

1° - Les problèmes de visibilité.

- Lors que vous avez installé un Mod qui rajoute des skins complémentaires à celles que sont de base dans Le jeu, il se peut que si vous utilisez ces skins en réseau, votre avion soit semi invisible ou invisible pour la personne qui joue avec vous et qui n'a pas ce mod.

- Ceci est dû au fait que vous utilisez un slot qui n'est pas dispo chez votre collègue et ceci est valable pour FC2 ainsi que DCS. Ce n'était pas le cas dans FC1 puisque dans ce cas on voyait par défaut la skin n°1.

- Pour éviter ceci, il y a 2 solutions :
** Pour le créateur de mission : N'utilisez que des skins qui sont sur les slots d'origine pour vos mission en réseau.
** Pour une escadrille ou un groupe : Tous les membres du groupe, de l'escadrille ont les mêmes mods d'installé.


2° - Les problèmes de compatibilité

- En fait, il n'y a pratiquement pas de problèmes de compatibilité en réseau lorsque le Mod remplace, un modèle 3D existant pas un nouveau plus beau, plus neuf !

- Là ou vous risquez des plantages, c'est si le mod rajoute un nouvel avion. Je penses essentiellement au Gripen, F-1, Mig-29K et autre mods qui vont sortir.

- Encore une fois même réponse :
** Le créateur de mission pour ses missions réseau évite d'utiliser ces nouveaux éléments.
** Tous les utilisateurs jouant dans le même groupe ont le même Mod.


3° - Les problèmes d'intégrité

- L'integrity check, vous en avez entendu parlé ? C'est quoi donc que ce Bin's ?

- J'en ai déjà touché un mot ici. En gros le serveur du jeu vérifie si vous n'avez pas modifié certains fichiers.

- Celà se configure par la personne qui héberge et il peut interdire l'accès au jeu si vous ne correspondez pas à ses critères (c'est comme les gonzesses.). Celà se configure (pas les Gonz... ça aurait été trop facile), dans le fichier Config/network.cfg

- En standart on vérifie que vous n'avez rien modifié dans le répertoire Config/Weapons, c'est tout ce qui concerne la balistique. Ben oui, on peut transformer les R27-ER en R27-EA là dedans et pire.

- Depuis le version 1.2.1, il y a aussi une vérification de certains éléments du graphics.cfg ceci pour que tous les joueurs aient les mêmes paramètres de visibilité.

Voici un Post à suivre concernant l'integrity check de certains serveurs.


Conclusion :

- Une grande part d'attention est demandé au créateur de mission afin que tous les membres d'un groupe puissent jouer ensemble.

- Vous pouvez passer par la solution, d'installer plusieurs fois le jeu et avoir un version Vierge pour jouer en réseau.

- Attention : Qu'on soit bien clair. Il faut différencier ces 3 problèmes et bien comprendre ce que cela implique.
Exemple : Si un mod ajoutant un avion, et une nation est bien ficelé, il est théoriquement possible de jouer avec ce mod installé chez vous, sur un serveur qui n'a pas ce mod.

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

Je veux piloter un B-1B

#22

Message par Michelange »

Je veux piloter un B-1B
-Ben ouaip, tant qu'à faire faisons dans le Heavy.

- Pour l'instant, je vous renvoie ici.

- Sachez néanmoins que certains petits problèmes peuvent se posez si vous faites la totale (Nouveaux Model 3D, nouveau pays, diplucation d'un MDV etc...), il faudra soigner et bien vérifier votre travail.

Edit : Un mod pour tous les avions vient de sortir, je vous renvoi donc vers ce dernier


Remarques :

- Le lien entre le modèle 3D, le N° d'ID de l'avion et le répertoire config/inputs/aircrafts/... se fait dans bazar/planetable.sht

...
file = "mig-23"; -- nom du modèle 3D
...
username = "mig-23ml"; -- nom du répertoire dans config/inputs/aircrafts/...
index = 1; -- ID de l'avion
...

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#23

Message par Michelange »

Les différences FC2 / DCS KA-50

Petite question : Vous avez créé un Mig-29K dans FC2.0 et vos copains qui jouent sous DCS veulent faire une partie avec vous, mais n'ont pas de MOD pour le Mig-29K. Que va-t-il se passer ?
Réponse : Je pense que c'est le crash assuré. Ou avec un peu plus de chance, ils ne verront pas votre avion...


1°- Ce qui est identique !

- Très bonne nouvelle : Le db_countries.lua est identique maintenant. Ce qui facilite énormément le travail de compatibilité et portabilité des MODS.
- Ultra bonne nouvelle : le répertoire Bazar est totalement identique (même fichiers, même structure, même taille). Ce qui veut dire que tous les modèles 3D et textures sont compatibles
- Enfin le répertoire \Scripts\Database est le même (à part les troupes)

- En gros ce que je vous dis là c'est que tous les modèles 3D sont compatibles entre DCS1.0.2 et FC1.2.1 par déduction tous les mods 3D et skins aussi



2°- Ce qui n'est pas pareil !

- Une petite différence, mais qui ne pose pas de problème aux modeurs, est dans la distinction des répertoires pour les troupes :

Pour FC1.2.1 :
\BlackShark\data\images\Countries\Belgium\Troops\LOP
\Scripts\Database\Troops\LOP

Pour BS 1.0.2 :
\BlackShark\data\images\Countries\Belgium\Troops\bs
\Scripts\Database\troops\bs

Ben oui ce ne sont pas les mêmes escadrilles tout simplement (Hélicos pour BS et Avions pour FC2)

- Pour la déclaration des packs de skins : Graphics.cfg pour FC2 et graphics_bs.cfg pour BS, mais ça Modman s'en charge en fonction du simu qui a été sélectionné lors de la création du pack.


To be continued

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#24

Message par Michelange »

Tested & Approved
1°- He ! M'sieurs ça marche pas ! - Depuis le sortie de FC2.0, les mods apparaissent à une vitesse phénoménale. Bien que ce soit la plupart du temps des adaptations de MOD FC1, il y a beaucoup de problèmes car ces derniers sont mal finis et peu ou pas vérifiés. - Je ne critique pas le fait que le MOD soit sorti, je l'aimerai aussi et cela rapidement. Mais là ou je commence à deséspérer, c'est quand je vois que le travail est bâclé et qu'il y a certaines choses qui ont été omises. - Un exemple : Il y en a plein (faut que je refasse un historique)
2°- Le bureau Veritas - Les tests à faire absolument et qui garantira à 90% le bon fonctionnement d'un MOD est de se connecter en réseau entre 2 personnes et de procéder de la manière suivante. a - Du côté de celui qui as installé le mod : - Vous allez créer une mission en utilisant les caractéristiques du MOD et héberger cette dernière.
- Vous invitez votre collègue qui n'a pas le MOD à rejoindre la partie et vous vérifiez des 2 côté ce que vous voyez.

Si le MOD pose problème :

- Vous allez créer une mission sans intégrer les caractéristiques du MOD et héberger cette dernière.
- Vous invitez votre collègue qui n'a pas le MOD à rejoindre la partie et vous vérifiez des 2 côté ce que vous voyez.
- Ceci pour vérifier si vous êtes toujours capable de créer des missions en n'intégrant pas les modifis.
b - Celui qui n'a pas le MOD : - Même procédure : Vous allez créer une mission en utilisant les caractéristiques du MOD (biensûr il faut que vous ayez pris connaissances de ces dernières) et héberger cette dernière. - Attention il faut la créer vous même et ne pas récupérer celle de votre collègue. On ne sait jamais, c'est la seule manière de garantir la non contamination ! - Vous invitez votre collègue qui a le MOD à rejoindre la partie et vous vérifiez des 2 côté ce que vous voyez.
Verified CE/NF

Topic author
Michelange
WSO Co-pilote
WSO Co-pilote
Messages : 915
Inscription : 25 septembre 2006

#25

Message par Michelange »

Et la LUA fût - En essayant de lire un peu ce qu'il y a dans les différents fichiers LUA, je me suis dit qu'il serait peut être intéressant d'avoir un d'avoir un interpréteur et un éditeur adapté pour faciliter la lecture de ces fichiers.

Voici donc quelques liens intéressants :

- Pack LUA pour windows (avec interpréteur et Editeur de texte SciTE)

- L'éditeur vous facilitera la lecture des fichiers et il a même un débugueur intégré.

- Si vous voulez tout savoir sur ce language voici le site officiel

to be continued
Verrouillé

Revenir à « FC2 - Addons/Mods »