Français Communication entre @life_server et Altis_Life

Lurtz59

User
13/5/20
22
1
300
Badges
2
Bonsoir,

Je souhaite mettre le "uid" au lieu du nom quand je croise des joueurs. Pour cela dans "fn_queryRequest" du dossier @life_server, je récupère le "uid" du joueur. Je créer une variable global "missionNamespace setVariable ["life_uid", compileFinal str (_queryResult select 12)]". Du côté client dans le fichier "fn_playerTags", je fais un hint de FETCH_CONST(life_uid). Mon hint affiche "any" pourquoi ?

Merci pour vos réponses :)
 

Lurtz59

User
13/5/20
22
1
300
Badges
2
Bonjour, merci pour ta réponse, le but de mon hint (hint FETCH_CONST(life_uid)) est juste un test permettant d'afficher la variable 'life_uid' (créé dans le 'life_server') côté client (Altis_Life.Altis).
Côté 'life server' ma variable affiche la donnée que je souhaite avoir. Mais côté client, il m'affiche any.

Ce petit test avais pour but de répondre à cette question.
Comment je fais pour transférer des informations que je récupère grâce au 'life_server' et les afficher côté client (Altis_Life.Altis) ?
Imaginons ce cas, je crée une table log, je récupère les infos côté serveur, comment je fais pour les afficher pour le client ?
 
29/12/19
42
4
300
Badges
3
Bah utilise player setvariable ["NameTag",compileFinal str (_queryResult select 12),true]; coté serveur

et ensuite coté client player getvariable ["NameTag",0,];
 

Lurtz59

User
13/5/20
22
1
300
Badges
2
Merci pour ta réponse :)

L'astuce avec le 'player setvariable ["NameTag",compileFinal str (_queryResult select 12),true] ' ne fonctionne pas :s
Côté client, cela m'affiche 0.

Je profite de ce sujet pour poser plusieurs questions, si tu le veux bien.

Je me demandais à quoi sert la méthode 'spawn', ex: _uid spawn TON_fnc_queryPlayerGang
Autre ex: [] spawn life_fnc_initGang

De plus, quelle est la différence entre 'remoteExec', 'remoteExecCall' et 'call' ?

Je te remercie d'avance pour tes réponses
 
Dernière édition:
29/12/19
42
4
300
Badges
3
Le spawn est une commande qui permet d'apeller un code ou une fonction dans un environnement schedulé (Donc dans une instance mémoire différente du script initial), il permet donc la suspension du script (avec sleep ou uiSleep).
A l'inverse, le call a la même fonction, mais dans un environnement non schedulé et donc ne permet pas la suspension et doit retourner un résultat d’exécution.

remoetexec permet de commander l'execution d'un code ou d'une fonction à distance, par exemple, avec un remotexec, tu peux commander le serveur pour qu'il exécute une fonction depuis un script situé dans la mission, et renvoyer le résultat au client, on apelle ça une fonction ping pong.

le remoteexeccall est la même chose que pour un remoteexec, à la différence que la fonction appelée à distance ne peux pas être suspendue (avec sleep ou Uisleep) car comme pour un call, il n'est pas executé dans un environement schedulé

En résumé :

Pour les scripts qui ne sont pas interrompus par un sleep ou un Uisleep, on utilise le call, qui est plus rapide et moins gourmand en ressources.

Pour les scripts interrompus ou les boucles, on utilise spawn, afin que la boucle puisse s'executer autant de temps qu'elle le veux , sans perturber l'execution du script original.

Peux tu m'envoyer ton fichier fn_queryRequest et ton fichier fn_playerTags ?
 
Dernière édition:

Lurtz59

User
13/5/20
22
1
300
Badges
2
Bonjour,

Ça marche, merci pour votre aide à vous deux et pour vos explications :)
Dernière petite question, je me demandais s'il y avait un wiki répertoriant et expliquant toutes les variables du framework Altis ?