Et en francais
Question diverse éditeur de mission
- Voltage29
- Officier
- Messages : 2169
- Inscription : 27 mars 2018, 20:45
-
Spécialité :
- Alleluia
- Membre
- Messages : 1458
- Inscription : 10 nov. 2016, 05:43
-
Spécialité :
-
- Officier
- Messages : 2531
- Inscription : 12 avr. 2019, 21:30
-
Spécialité :
Re: Question diverse éditeur de mission
Perso, j'utilisais le langage sqf pour Arma 3, d'après ce que j'ai ouïe dire, ça pourrait m'aider pour le lua.
Ceci dit, j'avais pas pensé à Moose, je vais me pencher dessus avant de re-créer la roue...
@Voltage, OK, je savais pas, merci pour l'info, je vais tester cela, ce sera peut être encore plus simple
.
Ceci dit, j'avais pas pensé à Moose, je vais me pencher dessus avant de re-créer la roue...

@Voltage, OK, je savais pas, merci pour l'info, je vais tester cela, ce sera peut être encore plus simple

- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
Nan désolé y a pas en Français.
- Discord
- Réserviste
- Messages : 1440
- Inscription : 29 juin 2019, 14:47
Re: Question diverse éditeur de mission
je suis en train de regarder sa première vidéo tuto, et il y a déjà des trucs qui ne sont pas clairs pour moi (ou, plutôt, dont je ne comprend pas la logique) : pour spawn un tank, il met un tank en activation retardée, appelle le groupe "tank" et l'unité "tank", et il utilise la ligne Tank = SPAWN:new("tank"). Si l'unité avait été nommée "Patrick" et le groupe "baston", comment aurait-il fallu taper la ligne ? (en fait, j'aimerais savoir ce qui permet à la bécane de comprendre que c'est le tank "Patrick" qu'il faut spawner, et pas le "Jean-Luc" ou l'hélico "François").
Plus tard, il parle de TankGroup = tank:spawn, qu'est-ce que le Tankroup représente pour la bécane ?
Plus tard, il parle de TankGroup = tank:spawn, qu'est-ce que le Tankroup représente pour la bécane ?
- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
J'ai fait un tuto sur les Spawn MOOSE déjà viewtopic.php?f=132&t=4123
- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
@Mexmarsouin : J'ai fait un POC
Ça marche, c'est un peu brut de pomme mais ça fonctionne

