"> Foro - [Ayuda] Que esta mal en este codigo? en Desarrollo de Plugins - Page 1 of 1
Noviembre 21, 2024, 01:47:47 pm
Visitante

Autor Tema: [Ayuda] Que esta mal en este codigo?  (Leído 3575 veces)

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

Agosto 02, 2015, 04:31:14 pm

ElCreeperHD




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    BOI!
  • Actividad

  • 0%
  • Logros

Más información

Que esta mal en este codigo? estoy intentando hacer que el MOTD del servidor sea Scrimmage of player, y el player reemplazarlo por una variable String.
Código: [Seleccionar]
package me.kemecraft.scrimm;

import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.server.ServerListPingEvent;


public class ScrimmEvents implements Listener{
String player = "Test";
String MOTD = "§a§lScrimmage of ";
MOTD = MOTD.replaceAll("player", "owner");
//player.replaceAll ("player" , player);


 @EventHandler(priority=EventPriority.MONITOR)
 public void onServerListPing(ServerListPingEvent event)
 {
   event.setMotd(MOTD);;
   
 }
     }
 


Gracias  :rainbow:

Linkback: https://minecraftmin.net/index.php?topic=10904.0
public boolean isPro = true;
if (boolean isPro == true){
Bukkit.broadcastMessage(ChatColor.RED + "" + ChatColor.BOLD + "Mr_Matwin3 es pro");
}else{
public boolean isPro = true;
Bukkit.broadcastMessage(ChatColor.RED + "" + ChatColor.BOLD + "Sigo siendo pro!");}


Respuesta #1 Agosto 12, 2015, 04:16:10 am

Eliaseeg




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Probamos por lógica, pero ideamos por intuición.
  • Actividad

  • 0%
  • Logros

Más información

  • 1)Supongo que no extendiste la clase JavaPlugin, en ese caso nada funcionará.
  • 2) No sé si ese será todo el código de tu clase, pero veo supongo que no registraste los eventos en el onEnable.
Sobre lo de remplazarlo player a string supongo que sería algo utilizando valueOf, o algo así, no sé, repito, si no podemos ver la clase, el error log o algo así, no podemos hacer mucho por ti.



Respuesta #2 Agosto 24, 2015, 12:37:41 pm

Alfomega




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Ingeniero informático
  • Actividad

  • 0%
  • Logros

Más información

El fallo está en que nada tiene sentido... Tienes variables que no usas, el replaceall no va a hacer nada (revisa como funciona la función).
Por otro lado, si lo he entendido bien, el MOTD es el mensaje que aparece antes de entrar al servidor y este no puede ser modificado con el nombre del jugador dinámicamente, puesto que no ha entrado, como mucho con el de alguien que está dentro.
https://i.imgur.com/cFX0ssZ.png



Respuesta #3 Agosto 24, 2015, 11:12:53 pm

Sargock




  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Como ya te ha dicho Alfomega, deberías revisar el código.

Por otro lado, si lo he entendido bien, el MOTD es el mensaje que aparece antes de entrar al servidor y este no puede ser modificado con el nombre del jugador dinámicamente, puesto que no ha entrado, como mucho con el de alguien que está dentro.

Realmente lo que ElCreeperHD pide, se puede hacer. En mi caso, lo que hago es guardar en config/mysql las IP's de los usuarios, y les asocio su nick, para que cuando hagan el "ServerListPing", y detecte una IP guardada, les ponga su nick.

Con esto, deberías entender como se hace;
Código: [Seleccionar]
@EventHandler
public void onServerListPing(ServerListPingEvent event) {

String ip = "" + event.getAddress();
String motd = "Bienvenid@ <player>";
        String defaultmotd = "Bienvenid@ al servidor";

try {
event.setMotd(motd.replace("<player>", getConfig().getString(ip)));

} catch (Exception e) {
event.setMotd(defaultmotd);
 }

}

PD: De modo, que si el usuario no ha entrado nunca, no es posible que aparezca su nick, o eso creo.
Saludos, Sargock



Respuesta #4 Agosto 25, 2015, 11:05:45 am

Alfomega




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Ingeniero informático
  • Actividad

  • 0%
  • Logros

Más información

Realmente lo que ElCreeperHD pide, se puede hacer. En mi caso, lo que hago es guardar en config/mysql las IP's de los usuarios, y les asocio su nick, para que cuando hagan el "ServerListPing", y detecte una IP guardada, les ponga su nick.
Es buena idea, pero eso está bien para un servidor pequeño en el que entre poca gente, porque en uno grande se hace relativamente inviable, además de que la ip puede cambiar, entre otras cosas.




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

xx
A nadie le interesa el codigo?

Iniciado por ChikenGamer

19 Respuestas
9924 Vistas
Último mensaje Mayo 01, 2014, 01:36:17 am
por EvilGooD
xx
[Serie] 60 Segundos de Codigo - Miniejemplos que te servirán!

Iniciado por Jesus997

15 Respuestas
8611 Vistas
Último mensaje Noviembre 05, 2014, 11:53:06 pm
por Yeye
exclamation
Necesito codigo de spawns para un minijuego

Iniciado por cadox8

3 Respuestas
2293 Vistas
Último mensaje Agosto 28, 2014, 04:34:03 pm
por concuncan
question
Ayuda con el uso de la API!

Iniciado por ElCreeperHD

0 Respuestas
1653 Vistas
Último mensaje Abril 24, 2015, 07:18:12 pm
por ElCreeperHD