Gérer les groupes ULX (et problème physgun pour un groupe)

  1. Centre d'aide
  2. Garry's Mod
  3. Gérer les groupes ULX (et problème physgun pour un groupe)

Tutoriel proposé par Diablos26


Envie de savoir gérer ses groupes ULX ? Vous rencontrez un problème en créant un groupe (par exemple modérateur) qui ne peut pas prendre au physgun et les props des joueurs et les véhicules ? Ce tutoriel vous expliquera comment autoriser cela.


Avant de commencer, je rappelle que ce tutoriel ne concerne que ULX (et non FAdmin), c'est-à-dire la fonction ply:GetUserGroup().


Si après avoir bien suivi le tutoriel vous rencontrez encore des problèmes, laissez un commentaire en dessous mais si c'est juste que vous n'arrivez pas à porter les véhicules, vérifiez que le groupe précédemment configuré est bien les permissions dans la configuration de votre Car Dealer.
J'utilise tout au long de ce tutoriel Sublime Text, bien évidemment cela n'influence en rien le tutoriel. Je crée également durant ce tutoriel le groupe "moderateur", car c'est souvent le groupe que l'on fait qui pose les problèmes.
PS : "moderateur" et non pas "modérateur" car je n'aime pas les accents, c'est toujours dangereux en programmation.

Après l'installation d'ULX et d'ULIB (ULX ne marche pas sans sa bibliothèque Ulib), il est important de redémarrer votre serveur puis d'aller dans data->ulib. Vous retrouverez le fichier groups.txt, que vous pourrez directement modifier avec votre éditeur de texte.


Si tout se passe bien, vous verrez ceci :

[​IMG]

Voilà comment ce "code" (si on peut appeler ça comme ça) se compose. Pensez à descendre un peu du fichier car les droits superadmin sont assez longs (si vous n'avez pas les mêmes droits que les miens ce n'est pas un soucis).
On a donc le nom "superadmin" (nom du groupe) puis, après un début d'accolade, une ligne "allow" avec encore un début d'accolade. À l'intérieur de celles-ci se trouvent plusieurs dizaines de droits : ceux que vous aurez à attribuer. Ils sont faciles à comprendre : "ulx slay" octroie le droit de "slay" (tuer) des personnes, "ulx addgroup" permet de créer des groupes,.... Ensuite, nous avons un "inherit_from" et nous reviendrons plus tard dessus. Ne faites pas attention aux autres lignes, du style "can_target". Nous ne nous attarderons pas dessus car ce n'est pas le but ici.

Nous allons donc créer notre groupe modérateur avec, par exemple, le droit de slap/slay/kick/ban une personne (uniquement), comme ceci :

[​IMG]

Simple non ? Une question reste en tête : que veut-dire "inherit_from" ?
En effet, sur cette image, j'ai mis un "héritage" du groupe admin. Ce qui veut donc dire que le groupe modérateur hérite des fonctionnalités d'admin, qui sont, si vous regardez le groupe "admin" dans ce fichier, nombreuses !

Alors cette ligne, on pourrait l'enlever ?
Et non. Ne vous inquiétez pas, on va faire en sorte que le modérateur hérite des fonctionnalités d'admin qui seront..... vides...

Mais c'est quoi l'intérêt alors ?
C'est Garry's Mod qui le veut. Garry's Mod considère que les groupes capables de porter des véhicules ou des props des autres joueurs au Physics Gun soit les groupes "admin" et "superadmin". Pas d'autres, uniquement ceux-là. Du coup, il faut faire passer notre groupe "moderateur" comme un groupe "admin" pour pouvoir aussi bouger les entités des autres joueurs. Pensez donc à faire comme l'image au dessus en rajoutant la ligne "inherit_from" "admin".

Maintenant, nous avons tout ! Le seul problème, c'est que le groupe "moderateur" a plein de fonctionnalités qu'il a prélevé à "admin", et ça nous le voulons pas... La solution est très simple :
Dans le groupe admin, vous prenez toutes les lignes comprises entre les accolades de allow, soit toutes les fonctions "ulx ...." et vous rajoutez tout à la suite dans superadmin.
De ce fait, le groupe superadmin aura tous ces droits :

[​IMG]

Et le groupe admin ne sera autorisé à .... rien, vu que allow contient des accolades vides comme ceci :

[​IMG]

Maintenant, le groupe "moderateur" (et même superadmin) qui tente de prélever les fonctionnalités de "admin" le fait. Mais vu qu'il n'a aucune fonction particulière, il n'hérite de rien du tout : il a cependant gagné le droit de bouger les véhicules, props des autres joueurs. Pour pouvoir bouger les joueurs au Physics Gun, il faut simplement rajouter la ligne "ulx physgunplayer" dans..... allow de votre groupe (soit ici dans le groupe moderateur).

Hériter du groupe admin reste la solution la plus simple, la plus efficace, la plus pratique à ce jour pour permettre à des groupes de noms différents d'avoir les mêmes fonctionnalités que ce dernier.