Accueil
Accueil

Bienvenue invité ( Connexion | Inscription )

21 Pages V « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> [LUA] Télécommander son avion
Tarochi
post 12 Jan 2007, 23:24
Message #51



 


Messages : 110
Inscrit : 31/12/06
Membre n° 1,234

Quand je lance SIOC v3.3 avec le Serveur activé port 8091 et module client #0 activé port 8092,
aucune carte n'est branchées, aucun jeu est lancé au bout de dix minutes environ, j'ai un message d'erreur de windows: Windows socket error: une opération sur un socket n'a pas été éfectuée car le système ne dispossait pas de suffisament d'espace dans la mémoire tampon ou parce que la file d'attente était saturé (10055), on API connect
detective.gif
Manuel Velez le createur du SIOC a Dit: notworthy.gif notworthy.gif

Cette Probleme succes quand aucune des deux clients IOCP du SIOC est habilite et intente se connecter a une serveur et ne le obtene pas.

Solution:
Activer seulement le client qui va s'utilisser et desactiver l'autre ( IOCP Disable=yes)
jesors.gif

Tarochi

Ce message a été modifié par Tarochi - 12 Jan 2007, 23:32.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lecreole
post 13 Jan 2007, 02:16
Message #52






Messages : 379
Inscrit : 13/04/05
Lieu : 74100 Annemasse
Membre n° 125

Merci Tarochi pour cette réponse rapide, c'est donc normale, si aucun client se connecte on a cet erreur cheer.gif cheer.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lynx
post 13 Jan 2007, 09:42
Message #53






Indicatif : BS-05
Messages : 2,417
Inscrit : 23/03/05
Lieu : FONTENAY-SOUS-BOIS
Membre n° 108

Comme promis une traduction du tutoriel de Gauge Composer crash.gif

Gauge Composer est un outil qui permet de fabriquer des panneaux d'instruments graphiques, incluant des instruments analogiques, qui peuvent fonctionner dans une fenêtre ou sur un ordinateur indépendant...
Le programme acquiert des informations (data) d'un serveur IOCP, (IOCPServer pour FSimulator, XPLUIPC pour X-Plane, LO-IOCP pour Lock-ON, SIOC,...).
Ainsi ces instruments peuvent être utilisés sur n'importe quel ordinateur connecté à distance du serveur IOCP.
Avec cet outil on peut fabriquer des instruments facilement, car c'est un outil visuel, et tous les ajustements peuvent être réalisés à l'aide de la souris.
Le programme est basé dans plusieurs scripts par instrument. Ces scripts sont définis par des commandes basiques.
Les système peut acquérir des informations, data, d'un second serveur IOCP, il peut donc être connecté à 2 serveurs en même temps.

SCRIPTS
Les Eléments (images et textes) d'un instrument peuvent changer à cause de changements dans les variables IOCP. Le moyen de dire à GaugeComposer quoi faire est défini via un script, un petit programme qui est lancé chaque fois que la valeur associée à la variable change.

Il n'y a pas besoin d'avoir des talents de programmeur pour travailler sur des scripts et sur Gauge Composer. La seule chose réellement importante est de comprendre les concepts basiques : Comment le script est lancé et l'ordre d'exécution des lignes de script.

Chaque script doit commencer par la ligne : link offset oo server {1|2}, ainsi GaugeComposer saura à quel serveur est relié l'instrument et sa valeur.

Avant de décrire le langage qui compose le script, nous verrons tout d'abord une petite chose.

GaugeComposer lancera le script pour tous les éléments reliés au même serveur à chaque fois qu'une des variables change.Si nous avons 4 scripts, 2 reliés à des variables du serveur #1 et 2 reliés à des variables du serveur #2, les deux scripts reliés à des variables du serveur #1 seront lancés quand n'importe laquelle des variables reliées dans le serveur #1 change.

Reserved words : Les mots réservés
GCScript comprend les mots « réservés » suivants :link, offset, server, value, data, if, else, endif, hide, show, rotate, print, print_frq, round, moveh and movev.

Juste seize mots pour gérer complètement n'importe-quel instrument. Avant d'expliquer chacun d'entre eux, une notification importante s'impose :

{A|B} Indique que l'on doit trouver un A ou B (A ou B sont des options possibles).
{1..9}Indique que l'on doit trouver une des valeurs possibles entre 1 et 9.
[] Indique l'optionalité, Existe ou n'existe pas.

