Jump to content

FullGas

Members
  • Posts

    35
  • Joined

  • Last visited

Everything posted by FullGas

  1. A little gift.. MI8 And the same for MI8 : ------------- SCRIPT-------------------------- --========================================================== -- Control de l'état des portes du MI8 et retourne true si la porte est ouverte, false sinon. -- -- 1/ Charger dans l'éditeur de mission le présent fichier avec : "EXECUTER FICHIER SCRIPT" avec fichier = FG04.porteOuverteMI8.lua -- 2/ utilisation : on ajoute une règle "LUA PREDICATE" avec la commande suivante : -- return FG04.porteOuverteMI8("MI 01", "CARGO") -- teste portes arrière CARGO -- return FG02.porteOuverteMI8("MI 01", "ARR_G") -- teste 1 porte arrière gauche -- return FG04.porteOuverteMI8("MI 01", "TOUTES") -- teste que portes arrière gauche et cargo sont ouvertes -- -- Cette fonction a besoin de 2 paramètres : -- 1> Nom de l'unité à contrôler (ex :"MI 01" ) -- 2> Code porte à contrôler (3 possibles) : -- "ARR_G" = contrôle portes arrière gauche -- "TOUTES" = teste si portes arrière gauche et cargo sont ouvertes -- "CARGO" = teste si portes arrière CARGO sont ouvertes -- -- juillet/2018 - par FullGas -- -- FG04 = {} -- NE PAS RETIRER ! ----------------------------------------------------------------------------------------------- function FG04.porteOuverteMI8(helName, Porte) local u, argdrawv = {} local codes = {} local code = "" local ret = false if not Unit.getByName(helName) then -- seulement pour unités avec slot client pris, car plantage si s/slot libre trigger.action.outText("Erreur dans FG04.porteOuverteMI8, l'hélico " .. helName .. " n'existe pas ! ", 30) return nil else u = Unit.getByName(helName) if string.upper(Porte) == "ARR_G" then codes[#codes+1] = 38 -- portes arrière gauche à tester elseif string.upper(Porte) == "CARGO" then codes[#codes+1] = 86 -- portes arrières Cargo elseif string.upper(Porte) == "TOUTES" then codes[#codes+1] = 38 -- portes avant à tester codes[#codes+1] = 86 -- portes arrières Cargo end if #codes == 0 then -- si params "Porte" inconnu => message erreur trigger.action.outText("Erreur dans FG04.porteOuverteMI8, pour " .. helName .. ", le type de porte " .. tostring(Porte) .. " n'est pas correct (à contrôler) !", 30) return nil else -- Tester tous les codes portes à vérifier 1 ou 2 ou 1 et 2 selon params "Porte" local pass1 = true for i=1, #codes do argdrawv = u:getDrawArgumentValue(codes) if argdrawv ~= nil then --if codes == 38 and argdrawv > 0.899 then argdrawv = 1; end -- ajuster le maxi pour portes avant if argdrawv == 1 then if pass1 == true then --si premier passage forcer ret pass1 = false ret = true; -- porte détectée ouverte else ret = ret and true -- porte détectée ouverte end else pass1 = false ret = false -- porte détectée fermée end end end end return ret -- dans tous les cas on retourne l'état de la porte contrôlée (pour les appels par prog lua) end end -- ex : FG04.porteOuverteMI8("MI 09 HOT","CARGO") --------------- END OF SCRIPT --------------------
  2. A little gift.. Hello, everydody, here is a script, for check doors state in "LUA PREDICATE" rule. Sorry comments are in french, and thanks to thoses (like Grimes), who helps everyone... :) ------ SCRIP to put in an .lua file ---------------------------------------------------------------- --========================================================== -- Controle de l'état des portes du UH et retourne true si la porte est ouverte, false sinon. -- -- 1/ Charger dans l'éditeur de mission le présent fichier avec : "EXECUTER FICHIER SCRIPT" avec fichier = Ctrl_Portes.lua -- 2/ utilisation : on ajoute une règle "LUA PREDICATE" avec la commande suivante : -- return FG02.porteOuverteUH("UH 01", "AVANT") -- test portes avants -- return FG02.porteOuverteUH("UH 01", "ARRIERES") -- test 2 portes arrières -- return FG02.porteOuverteUH("UH 01", "ARR_D") -- test 1 porte arrière droite -- return FG02.porteOuverteUH("UH 01", "ARR_G") -- test 1 porte arrière gauche -- return FG02.porteOuverteUH("UH 01", "TOUTES") -- test que portes avants et 2 portes arrière sont ouvertes -- -- Cette fonction a besoin de 2 paramètres (params) : -- 1> Nom de l'unité à contrôler (unit name)(ex :"UH 01" ) -- 2> Code porte à contrôler (3 possibles) : -- "AVANT" = contrôle portes avant ---------------> for pilot and copilot doors test -- "ARR_G" = contrôle portes arrière gauche ------> for rear left door test -- "ARR_D" = contrôle portes arrière droit ------> for rear right door test -- "TOUTES" = Teste toutes les portes avant + le 2 arrières sont ouvertes --> for all doors test -- "ARRIERES" = Teste si les 2 portes arrières sont ouvertes ------> for rear 2 doors test -- -- avril/2018 - par FullGas -- -- FG02 = {} -- NE PAS RETIRER ! ----------------------------------------------------------------------------------------------- function FG02.porteOuverteUH(helName, Porte) local u, argdrawv = {} local codes = {} local code = "" local ret = false if not Unit.getByName(helName) then -- seulement pour unités avec slot client pris, car plantage si s/slot libre trigger.action.outText("Erreur dans FG02.porteOuverteUH, l'hélico " .. helName .. " n'existe pas ! ", 30) -- if helName don't exist => error message return nil else u = Unit.getByName(helName) if string.upper(Porte) == "AVANT" then codes[#codes+1] = 38 -- portes avant à tester --code = 38 -- portes avant à tester elseif string.upper(Porte) == "ARR_G" then codes[#codes+1] = 43 -- portes arrière gauche à tester -- code = 43 -- portes arrière gauche à tester elseif string.upper(Porte) == "ARR_D" then codes[#codes+1] = 44 -- portes arrière droite à tester --code = 44 -- portes arrière gauche à tester elseif string.upper(Porte) == "ARRIERES" then codes[#codes+1] = 43 -- portes arrière gauche à tester codes[#codes+1] = 44 -- portes arrière droite à tester elseif string.upper(Porte) == "TOUTES" then codes[#codes+1] = 38 -- portes avant à tester codes[#codes+1] = 43 -- portes arrière gauche à tester codes[#codes+1] = 44 -- portes arrière droite à tester end if #codes == 0 then -- si params "Porte" inconnu => message erreur trigger.action.outText("Erreur dans FG02.porteOuverteUH, pour " .. helName .. ", le type de porte " .. tostring(Porte) .. " n'est pas correct (à contrôler) !", 30) return nil else -- Tester tous les codes portes à vérifier 1 2 ou 3 selon parmas "Porte" local pass1 = true for i=1, #codes do argdrawv = u:getDrawArgumentValue(codes) if argdrawv ~= nil then if codes == 38 and argdrawv > 0.899 then argdrawv = 1; end -- ajuster le maxi pour portes avant if argdrawv == 1 then if pass1 == true then --si premier passage forcer ret pass1 = false ret = true; -- porte détectée ouverte else ret = ret and true -- porte détectée ouverte end else pass1 = false ret = false -- porte détectée fermée end end end end return ret -- dans tous les cas on retourne l'état de la porte contrôlée (pour les appels par prog lua) end end -- END of SCRIP --------------------------------------------------------------------------------------- -- how to call ex: -- 1> in an action "EXECUTE FILE" load the lua file containing the present code -- 2> in a LUA PREDICATE rule put this script: return FG02.porteOuverteUH("UH 09 HOT","AVANT") -- for check if the front doors of th UH called "UH 09 HOT" are open -----------------------------------------------------------------------------------------
  3. Bonjour, et merci pour ces précisions. J'avais en effet "potassé" et suivi la doc.. enfin.. je le croyais. Mais je n'avais pas vu la contrainte de la version US. Après avoir reparamétré la version US, je n'ai plus le message d'erreur, et j'ai bien un fichier .edm qui est crée. Maintenant, je tente d'ouvrir avec EDmodelViewer (version standalone installée) ce fichier. Il semble qu'EDV ait du mal à retrouver la texture! J'ai pourtant collé le .dem dans le dossier Shaders, et la texture sippée (et non zippée d'ailleurs), dans TempTextures. J'imagine qu'il doit encore y avoir une subtilité que je n'ai pas vue ?
  4. Export pb Hello everybody, I'm starting in using 3ds max. Since one day, I try to export a .edm simple file (a sphere with a .dds texture). I think allll is ok in the settings, but when I export I receive this error message : "Error: Uniforms: Can't get parameter Shader Basic Parameters->Specular Level. Material: 02 - Default. File: .build\x86_64\vc140.release\Utils\NGModel_MaxPlugins\2016\Exporter\MtlKeeper.cpp:303." I have tested many different versions of the edm plugins, on the 3ds max 2016 version, but nothing is ok. Can some one help me, please ? Thanks
  5. Hello Morkva, thank you, for your great work. I would like to learn how to create a new simple Infantry mod. For that, I try to read as an example, your file "9K115" with Notepad++. But this file seems note to be a standard text file (like .lua). Can you tell me what type of file is it, and how I can read/create this ? Is there some ressource explaining how to add a new mod in DCS. My quesiton is not for the .edm files or for the textures one, only for the code files necessary for including the new mod in the Mission Editor. I advance, thanks for your answer, who help me a lot..
×
×
  • Create New...