Code : Tout sélectionner
-- Définition du groupe Convoi (Nom du groupe dans l'EM)
local GroupConvoi = GROUP:FindByName("Convoi")
-- Définition du groupe "Modèle" de l'infanterie (Nom du groupe dans l'EM)
local Infantery = GROUP:FindByName("Infantery")
-- Tableau où on stockera si telle ou telle camion a déjà fait sortir son infanterie (pour ne pas spawn à l'infini)
TabConvoiUnits = {}
-- Scheduler, tourne toutes les 10 secondes
SCHEDULER:New( nil,
function ()
-- On récupère les camions qui sont dans le convoi
local ConvoiUnits = GroupConvoi:GetUnits()
-- Pour chaque camion du convoi on fait l'opération ci-dessous
for UnitID, ConvoiUnit in pairs( ConvoiUnits ) do
-- Définition de la zone autour du camion
local UnitZone = ZONE_UNIT:New("UnitZone", ConvoiUnit, 20)
-- Récupération de la vitesse du camion
local UnitSpeed = ConvoiUnit:GetVelocityKMH()
-- Récupération du nom du camion, ça nous sera utile pour "nommer" chaque infanterie qui en sort
local UnitName = ConvoiUnit:GetName()
local SpawnName = UnitName .. "_Infantery"
-- Si la vitesse du Camion est égale à 0 Km/h
if UnitSpeed == 0 then
-- Et que l'infantery n'est pas déjà sortie du camion, alors on la fait sortir autour du camion
if TabConvoiUnits[UnitName] == false then
SPAWN:NewWithAlias("Infantery", SpawnName):SpawnInZone(UnitZone, true)
-- On indique dans la tableau que l'infanterie du camion est sortie
TabConvoiUnits[UnitName] = true
end
-- Sinon, on rentre l'infantery en la cherchant par le nom qu'on lui a donné
else
local GroupSet = SET_GROUP:New():FilterPrefixes(SpawnName):FilterActive():FilterStart()
GroupSet:ForEachGroupAlive(
function (group)
group:Destroy()
end
)
-- On indique dans la tableau que l'infanterie du camion est rentrée
TabConvoiUnits[UnitName] = false
end
end
end, {}, 1, 10
)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
@Discord
Tank c'est la variable du script dans laquelle sera enregistré l'objet spawné
"tank" c'est le nom du groupe dans l'Editeur de Mission.
Tu ne peux faire spawn que des groupes ou des statics, jamais d'unité seule.
https://flightcontrol-master.github.io/ ... Spawn.html
Le Lua étant sensible à la casse, une variable nommé toto sera différente d'une variable nommée Toto
Code : Tout sélectionner
Tank = SPAWN:new("tank")
"tank" c'est le nom du groupe dans l'Editeur de Mission.
Tu ne peux faire spawn que des groupes ou des statics, jamais d'unité seule.
https://flightcontrol-master.github.io/ ... Spawn.html
Le Lua étant sensible à la casse, une variable nommé toto sera différente d'une variable nommée Toto
- Discord
- Réserviste
- Messages : 1440
- Inscription : 29 juin 2019, 14:47
Re: Question diverse éditeur de mission
ok, là c'est clair (je crois).
donc pour faire spawner Patrick, du groupe Baston, la ligne aurait pu être écrite :
je_spawn_un_tank = Spawn:new("Baston")
c'est ça ?
donc pour faire spawner Patrick, du groupe Baston, la ligne aurait pu être écrite :
je_spawn_un_tank = Spawn:new("Baston")
c'est ça ?
- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
Oui mais attention à la casse, c'est très important :
je_spawn_un_tank = SPAWN:New("Baston")
Aussi quand on fais des scripts, il faut toujours avoir à côté les logs de DCS pour voir s'il n'y a pas d'erreur. A partir du moment où t'as une erreur, tout le script s'arrête. C'est d'ailleurs pour ça que les missions scriptées ne foirent jamais, parce qu’on a déjà éliminé toutes les erreurs possibles ^^.
Je conseille d'utiliser un parseur de log comme LogExpert pour surveiller le log DCS. C'est vital pour ne pas passer 15 ans à essayer de comprendre pourquoi le script ne fonctionne pas.
je_spawn_un_tank = SPAWN:New("Baston")
Aussi quand on fais des scripts, il faut toujours avoir à côté les logs de DCS pour voir s'il n'y a pas d'erreur. A partir du moment où t'as une erreur, tout le script s'arrête. C'est d'ailleurs pour ça que les missions scriptées ne foirent jamais, parce qu’on a déjà éliminé toutes les erreurs possibles ^^.
Je conseille d'utiliser un parseur de log comme LogExpert pour surveiller le log DCS. C'est vital pour ne pas passer 15 ans à essayer de comprendre pourquoi le script ne fonctionne pas.
- Discord
- Réserviste
- Messages : 1440
- Inscription : 29 juin 2019, 14:47
- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
C:\Users\<User>\Saved Games\DCS\Logs\dcs.log
- Discord
- Réserviste
- Messages : 1440
- Inscription : 29 juin 2019, 14:47
Re: Question diverse éditeur de mission
oui mais ça sert à quoi ?
- Biluf
- Réserviste
- Messages : 5063
- Inscription : 03 mai 2015, 19:59
Re: Question diverse éditeur de mission
Ben ouvre le, c'est là que ça balance tout ce que fais DCS
- Discord
- Réserviste
- Messages : 1440
- Inscription : 29 juin 2019, 14:47
Re: Question diverse éditeur de mission
ok, je suppose que, lorsque tu lance ton script et qu'il foire, ça va te faire une ligne warning à "l'endroit"/au moment où le script a foiré ?