Aller au contenu

[Skript Friends (AMIS)] [Interractif]


Messages recommandés

Posté(e)

Bonjour à Tous et à Toutes,

Aujourd'hui j'aimerais savoir si il était possible de me créer un Skript Friends Interactif

Je m'y connais un peu en Skript mais pas au point de faire ce Skript.

J'aimerai que ce soit formulé un peu comme ces photos :

[ATTACH=full]2822[/ATTACH]

Voila donc je vous explique:

le [✔] en vert sert à annoncer que le joueur est connecter

le [✘] l'inverse (déconnecté)

le [✘] (après le pseudo) sert à supprimer cet ami

le [❂] sert à envoyer un message privé à l'ami

et enfin le [★] sert à voir les infos

Quand on clique sur [★] cela affiche:

[ATTACH=full]2823[/ATTACH]

Voila j'espère que ce skript est possible et pas trop compliqué en espèrant aussi qu'il est bien expliquer sinon je vous en remercie infinimant si vous y arrivez!!

et aussi si vous pouvez faire en sorte qu'on puisse avoir que 5 amis ce serait Génial!

Sinon je ne plagiat pas sur FantaBobWorld on a chacuns ses envies et ses manières différentes de créer ce genre de chose

Posté(e)

Le problème est que je ne voudrai pas un skript comme ça mais un skript interractif (quand on fais /friends ca mets ce que j'ai mis ci-dessus)

non pas un inventaire personnaliser sinon merci quand même

Posté(e)

Il faudrait faire le script en JSON, ça prendrait pas mal de temps en plus avec le formatage assez spécial que tu veux ^^

Néanmoins, je vais essayer de te le faire !

Posté(e)

Ok :) Au passage si quelqu'un possède un launcher permettant de lancer des "faux comptes", ça me permettrai de tester le skript ^^ (je ne parvient pas à en trouver sur le net qui m'inspire confiance :/)

Posté(e)

Vraiment désolé, j'ai presque terminé ton skript, mais malheureusement je ne pourrai pas le finir avant demain. J'ai fini toute la partie esthétique, ce qui a vraiment été long, et j'ai bien attaqué le fond, mais il me reste la partie message privé, et surtout l'affichage de la liste des amis. Je te préviens d'ores et déjà que ce skript ne nécessite que l'addon SkQuery, en plus de Skript bien sûr.

Voilà, bonne nuit et encore désolé de ne pas avoir réussi à tenir mes délais :confused:

  • J'aime 1
Posté(e)
Vraiment désolé, j'ai presque terminé ton skript, mais malheureusement je ne pourrai pas le finir avant demain. J'ai fini toute la partie esthétique, ce qui a vraiment été long, et j'ai bien attaqué le fond, mais il me reste la partie message privé, et surtout l'affichage de la liste des amis. Je te préviens d'ores et déjà que ce skript ne nécessite que l'addon SkQuery, en plus de Skript bien sûr.

Voilà, bonne nuit et encore désolé de ne pas avoir réussi à tenir mes délais :confused:

Tu le ferat Partager ?? Et vraiement un grand bravo et merci à toi de prendre tu temps pour la comuniter

  • J'aime 1
Posté(e)

Donc du coup à partir de maintenant rien de bien sorcier. Tu vas dans ton poste, tu vas dans éditer, et selectionnes l'étiquette résolu.

Posté(e)

RAH MAIS C'EST PAS VRAI !

