Hqristone Posté(e) le 3 décembre 2017 Posté(e) le 3 décembre 2017 Bonjour ! Alors voilà, j'aimerais savoir s'il est possible d'obtenir un skript pour pouvoir désactiver le pvp entre des membres d'un même groupe. ( exemple : Moi et mon ami sommes dans le groupe "Default" mais nous voulons ne pas pouvoir se taper ) Donc j'aimerais que les gens du même groupe de peuvent pas se taper mais peuvent taper les gens des autres groupes, je sais que c'est assez difficile à comprendre, mais merci de votre aide, cordialement, Hqristone.
noftaly Posté(e) le 3 décembre 2017 Posté(e) le 3 décembre 2017 Tu peux le faire avec des permissions :) Donc on damage: if victim has permission "Default": if attacker has permission "Default": cancel event message "&cTu ne peux pas faire ça !" to attacker
Hqristone Posté(e) le 3 décembre 2017 Auteur Posté(e) le 3 décembre 2017 Salut, merci beaucoup pour ton idée ! J'y avais pas pensé :3
Hqristone Posté(e) le 3 décembre 2017 Auteur Posté(e) le 3 décembre 2017 Il y a juste un petit problème : enfaite, je veux faire en sorte que les membres du groupes "default" ne peuvent pas se taper mais qu'ils peuvent taper les autres groupes. Mais si je met le skript que tu m'as proposé, même en changeant bien les perms et tout, personne ne peut se pvp. :x
Hqristone Posté(e) le 3 décembre 2017 Auteur Posté(e) le 3 décembre 2017 Non j'me suis dé-op pour test, je pensais la même chose.
noftaly Posté(e) le 3 décembre 2017 Posté(e) le 3 décembre 2017 Sinon, tu peux utiliser des variables, et du coup, en fonction du grade du joueur tu set la variable à qqchose Avec Permission ex : [spoiler=Pex] on join: set {_uuid} to {_p}'s uuid set {_Grade} to single value "users.%{_uuid}%.group" get of "plugins/PermissionsEx/permissions.yml" replace all "[" with "" in {_Grade} replace all "]" with "" in {_Grade} if {_Grade} is "ton grade": set {grade.%player%} to "Default" else if {_Grade} is "ton grade 2": set {grade.%player%} to "VIP" #etc. Avec Group manager : [spoiler=GM] on join: set {_monde} to {_p}'s world set {_a} to value "users.%{_p}%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" if {_a} is "ton grade": set {grade.%player%} to "Default" else if {_a} is "ton grade 2": set {grade.%player%} to "VIP" #etcà Et ensuite tu fais le code que j'avais donne plus haute, et tu remplace les perms par les variables :)
Hqristone Posté(e) le 3 décembre 2017 Auteur Posté(e) le 3 décembre 2017 Hum, le truc c'est que je suis pas très codage, j'apprend peu à peu, je sais faire certaines choses, mais pas beaucoup. Donc, j'utilise GM, tu vas m'traiter mais, j'remplace par quelle variable pour le groupe default par exemple ? :x Comme ça ? on join: set {_monde} to {_p}'s world set {_a} to value "users.%{_p}%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" if {_a} is "Default": set {grade.%player%} to "Default" else if {_a} is "Essien": set {grade.%player%} to "Essien" #etc on damage: if victim has permission "{_a}": if attacker has permission "{_a}": cancel event message "&cTu ne peux pas faire รงa !" to attacker
noftaly Posté(e) le 3 décembre 2017 Posté(e) le 3 décembre 2017 C'est presque ça ! Sauf que dans l'événement "on damage", après il ne faut pas mettre {_a} mais {grade.%attacker%} et {grade.%victim%} on join: set {_monde} to {_p}'s world set {_a} to value "users.%{_p}%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" if {_a} is "Default": set {grade.%player%} to "Default" else if {_a} is "Essien": set {grade.%player%} to "Essien" #etc on damage: if {grade.%victim%} is "ton grade": if {grade.%attacker%} is "ton grade": cancel event message "&cTu ne peux pas faire ça !" to attacker que tu peux ensuite simplifier en: on damage: if {grade.%victim%} is {grade.%attacker%}: cancel event message "&cTu ne peux pas faire ça !" to attacker
Hqristone Posté(e) le 3 décembre 2017 Auteur Posté(e) le 3 décembre 2017 Je vais tester ça, j'ten dirais des nouvelles !
Hqristone Posté(e) le 6 décembre 2017 Auteur Posté(e) le 6 décembre 2017 Re-Salut, la dernière fois j'ai du partir, mais bon, le skript se reload sans erreur, je suis bien d'accord avec toi, mais ne fonctionne pas, je me suis mis en default avec mon ami, et on peut quand même se frapper :x.
noftaly Posté(e) le 6 décembre 2017 Posté(e) le 6 décembre 2017 Ah... bah je ne sais pas trop alors ^^ Essaye ca (c'est juste du débug): on join: set {_monde} to {_p}'s world set {_a} to value "users.%{_p}%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" if {_a} is "Default": set {grade.%player%} to "Default" else if {_a} is "Essien": set {grade.%player%} to "Essien" wait 2 seconds broadcast "&cGrade : &6&l%{grade.%player%}%" #etc on damage: if {grade.%victim%} is {grade.%attacker%}: cancel event message "&cTu ne peux pas faire ça !" to attacker puis tu me dis quel message s'affiche quand tu rejoins le serveur
Hqristone Posté(e) le 6 décembre 2017 Auteur Posté(e) le 6 décembre 2017 Ok, je vais essayer, merci beaucoup d'ton aide ^^ Donc, quand je me connecte il me met "Grade : <none>", je croyais que c'était peut-être parce que j'étais en default, donc j'me suis manuadd et j'ai réessayé, mais toujours rien : http://prntscr.com/hjwo9q. Je pense à un problème avec l'exportation des variables, il faut pas un add-on spécial ou autre?
noftaly Posté(e) le 6 décembre 2017 Posté(e) le 6 décembre 2017 Normalement non, sinon t'aurai eu des erreurs... Je ne sais pas trop parce que j'avais suivis le tuto de @Blackmine57 , donc le code n'est pas de moi :/
Blackmine57 Posté(e) le 6 décembre 2017 Posté(e) le 6 décembre 2017 Salut, Ok, je vais essayer, merci beaucoup d'ton aide ^^ Donc, quand je me connecte il me met "Grade : <none>", je croyais que c'était peut-être parce que j'étais en default, donc j'me suis manuadd et j'ai réessayé, mais toujours rien : http://prntscr.com/hjwo9q. Je pense à un problème avec l'exportation des variables, il faut pas un add-on spécial ou autre? Change set {_monde} to {_p}'s world par set {_monde} to player's world Et évite les double poste, merci.
Hqristone Posté(e) le 6 décembre 2017 Auteur Posté(e) le 6 décembre 2017 J'ai double-post ? Autant pour moi j'ai pas fait attention, désolé :x
Blackmine57 Posté(e) le 6 décembre 2017 Posté(e) le 6 décembre 2017 J'ai double-post ? Autant pour moi j'ai pas fait attention, désolé :x C'est pas grave x) @noftaly on a envoyé un message en même temps xD 1
noftaly Posté(e) le 6 décembre 2017 Posté(e) le 6 décembre 2017 Du coup ca va donner [spoiler=nouveau code sans erreurs] on join: set {_monde} to player's world set {_a} to value "users.%player%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" if {_a} is "Default": set {grade.%player%} to "Default" else if {_a} is "Essien": set {grade.%player%} to "Essien" wait 2 seconds broadcast "&cGrade : &6&l%{grade.%player%}%" #etc on damage: if {grade.%victim%} is {grade.%attacker%}: cancel event message "&cTu ne peux pas faire ça !" to attacker 1
Hqristone Posté(e) le 6 décembre 2017 Auteur Posté(e) le 6 décembre 2017 Hum : http://prntscr.com/hjxjwx, j'ai bien changé le skript comme convenu.
Blackmine57 Posté(e) le 6 décembre 2017 Posté(e) le 6 décembre 2017 Mets sa dans ton code et fais /grade et envoie un screen x) function RecupGrade(p: player) :: string: set {_monde} to {_p}'s world set {_grade} to value "users.%{_p}%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" return {_grade} command /grade: trigger: send "%RecupGrade(%player%)%" 1
Messages recommandés