CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum
Liste des sujets

[edit] nommer une cargaison

Pseudo supprimé
Pseudo supprimé 01 mars 2014 à 21:56:34

:hello:
Je voudrais faire un petit script de parachutage. Les détails :
un ou plusieurs hélicos nommés héli1, héli2...
chaque hélico à un point de passage avec sur activation : null = [Héli1] execVM "para.sqf";
l'array étant variable selon l'hélicoptère.
Le script :

_héli = _this select 0;
_array = [para1, para2,... para8 ];

{
_x addBackpack "B_Parachute"
_x action ["Eject", vehicle _x];
sleep 2
}
forEach _array;

Mais il faudrait que les noms "para1"..."para8" ne soit pas le nom de l'unité mais sa place dans l'appareil, pour que le script soit le même pour chaque hélico. M'voyer :hap:

En gros au lieu de "para1"..."para8" ce serait "le passager 1 de _héli"..."le passager 8 de _héli",

Si quelqu'un m'a comprit :merci:

Pseudo supprimé
Pseudo supprimé 01 mars 2014 à 22:00:48

Je précise :
dans le waypoint de héli1 => null = [héli1] execVM "para.sqf";
dans le waypoint de héli2 => null = [héli2] execVM "para.sqf";
dans le waypoint de hélix => null = [hélix] execVM "para.sqf";
...

shifudarkiron
shifudarkiron
Niveau 10
01 mars 2014 à 22:27:02

pourquoi ne ferais tu pas simplement une fonction ?

:d) tu aurais un code optimiser

:d) tu n'aura qu'a faire passer dans les waypoints des hélico juste un array d'unité.

:d) sinon tu peut utilisé les fonction pour connaitre les unité a bord de l'hélico en cargaison ...

Pseudo supprimé
Pseudo supprimé 01 mars 2014 à 22:33:24

Tu peux m'en dire plus ?

Pseudo supprimé
Pseudo supprimé 01 mars 2014 à 22:35:24

En fait la façon d'y parvenir n'est pas importante, je veux juste que les hélicos larguent l'équipage lorsqu'il passe un point. Donc si tu connais des fonctions qui le permettent, je suis preneur.

shifudarkiron
shifudarkiron
Niveau 10
02 mars 2014 à 10:54:29

juste une question des unité sont a bord au début de la mission ?

sinon tu fait
allunits
tu boucle dessus tu checke si il est moveInCargo
tu éjectes :)

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 12:17:35

Les unités sont placés avec moveincargo effectivement :oui:
Désolé mais je ne connais pas trop le système de script d'Arma, donc si tu peux expliquer plus en détails...
Pour allunits j'ai trouvé ça mais je ne sais pas comment l'utiliser :non:
https://community.bistudio.com/wiki/allUnits

Dans le script j'ai pas besoin de _x addBackpack "B_Parachute" en fait, je les met avant.

shifudarkiron
shifudarkiron
Niveau 10
02 mars 2014 à 12:24:03

j'ai fais une tuto :
http://blog.darkiron.fr/tutoscripting-sous-arma-3-partie-3-les-fonctions.html

si tu te souviens ...

allunit retour un array (tableau) des toutes les unité en jeux ..
au pire tu m'envoyez ta mission actuelle par mail que je comprenne bien ce que tu veux faire, afin d'avoir la meilleur solution pour ton script :)

mon mail contact[aerobase]darkiron.fr

shifudarkiron
shifudarkiron
Niveau 10
02 mars 2014 à 12:29:30

ps : la liste e toutes les partie :
http://blog.darkiron.fr/recherche/scripting

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 12:59:03

Ok, j'ai remplacé _Array par allUnits, le problème c'est vraiment TOUTES les unités sautent... Que ce soit la cargaison, les pilotes ou les membres de véhicules terrestres.
Un petit dessin :
J'ajouterais surement d'autres hélicoptères plus tard, c'est pour ça que je veux garder un script assez général.
Pour l'instant j'ai ça :
_heli = _this select 0;