Bon bin pas de co toute cette journée :( Pardonnez-moi :'(

Du coup j'ose plus rien promettre, et en plus ce soir on fête un anniv donc...

Il me reste que le mp à faire, et j'ai un soucis imprévu :x donc bon ptet à ce soir o:3

Posté(e)

OOK c'est bon ^^ Voici enfin le fameux code :D

 

#-------------------------------------------
# Plug-in friend interractif
# Si modifications, attention à bien enregistrer en UTF-8
# by blueblasterz
#-------------------------------------------

options:
  logo: &6[&4ⒻⓇⒾⒺⓃⒹⓈ&6]
  BoxHaut: &1========&4ⒻⓇⒾⒺⓃⒹⓈ&1========
  BoxBas: &1===========&e✠✠✠&1===========
  V: §7[§2✔§7] # Les 4 options suivante, code couleur avec § car réutilisées dans des commandes mc
  X: §7[§4✘§7]
  MP: §7[§b❂§7]
  BoutonInfo: §7  [§e★§7] # Je trouve que l'étoile ne rend pas très bien, voir pour la changer ^^
  Info: &1========&aⒾⓃⒻⓄⓈ&1=========|&6Tu peux avoir maximum 5 amis|&6Il est interdit de faire de la PUB à ses amis|&6Interdit d'insulter|&a/friends commands &6pour voir les commandes|&1========================
  Commande: &1======&aⒸⓄⓂⓂⒶⓃⒹⒺⓈ&1======|&a/friends add <nom du joueur>&6 pour ajouter un ami|&a/friends del <nom du joueur>&6 pour supprimer un ami|&a/friends list&6 pour voir vos amis|&a/friends commands&6 pour afficher cette liste|&a/friends info&6 pour obtenir des infos sur le plug-in||&6Dans toutes ces commandes, vous pouvez remplacer /friends par /friend ou /f|&1========================
  Limite: 5 # nombre maximum d'ami


function getSize(a: texts) :: number: #Renvoie la taille d'une variable liste (il faut changer "texts" par le type de contenu de la variable liste)
  loop {_a::*}:
    add 1 to {_n}
  return {_n}


command /friends [<text=info>] [<text>]:
  aliases: /f, /friend # modifiable
  description: &6Commande principale du plug-in friend. Info en cliquant sur l'étoile ou /friends info # modifiable
  trigger:
    message ""

    if arg 1 is "info" or "help" or "i" or "h" or "?": # beaucoup de possibilitées parce que c'est cool :D (modifiable)
      set {_infoBrut} to "{@Info}" # car sinon la ligne suivante ne marche pas
      set {_info::*} to {_infoBrut} split by "|" # on sépare toutes les lignes
      loop getSize({_info::*}) times:
        message "%{_info::%loop-value%}%"
      stop trigger

    else if arg 1 is "commands" or "command" or "c": # pareil que au dessus, modifiable
      set {_commandeBrut} to "{@Commande}"
      set {_commande::*} to {_commandeBrut} split by "|"
      loop getSize({_commande::*}) times:
        message "%{_commande::%loop-value%}%"
      stop trigger

    else if arg 1 is "list" or "l":
      message "{@BoxHaut}"
      if {friends.%player's uuid%::*} is not set:
        message "&c Vous n'avez pas d'ami :'("
        message "{@BoxBas}"
        execute console command "/tellraw %player% ["""",{""text"":""{@BoutonInfo} "",""clickEvent"":{""action"":""run_command"",""value"":""/friends info""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§aCliques pour avoir plus d'info sur le plug-in""}]}}}]"
        stop trigger
      loop {friends.%player's uuid%::*}:
        set {_p} to loop-value parsed as player
        if loop-value parsed as player is online:
          execute console command "/tellraw %player% ["""",{""text"":""{@V}&a %loop-value% ""},{""text"":""{@MP}"",""clickEvent"":{""action"":""run_command"",""value"":""/f mp %loop-value%""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§6Clique ici pour envoyer un message privé à§a %loop-value%""}]}}},{""text"":""{@X}"",""clickEvent"":{""action"":""run_command"",""value"":""/f del %loop-value%""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§6Clique ici pour §4§lsupprimer§a %loop-value%§6 de ta liste d'ami""}]}}}]"
          # message "{@V}&a %loop-value% {@MP}{@X}"
        else:
          execute console command "/tellraw %player% ["""",{""text"":""{@X}&4 %loop-value% ""},{""text"":""{@X}"",""clickEvent"":{""action"":""run_command"",""value"":""/f del %loop-value%""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§6Clique ici pour §4§lsupprimer§a %loop-value%§6 de ta liste d'ami""}]}}}]"
      message "{@BoxBas}"
      execute console command "/tellraw %player% ["""",{""text"":""{@BoutonInfo} "",""clickEvent"":{""action"":""run_command"",""value"":""/friends info""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§aCliques pour avoir plus d'info sur le plug-in""}]}}}]"

    else if arg 1 is "add":
      if {friends.%player's uuid%.nb} is {@Limite}:
        message "{@logo}&c Vous avez atteint le nombre maximum d'ami"
        stop trigger
      loop all players:
        set {_tempP} to "%loop-player%"
        if arg 2 is {_tempP}:
          set {ok} to "1"
          exit loop
      if {ok} is not "1":
        message "{@logo}&c Veuillez préciser un joueur en ligne"
        stop trigger
      if "%arg 2%" = "%player%":
        message "{@logo}&c Vous ne pouvez pas vous ajouter vous même en ami !"
        stop trigger
      message "{@logo}&a Demande envoyée à %arg 2% !"
      send "{@logo} &c%player%&6 souhaite vous ajouter à ses amis !" to arg 2 parsed as player
      send "{@logo} &6Voulez-vous ajouter %player% à votre liste d'ami ?" to arg 2 parsed as player
      execute console command "/tellraw %arg 2% ["""",{""text"":""{@V} "",""clickEvent"":{""action"":""run_command"",""value"":""/friends ✠yes %player%""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§aClique pour accepter l'invitation de §6%player%""}]}}},{""text"":""{@X}"",""clickEvent"":{""action"":""run_command"",""value"":""/friends ✠no %player%""},""hoverEvent"":{""action"":""show_text"",""value"":{""text"":"""",""extra"":[{""text"":""§cClique pour refuser l'invitation de §6%player%""}]}}}]"  
      set {friends.derniereDemande.%arg 2%} to "%player%"
      set {ok} to "-1"

    else if arg 1 is "del":
      loop {friends.%player's uuid%::*}:
        if arg 2 = "%loop-value%":
          set {ok2} to "1"
          exit loop
      if {ok2} is not "1":
        message "{@logo}&a %arg 2%&c ne fait pas partie de vos amis !"
        stop trigger
      message "{@logo}&a %arg 2%&a a été supprimé de vos amis !"
      send "{@logo}&a %player%&c vous a supprimé de ses amis !" to arg 2 parsed as player
      set {friends.%player's uuid%.nb} to {friends.%player's uuid%.nb}-1
      set {friends.%arg 2 parsed as player's uuid%.nb} to {friends.%arg 2 parsed as player's uuid%.nb}-1
      remove "%arg 2%" from {friends.%player's uuid%::*}
      remove "%player%" from {friends.%arg 2 parsed as offline player's uuid%::*}# Si arg 2 co, ne fait rien
      remove "%player%" from {friends.%arg 2 parsed as player's uuid%::*}# Si arg 2 déco, ne fait rien
      set {ok2} to "-1"

    else if arg 1 is "✠yes": # avec un ✠ pour empecher (relativement) un joueur IG d'utiliser la commande
      set {_p} to "%player%"
      set {_p2} to arg 2 parsed as player
      if {friends.derniereDemande.%{_p}%} is not set: # vérification si une demande à bien été donnée
        message "{@logo}&6 Vous n'avez aucune demande d'ami :(" # RT SI C TRIST :'(
        stop trigger
      add "%arg 2%" to {friends.%player's uuid%::*} # On ajoute le nom du demandeur dans la liste d'ami du joueur invité...
      add "%player%" to {friends.%arg 2 parsed as player's uuid%::*} # ... et vice-versa
      set {friends.%player's uuid%.nb} to {friends.%player's uuid%.nb}+1
      set {friends.%arg 2 parsed as player's uuid%.nb} to {friends.%arg 2 parsed as player's uuid%.nb}+1
      message "{@logo}&a %arg 2%&6 a été ajouté à votre liste d'ami !" # esthetique
      send "{@logo}&a %player% a accepté votre demande d'ami !" to arg 2 parsed as player # esthetique
      delete {friends.derniereDemande.%player%} # on supprime la demande. Notez qu'il ne peut y avoir qu'une seule demande à la fois.

    else if arg 1 is "✠no": # avec un ✠ pour empecher (relativement) un joueur IG d'utiliser la commande
      message "{@logo} &cDemande d'ami de &a%arg 2%&c refusée !"
      send "{@logo}&a%player%&c a refusé votre demande d'ami !" to arg 2 parsed as player
      delete {friends.derniereDemande.%player%}

    else if arg 1 is "mp": #
      if "%arg 2%" = "%player%":
        message "{@logo}&c Vous ne pouvez pas vous envoyer un message privé à vous même !"
        stop trigger
      loop {friends.%player's uuid%::*}:
        if arg 2 = "%loop-value%":
          set {ok3} to "1"
          exit loop
      if {ok3} is not "1":
        message "{@logo}&a %arg 2%&c ne fait pas partie de vos amis"
        stop trigger
      loop all players:
        set {_tempP} to "%loop-player%"
        if arg 2 is {_tempP}:
          set {ok4} to "1"
          exit loop
      if {ok4} is not "1":
        message "{@logo}&a %arg 2%&c n'est pas en ligne"
        stop trigger
      message "{@logo}&6 le prochain message que vous écrirez dans le chat sera visible uniquement par &a%arg 2%"
      set {friends.%player%.formp.%arg 2 parsed as player%} to "1"
      set {ok3} to "-1"
      set {ok4} to "-1"

    else:
      message "{@logo}&c Argument non reconnu. /friends help pour plus d'info"


on chat:
  loop all players:
    if {friends.%player%.formp.%loop-player%} is "1":
      cancel event
      message "&6[&aMe&6] &4-> &6[&a%loop-player%&6] &r:&e %message%"
      send "&6[&a%player%&6] &4-> &6[&aMe&6] &r:&e %message%" to loop-player
      delete {friends.%player%.formp.%loop-player%}
      stop loop

Bon ok il est pas très decrit, c'est pas bien et tout et tout... :confused:

@yodaxkill si j'ai oublié quelque chose ou bien que tout ne marche pas, n'hésite pas à me le dire :) (entre autre je n'ai pas pu tester la limite de 5 amis, parce que 5 fenêtre Mc en même temps... :eek:, mais en théorie ça marche ^^)

Voilà ^^

 

PS: @Random tu parle à qui ?? :-3

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.