Bienvenue !

TTK, la team type des teams top

en quelque sorte


Mission - Les flageolets

Là où ça bricole

Mission - Les flageolets

Messagede =[TTK]= Camille Caz » Jeu 3 Juin 2010, 19:07

L'ennemi a mis au point un gaz de combat à partir du flageolet. Le procédé reste pour l'instant secret mais nous savons où se déroule les opérations de transformation.
Il faudra détruire une haute cheminée qui assure le tirage des fours de traitement des flageolets.
Besogne accomplie, rendez vous dans un lieu sûr pour appeler les hélicos qui devront nous récupérer.

Note pour ceux que ça intéresse :
La procédure .sqs qui fait venir les hélicos là où est le chef après appel radio ET qui les fait repartir quand le chef est à bord de l'un d'eux.
Code: Tout sélectionner
#ici
~0.2
_distv=helico1 distance leader player
_dist=round _distv
?(_dist>100):helico1 move position leader player
?(_dist>49):hint format["distance %1",_dist]
?(_dist<100):helico1 land "get in"
?(leader player in helico1)or(leader player in helico2):helico1 land "NONE"


?(leader player in helico1)or(leader player in helico2):helico1 move position extract
?(leader player in helico1)or(leader player in helico2):goto "sortie"
goto "ici"

#sortie
exit


Ça marche si l'hélico chef est en vol.
Donc, après l'appel radio, le pilote monte dans son hélico, part vers un 1er et seul WP et le script fait le reste.

QUi veut m'écrire ça en sqf ?
C'est wiki le dit qui l'est.

Image
Avatar de l’utilisateur
=[TTK]= Camille Caz
Grand Gourou
Grand Gourou
 
Age: 71
Messages: 1585
Localisation: La Rochelle, centre du milieu
Humeur: paléolithique mais presque
Inscription: 25 Jan 2010

Cash: 296.30 Chaislongs

Publicité

Re: Mission - Les flageolets

Messagede =[TTK]= Frog » Jeu 3 Juin 2010, 19:35

Moi je veux bien mais seulement si tu dis s'il te plaît !

:lol!:
Image

Qué fadag, ce gary !!

citation: Yoda 2010 all right reserved.
Avatar de l’utilisateur
=[TTK]= Frog
TranKilou
TranKilou
 
Age: 38
Messages: 817
Localisation: Pas loin d'un asile
Humeur: Bonne, Sans gastro
Inscription: 27 Fév 2010

Cash: 176.80 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Memphis007 » Jeu 3 Juin 2010, 19:49

Tu pourrais essayer ceci :

Code: Tout sélectionner
While (leader player in helico1 or leader player in helico2) do {
     sleep 0.2;
     _distv = helico1 distance leader player;
      _dist = round _distv;

     If (_dist>100) then {helico1 move position leader player};
     If (_dist>49) then {hint format["distance %1",_dist]};
     If (_dist<100) then {helico1 land "get in"};
};

helico1 land "NONE";
helico1 move position extract;
Pour halloween, un vrai g33k met un masque de sous réseau.
Le g33k ne sort pas du métro, il libère de la ram.

Image

C.Caz : Combien de chaislongs à celui qui arrive le premier ?
Avatar de l’utilisateur
=[TTK]= Memphis007
Gripsou
Gripsou
 
Age: 31
Messages: 1368
Localisation: /dev/null
Humeur: Born to be wild
Inscription: 13 Jan 2010

Cash: 127.10 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Mao » Jeu 3 Juin 2010, 19:52

J'ai ceci,ca correspond pas a ce que tu recherches mais ca permet de faire venir un helico par menu deroulant ou appel radio (il faut changer une ligne je sais plus ou, faut que je retrouve mon tuto) et il t'emmène la ou tu veux
Code: Tout sélectionner
private ["_p","_gp","_posP","_nearest","_sortie","_nobjects"]; //Quelques variables locales

