Français [TFAR] Mettre l'ID base de données des joueurs sur teamspeak

  • Auteur de la discussion Auteur de la discussion SUTORU
  • Date de début Date de début

SUTORU

Map Making Specialist - Forum Mod.
Membre du personnel
13/1/22
164
16
13
950
France
Bienvenue sur ce tutoriel qui vous permettra de mettre l'UID Arma sur Teamspeak avec Task Force Radio aux joueurs de votre serveur.
Ce tutoriel fait suite à la demande d'aide de D doudou94700 .

C'est parti !

Rendez vous dans votre fn_requestReceived.sqf qui se situe dans le dossier \core\session de votre mission.

Après cette ligne :
[CODE lang="csharp" title="\core\session\fn_requestReceived.sqf"]
CONST(life_coplevel,(_this select 7));
[/CODE]

Ajoutez ceci :
[CODE lang="csharp" title="\core\session\fn_requestReceived.sqf"]
player setVariable ["id_player", (_this select 12), true];
[/CODE]

Puis, après ces lignes:
[CODE lang="csharp" title="\core\session\fn_requestReceived.sqf"]
life_is_arrested = _this select 7;
[/CODE]

Ajoutez :
[CODE lang="csharp" title="\core\session\fn_requestReceived.sqf"]
player setVariable ["id_player", (_this select 13), true];
[/CODE]

Ensuite, après cette ligne :
[CODE lang="csharp" title="\core\session\fn_requestReceived.sqf"]
CONST(life_medicLevel,(_this select 7));
[/CODE]

Ajoutez :
[CODE lang="csharp" title="\core\session\fn_requestReceived.sqf"]
player setVariable ["id_player", (_this select 11), true];
[/CODE]

Bien, maintenant rendez vous votre life_server puis dans le fichier fn_queryRequest.sqf qui se situe dans le dossier \Functions\MySQL.
(Pensez bien à extraire votre life_server.pbo pour éviter tout soucis)

Cherchez cette ligne et ajoutez-y uid comme ci-dessous :
Python:
case west: {format ["SELECT pid, name, cash, bankacc, adminlevel, donorlevel, cop_licenses, coplevel, cop_gear, blacklist, cop_stats, playtime, uid FROM players WHERE pid='%1'",_uid];};

Faite la même chose pour la ligne 31 et 33.
Vous pouvez maintenant recompiler le life_server.pbo et passer à l'étape suivante.

Pour la version stable (v0.9.12) de TaskForce Radio :

Commençons par nous rendre dans le modpack client de votre serveur, cherchez-y le fichier task_force_radio.pbo
Décompilez le, et rendez-vous dans le dossier functions, puis ouvrez le fichier fn_processPlayerPositions.sqf

Cherchez cette ligne :
[CODE lang="sql" title="\task_force_radio\functions\fn_processPlayerPositions.sqf"][_controlled, true, name _unit] call TFAR_fnc_sendPlayerInfo;[/CODE]

Remplacez là par ceci :
[CODE lang="sql" title="\task_force_radio\functions\fn_processPlayerPositions.sqf"][_controlled, true, (format ["ID : %1",_unit getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Cherchez ensuite cette ligne :
[CODE lang="sql" title="\task_force_radio\functions\fn_processPlayerPositions.sqf"][_unit, true, name _unit] call TFAR_fnc_sendPlayerInfo;[/CODE]

Et remplacez là par celle-ci :
[CODE lang="sql" title="\task_force_radio\functions\fn_processPlayerPositions.sqf"][_unit, true, (format ["ID : %1",_unit getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Maintenant, cherchez cette ligne ci :
[CODE lang="sql" title="\task_force_radio\functions\fn_processPlayerPositions.sqf"][_unit, false, name _unit] call TFAR_fnc_sendPlayerInfo;[/CODE]

Et remplacez le code par ceci :
[CODE lang="sql" title="\task_force_radio\functions\fn_processPlayerPositions.sqf"][_unit, false, (format ["ID : %1",_unit getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Passez maintenant au fichier fn_sendFrequencyInfo.sqf toujours dans le dossier functions.

Cherchez cette ligne :
[CODE lang="ruby" title="\task_force_radio\functions\fn_sendFrequencyInfo.sqf"]TFAR_player_name = name player;[/CODE]

Remplacez là par ceci :
[CODE lang="ruby" title="\task_force_radio\functions\fn_sendFrequencyInfo.sqf"]TFAR_player_name = (format ["ID : %1",player getVariable ["id_player", "0"]]);[/CODE]

Pensez bien à mettre à jour votre modpack pour que tous les joueurs aient vos modifications du fichier task_force_radio.pbo :)

Pour la version beta (v1.0.329) de TaskForce Radio :

Commençons par nous rendre dans le modpack client de votre serveur, cherchez-y le fichier tfar_core.pbo
Décompilez le, et rendez-vous dans le dossier functions, puis ouvrez le fichier fnc_processPlayerPositions.sqf

Cherchez cette ligne :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_x, true, _unitName] call TFAR_fnc_sendPlayerInfo;[/CODE]

Remplacez là par ceci :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_x, true, (format ["ID : %1",_x getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Cherchez ensuite cette ligne :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_controlled, true, _unitName] call TFAR_fnc_sendPlayerInfo;[/CODE]

Et remplacez là par celle-ci :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_controlled, true, (format ["ID : %1",_x getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Maintenant, cherchez cette ligne ci :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_x, false, _unitName] call TFAR_fnc_sendPlayerInfo;[/CODE]

Et remplacez le code par ceci :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_x, false, (format ["ID : %1",_x getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Pour finir, cherchez cette ligne ci :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_controlled, false, _unitName] call TFAR_fnc_sendPlayerInfo;[/CODE]

Et remplacez le code par ceci :
[CODE lang="sql" title="\tfar_core\functions\fnc_processPlayerPositions.sqf"][_controlled, false, (format ["ID : %1",_x getVariable ["id_player", "0"]])] call TFAR_fnc_sendPlayerInfo;[/CODE]

Passez maintenant au fichier fnc_sendFrequencyInfo.sqf toujours dans le dossier functions.

Cherchez cette ligne :
[CODE lang="ruby" title="\tfar_core\functions\fnc_sendFrequencyInfo.sqf"]private _nickname = if (_alive) then {name player} else {profileName};[/CODE]

Remplacez là par ceci :
[CODE lang="ruby" title="\tfar_core\functions\fnc_sendFrequencyInfo.sqf"]private _nickname = (format ["ID : %1",player getVariable ["id_player", "0"]]);[/CODE]

Pensez bien à mettre à jour votre modpack pour que tous les joueurs aient vos modifications du fichier tfar_core.pbo

Et voilà !

Cordialement,
Forum Moderator - SUTORU
 
Dernière édition:
  • Like
Les réactions: doudou94700
Hello,
J'ai suivis ton tuto mais avec la version BETA en adaptant un peu, mais on ne s'entends pas en jeu ... Aurais-tu une idée/solution pour la version BETA. Sachant que j'utilise l'Advanced Phone de TP.
Merci :)
 
Qu'est-ce que tu as adapté précisément ? Les noms des variables ont peut être été changés.
Est-ce que le nom de l'utilisateur est bien changé sur teamspeak ?
Hello
Oui le nom des variables ont changées.
J’ai remplacé par les variable existante.
La modification s’effectue bien. Mais on ne s’entend pas en jeu. La voie n’est même pas détecté et considérée comme si le joueur en face n’est pas à côté de l’autre joueur.
 
Pourquoi avoir ajouté une colonne UID dans la base de donnée ? Sachant qu'il y a déjà PID ?
 
bonjour on est en bien suivi le tuto de TFAR radio donc la version bêta
onc jusqu'à maintenant toutes les modifications ont été fait.
un petit souci au niveau du TS avec la capture ci-dessous
 

Fichiers joints

  • image_2022-11-10_173524268.png
    image_2022-11-10_173524268.png
    103.2 KB · Affichages: 31
bonjour on est en bien suivi le tuto de TFAR radio donc la version bêta
onc jusqu'à maintenant toutes les modifications ont été fait.
un petit souci au niveau du TS avec la capture ci-dessous
Bonsoir gegeleroutier8 gegeleroutier8, peux-tu ouvrir une demande d'aide dans la catégorie appropriée avec les détails pour que l'on puisse t'aider au mieux et maintenir le tutoriel propre 😊