{
_x action ["Eject", vehicle _x];
sleep 2;
}
forEach allUnits;

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 13:00:18

le petit dessin * : https://image.noelshack.com/fichiers/2014/09/1393761615-arma3-2014-03-02-12-50-11-54.png

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 13:19:58

Youhou j'ai réussi à faire un truc !! :fete:
dans le waypoint : nul = [NomDuChefDeGroupe]execVM "para.sqf"
le script :
_team = _this select 0;

{
_x action ["Eject", vehicle _x];
sleep 2;
}
forEach units group _team;

shifudarkiron
shifudarkiron
Niveau 10
02 mars 2014 à 14:11:20

ok, tu peux vérifier que l'unité et un membre d'équipage avec crew.

si tu veux rester généraliste, avec cette méthode utilise bien _team = group this; dans l'init du chef de group.

ensuite utilise cette méthode pour gérer tes groupes et leur waypoint (ce qui viendra apres) :
https://www.youtube.com/watch?v=4AKL_0Y9p1Y

ensuite si tu veux le spawn dans l'hélico tu peux faire -si ma mémoire est bonne- toujours dans l'init du chef de groupe

_team moveincargo [heliX];

du coup transforme ton script en fonction tu aura juste a faire un call dans la waypoint: this call 'para';
https://community.bistudio.com/wiki/execVM
car les execVM va recompiler a chaque appelle se qui n'est pas optimiser ... si tu suis mon exemple de zombie-momie tu devrai faire un jolie scripts optimisé qui fera exactement ce que tu voudras.

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 14:35:12

Dans l'init du chef de groupe j'ai mis ça : {_x addbackpack "B_Parachute"; _x moveincargo heli6;} forEach units group this
Je met pas _team = group this; parce qu'il y a plusieurs groupes, et il ne faut pas qu'ils sautent en même temps.
Pour gérer les waypoints merci mais ça j'arrive à le faire.
Je regarde pour faire une fonction, et :merci:

shifudarkiron
shifudarkiron
Niveau 10
02 mars 2014 à 14:43:08

tu n'a pas bien compris pour chaque team _team et ta variable qui comprend ta team
donc tu renome team en team1 pour la team 1 team2 pour la deux ...

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 20:04:55

Excuse moi j'ai toujours pas compris. Pour la team 1 ça ressemblerais à quoi ? Et pour la 2 ?

shifudarkiron
shifudarkiron
Niveau 10
02 mars 2014 à 20:24:56

https://image.noelshack.com/fichiers/2014/09/1393788209-2014-03-02-00003.jpg
https://image.noelshack.com/fichiers/2014/09/1393788209-2014-03-02-00001.jpg

tous simplement ...

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 21:00:21

Ok j'aurais pas compris sans ça :content:
Donc je l'ai fait, dans le script j'ai retiré "group" donc ça fait forEach units _team;
Ensuite la fonction :
dans l'init : fPara = compile preprocessFile "para.sqf"; mais après comment je l'execute dans le jeu ? Je veux dire par rapport à nul = [team2] execVM "para.sqf" ?

Pseudo supprimé
Pseudo supprimé 02 mars 2014 à 22:13:44

enfin avec call ça me met ce message : https://image.noelshack.com/fichiers/2014/09/1393794798-arma3-2014-03-02-22-12-03-61.png
je reposte le script :
_team = _this select 0;
{
_x action ["Eject", vehicle _x];
sleep 2;
}
forEach units _team;

shifudarkiron
shifudarkiron
Niveau 10
03 mars 2014 à 18:40:28

Apparament la fonction sleep ne fonctione pas ...

:d) en tous cas j'ai eu le même problème rien à faire ...

je te conseil de faire à la place une boucle si tu tien a temporiser :ok:

  1. timer

_time = fonction time (voir le wiki)
if (_time - Ftime <> 2)then{
goto #timer
}

Sous forums
  • Les modes Life
  • Configurations PC et ses problèmes
  • Teams et Serveurs
  • Teams et Serveurs MilSim
La vidéo du moment