Ca sent bon la trahison .....
- =[TTK]= Freshmeat
- Retraité
- Messages : 474
- Enregistré le : lun. 1 mars 2010, 13:49
Ca sent bon la trahison .....
J'aurais une petite question facile pour de vieux routards comme vous :
- Comment passer une unité alliée en ennemie (au moins en matière de comportement) ?
(note : j'ai essayé de faire un joinAsSilent du groupe avec un groupe ennemi...mais sans résultat)
Question subsidiaire :
- Comment changer le modèle du perso en cours de mission (civil -> soldat) ?
Mici Msieur qui me donnera la réponse.
FreshMeat.
- Comment passer une unité alliée en ennemie (au moins en matière de comportement) ?
(note : j'ai essayé de faire un joinAsSilent du groupe avec un groupe ennemi...mais sans résultat)
Question subsidiaire :
- Comment changer le modèle du perso en cours de mission (civil -> soldat) ?
Mici Msieur qui me donnera la réponse.
FreshMeat.
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

[Jean Deluca]

- Camille Caz
- Grand Gourou
- Âge : 83
- Messages : 1814
- Enregistré le : lun. 25 janv. 2010, 22:45
- Humeur : paléolithique mais presque
- Localisation : près de La Rochelle
Re: Ca sent bon la trahison .....
Va voir sur le wiki de bis tout ce qui se dit sur "join"
jean = unité blufor
yvan = unité opfor
[jean] join yvan
jean est blufor et devient opfor en rejoignant yvan
Mais ya beaucoup de choses interressantes sur le wiki
Dernière édition par == Camille Caz le Jeu 20 Aoû - 21:10, édité 1 fois
jean = unité blufor
yvan = unité opfor
[jean] join yvan
jean est blufor et devient opfor en rejoignant yvan
Mais ya beaucoup de choses interressantes sur le wiki
Dernière édition par == Camille Caz le Jeu 20 Aoû - 21:10, édité 1 fois
On n'a pas toujours ce qu'on mérite mais on ne mérite pas forcément ce qu'on a.
- =[TTK]= Ha dOc
- Retraité
- Messages : 330
- Enregistré le : ven. 12 févr. 2010, 14:25
Re: Ca sent bon la trahison .....
Changer le modèle, pas évident.
A ma connaissance une solution est d'avoir une unités du modèle de destination présente ailleurs sur la carte, d'intervertir la position de tes deux modèles, et en même temps de transférer le joueur d'une unité vers l'autre. Un peu comme un respawn.
Après, en pratique c'est surement plus compliqué.
Enfin un exemple existe dans la mission "blood sweat and tears" d'arma 1
A ma connaissance une solution est d'avoir une unités du modèle de destination présente ailleurs sur la carte, d'intervertir la position de tes deux modèles, et en même temps de transférer le joueur d'une unité vers l'autre. Un peu comme un respawn.
Après, en pratique c'est surement plus compliqué.
Enfin un exemple existe dans la mission "blood sweat and tears" d'arma 1

- =[TTK]= Freshmeat
- Retraité
- Messages : 474
- Enregistré le : lun. 1 mars 2010, 13:49
Re: Ca sent bon la trahison .....
C'est vers cette solution que je m'oriente, mais je ne suis pas certain du résultat, surtout si je veux que la mission reste jouable en multi.
Pour ma première question, le joinSilent fonctionne bien pour changer le comportement, mais il y a encore des ajustements à faire. Je vous donnerai la solution que je trouverai la meilleure.
Pour ma première question, le joinSilent fonctionne bien pour changer le comportement, mais il y a encore des ajustements à faire. Je vous donnerai la solution que je trouverai la meilleure.
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

[Jean Deluca]

- =[TTK]= Grosminet
- Grand Tigrou
- Âge : 32
- Messages : 429
- Enregistré le : ven. 19 févr. 2010, 19:35
- Humeur : Content, comptant toujours les morts
- Localisation : Près d'un airbus
- =[TTK]= Clem
- Retraité
- Messages : 431
- Enregistré le : ven. 12 févr. 2010, 15:47
Re: Ca sent bon la trahison .....
pour l'uniforme
la commande selectPlayer qui permet de switcher le joueur sur une autre unité
http://community.bistudio.com/wiki/selectPlayer
Pour que le joueur puisse rentre dans une unité faut qu'elle soit en "jouable".
Le soucis c'est qu'en multi les unités jouables sont accessibles dès le début.
Tu peux encore contourner ce problème avec la commande addSwitchableUnit.
http://community.bistudio.com/wiki/addSwitchableUnit
pas besoin d'avoir l'unité "jouable" pour faire un selectPlayer dessus, tu peux le faire pour n'importe quel type d'unité, en SP comme en MP.
Le souci c'est qu'en MP, si tu switch sur une unité non locale, ca n'est pas toi qui la controle et tu te retrouve donc dans le corps d'un unité controllée par quelqu'un d'autre ou par le serveur
tu peux aussi :
1 faire spawner une unite sur ta position avec setpos etc....
2 te switcher dessus
3 effacer ton acienne unite deleteunit etc.. ou destroy et efface les corps >>> voir wiki ado
la commande selectPlayer qui permet de switcher le joueur sur une autre unité
http://community.bistudio.com/wiki/selectPlayer
Pour que le joueur puisse rentre dans une unité faut qu'elle soit en "jouable".
Le soucis c'est qu'en multi les unités jouables sont accessibles dès le début.
Tu peux encore contourner ce problème avec la commande addSwitchableUnit.
http://community.bistudio.com/wiki/addSwitchableUnit
pas besoin d'avoir l'unité "jouable" pour faire un selectPlayer dessus, tu peux le faire pour n'importe quel type d'unité, en SP comme en MP.
Le souci c'est qu'en MP, si tu switch sur une unité non locale, ca n'est pas toi qui la controle et tu te retrouve donc dans le corps d'un unité controllée par quelqu'un d'autre ou par le serveur
tu peux aussi :
1 faire spawner une unite sur ta position avec setpos etc....
2 te switcher dessus
3 effacer ton acienne unite deleteunit etc.. ou destroy et efface les corps >>> voir wiki ado

- =[TTK]= Freshmeat
- Retraité
- Messages : 474
- Enregistré le : lun. 1 mars 2010, 13:49
Re: Ca sent bon la trahison .....
Ben pour le switchage d'uniforme des unités, j'ai laissé tombé pour le moment et opté pour le 'soldat sans arme'.
L'avantage en multi c'est que comme il dispose de moins de place d'équipement, chaque rôle prend une réelle importance : si tu prend le m136, tu n'auras qu'un pistolet....ET surtout il faudra être bien solidaire, parce que si celui qui porte les saccoches d'explosifs se fait dézinguer, faudra abandonner de l'équipement pour poursuivre....
Merci Clem pour ces infos tout de même, ce ne sera probablement pas perdu de toute façon, d'autant que même si ce n'est plus dans mes priorités du moment, si la mission que je fais plait assez, j'y regarderai de plus près
L'avantage en multi c'est que comme il dispose de moins de place d'équipement, chaque rôle prend une réelle importance : si tu prend le m136, tu n'auras qu'un pistolet....ET surtout il faudra être bien solidaire, parce que si celui qui porte les saccoches d'explosifs se fait dézinguer, faudra abandonner de l'équipement pour poursuivre....
Merci Clem pour ces infos tout de même, ce ne sera probablement pas perdu de toute façon, d'autant que même si ce n'est plus dans mes priorités du moment, si la mission que je fais plait assez, j'y regarderai de plus près
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

[Jean Deluca]

- =[TTK]= Clem
- Retraité
- Messages : 431
- Enregistré le : ven. 12 févr. 2010, 15:47
Re: Ca sent bon la trahison .....
c'est quoi que tu fait comme mision donne plus de precision a ce sujet ca me permetras de te donnais des infos plus utiles et moins vages
le truc pour changer l'uniforme c'est de scripter la meme chose que fait l'editeur quand ta une unite jouable blufor et que tu appuis sur T et que tu choisis une unite jouable opfor
a te lire j'ai l'impresion que tu fais un remake de stalingrad ,"un homme a le fusil un autre un chargeur,celui qui a le chargeur suit l'homme au fusil quand l'homme au fusil est tue,l'homme qui le suit prend le fusil et tire" je sens que ton truc ca etre une boucherie .
le truc pour changer l'uniforme c'est de scripter la meme chose que fait l'editeur quand ta une unite jouable blufor et que tu appuis sur T et que tu choisis une unite jouable opfor
a te lire j'ai l'impresion que tu fais un remake de stalingrad ,"un homme a le fusil un autre un chargeur,celui qui a le chargeur suit l'homme au fusil quand l'homme au fusil est tue,l'homme qui le suit prend le fusil et tire" je sens que ton truc ca etre une boucherie .

- =[TTK]= Freshmeat
- Retraité
- Messages : 474
- Enregistré le : lun. 1 mars 2010, 13:49
Re: Ca sent bon la trahison .....
C'est tout con : je voulais que les joueurs soient 'habillés' en civil pour jouer une partie infiltration, puis passent en 'militaires' pour la partie action.
Pas plus compliqué que ça.
Pas plus compliqué que ça.
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

[Jean Deluca]

- =[TTK]= Clem
- Retraité
- Messages : 431
- Enregistré le : ven. 12 févr. 2010, 15:47
Re: Ca sent bon la trahison .....
Code : Tout sélectionner
/*
======================================================================================
Version: 1.02 @ 08.01.2010
Parameters: unit addAction ["Change Uniform", "uniformchange.sqf", [newunit,side]];
_unit = unit which gets the action to change the uniform
_newunit = classname of the new unit
_side = side of the new unit
Example: this addAction ["Change uniform", "uniformchange.sqf", ["GUE_Soldier_1",guerr]];
Example 2: player addAction ["Change uniform", "uniformchange.sqf", ["FR_GL",west,true]];
The new unit has the same weapons, magazines and the same name as the old unit
=======================================================================================
*/
// Variables
_unit = _this select 1; // old unit
_action = _this select 2; // action id
_sideold = side _unit; // side of old unit
_type = typeOf _unit; // classname of old unit
_posunit = getPos _unit; // position of the old unit
_VarName = (vehicleVarName _unit); // Editorname of the old unit
_array = _this select 3; // the new soldier array => ["FR_GL",west]
_newunit = _array select 0; // classname of the new unit
_side = _array select 1; // side of the new unit
_exit = _array select 2; // if set to true the script will exit
_weapons = ((weapons _unit) - (items _unit)); // weapons of the old unit
_primweap = primaryWeapon _unit; // primaryWeapon of the old unit
_magazines = magazines _unit; // magazines of the old unit
_unit setPos [0,0,0]; // teleport the old unit to [0,0,0]
titleText ["Changing uniform ...", "BLACK FADED"]; // Black Screen
_unit removeAction _action;
// Create the new unit
_uniform = group _unit createUnit [_newunit, _posunit, [], 0, "NONE"];
setPlayable _uniform;
sleep 0.5;
If (!isnil ("_uniform")) then {selectPlayer _uniform};
// New Unit gets the sames weapons as the old unit
removeAllWeapons _uniform;
{_uniform addMagazine _x} forEach _magazines;
{_uniform addWeapon _x} forEach _weapons;
// Select the primaryWeapon
_uniform selectWeapon _primweap;
// Fix for weapons with grenade launcher
_muzzles = getArray(configFile>>"cfgWeapons" >> _primweap >> "muzzles");
_uniform selectWeapon (_muzzles select 0);
sleep 0.2;
deleteVehicle _unit; // delete old unit
sleep 1;
titleText [" ", "BLACK IN"]; // delete Black Screen
_uniform SetVehicleVarName _VarName;
_uniform call Compile Format ["%1=_This ; PublicVariable ""%1""",_VarName];
If (!isNil ("_exit") && _exit) exitWith{};
_uniform addAction ["Change uniform", "uniformchange.sqf", [_type,_side,true], 0, false, false, ""];
//hint format ["Unit: %1\nType: %2\nPosUnit: %3\nArray: %4\nNewUnit: %5\nSide: %6\nVarNameOld: %7\nVarNameNew: %8",_unit,_type,_posunit,_array,_newunit,_side,_VarName,(vehicleVarName _uniform)];

- =[TTK]= Freshmeat
- Retraité
- Messages : 474
- Enregistré le : lun. 1 mars 2010, 13:49
Re: Ca sent bon la trahison .....
@Clem : Je regarde comment le faire tourner et je te dis ce qu'il en est.
Simple à utilliser :
dans l'init d'un objet tu mets :
Quand un joueur approche de l'objet, il aura le menu 'change uniform' ce qui lui permettra de se changer.
Attention à sauvegarder la mission avant de prévisualser, sinon arma ne trouvera pas le script.
Simple à utilliser :
dans l'init d'un objet tu mets :
Code : Tout sélectionner
this addAction ["Change uniform", "uniformchange.sqf", ["GUE_Soldier_1",guerr]];
Attention à sauvegarder la mission avant de prévisualser, sinon arma ne trouvera pas le script.
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

[Jean Deluca]