_p= _this select 0; // _p contient le joueur qui a activé le script
_gp= group _p; // _gp contient le groupe du joueur
_posP=position _p; // _posP contient la position du joueur

_p removeAction idx_action;//On retire l'action sur la roulette pour éviter de déclencher le script x fois de suite

sleep 1;//On calme un peu le jeu
[WEST,"HQ"] sideChat "HQ : Reçu pour votre demande d'évacuation, nous vous envoyons Delta 4 dès que possible. Terminé";
sleep 15;


_pos=getMarkerPos "mk_heli"; //Récupération de la position du marker pour savoir où créer l"helico

/*On créé un marqueur sur la map à l'emplacement du joueur. Juste pour faire beau.
* et montrer au joueur que l'on a bien pris en compte son clique
*/
_marker = createMarker ["EVAC", _posP ];
_marker setMarkerShape "ICON";
_marker setMarkerType "MOVE";
_marker setMarkerText "Evacuation héliportée";

//Creation de l'helico
helico = "MH60S" createVehicle _pos;

//On ajoute à l'hélico un eventHandler pour savoir quand quelqu'un monte dedans
p=_p;
Evt = helico addEventHandler ["getin", {if (_this select 2 == p) then {in_board=true};}];
//On lui ajoute un eventHandler pour savoir quand quelqu'un en descend
Evt = helico addEventHandler ["getout", {if (_this select 2 == p) then {in_board=false};}];

//On créé le pilote
"USMC_Soldier_Pilot" createUnit [[(_pos select 0)+2,(_pos select 1)+2,(_pos select 2)], _gp," driver1=this;",0.9,"sergent"];
driver1 groupChat "Delta 4 : Bonjour. Ok pour l'évacuation. Je met en route et j'arrive !!!";

driver1 moveInDriver helico; //On fait monter le pilote dans l'helico
driver1 action ["engineOn", helico]; //On met le moteur de l'hélico en route
driver1 doMove (_posP); //On envoi le tout vers la position du joueur

/*
On prepare une petite boucle qui va tester si l'helico
arrive dans une zone proche du joueur (1000m)
*/
_sortie=false;
while {(alive _p) && (!_sortie)} do {
_nearest = objNull;
// On cherche les objets aériens dans un périmètre de 1000 m
_nobjects = nearestObjects [_p, ["Air"],1000];
sleep 0.1;
//Si on a trouvé au moins un objet
if (count _nobjects > 0) then {
_nearest = _nobjects select 0;
//On regarde s'il correspond à notre hélico
if( _nearest==helico)then {
sleep 0.1;
//On sort de la boucle
_sortie = true;
};
};

};
//L'hélico est sur la zone

sleep 14; //On calme un peu le jeu
driver1 groupChat "Delta 4 : Dégagez la zone, je descend !!!";
helico flyInHeight 2; //On demande à l'hélico de se positionner à quelques mettre du sol


//On attent que le joueur monte dans l'helico.
//C'est l"eventHandler qui règle le tout. Quand le joueur monte dans l'helico la variable in_board est mise à true.
waitUntil{in_board}; // On attend que le joueur monte
driver1 groupChat "Delta 4 : Bienvenue à bord."; // Il est à bord
sleep 1;

