Aller au contenu

Pigeon Voyageur (demande)


Messages recommandés

Posté(e)

CHAAAWLUT.

J'écris ce sujet afin de faire appel à l'aide aux skripteurs !

En ce moment, je créé un serveur MMORPG (avec système de races & classes,..)

Et j'ai eu l'idée de mettre une option, il s'agirait de remplacer le système de message privé (/msg)

par un système de message par pigeon voyageur !

Alors, j'ai quelques petites connaissances dans le domaine du Skript, (je sais lire le skript hein.)

Mais je voudrais que le système fonctionne de cette manière :

Un joueur souhaite envoyer un message à quelqu'un, il fait /message [pseudo] [texte]

 

Et tout simplement, lorsque le message sera envoyé, le receveur aura donc la notification dans le t'chat et en même temps, un papier lui sera donné.

Il doit tout simplement clique droit avec le papier et ainsi le message apparaît dans le t'chat

(le papier disparaît dès qu'il clique bien sûr.)

(Optionnel, mais probablement utile, d'ajouter le /socialspy pour le staff, vu qu'il s'agit d'un système de message privé qui devrait être vérifié par la modération ^^)

Voilà tout ^^, j'espère que vous sauriez m'aider ! Je suis désolé si ce que je demande est trop gros mais je suis à fond sur ce projet et j'aimerai qu'il soit aussi le + RP possible, d'où le fait que je remplace le système de message par un autre + rp et qui correspond à vieille l'époque :p.

Je vous remercie de bien vouloir m'aider ^^.

Je vous souhaite une agréable semaine !

Posté(e)

J'espère que ça fonctionne, désolé si c'est pas très opti :x J'avais pas le temsp d'opti à fond, si t'as une erreur dit la

options:
   msglire: lol
   vousavezenvoyeetc: VOus avez envoyez, ce que tu veux à dire quand il a envoyyé le bordel

command /message <player> <text>:
   trigger:
       if arg 1 is not player:
           if {msgattente.%arg 1%} is not set:
               send "{@vousavezenvoyeetc}" to player
               give 1 paper named "&aMessage de &b%player%" with lore "1" to arg 1
               set {msgattente.%arg 1%} to 1
               set {msg.%{msgattente.%arg 1%}%.%arg 1%} to arg 2
               add player to {msgattente2.%arg 1%::*}
           else:
               send "{@vousavezenvoyeetc}" to player
               add 1 to {msgattente.%arg 1%}
               give 1 paper named "&aMessage de &b%player%" with lore "%{msgattente.%arg 1%}%" to arg 1
               set {msgattente.%arg 1%} to 1

on click with paper:
   set {_t.%player%} to 0
   loop {msgattente2.%arg 1%::*}:
       loop {msgattente.%arg 1%}:
           if player's tool is a paper named "&aMessage de &b%loop-value%" with lore "%{_t.%player%}%":
               send "{@msglire} : %{msg.%{msgattente.%player%}%.%player%}%"
           else:
               add 1 to {_t.%player%}

  • J'aime 1
Posté(e)
J'espère que ça fonctionne, désolé si c'est pas très opti :x J'avais pas le temsp d'opti à fond, si t'as une erreur dit la

options:
   msglire: lol
   vousavezenvoyeetc: VOus avez envoyez, ce que tu veux à dire quand il a envoyyé le bordel

command /message <player> <text>:
   trigger:
       if arg 1 is not player:
           if {msgattente.%arg 1%} is not set:
               send "{@vousavezenvoyeetc}" to player
               give 1 paper named "&aMessage de &b%player%" with lore "1" to arg 1
               set {msgattente.%arg 1%} to 1
               set {msg.%{msgattente.%arg 1%}%.%arg 1%} to arg 2
               add player to {msgattente2.%arg 1%::*}
           else:
               send "{@vousavezenvoyeetc}" to player
               add 1 to {msgattente.%arg 1%}
               give 1 paper named "&aMessage de &b%player%" with lore "%{msgattente.%arg 1%}%" to arg 1
               set {msgattente.%arg 1%} to 1

on click with paper:
   set {_t.%player%} to 0
   loop {msgattente2.%arg 1%::*}:
       loop {msgattente.%arg 1%}:
           if player's tool is a paper named "&aMessage de &b%loop-value%" with lore "%{_t.%player%}%":
               send "{@msglire} : %{msg.%{msgattente.%player%}%.%player%}%"
           else:
               add 1 to {_t.%player%}

Salut, merci pour ta réponse et ton aide, mais lors que j'importe le script sur le serveur, un message indique :

Can't loop {msgattente.%the 1st argument%} because it's only a single value (message.sk, line 23: loop {msgattente.%arg 1%}:')

Cependant, je peux envoyer un message, le receveur reçoit bien le papier, mais lorsqu'il fait clique droit, rien ne se passe ^^

Posté(e)

options:
   msglire: lol
   vousavezenvoyeetc: VOus avez envoyez, ce que tu veux à dire quand il a envoyyé le bordel

command /message <player> <text>:
   trigger:
       if arg 1 is not player:
           if {msgattente.%arg 1%} is not set:
               send "{@vousavezenvoyeetc}" to player
               give 1 paper named "&aMessage de &b%player%" with lore "1" to arg 1
               set {msgattente.%arg 1%} to 1
               set {msg.%{msgattente.%arg 1%}%.%arg 1%} to arg 2
               add player to {msgattente2.%arg 1%::*}
           else:
               send "{@vousavezenvoyeetc}" to player
               add 1 to {msgattente.%arg 1%}
               give 1 paper named "&aMessage de &b%player%" with lore "%{msgattente.%arg 1%}%" to arg 1
               set {msgattente.%arg 1%} to 1

on click with paper:
   set {_t.%player%} to 0
   loop {msgattente2.%arg 1%::*}:
       if player's tool is a paper named "&aMessage de &b%loop-value-1%" with lore "%{_t.%player%}%":
           send "{@msglire} : %{msg.%{msgattente.%player%}%.%player%}%"
       else:
           add 1 to {_t.%player%}

 

C'est bon là ?

Posté(e)

command /message <player> <text>:
   trigger:
       if arg 1 is a player:
           if arg 2 is set:
               if {messageall} is not set:
                   set {messageall} to 1
               else:
                   add 1 to {messageall}
               add "%arg-2%" to {MsgJoueurs::*}
               add "%player%" to {Sender::*}
               give 1 paper named "Message de %player%" with lore "%{messageall}%" to argument 1

on click with paper:
   if the line 1 of the lore of event-item contains a number:
       set {_nummessage} to line 1 of the lore of event-item
       send "%{MsgJoueurs::%{_nummessage}%}% - De %{Sender::%{_nummessage}%}%"
       delete event-item

Dis moi les erreurs qu'il y a dedans (A coup sûr il y en a)

Posté(e)
on click with paper:
   send "ok"

essaye sa dit moi si sa te send bien ok

Oui, ça me met bien "ok"

 

 

command /message <player> <text>:
   trigger:
       if arg 1 is a player:
           if arg 2 is set:
               if {messageall} is not set:
                   set {messageall} to 1
               else:
                   add 1 to {messageall}
               add "%arg-2%" to {MsgJoueurs::*}
               add "%player%" to {Sender::*}
               give 1 paper named "Message de %player%" with lore "%{messageall}%" to argument 1

on click with paper:
   if the line 1 of the lore of event-item contains a number:
       set {_nummessage} to line 1 of the lore of event-item
       send "%{MsgJoueurs::%{_nummessage}%}% - De %{Sender::%{_nummessage}%}%"
       delete event-item

Dis moi les erreurs qu'il y a dedans (A coup sûr il y en a)

Oui, c'est écrit :

"event-item stack can't be deleted/cleared (message.sk, line 17: delete event-item')"

Je peux envoyer une lettre mais rien ne se passe lorsque je fais clique droit avec le papier.

Posté(e)
command /message <player> <text>:
   trigger:
       if arg 1 is a player:
           if arg 2 is set:
               if {messageall} is not set:
                   set {messageall} to 1
               else:
                   add 1 to {messageall}
               add "%arg-2%" to {MsgJoueurs::*}
               add "%player%" to {Sender::*}
               give 1 paper named "Message de %player%" with lore "%{messageall}%" to argument 1

on click with paper:
   if the line 1 of the lore of event-item contains a number:
       set {_nummessage} to line 1 of the lore of event-item
       send "%{MsgJoueurs::%{_nummessage}%}% - De %{Sender::%{_nummessage}%}%"
       remove event-item from player's inventory

Posté(e)
command /message <player> <text>:
   trigger:
       if arg 1 is a player:
           if arg 2 is set:
               if {messageall} is not set:
                   set {messageall} to 1
               else:
                   add 1 to {messageall}
               add "%arg-2%" to {MsgJoueurs::*}
               add "%player%" to {Sender::*}
               give 1 paper named "Message de %player%" with lore "%{messageall}%" to argument 1

on click with paper:
   if the line 1 of the lore of event-item contains a number:
       set {_nummessage} to line 1 of the lore of event-item
       send "%{MsgJoueurs::%{_nummessage}%}% - De %{Sender::%{_nummessage}%}%"
       remove event-item from player's inventory

Il n'y a plus d'erreurs, cependant rien ne se passe lorsque je fais clique droit avec le papier...

  • 2 semaines après...
  • 2 semaines après...
Posté(e)
S'il vous plait, quelqu'un sait comment faire ?

ça fait depuis un moment que je cherche :(

J'essaye le skript jte redit quoi, jvais éditer ce message ci aucun autres n'est poster

 

 

EDIT:

 

command /message <player> <text>:
   trigger:
       if arg 1 is a player:
           if arg 2 is set:
               if {messageall} is not set:
                   set {messageall} to 1
               else:
                   add 1 to {messageall}
               add "%arg-2%" to {MsgJoueurs::*}
               add "%player%" to {Sender::*}
               give 1 paper named "Message de %player%" with lore "%{messageall}%" to argument 1

on click with paper:
   if line 1 of the lore of event-item parsed as integer > 0:
       set {_nummessage} to line 1 of the lore of event-item
       send "%{MsgJoueurs::%{_nummessage}%}% - De %{Sender::%{_nummessage}%}%"
       remove event-item from player's inventory

Code tester

×
×
  • 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.