Liste des reserved words :

.-data
.-endif
.-else
.-if
.-link offset server
.-offset==>Peut être traduit par Valeur Distante ou VD
.-server
.-hide
.-int
.-moveh
.-movev
.-print
.-print_frq
.-rotate
.-round
.-show
.-value

Page: 3/7
data

Data est utilisé pour transférer des informations à un groupe de mots. Ces groupes de mots sont utilisés pour faire tourner ou bouger des éléments (visuels ou graphiques). Il peut aussi être utilisé et modifié pour des questions ou des assignations pour Value. )Voir plus loin)

data peut être utilisé comme suit :
data = expresion, La valeur d'expression est assignée à data.
data += expresion, La valeur d'expression est ajoutée à data.
data -= expresion, La valeur d'expression est soustraite à data.
data *= expresion, La valeur de data est multipliée par la valeur expression.
data /= expresion, La valeur de data est divisée par la valeur d'expression.

Nous pouvons donc obtenir un script qui commence ainsi :
link offset 63 server 1(relier la VD n°63 du serveur 1)
data = value

Avec 'data=value', la valeur stockée dans Value (par la phrase de lien) est stockée dans data. Maintenant nous pouvons changer cette valeur, par exemple data *= 0.36, et appeler l'instruction rotate pour faire pivoter les éléments liés à ce script du nombre de degrés indiqués par data...

Page: 4/7
link offset oo server {1|2}

link doit être la première phrase de tout script, et définit le serveur et la valeur distante qui vont définir le comportement de l'instrument.

oo .se définit comme le n° de valeur distante IOCP à laquelle nous voulons nous connecter. Pour le serveur IOCP ce sera dans le champ de 0 à 1196 (voir la documentation du serveur IOCP).

link cette phrase peut aussi se retrouver dans d'autres endroits du script, si nous voulons connaître la valeur d'une autre variable distante dans le serveur ou dans un autre serveur.

Dans ce cas on peut l'écrire de cette façon :
link [offset oo][server {1|2}]
Cela signifieque la valeur distante ou le serveur ne peuvent être spécifiés.
Le résultat de cette phrase du script est une mise-à-jour de la valeur.

Moveh==>bouger horizontalement

moveh Déplace (en pixels) l'élément ( graphique ou texte) vers la droite si data>0, ou la gauche si data<0, de sa position initiale, comme indiqué par data.

Si nous voulons dessiner un indicateur de volets avec une aiguille qui bouge horizontalement, nous savons que les volets de l'aile gauche sont représentés par la valeur distante 327. Cette VD peut avoir des valeurs comprises entre 0 et 16K (1K=1024) avec 16K signifiant « volets max ».

Tout cela signifie que si je veux bouger l'aiguille de 190 pixels quand les flaps sont au max, j'aurais besoin de calculer un facteur « f » f= 190/16*1024 (=0,0115966796875). Quand nous multiplions ce facteur « f » par la VD, nous obtiendrons une valeur entre 0 et 190.
Si les volets sont remontés position 0, (0), 0*f=0, il n'y a pas de mouvement, si les flaps sont sortis au max (16K), 16K*f=190.

Exemple
link offset 327 server 1
data = value
data *= 0.0115966796875


movev

movev==>bouger verticalement

movev Déplace (en pixels) l'élément ( graphique ou texte) vers le bas si data>0, ou le haut si data<0, de sa position initiale, comme indiqué par data.

Si nous voulons dessiner un indicateur de volets avec une aiguille qui bouge vertictalement, nous savons que les volets de l'aile gauche sont représentés par la valeur distante(VD) 327. Cette VD peut avoir des valeurs comprises entre 0 et 16K (1K=1024) avec 16K signifiant « volets max ».

Tout cela signifie que si je veux bouger l'aiguille de 190 pixels quand les flaps sont au max, j'aurai besoin de calculer un factreur « f » f= 190/16*1024 (=0,0115966796875). Quand nous multiplions ce facteur « f » par la VD, nous obtiendrons une valeur entre 0 et 190.
Si les volets sont remontés position 0, (0), 0*f=0, il n'y a pas de mouvement, si les flaps sont sortis au max (16K), 16K*f=190.

Exemple
link offset 327 server 1
data = value
data *= 0.0115966796875
movev


