Angus Report post Posted July 29, 2017 Bon en fait de ce que je vois on doit quand même se prendre la tête à faire des trigger de zone , donc autant se servir de l'éditeur de mission quoi .... Quote Share this post Link to post
Lucky-O Report post Posted September 25, 2017 Salut aux mission makersQu'est-ce que vous pensez de l'ATME Advanced Tools for Mission Editor ?On peut le trouver avec une notice en français. (pdf de 348 pages, tout de même...) Quote Share this post Link to post
Angus Report post Posted September 25, 2017 ben que c'est encore un truc où il faut être ingénieur informaticien pour faire une mission ... Pour le moment de tout ce que j'ai vu des trucs avec script lua , on peut les faire par trigger ... En ce qui me concerne , comme je scénarise chaque mission en fonction de ce que je veux faire ... les scripts ne sont pas forcément d'une grande utilité .à vous de me démontrer le contraire :gg: Quote Share this post Link to post
Flo Report post Posted December 20, 2017 Le script missile trouvé sur le ternet que j'utilise pour le stand de de tir: faie une fois > temps supérieur à 5 sec > executer script A la deuxième ligne, 0 va afficher une explosion à l'impact, 1 va désactiver l'explosion Quand le missile lancé contre un joueur va arriver très proche de son avion, le missile disparait et on voit affiché le message " **** a été touché par un missile sol-air :-( " do local remove_missile_method = 0 -- 0 will create an explosion -- 1 will use Object.destroy() which simply makes the missile disappear. local aiMissiles = {} local numActive = 0 local uid = 1 local idNum = 1 local function simpleEvent(f) -- from mist local handler = {} idNum = idNum + 1 handler.id = idNum handler.f = f handler.onEvent = function(self, event) self.f(event) end world.addEventHandler(handler) end getMag = function(vec) -- from mist return (vec.x^2 + vec.y^2 + vec.z^2)^0.5 end get3DDist = function(point1, point2) return getMag({x = point1.x - point2.x, y = point1.y - point2.y, z = point1.z - point2.z}) end local function removeMis(id) if Object.isExist(aiMissiles[id].missile) then -- if missile is still active and needs to be destroyed if Weapon.getTarget(aiMissiles[id].missile) == aiMissiles[id].origTarg and Unit.getPlayerName(aiMissiles[id].origTarg) then trigger.action.outText(Unit.getPlayerName(aiMissiles[id].origTarg) .. ' a été touché par un missile sol-air :-(', 20) end if remove_missile_method == 0 then trigger.action.explosion(Object.getPosition(aiMissiles[id].missile).p, 5) else Object.destroy(aiMissiles[id].missile) end end aiMissiles[id] = nil numActive = numActive - 1 return end local function checkMis(mis) local tot = 0 if Object.isExist(mis.missile) == false then removeMis(mis.uid) else if Object.isExist(mis.origTarg) == true then local misVel = getMag(Object.getVelocity(mis.missile)) local targVel = getMag(Object.getVelocity(mis.origTarg)) local dist = get3DDist(Object.getPoint(mis.missile), Object.getPoint(mis.origTarg)) if dist < 100 then -- if its close and still guiding removeMis(mis.uid) else tot = dist/(misVel*2) timer.scheduleFunction(checkMis, mis, timer.getTime() + tot) end end end end local function aiShot(event) if event.id == world.event.S_EVENT_SHOT and event.initiator and not Unit.getPlayerName(event.initiator) then -- if AI if event.weapon and Weapon.getDesc(event.weapon).missileCategory and (Weapon.getDesc(event.weapon).missileCategory == 2 or Weapon.getDesc(event.weapon).missileCategory == 1) then local newMis = {} newMis.launchTime = timer.getTime() newMis.uid = uid newMis.missile = event.weapon newMis.origTarg = Weapon.getTarget(event.weapon) newMis.lostTrack = false aiMissiles[uid] = newMis uid = uid + 1 numActive = numActive + 1 timer.scheduleFunction(checkMis, newMis, timer.getTime() + 4) end end end simpleEvent(aiShot) env.info('Training Sams by Grimes Loaded')end Quote Share this post Link to post
Flo Report post Posted September 2, 2018 A TOUS les appareils embarqués, oyez, oyez ! Un script que je cherchais tel le Saint-Grââl depuis un moment (d'ailleurs si Joseph d'Arimatie est pas trop con, le Grâäl, c'est un bocal à anchois) et que j'ai finalement pu faire fonctionner grâce à l'aide Grimes, LE Monsieur Mist sur les forums d'ED. Voilà un script qui vous permet d'avoir des infos trèèèèèèèèèèèèèèèèès utiles, à savoir le cap et la vitesse de votre maison flottante en tenant compte de la déclinaison magnétique. Le script est dispo ici: https://drive.google...iew?usp=sharing Pour ce faire, question marqueur, ça se passe comme ça: 1) Une fois, temps >10 secondes, exécutez le fichier script mist et créez un menu radio pour tel ou tel groupe qui déclenche le marqueur 1 (ou 2, ou 3, ou peu importe) 2) Sur bascule de condtion, quand marqueur 1 est vrai: - exécuter fichier script InfoNavire - désactiver marqueur 1 - et ajoutez si vous voulez un son de radio En mission, allez sur le menu F10, déclenchez le menu radio, et voilà: ATTENTION, TRES IMPORTANT: dans le fichier script joint, n'oubliez SURTOUT PAS de remplacer tarawa à la ligne 2 par le nom d'unité du navire dont vous voulez connaître les infos, sinon forcément ça va chier dans la colle Chose que vous pouvez changer, c'est la durée en secondes pendant laquelle vous voulez voir le message affiché à l'écran, à la ligne 10, remplacez 30 par ce que vous voulez L'intérêt de tout ça ? Ben fini de devoir faire parcourir toute la carte en longueur ou largeur à votre porte-aéronef pour être sûr de connaître le cap à suivre en final lors d'un appontage aux instruments Quote Share this post Link to post
Storm Report post Posted September 2, 2018 Euh........ Mais faut quand meme que le navire (plus precisement le pont) soit dans l'axe du vent?? Donc pour le moment on est obligé de mettre les infos dans le brief? Sauf si on ne met pas de vent :P Quote Share this post Link to post
Flo Report post Posted September 2, 2018 C'est la limitation du truc jusqu'à ce qu'on ait des navires qui virent debout au vent une fois que tu t'annonces, mais bon, j'ai arrêté de rêver il y'a bien longtemps Quote Share this post Link to post
Angus Report post Posted September 2, 2018 avec un joueur CA on peut faire virer le Navire pour les recovery ;) Quote Share this post Link to post
Loulou Report post Posted March 19, 2019 Concernant le script des missiles d'entrainement, n'avez vous pas l'impression que le comportement du missile change? Pour ma part, là où sans le script je peux leurrer des missiles IR, avec le script ils me hit systématiquement .... Quote Share this post Link to post
Wilco Report post Posted March 19, 2019 Non, je réussis à en leurrer deux ou trois avant d'avoir un missile fatal. Quote Share this post Link to post
Flo Report post Posted March 19, 2019 Yep, testé et apparement le script seul ne fonctionne pas. M'en suis pas aperçu car sur ma zone d'entraînement, j'avais aussi mis des triggers à l'époque "quand groupe dans (hors)zone , executer avec priorité tache inmmortel on (off)" par sécurité car pas sûr, c'est d'ailleurs pour ça qu'il y'a autant de triggers, car un groupe = UN avion. Par contre, aucune influence sur le comportement du missile pour ma part Quote Share this post Link to post
Loulou Report post Posted March 19, 2019 Bon ben c'est moi qui est mauvais :blush: Quote Share this post Link to post
Loulou Report post Posted March 19, 2019 Non par contre pour ma part, le script fonctionne nickel, y'a explosion, ou pas selon ce qu'on met dans les premières lignes, et ensuite le message, mais on est pas touché. Dans ma mission, je charge MIST auparavant, et il est appelé par ce script, donc mandatory pour moi ! Enjoy Quote Share this post Link to post
Migow Report post Posted July 28, 2019 script pour rendre invincible des joueurs dans une/des zones pour du training --by migow invincibility script 0.6 local coalition_player_side = coalition.side.BLUE local zone_name_array = {} local trace_debug = false trigger.action.outText("Script Invulnerabilite On",1) function AddInvicibilityArea(area_name)-- a appeler pour chaque zone zone_name_array[#zone_name_array +1] = area_name end local function SetPlayersInvicibleInArea() local player_array = coalition.getPlayers(coalition_player_side) for player_index, player in ipairs(player_array) do local invincible = false local player_group = player:getGroup() if player_group then for zone_index, zone_name in ipairs(zone_name_array) do local zone = trigger.misc.getZone(zone_name) if zone then if mist.utils.get2DDist(player:getPosition().p, zone.point) < zone.radius then -- if it is in the zone invincible =true break; else invincible = false end end end player_group:getController():setCommand({id = 'SetImmortal', params = {value = invincible}}) -- set immortal to invincible if trace_debug then if invincible then trigger.action.outText("invincible",1) else trigger.action.outText("vulnerable",1) end end end end end AddInvicibilityArea("invincible")--zone a appeler en exemple AddInvicibilityArea("miaw") mist.scheduleFunction(SetPlayersInvicibleInArea, {}, timer.getTime(), 1) Quote Share this post Link to post
Flo Report post Posted February 5, 2020 Salut à tous ! Un script Mist que j'ai trouvé tout seul comme un grand (si si !) et qui permet un truc intéressant, à savoir créer une zone de trigger polygonale, à savoir en triangle, en carré, avec une forme plus complexe pour délimiter un frontière, en forme de zob si ça vous chante: do mist.flagFunc.units_in_polygon{ units = {'[blue][aircraft]'}, zone = { [1] = mist.DBs.unitsByName['Coin1'].point, [2] = mist.DBs.unitsByName['Coin2'].point, [3] = mist.DBs.unitsByName['Coin3'].point, }, flag = 1}end Où: blue / red: la coalition aircraft / helicopter / vehicle : le type d'unité qui déclenche le trigger quand il rentre dans la zone Coin1, Coin2, Coin3, etc... : il s'agit des noms des coins qui définissent le polygone. Pour les définir, créez un groupe de véhicules ennemis, avec autant de véhicules que vous voulez de coins à votre zone, puis, pour chaque véhicule, changez son nom d' unité au nom que vous voulez donner au coin du polygone. Placez les véhicules de façon à former la zone voulue, et surtout, n'oubliez d'ajouter les coins et leurs noms dans le script en respectant bien la syntaxe 1: Il s'agit du numéro du trigger que vous voulez déclencher lorsque le type d'unité que vous souhaitez rentre dans la zone En bref, une alternative intéressante à la zone circulaire :gg: Quote Share this post Link to post