Page 1 sur 1

Editeur mission : 1er script : annonces copilote altitudeAGL

Publié : mer. juin 15, 2016 12:22 am
par hellfrog35
je débute en script mission et je voudrais comprendre comment faire un truc assez simple :

quelle est la manière la plus simple dans un script de faire référence à l'objet = unité du joueur (en mission solo pour commencer simple) ?
l'objectif est ensuite de travailler avec GetPosition etc...

je suis un peu perdu entre les GetGroup, les coalitions, les GetUnit, lesGet ID... doit y a voir une syntaxe simple sans enumérer ttes les tables ?
par ex : GetByName fait référence dans l'éditeur de mission : à la case 'type' = nom de la classe de l'appareil ? ou au nom du joueur = case 'pilote' ? ou autre chose ?

si je prends la fonction suivante :

function getUnitID(unitName)
local unit = Unit.getByName(unitName)
local unitID = nil
if unit ~= nil then
unitID = unit:getID()
end
return unitID
end

à quoi correspond unitName ?

Re: Editeur mission

Publié : mer. juin 15, 2016 12:46 am
par diditopgun
Si ça fonctionne de la même manière que dans l'éditeur de mission le champs "NAME" (New Airplane Group) = "groupName" et le champs "PILOT" (Pilot #1) = "unitName"

Après je n'y connais strictement rien en script DCS.... c'est le côté obscure de la force ce truc là. :emlaugh:

Re: Editeur mission

Publié : mer. juin 15, 2016 12:49 am
par hellfrog35
mon pb c'est que j'ai tjrs aimé le côté obscur ... :Jumpy:
merci Didi

Re: Editeur mission

Publié : mer. juin 15, 2016 12:52 am
par diditopgun
Oui le "touch'papal" est en toi ! lol

Re: Editeur mission

Publié : mer. juin 15, 2016 1:09 am
par hellfrog35
Ah non ça c'est fini (pour le moment :jerry: ).
suis passé à 3 écrans et pour avoir assez de FPS, plus de tactile. Par contre bcp plus de vrais boutons encombrent mon bureau...

Re: Editeur mission

Publié : mer. juin 15, 2016 2:04 am
par diditopgun
lol

Re: Editeur mission

Publié : mer. juin 15, 2016 2:21 am
par hellfrog35
bon revenons au sujet :

ça marche pas .

si je crée un déclencheur 'une fois' ,règle 'temps > 5', action 'executer script'

avec ce code (y a pas d'erreur de typo)

Code : Tout sélectionner

env.setErrorMessageBoxEnabled(true) myGroupName = "GroupHellfrog" myPilot = "Hellfrog" myGroup = Group.getByName(myGroupName) myGroupID = Group.GetID(myGroup)
déjà là ça me renvoie une erreur car myGroup = nil !!!!! : Attempt to call field 'GetID' a nil value

pour la suite j'ai besoin d'avoir l'ID du groupe et le nom de l'unité, c'est tout... rien de compliqué ensuite.

Re: Editeur mission

Publié : mer. juin 15, 2016 11:07 am
par hellfrog35
résolu
dernière ligne : getID et non GetID .... trop bête...

Re: Editeur mission

Publié : mer. juin 15, 2016 11:06 pm
par hellfrog35
bon j'ai avancé, mais ça marche pas encore comme je voudrais

si qqn veut aider c'est là pour les détails du code et de la mission
http://forums.eagle.ru/showthread.php?t=168583

Re: Editeur mission

Publié : jeu. juin 16, 2016 7:57 pm
par hellfrog35
est - ce que qqn sait si les fonctions
trigger.action.outSoundForGroup
etc

ne fonctionnent que dans un script.lua intégré à une mission via une action do file script

ou bien aussi dans un autre lua comme export.lua par ex sans faire partie d'une mission ?
utilité : avoir un msg sonore dans un script indépendant... sans passer par un pgm externe

Re: Editeur mission

Publié : jeu. juin 16, 2016 8:37 pm
par diditopgun
Mon pauvre hellfrog j'espère que quelqu'un saura répondre à tes question mais je crains que le scripting DCS ne soit pas un sport de masse dans la communauté française... :emlaugh:

Re: Editeur mission

Publié : jeu. juin 16, 2016 8:43 pm
par hellfrog35
tu sais que quand on vole il faut tjrs regarder au dessus de soi, et pas que en dessous...
c'est comme dans ta boite de conserve d'ailleurs... :exit:
pour la prog c'est pareil... moi j'aime bien approfondir les choses et voir tout ce qu'on peut faire avec...
et puis j'aime bien, autant que piloter, et comme avec mon epaule ds le sac je ne peux pas piloter plus d'une heure de suite... ça m'occupe...

Re: Editeur mission

Publié : jeu. juin 16, 2016 9:02 pm
par diditopgun
Je suis certains qu'il y a moyen de faire des choses très intéressantes avec le scripting dans DCS, mais actuellement c'est trop chronophage/complexe pour moi. :yes:

Re: Editeur mission

Publié : jeu. juin 16, 2016 9:47 pm
par hellfrog35
c'est vrai que :
faut savoir déjà un peu programmer
avoir au moins des notions de C
maitriser le lua (notemment les tables et pointeurs)
comprendre la logique de l'editeur de mission

après on fait soit des missions avec juste des triggers dans l'editeur, y a déjà moyen de faire bcp de choses

soit on veut essayer de faire un truc pas possible par défaut et là faut mettre les mains dans le cambouis

pour eviter les pbs le mieux est alors de tout faire en script, mais c'est un sacré boulot

pour ça y a déjà des bases de scripts très intéressantes et bien faites dont mist, moose qui va le compléter bientot, CTLD CSAR etc...

enfin on peut tenter de mixer script et triggers, mais là faut déjà bien maîtriser...

et c'est sans compter les bugs : nb de fonctions ne marchent pas ou plus après une MAJ, d'autres n'ont jamais fonctionné etc...

et la doc qui manque cruellement d'exemples... donc recours aux fofos, et faut donc aussi maitriser l'anglais...

ça limite pas mal c'est vrai...

mais y a qd meme des missions superbes qui ont été faites grâce à ça.

et c'est grâce au retours des gens qui maîtrisent et partagent que l'éditeur évolue aussi... meme si faut pas être pressé... 2 more weeks...

Re: Editeur mission

Publié : jeu. juin 16, 2016 10:35 pm
par hellfrog35
ça y est ça marche...
à optimiser mais on peut le faire : annonces de l'altitude / sol (et non / mer comme par defaut dans l'editeur) par le copilote : ça marche.
reste à optimiser
cf lien post dcs plus haut

