Перейти к содержанию
Авторизация  
SambukaRes

RaidBossSpawn

Рекомендуемые сообщения

Добрый день. Подскажите в чем проблема может быть,не выводит список обычных рейдбоссов. Открывает команду .boss ,но там пусто

package ai;

import javolution.text.TextBuilder;
import scripts.commands.IVoicedCommandHandler;
import scripts.commands.VoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.mysql.Close;
import net.sf.l2j.mysql.Connect;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.sf.l2j.L2DatabaseFactory;

public class RaidBossSpawnManager implements IVoicedCommandHandler {

    private static final int[] BOSSES = {29001, 29006, 29014, 29019, 29020, 29022, 29028, 29045, 25102};
                                  // QueenAnt, Core, Orfen, Antharas, Baium, Zaken, Valakas, Frintezza
    private static final String [] VOICED_COMMANDS = {"boss"};

    @Override
    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) {
        if (activeChar == null) {
            return false;
        }
        if (command.startsWith("boss")) {
            NpcHtmlMessage boss = new NpcHtmlMessage(5);
            TextBuilder html = new TextBuilder("<html><body><br>");
            html.append("<html><title>RespawnBoss</title><body><br><center>");
            html.append("<table width=256>");
            html.append("<tr><td><font color=\"9CC300\">Имя Рейд Босса</font></td>");
            html.append("<td><font color=\"9CC300\">Статус</font></td></tr>");
            for (int bossid : BOSSES) {
                Connect con = null;
                PreparedStatement st = null;
                ResultSet rs = null;
                try {
                  con = L2DatabaseFactory.get();
                  con.setTransactionIsolation(1);
                  st = con.prepareStatement("SELECT spawn_date, status FROM raidboss_spawnlist WHERE boss_id=?");
                  st.setInt(1, bossid);
                  rs = st.executeQuery();
                  if(rs.next()) {
                    int gstatus = rs.getInt("status");
                    long respawn = rs.getLong("spawn_date");
                    html.append("<tr><td><font color=\"FF0000\">" + BossName(bossid) + "</font></td>");
                    switch(gstatus)
					{
                      case 1:
                        html.append("<td><font color=\"008000\">Жив</font>" + "<br1></td></tr>");
                        break;
                      case 0:
                        if (System.currentTimeMillis() < respawn) {
                            int hours = (int) ((respawn - System.currentTimeMillis()) / 1000 / 60 / 60);

                                int mins = (int) (((respawn - (hours * 60 * 60 * 1000)) - System.currentTimeMillis()) / 1000 / 60);
                                html.append("<td><font color=\"FFFFFF\">Респавн:</font><font color=\"32C332\"> " + hours + " ч. " + mins + " мин.</font><br1></td></tr>");
                        }
                        break;
                      default:
                        html.append("<td><font color=\"FFFFFF\">Атакуют</font>" + "<br1></td></tr>");
                    }
                  }
                } catch (SQLException var10) {
                  ;
                } finally {
                  Close.CSR(con, st, rs);
                }
            }

            html.append("</table><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>");
            html.append("</center></body></html>");

            boss.setHtml(html.toString());
            activeChar.sendPacket(boss);
            return true;
        }
        return false;
    }
    
    public String getDescription(String command) {
        if (command.equals("boss")) {
            return "Показать статус Эпик Босов";
        }
        return null;
    }
    
    @Override
    public String[] getVoicedCommandList() {
        return VOICED_COMMANDS;
    }
    
    public static void main(String[] args) {
        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new RaidBossSpawnManager());
    }
	
	public static final String BossName(int id)
	{
	  switch (id) {
	  
	    case 25102:
	      return "Халява";
	  }
	  return "null";
	}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, SambukaRes сказал:

Добрый день. Подскажите в чем проблема может быть,не выводит список обычных рейдбоссов. Открывает команду .boss ,но там пусто


package ai;

import javolution.text.TextBuilder;
import scripts.commands.IVoicedCommandHandler;
import scripts.commands.VoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.mysql.Close;
import net.sf.l2j.mysql.Connect;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.sf.l2j.L2DatabaseFactory;

public class RaidBossSpawnManager implements IVoicedCommandHandler {

    private static final int[] BOSSES = {29001, 29006, 29014, 29019, 29020, 29022, 29028, 29045, 25102};
                                  // QueenAnt, Core, Orfen, Antharas, Baium, Zaken, Valakas, Frintezza
    private static final String [] VOICED_COMMANDS = {"boss"};

