Aide - Recherche - Membres - Calendrier
Version complète : Belsimtek et le clickabledata.lua
3rd-Wing · Escadre virtuelle DCS > DCS (& LockOn) > 3rd Wing devs' zone
gillesdrone
j'ai fait des essais pour comprendre la logique de Belsimtek en matière des lua clckabledata et mainpanelinit

pour le premier d'abord :
je lance le simu avec le MI8 et je lance le SIOC du KA50

dans le cockpit simpit kamov si j'actionne les inters de batterie 1 et batterie 2 j'ai les inters de pompes fuel qui agissent dans le cockpit virtuel MI8


mon SiocConfig

[629] = {TwoPositionSwitch, 2, 3, 1}, --SWITCH BATTERY 2
[630] = {TwoPositionSwitch, 2, 5, 1}, --SWITCH BATTERY 1


extrait des clickabledata.lua

en début de clickable.lua mi8 j'ai cette routine concernant les inter 2 postions mais il y en a pour tous les types d'inters , ainsi que pour les axes et autres leviers , si j'arrive à interpréter le nombre arguemnt (439 ou 440 ici ) j'arriverai peut être a trouver la logique pour faire le lien .

en début de celui du MI8

function default_2_position_tumb(hint_, device_, command_, arg_)
return {
class = {class_type.TUMB,class_type.TUMB},
hint = hint_,
device = device_,
action = {command_,command_},
arg = {arg_,arg_},
arg_value = {1,-1},
arg_lim = {{0,1},{0,1}},
updatable = true,
use_OBB = true
}

MI8

elements["PTR-CPE-TMB-PUMPTNK-L"] = default_2_position_tumb(_("Left fuel tank pump"), devices.FUELSYS_INTERFACE, device_commands.Button_3,439)
elements["PTR-CPE-TMB-PUMPTNK-R"] = default_2_position_tumb(_("Right fuel tank pump"), devices.FUELSYS_INTERFACE, device_commands.Button_5,440)


KA50

elements["ENERG-AKK2-PTR"] = {class = {class_type.TUMB,class_type.TUMB}, hint = LOCALIZE("Battery 2"), device = devices.ELEC_INTERFACE, action = {device_commands.Button_3,device_commands.Button_3}, arg = {543,543}, arg_value = {-direction*1.0,direction*1.0}, arg_lim = {{0, 1.0},{0, 1.0}}, use_OBB = true, updatable = true}
elements["ENERG-AKK1-PTR"] = {class = {class_type.TUMB,class_type.TUMB}, hint = LOCALIZE("Battery 1"), device = devices.ELEC_INTERFACE, action = {device_commands.Button_5,device_commands.Button_5}, arg = {264,264}, arg_value = {-direction*1.0,direction*1.0}, arg_lim = {{0, 1.0},{0, 1.0}}, use_OBB = true, updatable = true}


a savoir pour le device.lua du KA50 on a un numéro attribué a chaque device

pour le MI8 on a une variable , qui je pense incrémente de 1 a chaque ligne de device ce qui permet de rajouter des devices à la suite sans limite

ci joint les extraits en lua , plus lisibles que dans le texte ce dessus

Cliquez pour voir le fichier-joint
Hellfrog
il n'y a pas spécialement de logique là dedans, chaque appareil a des inter et axes et instruments, chacun identifié par un numéro (ton 439 ou 440), c'est comme ça depuis le début de DCS... et chaque éditeur programme ça comme il veut, du moment que c'est cohérent...
Le problème pour nous, et idem pour Helios ou n'importe quelle interface, c'est que rien n'est standardisé... le numero qui correspond à une fonction dans un appareil en est un autre pour un autre appareil, meme pour la meme fonction... Donc à chaque appareil il faut refaire une interface, c'est ça qui est casse bonbon...


gillesdrone
CITATION(Hellfrog @ 28 Apr 2014, 19:52) *

il n'y a pas spécialement de logique là dedans, chaque appareil a des inter et axes et instruments, chacun identifié par un numéro (ton 439 ou 440), c'est comme ça depuis le début de DCS... et chaque éditeur programme ça comme il veut, du moment que c'est cohérent...
Le problème pour nous, et idem pour Helios ou n'importe quelle interface, c'est que rien n'est standardisé... le numero qui correspond à une fonction dans un appareil en est un autre pour un autre appareil, meme pour la meme fonction... Donc à chaque appareil il faut refaire une interface, c'est ça qui est casse bonbon...

je pense que jai trouvé. je teste demain
C'est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.