Re: Editeur mission

Publié : ven. juin 17, 2016 2:13 am
par hellfrog35
version finale du script qui semble marcher
réalisée sous DCS 202

mission jointe : départ en SA342 à batumi moteur chaud, aucun objectif, vol libre, map caucasus

annonce des altitudes AGL à 1 3 5 10 15 20 m
test une fois par seconde
au premier passage : annonce
ensuite annonce uniquement si
- plus de 10% de variation
- et n'a pas déjà été dite ou déjà dite mais avec changement du sens de passage (montée /descente)


les sons d'origine dcs viennet de \DCS World 2 OpenAlpha\Sounds\Speech\Sound\ENG\Common\Player
utilité :
réalisme IRL le copilote annonce les altitudes
pour se perfectionner en helitreuillage
pour se perfectionner en manoeuvres au ras du sol : vous pouvez vous concentrer sur l'acquisition et la mémorisation de repères visuels et lacher un peu le cadran de l'altimètre le temps le l'apprentissage
perso pour apprendre à faire mon premier script et comprendre comment ça marche...

pour les détails : ouvrir la mission dans l'éditeur : regarder les triggers
pour disséquer le contenu : ouvrir le fichier miz avec winrar ou winzip ou equivalent
les fichiers sons sont à copier dans le dossier l10n/DEFAULT
pour qu'ils soient joués il faut qu'ils apparaissent dans les triggers sinon l'éditeur les vire à l'enregistrement de la mission : (mise à jour des fichiers dictionnaire et map)
les fichiers sans extensions sont des lua lisibles avec notepad++

[L’extension « zip » a été désactivée et ne peut plus être affichée.]


Re: Editeur mission : 1er script : annonces copilote altitud

Publié : dim. juin 19, 2016 4:03 am
par hellfrog35
bon j'ai fait qqs progrès,
integration de mist, et épuration du code heloscript de la mission nevada helicopter war, pour compiler les fonctions du copilote : alertes altitudes, + missiles incoming, + sink rate. j'ai viré tout le reste.
ça a l'air de marcher,
à part peut etre les alertes incoming, j'ai un doute... si qqn veut jeter un oeil... pour confirmer si ça marche ou pas...

ça progresse, mais c'est compliqué... y a pas bcp de guide how to ... faut étudier les scripts et les missions des autres pour piger peu à peu...

si vous avez un message de l'éditeur avec une messagebox blanche qui apparait, c'est qu'il y aun bug dans le code : tapper ENTER pour fermer la boite avec ok, et de suite ESC pour quitter la mission.
peut se produire en cas de kill du joueur par ex, faut que je voie comment gérer ça...

petite mission de chasse tanks et sams en remontant la rivière au nord de batumi sur caucasus. restez bas... rearm et refuel obligatoires, donc ça fait un bon training. pensez à larguer des leurres en traversant la rivière tant que tous les sams ne sont pas éliminés... la difficulté vient juste du relief... c'est pas difficile, mais c'est pas hyper facile non plus. rester TRES bas peut être une bonne idée au début. si vous volez avec un vario nul, les messages altitude ne devraient pas être une gêne. et si vous n'y arrivez pas encore bien, ils devraient vous aider à vous perfectionner.

tte suggestion retour de bug etc est la bienvenue.

je ne suis pas sûr de ne pas avoir mis des unités de mods (non vanilla) ... à voir si ça pose problème...

étape suivante : voire si on peut utiliser radiomenu pour activer / désactiver les messages du copilot
et enfin, qd les bugs seront corrigés par prochaine release update de DCS, intégrer les cargos... qui buguent pour le moment... j'aimerais bien sonoriser avec guidage la mission forestry operation pour le huey sur nevada... faire partir les camions quand un certains nb de cargos de bois ont été transportées etc... bref ajouter de l'animation et de l'immersion...

dispo en download ici http://forums.eagle.ru/showpost.php?p=2 ... stcount=17