Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 15 sur 21 PremièrePremière ... 5789101112131415161718192021 DernièreDernière
Affichage des résultats 421 à 450 sur 621
  1. #421
    dans l'activation de la trigger:
    null = execVM "mon.script.sqf"

    et dans le script
    Code:
    sleep 2;
    
    if (isServer) then 
    {
    code côté serveur, par exemple le spawn d'unité.
    }
    else
    {
    code côté client, par exemple un hint
    
    };
    
    sleep 3;
    
    etc
    Si tu as besoin de précision dans le délai, utilise uiSleep à la place de sleep, ça utilise le temps système plutôt que le temps script (suffit que le serveur galère un peu et sleep 1 ne sera pas forcément une pause d'une seconde à cause du lag)

  2. #422
    Précision, au cas où : la commande 'sleep' ne fonctionne pas si tu l'utilises dans un script activé avec "call" (un tel script ne peut pas être suspendu).
    Il faut appeler ton script avec "execVM" ou "spawn".
    Signature Merde !

  3. #423
    Non, c'est plus subtile que ça

    Tu as le "scheduled environment" et le "non scheduled environment".

    non scheduled environment
    C'est du code non "prévu" par le moteur et qui est exécuté.
    Par exemple un event handler "killed", c'est du code qui se lance suite à la mort d'un object.

    Le moment où un object peut mourir n'est pas prévisible par le moteur et quand ça arrive il stoppe le scheduled environment, exécute le code le plus vite possible et retourne au scheduled environment.

    De par sa nature instantanée tu ne peux pas utiliser de pause (sleep, uiSleep) et si on utilise une boucle genre while {true} do dans cette espace elle s'arrêtera d'elle même au bout de 10 000 exécutions, pour permettre au moteur de retourner dans le scheduled environment.


    scheduled environment
    Pour parler de façon moins abstraite c'est un cahier qui contient tout le code qu'on souhaite exécuter.

    Les pages de ce cahier sont lues toutes les frames et une fois une page complétement lue, elle est détruite.

    Les commandes spawn et execVM ouvrent se qu'on appelle un "scope" soit pour continuer dans la métaphore, une nouvelle page.

    Dans cette espace je peux tout à fait faire la chose suivante:

    [] execVM "monscript.sqf" (ouvre une nouvelle page)

    monscript.sqf
    sleep 1;
    blabla code
    blabla code
    [] call mafunction
    blabla code
    blabla code

    et dans un autre fichier avoir mafunction = { sleep 1; blabla; sleep 2}

    On n'aura pas d'erreur parce qu'on est dans le scheduled environment, les pauses sont autorisées.

    L'intérêt d'utiliser call ici ?
    spawn et execVM ouvrent une nouvelle page, call non.
    Du coup le code plus haut me permet d'avoir qu'une page ouverte avec execVM et d'importer du contenu avec call.

    Moins il y a de pages, mieux c'est évidement

    non scheduled environment (pas de pause ici puisqu'on n'ouvre pas de nouvelle page)
    player addEventHandler ["Killed",{_this call EHkilled}];

    scheduled environment (pause ok)
    player addEventHandler ["Killed",{_this spawn EHkilled}];
    Dernière modification par Hardballer ; 08/11/2014 à 19h44.

  4. #424
    Bon, je suis en train de devenir dingue pour essayer de faire fonctionner un mortier IA joué par l'AAF. Pourquoi ça ne fonctionne pas ?



    J'ai évidemment bien nommé mon mortier.


  5. #425
    @izu : tu veux qu'il soit aléatoire? commandé par Gaia? ou sur une zone (tir de barrage)?

  6. #426
    Non, le tir de barrage j'y arrive. Normalement la ligne de commande que j'y ai mis fait que le mortier vise les joueurs (BLUFOR) à chaque fois qu'ils sont repérés par l'AAF. Hors du contrôle de Gaïa.


  7. #427
    Sinon c'est une fonction que UPSMON gère très bien... (du moins sur Arma II)
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  8. #428
    Yep Yep ,

    Je viens de retrouver sa dans mes favoris, je sais plus si c'est ici ou autre part que j'ai trouvé sa ...

    Je le recolle quand même ici ...

    C'est pile poile ce qu'il me fallait pour la mission de samedi.

    https://www.youtube.com/watch?v=77Bc1JSI3eA

    http://www.armaholic.com/page.php?id=26159

    C'est en scripte et configurable a souhait.
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  9. #429
    Quelqu'un peut montrer le trigger à utiliser pour faire fonctionner le jammer de comms radios ?

    Concernant le mortier, j'ai essayé de suivre ça, sans succès : http://kriegsimulation.blogspot.fr/2...emy-ai-to.html


  10. #430
    Pour activer le brouilleur radio .

    v setVariable ["BG3_RadioInterference",true,true];
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  11. #431
    Ben oui mais quand je mets ça dans l'init du camion vide + engineOn (avec le reste du script du brouilleur dans les fichiers de la mission), ça ne marche pas. Faut pas utiliser un trigger ?


  12. #432
    Utilise un trigger et colle sa dans activation ....

    v étant le nom du véhicule brouilleur.
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  13. #433
    Ah merde, d'accord. J'avais rien fait comme il fallait. Merci.

    Edit : pour le mortier, toujours personne qui ait réussi à en faire fonctionner un ? :3


  14. #434
    pas comme tu le souhaites izu...

  15. #435
    Coucou, gros noob de l'éditeur de base arma 3, je cherche des liens utiles pour les commandes dans cet éditeur. Je cherche à avoir un LZ ou un hélico pourrait venir se faire refuel et tous cela avec un délai entre le temps ou il se pose et le temps ou ça se rempli.

    Anyone ?

  16. #436

  17. #437
    Je ne sait pas si c'est ce que tu veux mais voila comment je fait pour refuel un véhicule .

    un script lancer par un addaction sur un object (actionsrefuel = _joueur addAction [("<t color=""#FE002A"">" + ("Faire le plein de fuel") +"</t>"),"nomduscript.sqf"];


    Code:
    _nb_secondes = 100;//temps en secondes refuel
    _temps_ecoule = 0;
    _annuleRearm = 0;
    
    
    if (count (crew ah64d) > 0) exitWith {hintSilent parseText format["<t size='2.2' color='#FE002A'>Sortez de l'UH-80 pour faire le plein.</t>"];};// si le joueur est a la place de pilote, il n'est pas possible de refuel.
    
    if (ah64d distance ttd > 20) exitWith {hintSilent parseText format["<t size='2.2' color='#FE002A'>Impossible de faire le plein, rapprochez l'UH-80 de la station.</t>"];};// si le vehicule est a plus de 20 m d'un object (H invisible), il n'est pas possible de refuel.
    
    if (lulu ==1) exitWith {hintSilent parseText format["<t size='2.2' color='#FE002A'>Je n'ai que deux mains !!!</t>"];};// si déja en cours de refuel, il n'est pas possible de refuel.
    
    lulu = 1;
    publicVariable "lulu";
    while  {_temps_ecoule <= _nb_secondes } do {
    	hintSilent parseText format["<t size='2.2' color='#FE002A'>Plein en cour %1/%2</t>",_temps_ecoule,_nb_secondes];// message temps restent avent la fin du refuel
    	_temps_ecoule = _temps_ecoule + 7;
    	sleep 7;
    };
    if (_annuleRearm == 0) then {
    	[-1, {ah64d setFuel 1},""] call CBA_fnc_globalExecute;//commande de refuel
    	sleep 1;
    	hintSilent parseText format["<t size='2.2' color='#00EA08'>UH-80 plein</t>"];// message refuel effectué.
    	lulu = 0;
        publicVariable "lulu";
    };
    A ajouter dans init.sqf

    Code:
    lulu = 0;
    Il faut adapter les hint en fonction du véhicule a refuel.

    Et changer ah64d par le nom du véhicule a refuel
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  18. #438
    Coucou,

    il faut que je mette cela dans la case "condition" après avoir créer un trigger ?

  19. #439
    Non, tu dois mètre sa dans un .sqf que tu mets dans le dossier source de ta mission.

    En plus de ce .sqf, crée aussi un init.sqf ( si tu ne l'a pas déjà ) dans le quel tu rajoute la variable lulu = 0;

    Pour le addaction tu le colle dans l'initialisation de l’objet que tu veux.
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  20. #440
    J'avais écrit un petit message mais je l'ai effacé avec un retour en arrière . Du coup je recommence, c'est une autre solution, pas forcément aussi robuste et propre, mais possible avec l'éditeur d'Arma 3.

    Bon, je suppose que tu sais te servir d'un waypoint et d'un trigger (sinon va falloir que j'explique plus en détail).
    Donc tu mets un waypoint d'atterrissage sur l'hélipad de ton choix (l'hélipad peut-être invisible), tu mets un camion de ravitaillement à côté de l'hélipad. Tu poses un trigger qui fait plus ou moins la zone de l'hélipad et qui demande à ce que l'hélicoptère soit présent (par exemple en vérifiant la présence de l'objet synchronisé, qui sera l'hélicoptère dans ce cas) et tu mets un timer (en bas à gauche de la fenêtre du trigger, l'unité est la seconde) qui va durer suffisamment longtemps pour le ravitaillement. Attention, il me semble qu'on ne peut pas limiter les triggers en altitude, tu devras donc prendre en compte le temps d'atterrissage. Tu synchronises ce trigger avec un waypoint de déplacement et ton hélicoptère devrait décoller vers ce waypoint une fois le temps écoulé pour le trigger (quand il sera vérifié donc). Et après il reste plus qu'à tester et râler que ça fonctionne pas .

  21. #441
    Si je puis ajouté mon grain de sel par rapport à ça :
    if (isServer) then
    {
    code côté serveur, par exemple le spawn d'unité.
    }
    else
    {
    code côté client, par exemple un hint

    };
    Dans arma :

    if () then {}
    is faster than
    if () exitWith {}
    is faster than
    if () then {} else {}
    or
    if () then [{},{}]
    Donc theoriquement un

    if (isServer) then { code côté serveur, par exemple le spawn d'unité.};
    if (!isServer) then { code côté client, par exemple un hint};

    est plus rapide que de passer par du if else standart.

    Je recommande d'ailleurs de surveiller relativement souvent la page d'optimisaton du forum de Bohemia.

    https://community.bistudio.com/wiki/Code_Optimisation

    Voila voila .

  22. #442
    J'ai du mal à voir l'intérêt de gagner un millième de seconde dans un script qui commence par une pause et qui est exécuté qu'une fois .

    Dans ce cas de figure précis c'est plus une question de préférence en matière de syntaxe que d'optimisation.

    Il y a de très bon conseils sur ce lien mais la partie sur if then plus rapide que blabla c'est de la branlette, après si ça te fais plaisir pourquoi pas mais c'est pas ça qui va optimiser ou non ton code.

  23. #443
    Coin.

    Je suis certain qu'il y a possibilité de d'endommager ou de casser une partie précise d'un véhicule dans Arma 3, j'ai déjà utilisé la fonction mais impossible de remettre la main dessus.

    J'aimerai endommager la roue arrière droit d'une voiture avec un déclencheur. Une idée ?
    On ne rit vraiment de bon cœur que dans les cimetières.

  24. #444
    tu devrais trouver sa par ici
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  25. #445
    Citation Envoyé par ammoniak007 Voir le message
    tu devrais trouver sa par ici
    Et moi qui me prenais la tête avec setdammage, merci Ammo !

    (Ah ouais les parties des véhicules sont en Tchèque, je savais que j'aurais dû le prendre en deuxième langue !)
    On ne rit vraiment de bon cœur que dans les cimetières.

  26. #446
    De mémoire j'utilisais ça :

    car1 setHit ["wheel_1_1_steering", 1];

    wheel_1_1_steering = Left front tire
    wheel_1_2_steering = Left rear tire
    wheel_1_3_steering = Left middle tire (trucks)
    wheel_2_1_steering = Right front tire
    wheel_2_2_steering = Right rear tire
    wheel_2_3_steering = Right middle tire (trucks)

    Je l'avais utilisé sur une mission qui n'a pas aboutit mais qui a quand même finit sur le serveur pour test, et ça avait fonctionné.

  27. #447
    Et ça marche aussi très bien, merci !
    On ne rit vraiment de bon cœur que dans les cimetières.

  28. #448
    Bonjour, voila mon problème.
    Je souhaite faire des loadout custom pour des missions MP. Donc pour sa je place dans l'init du player le loadout voulut, mais voila qu'apparait un bug.
    Tout les tant de temps, l'init du player se reload.
    Je voulais savoir si il est possible de corriger se bug, si ce n'est pas le cas, si il est possible de créer un initPlayerLocal avec plusieurs variable pour les différents loadout (SL, Fusilier, AT, MG, etc...)
    Tuto hélico / Tuto MCC / World Of War:
    https://docs.google.com/spreadsheets...gid=1848735196

  29. #449
    Hardballer a fait du beau travail pour sa ...

    rentre ces ligne dans ton init.sqf

    Code:
    ///////////////////////////////////////
    //	JIP Stop
    //////////////////////////////////////
    if !(isDedicated) then 
    {
    	waitUntil {!isNull player};
    	// Parfois initPlayerLocal merde donc pour éviter les erreurs -->
    	if (isNil "playerIsJIP") then {playerIsJIP = true};
    	if (isNil "playerUnit") then {playerUnit = player};
    };
    
    call compile preprocessFileLineNumbers "loadout.sqf";
    if !(isDedicated) then // Uniquement côté joueur
    {
    	// playerUnit est définie dans initPlayerLocal.sqf
    	if !(isNil {playerUnit getVariable "loadout"}) then // La variable loadout doit être placer dans l'éditeur [init de l'unité] => this setVariable ["loadout", "aaf_sl"];
    	{
    		if !(playerIsJIP) then 
    		{
    			[playerUnit] call hard_setLoadout;
    			playerUnit setVariable ["loadout_done", true, true]; // loadout_done permet de vérifier si le loadout a été fait afin d'éviter les doublons en cas de déco / reco.
    		}
    		else // Equipement en cas de JIP
    		{
    			if (isNil {playerUnit getVariable "loadout_done"}) then 
    			{
    				[playerUnit] call hard_setLoadout;
    				playerUnit setVariable ["loadout_done", true, true];
    			};
    		};
    	};
    	playerUnit setBehaviour "SAFE";
    };
    crée deux .sqf un loadout.sqf
    et un initPlayerLocal.sqf

    loadout.sqf:

    Code:
    hard_setLoadout = 
    {
    	_unit = _this select 0;
    	_loadout = _unit getVariable "loadout";
    	switch _loadout do 
    	{
    		
    		case "otan_cs": {[_unit] call loadoutOTAN_CS};
    		case "otan_mc": {[_unit] call loadoutOTAN_MC};
    		
    	};
    };
    
    loadoutOTAN_CS = 
    {
    _unit = _this select 0;
    
    removeAllWeapons _unit;
    removeAllItems _unit;
    removeAllAssignedItems _unit;
    removeUniform _unit;
    removeVest _unit;
    removeBackpack _unit;
    removeHeadgear _unit;
    removeGoggles _unit;
    _unit forceAddUniform "U_B_CombatUniform_mcam_vest";
    for "_i" from 1 to 2 do {_unit addItemToUniform "11Rnd_45ACP_Mag";};
    for "_i" from 1 to 2 do {_unit addItemToUniform "SmokeShell";};
    _unit addItemToUniform "Chemlight_green";
    _unit addVest "V_PlateCarrierGL_rgr";
    for "_i" from 1 to 1 do {_unit addItemToVest "SmokeShellRed";};
    for "_i" from 1 to 1 do {_unit addItemToVest "SmokeShellGreen";};
    for "_i" from 1 to 8 do {_unit addItemToVest "30Rnd_65x39_caseless_mag";};
    _unit addBackpack "tf_anarc210";
    _unit addHeadgear "H_Beret_Colonel";
    _unit addWeapon "arifle_MX_F";
    _unit addPrimaryWeaponItem "optic_Nightstalker";
    _unit addWeapon "hgun_Pistol_heavy_01_F";
    _unit addWeapon "Rangefinder";
    _unit linkItem "ItemMap";
    _unit linkItem "ItemCompass";
    _unit linkItem "ItemWatch";
    _unit linkItem "ItemRadio";
    _unit linkItem "NVGoggles";
    _unit linkItem "ItemGPS";
    _unit addItemToUniform "AGM_EarBuds";
    };
    rajoute les loadout que tu veux

    initPlayerLocal.sqf;

    Code:
    /*-----------------------------------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    ***	Author: Hardballer
    
    ***	Description: 
    	client init
    
    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------------------------------------------------------------*/
    
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	1) PARAM
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    playerUnit = _this select 0;	// unité du joueur (sélectionnée dans l'écran des slots)
    playerIsJIP = _this select 1;	// boolean (true ou false). True = le joueur se connecte en cours de partie.
    enableSaving [false, false]; // supprime la sauvegarde
    
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	2) CALL / COMPILE
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    call compile preprocessFileLineNumbers "loadout.sqf";
    
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	3) LOADOUT
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if !(isNil {playerUnit getVariable "loadout"}) then // La variable loadout doit être placer dans l'éditeur [init de l'unité] => this setVariable ["loadout", "aaf_sl"];
    {
    	if (isNil {playerUnit getVariable "loadout_done"}) then // loadout_done inexistant, on lance la function loadout
    	{
    		[playerUnit] call hard_setLoadout;
    		playerUnit setVariable ["loadout_done", true, true]; // loadout_done permet de vérifier si le loadout a été fait afin d'éviter les doublons en cas de déco / reco.
    	};
    };
    
    playerUnit action ["WeaponOnBack", playerUnit]; // pour que le joueur est l'arme baissée
    Il ne te reste plus que a foutre cette commande dans l'init des tes uniter pour les relier au loadout
    this setVariable ["loadout"", ""otan_cmd"];
    Si j'avance suivez moi !! Si je recule tuez moi !! Si je meurs vengez moi !!

  30. #450
    En fait il a fait une nouvelle version simplifiée (pas besoin de rajouter des lignes dans l'init.sqf) :

    initPlayerLocal.sqf :
    Code:
    /*-----------------------------------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    ***	Author: Hardballer
    
    ***	Description: 
    	client init
    
    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------------------------------------------------------------*/
    
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	1) PARAM
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    playerUnit = _this select 0;	// unité du joueur (sélectionnée dans l'écran des slots)
    playerIsJIP = _this select 1;	// boolean (true ou false). True = le joueur se connecte en cours de partie.
    enableSaving [false, false]; // supprime la sauvegarde
    
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	2) CALL / COMPILE
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    call compile preprocessFileLineNumbers "loadout.sqf";
    
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	3) LOADOUT
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if !(isNil {playerUnit getVariable "loadout"}) then // La variable loadout doit être placer dans l'éditeur [init de l'unité] => this setVariable ["loadout", "aaf_sl"];
    {
    	if (isNil {playerUnit getVariable "loadout_done"}) then // loadout_done inexistant, on lance la function loadout
    	{
    		[playerUnit] call hard_setLoadout;
    		playerUnit setVariable ["loadout_done", true, true]; // loadout_done permet de vérifier si le loadout a été fait afin d'éviter les doublons en cas de déco / reco.
    	};
    };
    
    playerUnit action ["WeaponOnBack", playerUnit]; // pour que le joueur est l'arme baissée
    Loadout.sqf :
    Code:
    hard_setLoadout = 
    {
    	_unit = _this select 0;
    	_loadout = _unit getVariable "loadout";
    	switch _loadout do 
    	{
    		case "aaf_officer": {[_unit] call loadoutAAF_OFFICER};
    		case "csat_champion": {[_unit] call loadoutCSAT_CHAMPION};
    	};
    };
    
    loadoutAAF_OFFICER = // Officier AAF
    {
    	_unit = _this select 0;
    	
    	removeAllWeapons _unit;
    	removeAllItems _unit;
    	removeAllAssignedItems _unit;
    	removeUniform _unit;
    	removeVest _unit;
    	removeBackpack _unit;
    	removeHeadgear _unit;
    	removeGoggles _unit;
    	_unit forceAddUniform "U_I_OfficerUniform";
    	for "_i" from 1 to 3 do {_unit addItemToUniform "30Rnd_9x21_Mag";};
    	_unit addVest "V_BandollierB_oli";
    	for "_i" from 1 to 3 do {_unit addItemToVest "9Rnd_45ACP_Mag";};
    	for "_i" from 1 to 2 do {_unit addItemToVest "30Rnd_9x21_Mag";};
    	_unit addItemToVest "SmokeShell";
    	_unit addItemToVest "Chemlight_green";
    	_unit addHeadgear "H_Beret_blk";
    	_unit addGoggles "G_Tactical_Clear";
    	_unit addWeapon "SMG_02_F";
    	_unit addPrimaryWeaponItem "optic_Holosight";
    	_unit addWeapon "hgun_ACPC2_F";
    	_unit addWeapon "Binocular";
    	_unit linkItem "ItemMap";
    	_unit linkItem "ItemCompass";
    	_unit linkItem "ItemWatch";
    	_unit linkItem "ItemRadio";
    };
    
    loadoutCSAT_CHAMPION = // Big boss du csat
    {
    	_unit = _this select 0;
    	
    	removeAllWeapons _unit;
    	removeAllItems _unit;
    	removeAllAssignedItems _unit;
    	removeUniform _unit;
    	removeVest _unit;
    	removeBackpack _unit;
    	removeHeadgear _unit;
    	removeGoggles _unit;
    	_unit forceAddUniform "U_O_CombatUniform_oucamo";
    	for "_i" from 1 to 3 do {_unit addItemToUniform "30Rnd_65x39_caseless_green";};
    	_unit addVest "V_TacVest_camo";
    	for "_i" from 1 to 5 do {_unit addItemToVest "HandGrenade";};
    	for "_i" from 1 to 2 do {_unit addItemToVest "30Rnd_65x39_caseless_green_mag_Tracer";};
    	for "_i" from 1 to 2 do {_unit addItemToVest "30Rnd_65x39_caseless_green";};
    	_unit addItemToVest "SmokeShell";
    	_unit addBackpack "B_AssaultPack_dgtl";
    	_unit addItemToBackpack "RPG32_F";
    	_unit addItemToBackpack "RPG32_HE_F";
    	_unit addHeadgear "H_Hat_blue";
    	_unit addGoggles "G_Bandanna_aviator";
    	_unit addWeapon "arifle_Katiba_F";
    	_unit addPrimaryWeaponItem "muzzle_snds_H";
    	_unit addPrimaryWeaponItem "acc_pointer_IR";
    	_unit addPrimaryWeaponItem "optic_LRPS";
    	_unit addWeapon "launch_RPG32_F";
    	_unit addWeapon "Binocular";
    	_unit linkItem "ItemMap";
    	_unit linkItem "ItemCompass";
    	_unit linkItem "ItemWatch";
    	_unit linkItem "ItemRadio";
    	_unit linkItem "ItemGPS";
    	_unit linkItem "NVGoggles_OPFOR";
    };
    Dans l'init de ton unité :
    Code:
    this setVariable ["loadout", "aaf_officer"];
    Ainsi tu peux faire tes loadout sur le virtual arsenal (faut juste remplacer this par _unit) et aucun soucis de JIP.
    Ne fonctionne pas sur une unité non joueur.
    Dernière modification par Sparfell ; 12/12/2014 à 14h36.
    Communauté ArmA Grèce de Canards et son Discord, soyez les bienvenus !

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •