Bonjour, voila mon soucis je suis en train de créer un script pour un serveur life qui est en 2 parties, je m'explique :
la premier script s'execute sur le serveur et permet de faire spawn de maniere aleatoire sur la map un feu et placer un repere sur la map.
le second script, permet d'ajouter un addaction lorsque le joueur pointe le feu et cet addaction execute une fonction qui permet "d'eteindre" le feu
les 2 scripts fonctionne tres bien sous eden editor mais lorsque que je le met sur le serveur, sa ce complique comme pour "eteindre" le feu, j'ai besoin de recuperer ma variable qui contient l'objet du feu qui se trouve sur le serveur dans mon script pour eteindre le feu qui lui est dans la partie cliente
donc ma question est, comment recuperer une variable créer dans le script executer coter serveur dans mon script qui lui est executer sur le client ?
petite info, le premier script qui crée le feu est executer dans le init.sqf et le 2eme qui l'eteint dans le iniplayerlocal.sqf avec la condition que seul lorsqu'un independant se connecte le script s'execute
j'ai vu que PublicVariableClient pouvais m etre utile pour sa mais je n'ai pas compris comment l'utiliser
merci d'avance pour votre aide
Salut,
Tu dois utilier setVariable et getVariable sur ton objet.
Tu peux stocker les infos souhaitées avec un setVariable, et les récupérer côté client.
tu peux poster tes scripts si tu veux de l'aide
slt merci pour ta reponse, poster les scripts je pourrai, mais ils sont vraiment long surtout le 1er
les variables que j'utilise dans le 1er script et que je doit recuperer son :
Feux ==>qui contient l'objet que je fait spawn sur la map et qui prend feu
Fumee==>"test_EmptyObjectForSmoke" pour la fumee et que j'attache a l'objet Feux
Flamme ==>"test_EmptyObjectForFireBig" pour les flamme que j'attache egalement a l'objet Feux
Marqueur==> qui contient le marqueur qui est sur la map a l'emplacement de l'incendie
PuissanceFeu ==> qui contient soit "1","2","3","4" celon la puissance du feu
donc sur le 2eme script qui s'execute sur le client je doit recuperer
Feux pour pouvoir le delete quand le 2eme script est fini et donner le type de feu dans un message afficher en jeu
Fumee meme chose que Feux
Flamme pour donner l'impression que le feu s'eteind (je joue avec le attachto pour cela) et enfin le delete a la fin aussi
Marqueur pour delete le Marqueur de la mapquand le feu est eteind
PuissanceFeu pour donner la puissance du feu dans un message afficher a l'ecran
voila en gros ce que j'ai besoin de recuperer
Je vois,
Pour supprimer l'objet, je pense que tu peux passer directement par cursorObject dans ton script côté client.
Tu n'as pas besoin d'identifier le "Feux" étant donné que c'est ton cursorObject.
Pour la fumée tu peux supprimer tous les objets de type "test_EmptyObjectForSmoke" qui sont à 5 mètres du joueur.
Là aussi tu n'as pas besoin d'identifier "Fumee"
Pour delete le marker :
Donc tu as besoin de setvariable :
_myFire setVariable ["markerName", "nom de mon marker, true];
Ensuite côté client, tu getVariable sur ton cursorObject
_markerName = cursorObject getVariable "markerName";
et là ton _markerName correspond au nom du marker, donc tu peux le supprimer
pareil pour le PuissanceFeu, tu joues avec le setVariable côté serv; et le getVariable côté mission
j'espère que j'ai été clair x)
Slt oui c'est se que j'ai fait set/getVariable ce qui ma permis de faire executer mon script a la seul difference que je ne sait pas pourquoi, en envoyant plusieurs setvariable au total 8 si mes souvenir son bon toutes les variables n'arrivais pas jusqu'au client je suis donc passer par un tableau pour tout envoyer en une seul fois donc pour ceux qui ont eu le meme probleme que moi voici ce que j'ai fait :
coté serveur :
_varTab = [var1,var2,etc...];
missionNamespace setVariable ["Variable commune",_varTab,true];
"variable commune" est le nom de variable que le script client recuperera
_varTab est la variable a envoyer dans mon cas un tableau de variable pour envoyer tout en une fois
true permet d'envoyer a tout les joueurs la variable de maniere persistante
coté client :
TableVar= missionNameSpace getVariable "_varTab";
_var1=_varTab select0;
_var2= _varTab select1;
etc..
donc voila pour ceux qui ont eu le meme soucis
pour moi pb resolu
Sympa d’avoir donné ta soluce !
c'est normal je suis le premier a rager quand quelqu'un marque juste "pb resolu" sans donner d explication, si tout le monde prennai le temps de mettre la solution ont passerai moin de temps a chercher sur les forums