//On indique au joueur de cliquer sur la map pour savoir où il faudra se rendre
driver1 groupChat "Delta 4 : Cliquez sur la carte pour sélectionner le point où vous voulez vous rendre";
map_click=false;
onMapSingleClick "newpos=_pos;map_click=true;onMapSingleClick """";";
waitUntil{map_click}; //On attend qu'il clique
//Quand il a cliqué, la position est rangée dans la variable newpos

//On créé un marqueur à l'emplacement du clique. Il se sert à rien, c'est juste pour faire beau
//et pour montrer au joueur qu'on a bien pris son clique en compte
_marker = createMarker ["DEPOSE", newpos];
_marker setMarkerShape "ICON";
_marker setMarkerType "FireMission";
_marker setMarkerText "Dépose héliportée";

sleep 2;

helico flyInHeight 60; //On demande à l'helico de reprendre de l'altitude
driver1 doMove (newpos); //On demande au pilote de se rendre à l'endroit cliqué sur la carte

/*
On prepare une petite boucle qui va tester si l'helico
arrive dans une zone proche du joueur (1000m)
*/
_sortie=false;
while {(alive _p) && (!_sortie)} do {
_nearest = objNull;
_pos=getMarkerPos "DEPOSE";
_nobjects = nearestObjects [_pos, ["Air"],1000];
sleep 0.1;
if (count _nobjects > 0) then {
_nearest = _nobjects select 0;
if( _nearest==helico)then {
sleep 0.1;
_sortie = true;
};
};
};

sleep 14;
driver1 groupChat "Delta 4 : Sur zone. Attention à la marche en descendant !";
helico flyInHeight 1; //On descend l'altitude de l'hélico

//On attend que le joueur descend
//C'est le evntHandler initialisé au démarrage qui nous l'indiquera
waitUntil{!in_board};
_p groupChat "Merci pour la promenade Delta 4, bon retour !";

helico flyInHeight 60;//Le joueur est descendu, on demande à l'hélico de repartir

driver1 doMove ([1,1,50]);//On expédie l'hélico à tataouine les bains

//On efface les marquer qu'on avait mis sur la carte pour faire joli.
deleteMarker "EVAC";
deleteMarker "DEPOSE";

sleep 60; //on attend un peu que l'helico s'éloigne

//quand il est assez loin, on l'efface ainsi que son pilote
deleteVehicle driver1;
deleteVehicle helico;

//On redonne au joueur l'action qui permet de redemander une évacuation
idx_action = _p addAction ["Extraction", "evac.sqf",[],-1,false];

if (true) exitWith {}; //C'est fini, on quitte le script
La règle d'or de la conduite est la tolérance mutuelle, car nous ne penserons jamais tous de la même façon, nous ne verrons qu'une partie de la vérité et sous des angles différents.
Vis comme si tu devais mourir demain. Apprends comme si tu devais vivre toujours.
Commencez par changer en vous ce que vous voulez changer autour de vous.
Indira Gandhi
L'apéro est plus fort que tout.C'est la force du trankilou.
=[TTK]= Mao
Avatar de l’utilisateur
=[TTK]= Mao
Retraité
 
Age: 27
Messages: 171
Localisation: Juste a coté du pays de la quenelle Pile poil dans le pays de la noix et de la Chartreuse
Inscription: 18 Mai 2010

Cash: Fermé

Re: Mission - Les flageolets

Messagede =[TTK]= Camille Caz » Jeu 3 Juin 2010, 20:12

Merci Memphis.
Mais While veut dire  "tant que" ?
La 1ère ligne me semble un contre-sens ou bien j'ai rien compris.

Merci Mao
A ton script, il ne manque que la dépose d'un paillasson avant de descendre de l'hélico.
C'est wiki le dit qui l'est.

Image
Avatar de l’utilisateur
=[TTK]= Camille Caz
Grand Gourou
Grand Gourou
 
Age: 71
Messages: 1585
Localisation: La Rochelle, centre du milieu
Humeur: paléolithique mais presque
Inscription: 25 Jan 2010

Cash: 296.30 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Mao » Jeu 3 Juin 2010, 20:40

ce n'est pas mon script mais je suppute que par paillasson tu veux dire H  invisible et je pense que cela ne doit pas être trop dur a rajouter je vais regarder ça.
La règle d'or de la conduite est la tolérance mutuelle, car nous ne penserons jamais tous de la même façon, nous ne verrons qu'une partie de la vérité et sous des angles différents.
Vis comme si tu devais mourir demain. Apprends comme si tu devais vivre toujours.
Commencez par changer en vous ce que vous voulez changer autour de vous.
Indira Gandhi
L'apéro est plus fort que tout.C'est la force du trankilou.
=[TTK]= Mao
Avatar de l’utilisateur
=[TTK]= Mao
Retraité
 
Age: 27
Messages: 171
Localisation: Juste a coté du pays de la quenelle Pile poil dans le pays de la noix et de la Chartreuse
Inscription: 18 Mai 2010

Cash: Fermé

Re: Mission - Les flageolets

Messagede =[TTK]= Memphis007 » Jeu 3 Juin 2010, 20:45

=[TTK]= Camille Caz a écrit:Merci Memphis.
Mais While veut dire  "tant que" ?
La 1ère ligne me semble un contre-sens ou bien j'ai rien compris



Ben en fait ça remplace ton "goto ici" en fait tant que "(leader player in helico1)or(leader player in helico2)" n'est pas vrai on tourne en boucle et si cette condition est vérifié alors on passe à la suite, c'était pas ça ?

Mao a écrit:ce n'est pas mon script mais je suppute que par paillasson tu veux dire H  invisible et je pense que cela ne doit pas être trop dur a rajouter je vais regarder ça.


nan nan il parle d'un vrai paillasson !  :mrgreen:
Pour halloween, un vrai g33k met un masque de sous réseau.
Le g33k ne sort pas du métro, il libère de la ram.

Image

C.Caz : Combien de chaislongs à celui qui arrive le premier ?
Avatar de l’utilisateur
=[TTK]= Memphis007
Gripsou
Gripsou
 
Age: 31
Messages: 1368
Localisation: /dev/null
Humeur: Born to be wild
Inscription: 13 Jan 2010

Cash: 127.10 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Yourry » Jeu 3 Juin 2010, 20:53

La meilleure technique c'est d'essayer !
J'ai une question secondaire, Camille, pourquoi tu veux passer sur du .SQF à la place du .SQS ?
Cet ancien langage de script marche sur Arma 2.
Une chose, que je ferais pour éviter les bugs à mon avis, ta définition de tes variables

Code: Tout sélectionner
     _distv = helico1 distance leader player;
      _dist = round _distv;


Je la mettrais avant le "while".
"Les Boches faisaient "Kamarad". Il aurait fallu commencer par ça des deux côtés, pour éviter les massacres organisés par ceux d'en haut, mais le fusil qu'ils nous avaient collé entre les mains, forcément, il a bien fallu qu'il serve et tout le reste à suivit." dixit Tardi et Verney


Image


L'autre jour, en tirant le rouleau de papier cul, toute la cloison est venue avec. dixit Camille Caz
Avatar de l’utilisateur
=[TTK]= Yourry
Grand Scriptou
Grand Scriptou
 
Age: 24
Messages: 731
Localisation: Parmis les Quenelles.
Inscription: 17 Mar 2010

Cash: 160.00 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Memphis007 » Jeu 3 Juin 2010, 21:23

ces variables doivent êtres redéfinies a chaque démarrage de la boucle
Pour halloween, un vrai g33k met un masque de sous réseau.
Le g33k ne sort pas du métro, il libère de la ram.

Image

C.Caz : Combien de chaislongs à celui qui arrive le premier ?
Avatar de l’utilisateur
=[TTK]= Memphis007
Gripsou
Gripsou
 
Age: 31
Messages: 1368
Localisation: /dev/null
Humeur: Born to be wild
Inscription: 13 Jan 2010

Cash: 127.10 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Camille Caz » Jeu 10 Juin 2010, 15:37

La mission a été légèrement retouchée. Il n'y a plus de problème avec les hélicos.
Maintenant, on peut les appeler avant même de monter sur nos vélos.
C'est wiki le dit qui l'est.

Image
Avatar de l’utilisateur
=[TTK]= Camille Caz
Grand Gourou
Grand Gourou
 
Age: 71
Messages: 1585
Localisation: La Rochelle, centre du milieu
Humeur: paléolithique mais presque
Inscription: 25 Jan 2010

Cash: 296.30 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Memphis007 » Mar 15 Juin 2010, 12:55

Quid de mon script ? tu as testé ?
Pour halloween, un vrai g33k met un masque de sous réseau.
Le g33k ne sort pas du métro, il libère de la ram.

Image

C.Caz : Combien de chaislongs à celui qui arrive le premier ?
Avatar de l’utilisateur
=[TTK]= Memphis007
Gripsou
Gripsou
 
Age: 31
Messages: 1368
Localisation: /dev/null
Humeur: Born to be wild
Inscription: 13 Jan 2010

Cash: 127.10 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Camille Caz » Mar 15 Juin 2010, 13:37

Excuse-moi Memphis, je ne peux pas répondre avant un essai.
C'est wiki le dit qui l'est.

Image
Avatar de l’utilisateur
=[TTK]= Camille Caz
Grand Gourou
Grand Gourou
 
Age: 71
Messages: 1585
Localisation: La Rochelle, centre du milieu
Humeur: paléolithique mais presque
Inscription: 25 Jan 2010

Cash: 296.30 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Yourry » Mer 16 Juin 2010, 20:05

Quand dans un script on met

leader player


Sa veut dire quoi ?
Que seul le chef de groupe est pris comme référence ?
Que ce passe t-il s'il meurt ?
Est ce que le "second" chef est pris en compte si le premier meurt, etc. ?
Serrait t-il pas mieux de créer un groupe "ttk" par exemple et de faire référence à cette ensemble plutôt qu'a un seul joueur (ici le chef)? (chose que je ne sais pas faire)
"Les Boches faisaient "Kamarad". Il aurait fallu commencer par ça des deux côtés, pour éviter les massacres organisés par ceux d'en haut, mais le fusil qu'ils nous avaient collé entre les mains, forcément, il a bien fallu qu'il serve et tout le reste à suivit." dixit Tardi et Verney


Image


L'autre jour, en tirant le rouleau de papier cul, toute la cloison est venue avec. dixit Camille Caz
Avatar de l’utilisateur
=[TTK]= Yourry
Grand Scriptou
Grand Scriptou
 
Age: 24
Messages: 731
Localisation: Parmis les Quenelles.
Inscription: 17 Mar 2010

Cash: 160.00 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= MoreBack » Mer 16 Juin 2010, 21:53

while condition do

c'est faire tant que la condition est vrai, donc il faut inverser la condition Memphis.

leader player c'est le leader quel qu'il soit, même si le 1er meurt c'est son remplaçant et ainsi de suite.

c'est inversement proportionnel à la différence du contraire.
Le jour où on ne travaillera plus le lendemain des jours de repos, la fatigue sera vaincue.
État : Ivre mort pour la patrie.
Image
Avatar de l’utilisateur
=[TTK]= MoreBack
Grand Adminou
Grand Adminou
 
Age: 50
Messages: 607
Inscription: 25 Jan 2010

Cash: 82.10 Chaislongs

Re: Mission - Les flageolets

Messagede =[TTK]= Memphis007 » Mer 16 Juin 2010, 22:37

Exact oui ! mé soui planté !
Pour halloween, un vrai g33k met un masque de sous réseau.
Le g33k ne sort pas du métro, il libère de la ram.

Image

C.Caz : Combien de chaislongs à celui qui arrive le premier ?
Avatar de l’utilisateur
=[TTK]= Memphis007
Gripsou
Gripsou
 
Age: 31
Messages: 1368
Localisation: /dev/null
Humeur: Born to be wild
Inscription: 13 Jan 2010

Cash: 127.10 Chaislongs



  • Publicité

Retourner vers En chantier

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité