Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

В разработке Алгоритм для получения очков за убийство.

Bind

Активный участник
Пользователь
Баллы
68
Всем привет,

Я по разработке плагина являюсь новичком, и не могу я придумать алгоритма для получения очков за убийство игрока и записи их в MySQL.

MySQL подключение у меня уже сделано.

Вот как я пробывал:
MySQL.java:
Код:
    private static void getInfo() {
        Statement st = null;
        ResultSet rs = null;
   
        try {
            st = conn.createStatement();
            rs = st.executeQuery("SELECT * FROM basebuilder");
       
            while (rs.next()) {
                String name = rs.getString("name");
                Integer points = rs.getInt("points");
                Integer kills = rs.getInt("kills");
                Integer deaths = rs.getInt("deaths");
           
                PlayerPoints.setInfo(name, points, kills, deaths);
            }
PlayerPoints:

Код:
    public static void addXP(Player p, int points) {
        String name = p.getName();
        Integer before = taskai.get(name);
     
        if (before != null) {
            taskai.put(name, before+points);
        } else {
            before = 0;
            taskai.put(name, points);
        }
    }
 
    public static void setInfo(String name, int points, int kills, int deaths) {
        taskai.put(name, points);
        killai.put(name, kills);
        mirtys.put(name, deaths);
    }
Main:

Код:
    @EventHandler
  public void onKillPoints(PlayerDeathEvent e) {   
  if (e.getEntity().getKiller() != null)
  {
      int points = 0;
      points += 1;
      PlayerPoints.addXP(e.getEntity().getKiller(), points);
  }

Пытался найти решение в дгугих плагинах, которые имеют похожие функции, но не помогло.
P.S: Ошибок не кидает.

Спасибо!
 
Ну а в MySQL то почему не записал данные при убийстве? И конкретно напиши, что ты хочешь
 
(5.4) Флуд, офтопик
хммм.... убидительно мне как раз нужен человек который умеет писать плагины , кто хочет можете добавляться в скайп elion.elisa , а так же нужны программисты (только настоящие , так как я знаю как выести всю правду из человека:))
 
Код:
    public static void insertInfo(String name, Integer points, Integer kills, Integer deaths) {
        PreparedStatement update = null;
       
        try {
            update = conn.prepareStatement("UPDATE basebuilder SET points=?, kills=?, death=? WHERE name=?");
            update.setInt(1, points);
            update.setInt(2, kills);
            update.setInt(3, deaths);
            update.setString(4, name);
           
            int row = update.executeUpdate();
           
            if(row==0) {
                PreparedStatement insert = null;
               
                try {
                    insert = conn.prepareStatement("INSERT INTO basebuilder SET name=?, points=?, kills=?, deaths=?");
                    insert.setString(1, name);
                    insert.setInt(2, points);
                    insert.setInt(3, kills);
                    insert.setInt(4, deaths);
                    insert.executeUpdate();
                } finally {
                    if (insert != null) {
                        try { insert.close(); } catch (SQLException e) {}
                    }
                }
            }
        } catch (Exception e) {
            Main.log.warning("[CRUEL] SQL ERROR while inserting info: " + e);
        } finally {
            if (update != null) {
                try { update.close(); } catch (SQLException e) {}
            }
        }
    }
 

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

Назад
Верх