Bienvenue !

TTK, la team type des teams top

en quelque sorte


variables de script et unitées concernées

Pour les Masochistes Éditeurs de missions

variables de script et unitées concernées

Messagede =[TTK]= Yourry » Mar 15 Juin 2010, 18:41

Le titre pourrait faire peur mais c'est pas compliqué du tout pour les gens qui connaissent un petit peu les scripts.

Je souhaite juste définir un groupe en particulier que lui seul déclenche le script.
Je définis mon groupe par ça, dans l'init du chef de group

Code: Tout sélectionner
ttk = group this; nul=[ttk] execVM "script\phone2.sqf"


Ensuite comment reprendre dans mon script le groupe "ttk"
J'ai testé:

Code: Tout sélectionner
_unit = _this select 0;
_par = units _unit;

if (telephone distance _par<4 && _voix==true) then
{
blabla mon script
hint "ok ça marche";
};

mais qui ne fonctionne pas :mrgreen:

Pour finir, ma deuxième question:
je voudrais que la variable
_voix

soit déclaré "true" mais via un autre script
comment mettre en lien les deux scripts ?
Dernière édition par =[TTK]= Yourry le Mar 15 Juin 2010, 20:42, édité 1 fois.
"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

Publicité

Re: variables de script et unitées concernées

Messagede =[TTK]= Memphis007 » Mar 15 Juin 2010, 19:52

=[TTK]= Yourry El Zekrit a écrit:Pour finir, ma deuxième question:
je voudrais que la variable
_voix

soit déclaré "true" mais via un autre script
comment mettre en lien les deux scripts ?


Encore une fois si tu veux jouer avec des variables entres plusieurs script (ou entre un script et un déclencheur par exemple) il faut au minimum que ce soit une variable globale donc sans le tiret "_", ensuite ben il suffit de mettre cette variable à true dans l'autre fichier de script ou le déclencheur.

A voir aussi si une superglobale n'est pas préférable, ça dépend des cas.
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: variables de script et unitées concernées

Messagede =[TTK]= Camille Caz » Mar 15 Juin 2010, 19:55

Je me demande si on a le droit de poser de telles questions.   Image
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: variables de script et unitées concernées

Messagede =[TTK]= Yourry » Mar 15 Juin 2010, 20:55

Pour reformuler ce que tu dis Memphis, le fait de mettre "_" avant une variable signifie quelle est "interne" au script ?
J'ai enlever le "_" de mes deux scriptes et rien n'y fait.
Pourtant du second script j'ai mis:

Code: Tout sélectionner
if (isServer) then
{
   voix = "true";
   publicVariable "voix";
};
   voix = "true";
   publicVariable "voix";


Par contre Camille je n'ai pas compris  :?:
"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: variables de script et unitées concernées

Messagede =[TTK]= Freshmeat » Mar 15 Juin 2010, 21:31

Différentes choses :

1- les variables commençant par "_" ne sont connues que dans le bloc dans lequel elle sont définies :

Code: Tout sélectionner
_mavariable = "test";
if (true) then{_mavariable = "nouvelle valeur";};
hint format["%1",_mavariable];


=> Affiche "nouvelle valeur"

Par contre :

Code: Tout sélectionner
if (true) then{_mavariable = "nouvelle valeur";};
hint format["%1",_mavariable];


=> Affiche une erreur

2-
Code: Tout sélectionner
ttk = group this

Suffit à définir la variable ttk pour toutes les machines, puisqu'utilisée dans l'init de l'unité.
Il n'est donc plus nécessaire de la passer en paramètre à ton execVM.

3- J'ai pas bien compris ce que tu voulais faire avec ton test de déclenchement.

4-
Code: Tout sélectionner
if (isServer) then
{
   voix = "true";
   publicVariable "voix";
};
waituntil {!isnull voix};
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

Image
Avatar de l’utilisateur
=[TTK]= Freshmeat
Grand Manitou
Grand Manitou
 
Messages: 497
Inscription: 01 Mar 2010

Cash: 92.00 Chaislongs

Re: variables de script et unitées concernées

Messagede =[TTK]= Clem » Mar 15 Juin 2010, 21:41

Clem qui ne fait pas d'édition de missions ,comprends rien au script a l'informatique en général aurait peu être fait cela :

dans l'init.sqf aurait rajouter

Code: Tout sélectionner
voix = false;


histoire a mon humble avis que la variable soit crée
et dans le script

Code: Tout sélectionner
voix = true;
publicVariable voix;


puis dans un déclencheur ,

dans le champ condition : this and (voix)

dans le champ sur activation : nul = thislist execVM "script\phone2.sqf"  

puis aurait grouper le déclencheur avec le chef de groupe qui a dans l'init:  ttk = group this;

et dans le phone2.sqf

Code: Tout sélectionner
myArray = _this;

if (telephone distance _this<4) then
{
blabla mon script
hint "ok ça marche";
};



après faut voir ce que ça fait  en espérant que ça te fais pas encore crasher arma yourry
Image
Avatar de l’utilisateur
=[TTK]= Clem
Grand Manitou
Grand Manitou
 
Messages: 358
Inscription: 12 Fév 2010

Cash: 100.00 Chaislongs

Re: variables de script et unitées concernées

Messagede =[TTK]= Yourry » Mer 16 Juin 2010, 19:56

j'avance à petit pas mais pas trop vite quand même:
j'ai compris que si j'écris:

Code: Tout sélectionner
if (!isNil "ObjPhone") then
{
blabla; suite du script


il me faut qu'avant dans le même (il est la le hic) script apparaisse

Code: Tout sélectionner
if (isServer) then
{
   ObjPhone = true;
   publicVariable "ObjPhone";
};

ObjPhone = true;

pour que ma variable
ObjPhone

ne soit plus égale à zéro et que mon script se déroule.
bon bin le hic pour moi est que si je mets

if (isServer) then
{
       ObjPhone = true;
       publicVariable "ObjPhone";
};

dans un autre script, la condition suivante n'est jamais exécuter
if (!isNil "ObjPhone") then
{
blabla; suite du script


POURQUOI ?
"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: variables de script et unitées concernées

Messagede =[TTK]= Memphis007 » Mer 16 Juin 2010, 20:33

Pour que :
if (!isNil "ObjPhone") then
{
blabla; suite du script


se déclenche il faut donc que :

if (isServer) then
{
       ObjPhone = true;
       publicVariable "ObjPhone";
};


soit exécuté avant on est d'accord ?

si oui alors je pense qu'il faudrait essayer d'éviter de tester "ObjPhone" par un !isnil mais plutôt par un :
Code: Tout sélectionner
if (ObjPhone == true)


car si "ObjPhone" est égal à "false" avec ton "!isnil" ben ça part quand même vu que tu teste juste l'existence d'une variable instanciée et non ce qu'elle contient.
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: variables de script et unitées concernées

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

Pas de souci, j'avais bien mis les choses comme ça.
J'utilisais "!insnil" car je l'ai lu dans un autre script.
Avec "mavariable == true" je pense aussi que ça marche.

Mais le fond de mon problème c'est que
if (isServer) then
{
  ObjPhone = true;
  publicVariable "ObjPhone";
};

ObjPhone = true;


Est dans un autre script.
Quand je mets
if (!isNil "ObjPhone") then ou if (ObjPhone == true)

Dans un script différent de celui qui possède le "if seveur..." mes variables ne sont jamais vraies.
Ce que je ne comprends pas !
Comment 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: variables de script et unitées concernées

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

et bien d'après le wiki de bohemia (http://community.bistudio.com/wiki/Variables) utiliser la commande publicVariable ne met a jour sa valeur que du coté client et pas sur le serveur, ce qui pourrait expliquer ton problème.

Ou alors dans l'init il faudrait peut être initialiser cette variable a "false" et mettre le publicVariable ici aussi afin d'initialiser et publier la variable sur tous les postes.
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: variables de script et unitées concernées

Messagede =[TTK]= Yourry » Dim 20 Juin 2010, 23:47

Les choses avancent:
clem m'a trouvé un script qui gère de la fougère !

C'est un script qui sert uniquement à passer les scripts locaux en globales !
C'est peut être la solution a votre comptage de points pour une course, à essayer.

Sinon, manque un dernier détail comment je peux écrire cette commande (issue d'un déclencheur) dans un script:
Code: Tout sélectionner
{_x distance telephone<2} for count units ttk>0


Je m'explique, je voudrais dire n'importe quelle unités du groupe ttk puisse valider la suite
Code: Tout sélectionner
if ( telephone distance ttk<2) then
{
blabla
};


Je n'arrive pas paramétrer dans mon script: que le groupe "ttk" est l'ensemble des joueurs de ce groupe  :mrgreen:
J'ai pourtant mit dans l'init du chef de groupe:

ttk=group this
"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: variables de script et unitées concernées

Messagede =[TTK]= Freshmeat » Lun 21 Juin 2010, 08:42

Essaie avec ça :

Code: Tout sélectionner
if ({_x distance telephone<2} count units ttk > 0) then
{
blabla
};
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]

Image
Avatar de l’utilisateur
=[TTK]= Freshmeat
Grand Manitou
Grand Manitou
 
Messages: 497
Inscription: 01 Mar 2010

Cash: 92.00 Chaislongs

Re: variables de script et unitées concernées

Messagede =[TTK]= Yourry » Lun 21 Juin 2010, 18:30

if ({_x distance telephone<2} count units ttk > 0) then


Merci Freash cela fonctionne, a testé en multi maintenant.
Sinon j'ai quand même un petit truc qui me turlupine  :mrgreen: :

comment définir dans mes variables le groupe ttk ?

si je met dans mon script:

Code: Tout sélectionner
_grp = _this select 0;
_team = units _grp;


puis par la suite je mets

Code: Tout sélectionner
if(telephone distance _team<1) then
{
blabla
};


cela ne fonctionne pas, pourquoi ?
J'aimerais bien savoir comment on fait pour mettre dans une variable (par exemple _team) l'ensemble de l'équipe ttk de façon dans les scripts à reprendre _team pour désigner n'importe quel joueur.

Merci
"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: variables de script et unitées concernées

Messagede =[TTK]= Camille Caz » Lun 21 Juin 2010, 19:28

Tu peux mettre dans l'init du chef
ttk= group player
puis reprendre ttk dans ton script comme étant l'arrray de ton groupe.
et écrire
{_x distance telephone<2} foreach  ttk

J'en suis pas sûr
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: variables de script et unitées concernées

Messagede =[TTK]= Yourry » Dim 27 Juin 2010, 19:16

Je n'arrive pas à mettre en lien une variable ("essai" dans mon exemple) d'un déclencheur et un script:

Mon déclencheur, en suractivation:
Code: Tout sélectionner
essai = true


Et dans mon script (lancé à l'init de la mission):

Code: Tout sélectionner
if (essai == true) then
{
hint "ok";
};


Je n'ai jamais mon "ok" qui s'affiche même si mon déclencheur s'active bien !

Comment écrire le "if...." en sachant que la variable serra défini dans un déclencheur

:Evil:
"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



  • Publicité

Retourner vers Edition ArmA II / OA

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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


cron