Помогите Отслеживание чата

ka4okRUS

Активный участник
Пользователь
Баллы
61
Напишите как код:
Если игрок ввёл в чат "М" {
},
 
Java:
@EventHandler
public void onMessage(AsyncPlayerChatEvent e) {
    Player p = e.getPlayer();
    String msg = e.getMessage();

    if(msg.equalsIgnoreCase("M")) {

    }
}
 
Java:
@EventHandler
public void onMessage(AsyncPlayerChatEvent e) {
    Player p = e.getPlayer();
    String msg = e.getMessage();

    if(msg.equalsIgnoreCase("M")) {

    }
}
Спасибо
Java:
@EventHandler
public void onMessage(AsyncPlayerChatEvent e) {
    Player p = e.getPlayer();
    String msg = e.getMessage();

    if(msg.equalsIgnoreCase("M")) {

    }
}
А если он мне нужен в onJoin()?
 
Спасибо

А если он мне нужен в onJoin()?
Может,
Java:
private static List<Player> justLogged = new ArrayList<>();

@EventHandler
public void onJoin(PlayerJoinEvent e) {
        // Код, много кода

      e.getPlayer().sendMessage("Скажите М");
        justLogged.add(e.getPlayer());
        Bukkit.getScheduler.scheduleSyncDelayedTask(plugin, new Runnable {
                @Override
                public void run() {
                        // Игрок уже не считается только что зашедшим
                        if (justLogged.contains(e.getPlayer()) {

                              justLogged.remove(e.getPlayer());
                                e.getPlayer().sendMessage("Вы не успели. Как жаль.");
                        }
                }
        }, 0, 200);
}

@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
        if (justLogged.contains(e.getPlayer()) {
                justLogged.remove(e.getPlayer());
                e.getPlayer().sendMessage("Вы успели! #FUB");
        }
}

Этот код даст игроку 10 секунд (200 / 20), чтобы сразу после захода написать в чат что-нибудь. Там уже думаю сделаешь проверку на текст. К примеру, justLogged.contains(e.getPlayer()) && e.getMessage.equals("М")
 
JavaScript:
If (!list.contains(p.getName()) {
  p.sendMessage("Выберите пол М или Ж")
/*Если игрок написал М*/
   If (...) {
  p.sendMessage("Ваш пол Мужской")
 
JavaScript:
If (!list.contains(p.getName()) {
  p.sendMessage("Выберите пол М или Ж")
/*Если игрок написал М*/
   If (...) {
  p.sendMessage("Ваш пол Мужской")
Это в ивенте чата...
Где у тебя хранится инфа о полах(странное слово...) игроков?
 
JavaScript:
If (!list.contains(p.getName()) {
  p.sendMessage("Выберите пол М или Ж")
/*Если игрок написал М*/
   If (...) {
  p.sendMessage("Ваш пол Мужской")
Java:
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerJoinEvent;

import java.util.HashMap;

public class Listen implements Listener {

    HashMap<Player, Character> genders = new HashMap<>();

    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        if (!genders.containsKey(e.getPlayer())) {
            e.getPlayer().sendMessage("Выберите пол: М или Ж");
        }
    }

    @EventHandler
    public void onChat(AsyncPlayerChatEvent e) {
        if (!genders.containsKey(e.getPlayer())) {
            // Если игрок выбрал мужской пол
            if (e.getMessage().equalsIgnoreCase("м")) {
                genders.put(e.getPlayer(), 'м');
                e.getPlayer().sendMessage("Ваш пол Мужской");
                return;
            }
            // Если игрок выбрал женский пол
            if (e.getMessage().equalsIgnoreCase("ж")) {
                genders.put(e.getPlayer(), 'ж');
                e.getPlayer().sendMessage("Ваш пол Женский");
            }
        }
    }
}
 
Назад
Верх