kerarsi Posté(e) le 11 juillet 2017 Posté(e) le 11 juillet 2017 Salut, J'ai besoin d'aide car je n'ai pas trouvé de skript permettant de séparé un chat par Zone . Quand je dis zone , c'est Rayon :) J'aimerai que avec cette command : / setchat <Nom du chat> <Delimitation par Rayon> . Merci pour toute les personne qui arrive a réalisé ce skript ! :) [OPTIONNEL]Ps: si il n'y a pas de chat qui a ete set sa met le chat par défaut. De plus , je suis débutant en skript et je ne suis pas sur que sela est possible :D
Skripting Posté(e) le 11 juillet 2017 Posté(e) le 11 juillet 2017 command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> 1
kerarsi Posté(e) le 11 juillet 2017 Auteur Posté(e) le 11 juillet 2017 Salut ! Je vient de tester et sa fonctionne nikel :) Je t'en remercie . Le seul probleme c'est que évidemment j'ai oublier de préciser de demander une commande pour delete une zone . Et aussi si tu a le temps devant toi de faire une commande qui va send une list de zone qui a ete set, sa serai sympa. _____ CDLT Toute mes remerciements les plus sincères :)
LeCraftDeOuf Posté(e) le 12 juillet 2017 Posté(e) le 12 juillet 2017 Voila voila command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 2%.location} clear {chat.%arg 2%.ray} remove arg 2 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." #Pour mettre une permission: #command /test: #permission: ta_perm #permission message: message_si_le_joueur_as_pas_la_perm #trigger: #CODE N'hésite pas s'il à des erreurs :) [EDIT] jpeut tous te mettre dans une seul et même commande stv. 1
kerarsi Posté(e) le 12 juillet 2017 Auteur Posté(e) le 12 juillet 2017 Hey, Vous etes tout simplement des génies x) Je testerai sa et je te dirais sa ;) Et il y a une question qui me trotte dans ma tete : Peut t'on intégré un chat de team ? , je m'explique lorsque qu'on commence son chat par "@" sa fait un message global dans la zone , et lorsque l'on met pas de "@" sa affiche le message juste a notre team ^^ . Source : https://skript-mc.fr/forum/threads/chat-par-team.10178/ Code : [spoiler=Code] on chat: {team.%player%} is set if first character of message is "@": loop all players: {team.%loop-player%} is set send "%{team.%player%}% %player% &7> &2@&f%subtext of message from characters 2 to (the length of message)%" to loop-player else: loop all players: {team.%loop-player%} is {team.%player%} send "%{team.%player%}% %player% &7> &f%message%" to loop-player Faudrait plutot fusionner sa jai essayer par moi même et je dois avouer que sa a été la catastrophe x) ___ Sinon, merci quand même ! __ PS : Pour les commandes , ne les changes pas x) je l'ai aime deja comme sa ^^ [Edit] : aie , il y a actuellement 4 erreur qui a ete afficher dans la console : [19:17:06 ERROR]: This command doesn't have any arguments (CHATT.sk, line 24: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%."') [19:17:06 ERROR]: The command doesn't have a 2nd argument (CHATT.sk, line 33: clear {chat.%arg 2%.location}') [19:17:06 ERROR]: The command doesn't have a 2nd argument (CHATT.sk, line 34: clear {chat.%arg 2%.ray}') [19:17:06 ERROR]: The command doesn't have a 2nd argument (CHATT.sk, line 35: remove arg 2 from {areas::*}') [19:17:06 INFO]: [skript] Encountered 4 errors while reloading CHATT.sk! Je sais pas a quoi cet du , peut être qu'il faut un addon ? :/ Mes addon : WildSkript et SkQuery-lime 1.11 (car mon server est actuellement en 1.9 )
ShiRzoOa Posté(e) le 12 juillet 2017 Posté(e) le 12 juillet 2017 D'après l'erreur, dans la commande il n'y a pas l'information disant qu'il y a possibilité d'insérer des arguments. ajoute un <text> ou <integer> suivant ce que tu veux après command ! 1
kerarsi Posté(e) le 12 juillet 2017 Auteur Posté(e) le 12 juillet 2017 Salut, Je vais tenter ta solution mais par contre pour le /zones pas besoin d'ajouter un argument puisque sa va direct me send toute la liste de Chat qui a ete set avec les coordonnées , L'erreur ne doit pas venit de la , enfin je c'est pas trop ^^ je donne des hypothèse x) 1
ShiRzoOa Posté(e) le 12 juillet 2017 Posté(e) le 12 juillet 2017 This command doesn't have any arguments (CHATT.sk, line 24: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%."') veut dire que la commande ou l'effet à la ligne 24 n'a aucun arguments, donc tu ne peux pas utiliser %arg-2%. Regarde les lignes indiquées, puis remonte jusqu'à trouver l'erreur car sois tu n'as simplement pas vu, sois Skript à un sérieux problème. Je ne sais pas quel est le code du /zones, mais sinon envoies-le et je te dirai où changer (ou si le plugin bug... beaucoup ?) ^^ 1
kerarsi Posté(e) le 12 juillet 2017 Auteur Posté(e) le 12 juillet 2017 Ah oui je vois , mais ducoup on est bloqué ^^ [spoiler=Code : /zones] #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%." ___ [spoiler=Code Original] command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 2%.location} clear {chat.%arg 2%.ray} remove arg 2 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." 1
Invité Posté(e) le 12 juillet 2017 Posté(e) le 12 juillet 2017 Ah oui je vois , mais ducoup on est bloqué ^^ [spoiler=Code : /zones] #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%." ___ [spoiler=Code Original] command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%arg 2%.ray}% au coordonée :%{chat.%arg 2%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 2%.location} clear {chat.%arg 2%.ray} remove arg 2 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." Salut, dans ton code pour lister les zones on peut y voir: &7(Rayon de :%{chat.%arg 2%.ray}% or, dans la commande /zones, il n'y a pas de arg 2 ! Je n'ai pas le temp de corriger le probleme mais au moins en voila la source ;) bonne soirée
LeCraftDeOuf Posté(e) le 12 juillet 2017 Posté(e) le 12 juillet 2017 Petit erreur : je regle sa: #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%loop-value%.ray}% au coordonée :%{chat.%loop-value%.location}%." Voila voila si tu as encore des fautes pense à le dire :) 1
kerarsi Posté(e) le 12 juillet 2017 Auteur Posté(e) le 12 juillet 2017 Tout est nikel 0 erreur :) command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%loop-value%.ray}% au coordonée :%{chat.%loop-value%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 1%.location} clear {chat.%arg 1%.ray} remove arg 1 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." Mille merci a toute les personnes qui ont contribué a mon post !!! Sinon il y aurai pas moyen de fusionner ce skript avec un autre skript qui consiste a quand on commence son chat par un "@" sa affiche le message a toute les teams qui sont dans la zone et si on met pas ce symbole "@" sa affiche je le message a sa team qui est dans la zone . Le skript de team (@) on chat: {team.%player%} is set if first character of message is "@": loop all players: {team.%loop-player%} is set send "%{team.%player%}% %player% &7> &2@&f%subtext of message from characters 2 to (the length of message)%" to loop-player else: loop all players: {team.%loop-player%} is {team.%player%} send "%{team.%player%}% %player% &7> &f%message%" to loop-playe Je pense que c'est compliqué a réalisé et si c'est trop long ne vous prenez pas la tête ! :) __ merci a vous ! UP?
LeCraftDeOuf Posté(e) le 13 juillet 2017 Posté(e) le 13 juillet 2017 J'essaye de te faire sa [Regarde bien jvais édit se post quand j'aurai fini] 1
kerarsi Posté(e) le 13 juillet 2017 Auteur Posté(e) le 13 juillet 2017 _________ Merci :D !!! _________ Edit: Au passage LeCraftDeOuf tu veut une rémunération ? Meme si je suis en difficulté derrière je pourrais me débrouiller ;)
LeCraftDeOuf Posté(e) le 14 juillet 2017 Posté(e) le 14 juillet 2017 _________ Merci :D !!! _________ Edit: Au passage LeCraftDeOuf tu veut une rémunération ? Meme si je suis en difficulté derrière je pourrais me débrouiller ;) Je suis désolé :c je ne peut pas m'occuper de ton soucis, j'ai trop de boulot en ce moment (Et non pas de rémunération chez moi)
kerarsi Posté(e) le 14 juillet 2017 Auteur Posté(e) le 14 juillet 2017 Okey et merci pour l'aide que tu ma apporté . Pour ce tout ce qui veulent le skript : [spoiler=Skript] command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%loop-value%.ray}% au coordonée :%{chat.%loop-value%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 1%.location} clear {chat.%arg 1%.ray} remove arg 1 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." ___ Grand merci a : LeCraftDeOuf , PsYZiiK , ShiRzoOa , Stevie78 et bien sur a Blackmine57 qui ma mis ma premiere sanction pour double poste x) ps: je trouve ce skript original :p 1
MGamer91 Posté(e) le 14 juillet 2017 Posté(e) le 14 juillet 2017 Okey et merci pour l'aide que tu ma apporté . Pour ce tout ce qui veulent le skript : [spoiler=Skript] command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%loop-value%.ray}% au coordonée :%{chat.%loop-value%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 1%.location} clear {chat.%arg 1%.ray} remove arg 1 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." ___ Grand merci a : LeCraftDeOuf , PsYZiiK , ShiRzoOa , Stevie78 et bien sur a Blackmine57 qui ma mis ma premiere sanction pour double poste x) ps: je trouve ce skript original :p J'adore le merci à Blackmine57 pour ma premiere sanction xD vous m'avez tué x) 1
LeCraftDeOuf Posté(e) le 15 juillet 2017 Posté(e) le 15 juillet 2017 Si jamais personne te le fait je te fait sa pour demain :) 1
kerarsi Posté(e) le 15 juillet 2017 Auteur Posté(e) le 15 juillet 2017 Bonsoir ou bonjour , sur internet le temps n'existe pas x) Alors merci de me proposé sa parce que j'ai tenté de demandé a une personne qui je ne citerais pas le nom x) mais la personne a refusé . Ducoup je suis coincé mais tu tombe a PIC :) ! ___ Merci pour ta proposition, a demain ;)
LeCraftDeOuf Posté(e) le 16 juillet 2017 Posté(e) le 16 juillet 2017 command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} on chat: if first character of message is "@": if {team.%player%} is set: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "&2[GLOBAL] &a%{team.%player%}% &a%player% &7> &2@&f%subtext of message from characters 2 to (the length of message)%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] else: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value loop all players: {team.%loop-player%} is {team.%player%} distance between {chat.%loop-value-1%.location} and loop-player <= {chat.%loop-value-1%.ray} add loop-player to {_temp::*} exit loop {_zone} is set send "%{_temp::*}%" cancel event send "&2[Team] &a%player% &7> &f%subtext of message from characters 1 to (the length of message)%" to {_temp::*} # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%loop-value%.ray}% au coordonée :%{chat.%loop-value%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 1%.location} clear {chat.%arg 1%.ray} remove arg 1 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." Dit le moi s'il tu as le moindre soucis 1
kerarsi Posté(e) le 16 juillet 2017 Auteur Posté(e) le 16 juillet 2017 command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} on chat: if first character of message is "@": if {team.%player%} is set: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "&2[GLOBAL] &a%{team.%player%}% &a%player% &7> &2@&f%subtext of message from characters 2 to (the length of message)%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] else: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value loop all players: {team.%loop-player%} is {team.%player%} distance between {chat.%loop-value-1%.location} and loop-player <= {chat.%loop-value-1%.ray} add loop-player to {_temp::*} exit loop {_zone} is set send "%{_temp::*}%" cancel event send "&2[Team] &a%player% &7> &f%subtext of message from characters 1 to (the length of message)%" to {_temp::*} # Utilisation : /SetChat <Rayon> <Nom de la zone> #Pour lister les zones command /zones: trigger: if {areas::*} is set: loop {areas::*}: send "%loop-value% &7(Rayon de :%{chat.%loop-value%.ray}% au coordonée :%{chat.%loop-value%.location}%." else: send "&cAucune zone défini." command /removechat <text>: trigger: loop {areas::*}: if loop-value is arg 1: set {_t} to true if {_t} is set: clear {chat.%arg 1%.location} clear {chat.%arg 1%.ray} remove arg 1 from {areas::*} send "&6Vous avez bien remove &2%arg 1% &6des zones." else: send "&6La zone &2%arg 1% &6n'éxiste pas." Dit le moi s'il tu as le moindre soucis MERCI , Je test sa de suite , Je te tien au courent.
kerarsi Posté(e) le 16 juillet 2017 Auteur Posté(e) le 16 juillet 2017 Salut, je vient tout juste de testé ton code mais sauf qu'il es semi fonctionnel :/ lorsque je commence mon message avec un @, sa m'affiche le message mais pas comme c'est écrit dans le "send" [spoiler=Code] &2[GLOBAL] &a%{team.%player%}% &a%player% &7> &2@&f%subtext of message from characters 2 to (the length of message)% screen 1: et lorsque je met pas de "@" sa m'affiche le message dans le chat <none> screen 2: sinon aucun erreur :) ___ CDLT
LeCraftDeOuf Posté(e) le 16 juillet 2017 Posté(e) le 16 juillet 2017 Salut, je vient tout juste de testé ton code mais sauf qu'il es semi fonctionnel :/ lorsque je commence mon message avec un @, sa m'affiche le message mais pas comme c'est écrit dans le "send" [spoiler=Code] &2[GLOBAL] &a%{team.%player%}% &a%player% &7> &2@&f%subtext of message from characters 2 to (the length of message)% screen 1: et lorsque je met pas de "@" sa m'affiche le message dans le chat <none> screen 2: sinon aucun erreur :) ___ CDLT Et tu sûr qu'il as une zone dessus ? (Sinon tu peut teamspeak ?)
Messages recommandés