Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Счетчик

Тема в разделе "Разработка плагинов для новичков", создана пользователем MrElitePro, 6 мар 2016.

Статус темы:
Закрыта.
  1. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Заходит игрок,в чат пишет зашел игрок такой-то #55555.Проблема у меня возникла в том что хочу сделать через .replace("%nomer%", [а вот тут не знаю что поставть,попробывал this.текст,а чет ругается,а что еще-то можно взять не пойму])
    Помогите если есть возможность
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Возможно как-то?
     
  4. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Почитайте документацию по функциям String.replace, String.replaceFirst, String.replaceAll и пр. Я уверен, вы найдёте ответ на свой вопрос, если я его верно понял.
     
  5. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Ну вроде мне String не надо,а для Int надо
     
  6. Puchkoff

    Puchkoff Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    ThePuchk0ff
    Integer.toString
     
  7. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Код:
    String.valueOf(Число);
    Это преобразует число в строку. Если надо наоборот, то - Integer.parseInt(Строка)
     
  8. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Да,спасибо,но чет у меня не удалось создать,не умею еще делать круто хехе
     
  9. second_vynder

    second_vynder Старожил Пользователь

    Баллы:
    153
    Skype:
    my.nik.vynder
    Этот метод возвращает уже строку, а не меняет число в строку. То есть необходимо нечто вроде
    Код:
    Int Counter = 0;
    Counter = String.valueOf(Counter);
    
    Либо
    Код:
    Int Counter = 0;
    Bukkit.broadcastMessage(String.valueOf(Counter));
    
     
  10. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Да что-то типа этого и возникла еще одна проблема как сделать-то вот человек зашел в конфиге должен поставиться 1,потом зашел второй человек и в конфиге уже должно смениться на 2,но у меня он либо остается на 0 либо типа кажет 1 всегда,я сделал типа что если заходишь от {nomer} + 1,но он не воспринимает
     
  11. second_vynder

    second_vynder Старожил Пользователь

    Баллы:
    153
    Skype:
    my.nik.vynder
    вообще надо при заходе проверять на уникальность методом player.hasPlayedBefore(), если ложно - прибавлять значение в конфиге, для этого его надо считать с конфига и прибавить единицу, затем ввести новое значение.
    Читай подробнее тут (Английский).
     
  12. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Не тестил, но поидее должно работать.
    Код:
    ///Main.java
    package ru.govnokod;
    
    
    import java.util.logging.Logger;
    
    import org.bukkit.Bukkit;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin
    {
        Logger log;
        static Main plugin;
       
        public Main() {
            this.log = Bukkit.getLogger();
        }
       
        public void onEnable() {
            this.log.info("[JoinNumber] By Leymooo включён!");
            Main.plugin = this;
            JoinNumber.c = this.getConfig();
            this.saveDefaultConfig();
            Bukkit.getPluginManager().registerEvents(new JoinNumber(), this);
        }
       
        public void onDisable() {
            this.log.info("[JoinNumber] отключён!");
            this.saveConfig();
        }
    }
    
    Код:
    //JoinNumber.java
    package ru.govnokod;
    
    
    import org.bukkit.Bukkit;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    
    public class JoinNumber implements Listener
    {
        Main plugin;
        static FileConfiguration c;
        public JoinNumber() {
            this.plugin = Main.plugin;
        }
    
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onJoin(final PlayerJoinEvent v) 
    {
        final Player p = v.getPlayer();
        Integer LastNumber = Integer.valueOf(plugin.getConfig().getInt("LastNumber"));
        if (!p.hasPlayedBefore()){
        for (Player players : Bukkit.getServer().getOnlinePlayers()) {
            players.sendMessage("На сервер зашёл игрок " + p.getName() + " № " + LastNumber);
            plugin.getConfig().set("LastNumber",
                    Integer.valueOf(LastNumber.intValue() + 1));
                }
            }
        }
    }
    
    
    config.yml
    Код:
    LastNumber: 0
     
  13. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Ну ты Славик красавчик,благодарю,проверю сегодня[DOUBLEPOST=1457373224,1457361269][/DOUBLEPOST]@slavik123123123 ,а вот еще вопрос? как сделать .replace(%LastNumber%, LastNumber);
    Чтобы я вог через конфиг сделать красиво оформление где будет присутствовать %LastNumber%
     
  14. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Код:
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onJoin(final PlayerJoinEvent v)
    {
        final Player p = v.getPlayer();
        Integer LastNumber = Integer.valueOf(plugin.getConfig().getInt("LastNumber"));
        if (!p.hasPlayedBefore()){
        for (Player players : Bukkit.getServer().getOnlinePlayers()) {
            final String name = p.getName();
            final String msg = plugin.getConfig().getString("join").replace("%name%", name).replace("%Number%", LastNumber.toString()).replace("&", "§");
            players.sendMessage(msg);
            plugin.getConfig().set("LastNumber",
                    Integer.valueOf(LastNumber.intValue() + 1));
                }
        }
    }
    config.yml

    Код:
    LastNumber: 0
    join: "&eНа сервер зашёл игрок &4%name%&e.&7(&6#&a%Number%&7)"
     
  15. Автор темы
    MrElitePro

    MrElitePro Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    dc
    все спасибо огромное
     
Статус темы:
Закрыта.

Поделиться этой страницей