Page 1 sur 1

Macro FSUIPC + LUA

MessagePosté: Jeu 10 Mar 2016 15:55
de PARALAILE
Bonjour,
voilà pour faire mon cockpit de DC-3, j'ai chosi le MAAM.
Ce qui m'oblige à faire plein de MACROS (au vin blanc) dans FSUIPC.
Je voudrais, par exemple, déclencher à la fois la macro qui me sert à actionner la pompe à carburant et déclencher le son du moteur de celle-ci,
ou allumer "seat belt" et "no smoking" et entendre le son qui correspond, ou ...
merci d'avance pour votre aide.
Dominique -->DC-3

Re: Macro FSUIPC + LUA

MessagePosté: Sam 12 Mar 2016 01:10
de Pegase78
Bonsoir Dominique,

Je ne sais pas si ce qui va suivre te sera utile, je suis débutant en programmation SIOC et LUA, mes compétences en ce domaine sont donc très limitées, mais malgré tout j'ai réussi à faire fonctionner le master switch sur le C182 de A2A en passant par LUA.
Donc je te livre la méthode que j'ai utilisé pour y arriver, donc à toi d'éventuellement transposer ce qui suit à ta problématique.

J'ai dans SIOC la gestion de 2 switchs Master Battery et Alternateur.

-----------------------------------Code SIOC-------------------------------------------
Var 0002, name fs_bat, Link FSUIPC_INOUT, Offset $3102, Length 1 // Offset FS $3102
{
&fs_bat = &sw_batt
}

Var 0003, name sw_batt, Link IOCARD_SW, Input 1 // inter batterie
{
&fs_bat = &sw_batt
}

Var 0005, name fs_alternat, Link FSUIPC_INOUT, Offset $66C0, Length 1 // Offset libre
{
&fs_alternat = &sw_alternat
}

Var 0006, name sw_alternat, Link IOCARD_SW, Input 2 // inter alternateur
{
&fs_alternat = &sw_alternat
}

-------------------------------------FSUIPC.INI---------------------------------------------
// Dans FSUIPC.INI j'ai ajouté les entrées suivantes dans mon cas le fichier ipcReady et C182_A2A

[LuaFiles]
1=ipcReady
2=C182_A2A

------------------------------------ipcReady.LUA------------------------------------------
// Donc, il faut créer un fichier ipcReady
// Contenu du fichier ipcReady.LUA où je test le modèle d'avion chargé dans FS
// si c'est mon C182 alors je charge le fichier C182_A2A.LUA

if ipc.readSTR(0x3D00, 11) == "C182_N516DM" then

-- Appel C182_A2A.LUA
ipc.runlua('C182_A2A')

end

----------------------------------C182_A2A.LUA----------------------------------------
// Donc il faut créer un fichier C182_A2A.LUA
// Contenu du fichier C182_A2A.LUA où j'affiche une petite fenêtre dans FS pour monitorer la valeur
// des variables et modifier leurs valeurs à chaque modification des Offsets par SIOC

-- pour commencer une boucle infinie tant que -----------------------
while 1 do

-- Affiche dans une fenêtre la valeur des variables pour les monitorer pratique pour débug----
ipc.display(
"Batterie 3102="..ipc.readUB(0x3102).."\nswBat="..ipc.readLvar('Battery1Switch').."\
Alternateur 66C0="..ipc.readUB(0x66C0).."\nswAlt="..ipc.readLvar('Eng1_GeneratorSwitch')
)

-- switch Batterie --------------------------------------------------------------------------
-- si la valeur de la Lvar est différente de la valeur de l'Offset ( modifié par le switch avec SIOC )
--alors affectation de la valeur de l'Offset
if ipc.readLvar('Battery1Switch') ~= ipc.readUB(0x3102) then
ipc.writeLvar('Battery1Switch',ipc.readUB(0x3102))
end

-- switch Alternateur -------------------------------------------------------------
-- si la valeur de la Lvar est différente de la valeur de l'Offset ( modifié par le switch avec SIOC )
--alors affectation de la valeur de l'Offset
if ipc.readLvar('Eng1_GeneratorSwitch') ~= ipc.readUD(0x66C0) then
ipc.writeLvar('Eng1_GeneratorSwitch', ipc.readUD(0x66C0))
end

-- Pause de 100 mSecs avant de boucler
ipc.sleep(100)

end

J'espère que mon exemple te sera utile.
Bon courage pour la suite

Alain

Re: Macro FSUIPC + LUA

MessagePosté: Sam 12 Mar 2016 10:10
de PARALAILE
Merci énormément Alain pour ta réponse,
Pegase78 a écrit:..., je suis débutant en programmation SIOC et LUA, mes compétences en ce domaine sont donc très limitées, ...
Alain

si tu es débutant , je me demande ce que je suis!!!!
En fait je voudrais tester avec cette MACRO,
[Macros]
Module="MAAM_R4D.DLL"
1=loltest=RX2e20*X83cc
lui ajouter le jeu d'un sound avec LUA, 1bouton = MACRO+SOUND
une fois que j'aurai cette démarche il n'y aura plus qu'à changer les paramètres après un copier coller ....
je vais essayer de comprendre ton code,
Merci encore!
Dominique -->DC-3