    @Override
    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) {
        if (activeChar == null) {
            return false;
        }
        if (command.startsWith("boss")) {
            NpcHtmlMessage boss = new NpcHtmlMessage(5);
            TextBuilder html = new TextBuilder("<html><body><br>");
            html.append("<html><title>RespawnBoss</title><body><br><center>");
            html.append("<table width=256>");
            html.append("<tr><td><font color=\"9CC300\">Имя Рейд Босса</font></td>");
            html.append("<td><font color=\"9CC300\">Статус</font></td></tr>");
            for (int bossid : BOSSES) {
                Connect con = null;
                PreparedStatement st = null;
                ResultSet rs = null;
                try {
                  con = L2DatabaseFactory.get();
                  con.setTransactionIsolation(1);
                  st = con.prepareStatement("SELECT spawn_date, status FROM raidboss_spawnlist WHERE boss_id=?");
                  st.setInt(1, bossid);
                  rs = st.executeQuery();
                  if(rs.next()) {
                    int gstatus = rs.getInt("status");
                    long respawn = rs.getLong("spawn_date");
                    html.append("<tr><td><font color=\"FF0000\">" + BossName(bossid) + "</font></td>");
                    switch(gstatus)
					{
                      case 1:
                        html.append("<td><font color=\"008000\">Жив</font>" + "<br1></td></tr>");
                        break;
                      case 0:
                        if (System.currentTimeMillis() < respawn) {
                            int hours = (int) ((respawn - System.currentTimeMillis()) / 1000 / 60 / 60);

                                int mins = (int) (((respawn - (hours * 60 * 60 * 1000)) - System.currentTimeMillis()) / 1000 / 60);
                                html.append("<td><font color=\"FFFFFF\">Респавн:</font><font color=\"32C332\"> " + hours + " ч. " + mins + " мин.</font><br1></td></tr>");
                        }
                        break;
                      default:
                        html.append("<td><font color=\"FFFFFF\">Атакуют</font>" + "<br1></td></tr>");
                    }
                  }
                } catch (SQLException var10) {
                  ;
                } finally {
                  Close.CSR(con, st, rs);
                }
            }

            html.append("</table><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>");
            html.append("</center></body></html>");

            boss.setHtml(html.toString());
            activeChar.sendPacket(boss);
            return true;
        }
        return false;
    }
    
    public String getDescription(String command) {
        if (command.equals("boss")) {
            return "Показать статус Эпик Босов";
        }
        return null;
    }
    
    @Override
    public String[] getVoicedCommandList() {
        return VOICED_COMMANDS;
    }
    
    public static void main(String[] args) {
        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new RaidBossSpawnManager());
    }
	
	public static final String BossName(int id)
	{
	  switch (id) {
	  
	    case 25102:
	      return "Халява";
	  }
	  return "null";
	}
}

 

Заверни пожалуйста в споил !

Тав в низу у тебя они не записаны, потому и не показует !!!

Спойлер

package ai;

import javolution.text.TextBuilder;
import scripts.commands.IVoicedCommandHandler;
import scripts.commands.VoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.mysql.Close;
import net.sf.l2j.mysql.Connect;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.sf.l2j.L2DatabaseFactory;

public class RaidBossSpawnManager implements IVoicedCommandHandler {

    private static final int[] BOSSES = {29001, 29006, 29014, 29019, 29020, 29022, 29028, 29045, 25102};
                                  // QueenAnt, Core, Orfen, Antharas, Baium, Zaken, Valakas, Frintezza
    private static final String [] VOICED_COMMANDS = {"boss"};

    @Override
    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) {
        if (activeChar == null) {
            return false;
        }
        if (command.startsWith("boss")) {
            NpcHtmlMessage boss = new NpcHtmlMessage(5);
            TextBuilder html = new TextBuilder("<html><body><br>");
            html.append("<html><title>RespawnBoss</title><body><br><center>");
            html.append("<table width=256>");
            html.append("<tr><td><font color=\"9CC300\">Имя Рейд Босса</font></td>");
            html.append("<td><font color=\"9CC300\">Статус</font></td></tr>");
            for (int bossid : BOSSES) {
                Connect con = null;
                PreparedStatement st = null;
                ResultSet rs = null;
                try {
                  con = L2DatabaseFactory.get();
                  con.setTransactionIsolation(1);
                  st = con.prepareStatement("SELECT spawn_date, status FROM raidboss_spawnlist WHERE boss_id=?");
                  st.setInt(1, bossid);
                  rs = st.executeQuery();
                  if(rs.next()) {
                    int gstatus = rs.getInt("status");
                    long respawn = rs.getLong("spawn_date");
                    html.append("<tr><td><font color=\"FF0000\">" + BossName(bossid) + "</font></td>");
                    switch(gstatus)
					{
                      case 1:
                        html.append("<td><font color=\"008000\">Жив</font>" + "<br1></td></tr>");
                        break;
                      case 0:
                        if (System.currentTimeMillis() < respawn) {
                            int hours = (int) ((respawn - System.currentTimeMillis()) / 1000 / 60 / 60);

                                int mins = (int) (((respawn - (hours * 60 * 60 * 1000)) - System.currentTimeMillis()) / 1000 / 60);
                                html.append("<td><font color=\"FFFFFF\">Респавн:</font><font color=\"32C332\"> " + hours + " ч. " + mins + " мин.</font><br1></td></tr>");
                        }
                        break;
                      default:
                        html.append("<td><font color=\"FFFFFF\">Атакуют</font>" + "<br1></td></tr>");
                    }
                  }
                } catch (SQLException var10) {
                  ;
                } finally {
                  Close.CSR(con, st, rs);
                }
            }

            html.append("</table><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>");
            html.append("</center></body></html>");

            boss.setHtml(html.toString());
            activeChar.sendPacket(boss);
            return true;
        }
        return false;
    }
    
    public String getDescription(String command) {
        if (command.equals("boss")) {
            return "Показать статус Эпик Босов";
        }
        return null;
    }
    
    @Override
    public String[] getVoicedCommandList() {
        return VOICED_COMMANDS;
    }
    
    public static void main(String[] args) {
        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new RaidBossSpawnManager());
    }
	
	public static final String BossName(int id)
	{
	  switch (id) {
	  
	    case 25102:
	      return "Халява"; //продолжаешь список
           case 29001:
              return "QueenAnt"; 
           case 29006:
             return "Core"; //допишешь остальных по примеру этом.
	  }
	  return "null";
	}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так я пытаюсь взять список с raidboss_spawnlist , а не с grandboss. У меня прописан халява,но он не высветился.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

потому что данные в бд не обновляются, ибо метод закоменчен в ядре

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...