"> Foro - Chat Color en un comando en Ayuda y soporte - Page 1 of 1
Marzo 28, 2024, 09:28:17 am
Visitante


Autor Tema:  Chat Color en un comando  (Leído 4807 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Febrero 13, 2015, 05:20:23 pm

BILLIlike




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Programador | Juego Minecraft, Productor en ULR.
  • Actividad

  • 0%
  • Logros

Más información

Buenas, pues he pensado en hacer un comando para cambiar el color del chat.

Quiero que al usar:
/i + mensaje, se escriba: Mensaje.

He preguntado en el foro de Bukkit pero ninguna respuesta que me pueda ayudar. Espero su respuesta. Muchas Gracias.

Un saludo.
BILLIlike.


Linkback: https://minecraftmin.net/index.php?topic=8393.0


Respuesta #1 Febrero 15, 2015, 11:18:42 pm

khmdev




  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Supondré que sabes programar en Java y el funcionamiento básico de Bukkit. Podrías hacerlo así:
Código: [Seleccionar]
public boolean onCommand(CommandSender sender, Command cmd, String label,
String[] args) {

if(cmd.getName().equalsIgnoreCase("i")){

String cadena="";

for(String s: args){ //Une todos los parámetros como si fuera una única cadena
cadena+=s+" ";
}

for(Player pl: Bukkit.getOnlinePlayers()){// Recorre todos los usuarios conectados
//Enviara un mensaje tipo:
//usuario> Mensaje

pl.sendMessage(ChatColor.GOLD //código de color
+sender.getName()+"> "+cadena);
}
}
}

También si quieres generalizar un poco y que el usuario pueda usar todos los códigos de color puedes hacerlo así:
 
Código: [Seleccionar]
for(Player pl: Bukkit.getOnlinePlayers()){// Recorre todos los usuarios conectados


pl.sendMessage(ChatColor.GOLD //código de color
+sender.getName()+"> "+
ChatColor.translateAlternateColorCodes('&',cadena)
//convierte los códigos de color en el suyo propio
);
}

De este modo usando el comando:
/i &1ho&2la

Todos los usuarios recibirán:
khmdev> hola

(El código esta escrito a ojo, puede contener algún error)
Un saludo!




Respuesta #2 Febrero 16, 2015, 03:42:57 pm

BILLIlike




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Programador | Juego Minecraft, Productor en ULR.
  • Actividad

  • 0%
  • Logros

Más información

A ver, realmente no sé si es lo que me has explicado, pero igual, te comento. Quiero hacer que al usar /i + mensaje. Todo después del /i salga en amarillo...


Respuesta #3 Febrero 16, 2015, 07:57:00 pm

Sargock




  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Perdona, diría que no te había entendido.
Si ahora te he entendido, lo que planteas es:
/i <Mensaje>
y que el mensaje salga de color amarillo para todos los usuarios.
Código: [Seleccionar]
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if(cmd.getName().equalsIgnoreCase("i"))
{
if(args.lenght == 0)
{
Player AllPlayers = Bukkit.getOnlinePlayers();
AllPlayers.sendMessage("<" + sender.getName() + "> " + ChatColor.GOLD + args[0])
}
else
{
sender.sendMessage(ChatColor.GREY + "/i <Mensaje>")
}
}
return false;
}
Si entiendes lo que te he escrito, tal vez te interesaría más esta otra opción.
Código: [Seleccionar]
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if(cmd.getName().equalsIgnoreCase("i"))
{
if(args.lenght == 1)
{
if(args[0].equalsIgnoreCase("amarillo"))
{
Player AllPlayers = Bukkit.getOnlinePlayers();
AllPlayers.sendMessage("<" + sender.getName() + "> " + ChatColor.GOLD + args[1])
}
else if(args[0].equalsIgnoreCase("azul"))
{
Player AllPlayers = Bukkit.getOnlinePlayers();
AllPlayers.sendMessage("<" + sender.getName() + "> " + ChatColor.BLUE + args[1])
}
if(args[0].equalsIgnoreCase("rojo"))
{
Player AllPlayers = Bukkit.getOnlinePlayers();
AllPlayers.sendMessage("<" + sender.getName() + "> " + ChatColor.RED + args[1])
}
}
else
{
sender.sendMessage(ChatColor.GREY + "/i <Mensaje>")
}
}
return false;
}

De este modo, le estarías dando un mayor uso al comando, y a la vez este te permitiría distintos usos de colores.
Si no era esto, lo que planteabas, comentalo.

PD: El código, lo he escrito aquí mismo, por lo tanto puede contener algún que otro error de sintaxis.
« Última modificación: Febrero 17, 2015, 07:21:40 pm por Sargock »




Respuesta #4 Febrero 16, 2015, 10:57:13 pm

gaelito




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    MinecraftMin, el mejor foro Español!
  • Actividad

  • 0%
  • Logros

Más información

Se lo que quieres decir, pero parece que nadie lo entiende... A ver si yo acierto xD
Lo que quieres es que si alguien pone "/i Hola esto es un mensaje de prueba" En el chat aparezca:
Hola esto es un mensaje de prueba (No lo pongo en amarillo porque si no no se ve.. Es amarillo, ¿ok?)
También puede que sea así
<NickDelJugador> Hola esto es un mensaje de prueba


Si en vez de poner "Hola esto es un mensaje de prueba" pones "Hola" que te salga:
Hola
Es eso lo que quieres no?

Hay un problema... estoy un poco verde en plugins y me costaría hacerte el comando :/
MinVip en MinPlay.


Respuesta #5 Febrero 17, 2015, 03:22:02 pm

BILLIlike




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Programador | Juego Minecraft, Productor en ULR.
  • Actividad

  • 0%
  • Logros

Más información

Exactamente, pero que se te ponga sólo atí, es decir, al acabar el mensaje que no se te quede el color amarillo. Sólo al usar /i + mensaje.




Respuesta #6 Febrero 17, 2015, 07:18:27 pm

Sargock




  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Échale una ojeada a mi anterior post, por lo que se ve te había entendido bien.





Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

question
Como puedo poner dos rangos en el chat y tabulador

Iniciado por jusebaxtian

1 Respuestas
4664 Vistas
Último mensaje Mayo 21, 2019, 11:19:39 pm
por McYoinet
question
Comando /spawnmob en el Plugin Essentials.

Iniciado por Omicronrg9

2 Respuestas
2642 Vistas
Último mensaje Julio 10, 2015, 05:16:58 pm
por Omicronrg9
xx
¿Como hago para que en un Mundo el usuario no pueda usar un comando?

Iniciado por LucaDragon5

4 Respuestas
2510 Vistas
Último mensaje Mayo 21, 2019, 11:45:57 pm
por McYoinet