rotate


rotate Tourne l'èlément (graphique ou texte) dans le sens des aiguilles d'une montre du nombre de degrés indiqués par la variable data.

rotate Peut être utilisé pour faire tourner des aiguilles dans des instruments analogiques. Si data peut prendre une valeur entre 0 et X, nous devons diviser la valeur maximale (en degrés) par X pour en trouver le facteur.

Si nous voulons dessiner la position des flaps avec une aiguille qui tourne, nous savons que la valeur des flaps de l'aile gauche sont représentés par la VD 327. Cette VD peut avoir des valeurs comprises entre 0 et 16K (1K=1024) avec 16K signifiant « volets max ».
Tout cela signifie que si je veux bouger l'aiguille de 190 degrés quand les flaps sont au max, j'aurai besoin de calculer un factreur « f » f= 190/16*1024 (=0,0115966796875). Quand nous multiplions ce facteur « f » par la VD, nous obtiendrons une valeur entre 0 et 190.
Si les volets sont remontés position 0, (0), 0*f=0, il n'y a pas de mouvement, si les flaps sont sortis au max (16K), 16K*f=190.


Exemple
link offset 327 server 1
data = value
data *= 0.0115966796875
rotate


value

value placé aprés link, stocke la valeur de la VD du serveur recherché, nous pouvons ainsi la connaître et l'utiliser.
Cette valeur peut être changée et utilisée pour des questions ou pour des assignements de valeur data.

value peut être modifiée/affectée par les axpressions suivantes:
value == expresion, 'expresion' est stockée dans 'value'.
value += expresion, la valeur 'expresion' est ajoutée à 'value'.
value -= expresion, la valeur 'expresion' est soustraite à 'value'.
value *= expresion, 'value' est multipliée par la valeur d' 'expresion'.
value /= expresion, 'value' est divisée par la valeur d''expresion'.

Nous pouvons donc avoir un script débutant par:
link offset 63 server 1
value /= 100

Comme nous sommes reliés à une VD du serveur, nous avons une variable à nom fixe appelée 'value'. Avec 'value' nous connaissons la VD Variable Distante. 'value' représente la valeur de la VD juste au moment ou le script est lancé, mais nous pouvons changer cette valeur depuis le script ou demander une autre valeur de VD.

N"hésitez pas à faire des remarques sur la terminologie, ou autre... thumbsup.gif

Ce message a été modifié par Lynx - 13 Jan 2007, 09:44.

--------------------
3rdlynx.ddns.net

Serveur Discord Perso/Mission Editor : 965280400698146836

The agnostic dislexic insomniac: lies awake in bed at night wondering if there really is a dog.

