Page 2 sur 2

Re: publicVariable et localité

Posté : ven. 25 févr. 2011, 11:38
par =[TTK]= Freshmeat

Dernier message de la page précédente :

Je pense qu'il faut comprendre 'References' dans son sens 'informatique', à savoir 'pointeurs sur'. Et dans ce cas c'est parfaitement logique car il s'agirait d'une adresse mémoire contenant un objet, or il est certain que selon la machine, cette même adresse ne contiendra pas la même chose.

Re: publicVariable et localité

Posté : ven. 25 févr. 2011, 16:13
par =[TTK]= MoreBack
En tout cas, j'ai fini par abandonner justement à cause des localité.
j'ai jamais réussi à faire fonctionner un simple script de comptage pour une course de voiture.
(il aurait fallu faire pour chaque joueur avec temps intermédiaires etc... bonjour la galère pour 18)
et plus j'avançais moins je comprenais.
j'ai fini par lâcher.

Re: publicVariable et localité

Posté : ven. 25 févr. 2011, 17:03
par =[TTK]= Yourry
De plus, je le répète, mais je ne suis pas certain que Publicvariable "compteBLUFOR" crée la varible sur le client.
Je renvoie à mon précédent post:
----- =[ EDIT DU Jeu 24 Fév, 12:09 ]= -----

si on est le serveur, on crée la variable test et on envoie "test" aux clients.



Faux, une variable déclarée dans un if(isverser) n'est pas renvoyée aux clients. Même s'il y a un publicvariable, elle reste interne au serveur.
J'ai encore fait le test hier soir avec un script sur le serveur de test !
:mrgreen:


Alors si on récapitule bien:
  • les variables définies par le serveur restent local au serveur
  • les variables définies dans l'init sans le if (isserver) sont renvoyées à tous, mais elle poseront le souci du JIP.
  • le publicVariable permet de synchroniser les variables ? et sourtout pour les JIP de récupérer la valeur en cours (sous réserve que ceux-ci n'est pas accès dans l'init à l'initialisation des variables)
  • je sais qu'il y a un souci avec les variables relative aux véhicules ou objet et qu'il faut utiliser la commande spéciale:

    Code : Tout sélectionner

    vehicleVarName
  • bien pensé que la lecture des scripts ne peut être synchro entre les joueurs et le serveur. Au quel cas, il faut parfois attendre tout le monde avec "waituntil"
  • la commande isNil permet de vérifier l'existence de la variable en locale (pas précisé chez wiki bis)
Ce que j'ai observé dans plusieurs mission, par exemple dans Skirmich la fameuse Coop 20 préféré de White et Jackson, les variables sont définies dans un if(iserver) avec un publicVariable. Elles sont aussi reprise dans des déclencheurs de façon à ce que les joueurs aient aussi connaissances des variables. Quant les JIp se poitent, si les déclencheur on déclenché avant eux, ils récupèrent la valeur en cours via le publicVariable, tandis qu'ils récupérons en même temps les variables avec les autres si les déclencheurs n'ont pas été déclenché.

Je dois encore testé la ligne de code qui permet d'exclure les JIP ( if(!X_JIP) ) au quel cas, c'est simple:
  • dans l'init on définie les variables pour tous sans rien (pas isserver, etc) mais on exclu les JIP avec le "if" en question.
....

Re: publicVariable et localité

Posté : ven. 25 févr. 2011, 19:16
par =[TTK]= Memphis007
L'init n'est lancé qu'au démarrage de la mission, les joueurs JIP n'ont pas accès au contenu de l'init.


Sinon c'est officiel, nous sommes des quiches en scripts.

Mais on essaye.

EDIT: autant pour moi, on a un crack en script, mais il est jamais là, et il scripte pour les autres.

Re: publicVariable et localité

Posté : sam. 26 févr. 2011, 11:44
par =[TTK]= Yourry
L'init n'est lancé qu'au démarrage de la mission, les joueurs JIP n'ont pas accès au contenu de l'init.
Je ne suis vraiment pas certain de ça. J'en veux pour preuve simple, quand on est JIP on la briefing (peut être pas mis à jour) mais ils l'ont. Et où il est appelé le briefing ?
=> dans l'init !

Pour moi le JIP ont bien accès à l'init quand il débarque d'où parfois les problèmes de désynchronisation, etc.

Re: publicVariable et localité

Posté : sam. 26 févr. 2011, 12:41
par =[TTK]= Memphis007
Faudrait qu'on se programme une soirée de tests pour tout ça.