T-IR 5, THRUSTMASTER WARTHOG +Virpil WAR BRD, Pilotseat GameRacer Pro, Oculus Rift S+ SIMSHAKER JETPAD(+ MFD's (démontés) )

Config
+ MSI 6950XT 340W
+ be quiet! Pure Rock 2
+ Mushkin Redline 64 Go 2 x 32 Go DDR4 3600 MHz
+ AMD Ryzen 7 5800X3D, 3,4 GHz (4,5 GHz Turbo Boost)
+ be quiet! Pure Power 11 FM 1000W,
+ SAMSUNG 980 PRO, 2 To, SSD
+ ASUS PRIME X570-P,
+ Sharkoon RGB LIT 100.

Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lecreole
post 13 Jan 2007, 11:51
Message #54






Messages : 379
Inscrit : 13/04/05
Lieu : 74100 Annemasse
Membre n° 125

Merci lynx thumbsup.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Tarochi
post 13 Jan 2007, 12:50
Message #55



 


Messages : 110
Inscrit : 31/12/06
Membre n° 1,234

thumbsup.gif Tres bien, j'ai faite une copie de ton traduction, et j'ai postee dans le group, pour voir si on peuve metre en la web de Opencockpits, dans la presentation en francais.

vous puvez s'enregistrer dans la web, pour posteer dans les forums, et moi peuve vous aider dans les responses en espagnol.

Aucune probleme avec ça. thumbsup.gif

Tarochi.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
coolhands
post 13 Jan 2007, 20:47
Message #56






Messages : 575
Inscrit : 17/12/04
Lieu : Metz
Membre n° 39

CITATION(Lecreole @ 12 Jan 2007, 04:10) *

tu as raison de dire de faire un check-list avant chaque vol, car justement si tu commence le jeu en vol et tes commandes des moteurs sont sur off, tes moteurs vont etres coupés dés que tu enlèvera la pause.
Idem pour la verrière si tu mets un bouton ON/OFF, si il est sur ON, t'aura la bonne surprise de voire ta verrière disparaitre ds le vide gap.gif (c'est pourquoi j'ai choisit un bouton poussoir pour cette commande whistling.gif )

l'example poster plus haut était juste pour montrer que c'est tout à fait possible de communiquer entre le SIOC et Lockon via LUA.

Il ne reste plus qu'a exploiter au maximum cette posibilitée.

Merci pour tes encouragements et à bientôt.

Lecreole.


On ne peut pas aussi dire de vérifié la position de l'inter au sioc pour évité se genre de probleme??
Exemple tu demarre en vol et ta manette de train est en position sortie comme la commande est de =1 on dit dans le sioc que si le train est rentrer dans lockon ben le l'inter n'a pas de fonction et on peut le relevé sans que sa n'agisse ??


Super se post j'ai pris du plaisir a lire et c'est vachement constructif.

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Tarochi
post 13 Jan 2007, 22:33
Message #57



 


Messages : 110
Inscrit : 31/12/06
Membre n° 1,234

Pour toi Lynx: russieflag.gif

si tu ne domines pas le Paint ni le pothoshop.


Image IPB
Image IPB

Ce message a été modifié par Tarochi - 21 Jan 2007, 01:12.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lynx
post 13 Jan 2007, 23:09
Message #58






Indicatif : BS-05
Messages : 2,417
Inscrit : 23/03/05
Lieu : FONTENAY-SOUS-BOIS
Membre n° 108

MERCI,MERCI,MERCI,MERCI,MERCI,MERCI,MERCI,MERCI,MERCI,MERCI,MERCI, notworthy.gif

Bon, ben maintenant faut que je me mette au travail quoi... wavetowel2.gif thumbsup.gif

--------------------
3rdlynx.ddns.net

Serveur Discord Perso/Mission Editor : 965280400698146836

The agnostic dislexic insomniac: lies awake in bed at night wondering if there really is a dog.

T-IR 5, THRUSTMASTER WARTHOG +Virpil WAR BRD, Pilotseat GameRacer Pro, Oculus Rift S+ SIMSHAKER JETPAD(+ MFD's (démontés) )

Config
+ MSI 6950XT 340W
+ be quiet! Pure Rock 2
+ Mushkin Redline 64 Go 2 x 32 Go DDR4 3600 MHz
+ AMD Ryzen 7 5800X3D, 3,4 GHz (4,5 GHz Turbo Boost)
+ be quiet! Pure Power 11 FM 1000W,
+ SAMSUNG 980 PRO, 2 To, SSD
+ ASUS PRIME X570-P,
+ Sharkoon RGB LIT 100.

Image IPB

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lecreole
post 14 Jan 2007, 21:10
Message #59






Messages : 379
Inscrit : 13/04/05
Lieu : 74100 Annemasse
Membre n° 125

Lynx, je fini mes routines pour le LUA, puis je vais essayer de developper un Gauge Lockon Serveur à la sauce Lecreole gap.gif , j'ai fait quelques essais plutot concluant en Flash, j'ai un pote infographiste qui passe demain je vais lui demander de convertir tous les instruments du post d'en haut en vectoriel pour flash.
Par contre le monvement de l'aiquille n'est pas trés réaliste car l'info est envoyer tous les secondes, donc des mouvements saccadés, y a t-il des routines pour avoir un mouvement plus fluide(Doug??)
Bon @++

PS: un example de résultat souhaiter : ici

Ce message a été modifié par Lecreole - 14 Jan 2007, 21:20.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Doug
post 15 Jan 2007, 17:51
Message #60




Ladhouze pilot, eagle driver, amraams carrier, ...

Indicatif : F-01
Messages : 2,446
Inscrit : 27/11/04
Lieu : London
Membre n° 1

Je connais que en C# où pour un bon rendu j'utilise le double buffering.

--------------------

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

21 Pages V « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :
 

Haut de page · Retour à l'accueil · Contacter le Webmestre Nous sommes le : 23/05/24 - 04:10