Ir para conteúdo
  • Cadastre-se

sergiommjr

Membro
  • Total de itens

    355
  • Registro em

  • Última visita

  • Prêmios recebidos

    1

sergiommjr last won the day on Novembro 17 2022

sergiommjr had the most liked content!

1 Seguidor

Sobre sergiommjr

  • Data de Nascimento 01/08/1992

Profile Information

  • Gênero
    Masculino

Últimos Visitantes

3662 visualizações

sergiommjr's Achievements

  1. Fala Galera tudo certo preciso tirar uma duvida aqui. é possivel trazer a GK do "Essence Assasin" para o H5 [img= https://imgur.com/U5bCMXx ] como por essa barra de rolagem especificamente em uma parte do html tem como fazer no htm puro ou tem que mecher no java
  2. pra colocar o do Sarada você vai ter que aprender a adicionar MOD na Source. aconselho a procurar na area de tutorial de como aprender a adicionar MOD.
  3. qual revisão está usando amigo.
  4. obrigado meu irmao, mais nao é esse com o programa que eu estou falando vc extrai ate o L2UI e o l2viewutx nao faz isso
  5. galera eu sei que tem um programa que extrai as texturas dos arquivos .utx formatei meu pc e nao lemro o nome do programa sei que ele extrai no formato .png e .tga poderiam me mandar link do programa ou o nome pfv
  6. obrigado pela ajuda o meu erro estava sendo justamente onde por o codigo, nao era nessa parte do botao que eu deveria por, ja que nessa parte é apenas a area responsavel pelo botao kkkkkkkkkkk nas config eu adicionei e nas case do set_buff eu adicionei assim ja testei e funcionou kkkkkkkk vlw meu irmao. vou estar aqui postando o codigo total caso um dia alguem procure por isso
  7. esse codigo gera todos os htmls do npc buff, a parte responsavel pelo botao do set buff é essa if (ENABLE_BUFF_SET) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"" + bottonA + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " castBuffSet 0 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; }
  8. bom dia galera tudo certo bom estou configurando um server e nele tem um npc buff que ja veio na rev ele e configurado por um arquivo java que irei postar ai em baixo eu estou querendo fazer uma modificação dele porem como sei o minimo do minimo de java kkkk não consegui fazer a modificação a modificação consite em fazer que apenas players com level inferior a 40 consiga usar o botao " SET BUFF" que no caso ele faz um buff altomatico mudando de acordo com a classe do player. eu realmente tentei e tentei e não consegui devido ao meu baixo conhecimento de java e etc garanto que estou tentando aprender mais de momento não consegui fazer o que eu desejo entao se alguem puder ajudar eu ficaria grato /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://l2jeternity.com/>. */ package services; import static l2e.commons.util.Util.formatAdena; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import gnu.trove.list.array.TIntArrayList; import l2e.gameserver.data.parser.SkillsParser; import l2e.gameserver.database.DatabaseFactory; import l2e.gameserver.instancemanager.QuestManager; import l2e.gameserver.model.actor.Npc; import l2e.gameserver.model.actor.Player; import l2e.gameserver.model.actor.Summon; import l2e.gameserver.model.actor.instance.CubicInstance; import l2e.gameserver.model.actor.instance.PetInstance; import l2e.gameserver.model.actor.instance.ServitorInstance; import l2e.gameserver.model.actor.stat.PcStat; import l2e.gameserver.model.actor.stat.SummonStat; import l2e.gameserver.model.actor.status.PcStatus; import l2e.gameserver.model.actor.status.SummonStatus; import l2e.gameserver.model.olympiad.OlympiadManager; import l2e.gameserver.model.quest.Quest; import l2e.gameserver.model.quest.QuestState; import l2e.gameserver.model.skills.Skill; import l2e.gameserver.model.skills.SkillType; import l2e.gameserver.network.SystemMessageId; import l2e.gameserver.network.serverpackets.ActionFail; import l2e.gameserver.network.serverpackets.NpcHtmlMessage; import l2e.gameserver.network.serverpackets.SetSummonRemainTime; import l2e.gameserver.network.serverpackets.SetupGauge; public class PremiumBuffer extends Quest { private static final boolean DEBUG = false; private static void print(Exception e) { _log.warning(">>>" + e.toString() + "<<<"); if (DEBUG) { e.printStackTrace(); } } private static final String QUEST_LOADING_INFO = "PremiumBuffer"; private static final int NPC_ID = 65535; private static final String TITLE_NAME = "Shiela"; private static final boolean SMART_WINDOW = true; private static final boolean ENABLE_VIP_BUFFER = false; private static final boolean ONLY_FOR_VIP = false; private static final boolean ENABLE_BUFF_SECTION = true; private static final boolean ENABLE_SCHEME_SYSTEM = true; private static final boolean ENABLE_HEAL = true; private static final boolean ENABLE_BUFFS = true; private static final boolean ENABLE_RESIST = true; private static final boolean ENABLE_SONGS = true; private static final boolean ENABLE_DANCES = true; private static final boolean ENABLE_CHANTS = true; private static final boolean ENABLE_OTHERS = false; private static final boolean ENABLE_SPECIAL = false; private static final boolean ENABLE_CUBIC = false; private static final boolean ENABLE_BUFF_REMOVE = true; private static final boolean ENABLE_BUFF_SET = true; private static final boolean BUFF_WITH_KARMA = false; private static final boolean FREE_BUFFS = false; private static final boolean TIME_OUT = true; private static final int TIME_OUT_TIME = 10; private static final int MIN_LEVEL = 5; private static final int BUFF_REMOVE_PRICE = 110000; private static final int HEAL_PRICE = 110000; private static final int BUFF_PRICE = 40000; private static final int RESIST_PRICE = 40000; private static final int SONG_PRICE = 40000; private static final int DANCE_PRICE = 40000; private static final int CHANT_PRICE = 15000; private static final int OTHERS_PRICE = 40000; private static final int SPECIAL_PRICE = 40000; private static final int CUBIC_PRICE = 40000; private static final int BUFF_SET_PRICE = 1500000; private static final int SCHEME_BUFF_PRICE = 6500000; private static final int SCHEMES_PER_PLAYER = 3; private static final int CONSUMABLE_ID = 57; private static final int MAX_SCHEME_BUFFS = 24; private static final int MAX_SCHEME_DANCES = 12; private static final String SET_FIGHTER = "Fighter"; private static final String SET_MAGE = "Mage"; private static final String SET_ALL = "All"; private static final String SET_NONE = "None"; private String rebuildMainHtml(QuestState st) { String MAIN_HTML_MESSAGE = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32>"; String MESSAGE = ""; int td = 0; final String[] TRS = { "<tr><td height=25>", "</td>", "<td height=25>", "</td></tr>" }; final String bottonA, bottonB, bottonC; if (st.getInt("Pet-On-Off") == 1) { bottonA = "Auto Buff Pet"; bottonB = "Heal My Pet"; bottonC = "Remove Pet Buffs"; MAIN_HTML_MESSAGE += "<button value=\"NOW Pet Options\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " buffpet 0 0 0\" width=135 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } else { bottonA = "Auto Buff"; bottonB = "Heal"; bottonC = "Remove Buffs"; MAIN_HTML_MESSAGE += "<button value=\"NOW Char Options\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " buffpet 1 0 0\" width=135 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_BUFF_SECTION) { if (ENABLE_BUFFS) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Buffs I\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_buffs 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_BUFFS) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Buffs II\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_kamael 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_RESIST) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Buffs III\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_resists 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_SONGS) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Songs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_songs 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_DANCES) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Dances\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_dances 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_CHANTS) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Chants\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_chants 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_SPECIAL) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Special\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_special 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_OTHERS) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Others\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_others 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } } if (ENABLE_CUBIC) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"Cubics\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_cubic 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (MESSAGE.length() > 0) { MAIN_HTML_MESSAGE += "<BR1><table width=100% border=0 cellspacing=0 cellpadding=1><tr>" + "<td align=center><font color=696969>Buffs:</font> <font color=FFD700> 40.000 </font></td><td align=right></td></tr></table>" + "<BR1><table cellspacing=0 cellpadding=0>" + MESSAGE + "</table>"; MESSAGE = ""; td = 0; } if (ENABLE_BUFF_SET) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"" + bottonA + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " castBuffSet 0 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_HEAL) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"" + bottonB + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " heal 0 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (ENABLE_BUFF_REMOVE) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"" + bottonC + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " removeBuffs 0 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (MESSAGE.length() > 0) { MAIN_HTML_MESSAGE += "<BR1><BR><table width=100% border=0 cellspacing=0 cellpadding=1><tr>" + "<td align=center><font color=696969>Preset: </font><font color=FFD700>110.000</font></td><td align=right><font color=LEVEL>" + "</font></td></tr></table>" + "<BR1><table cellspacing=0 cellpadding=0>" + MESSAGE + "</table>"; MESSAGE = ""; td = 0; } if (ENABLE_SCHEME_SYSTEM) { MAIN_HTML_MESSAGE += generateScheme(st); } if (st.getPlayer().isGM()) { MAIN_HTML_MESSAGE += "<br><button value=\"GM Manage Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect manage_buffs 0 0\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } MAIN_HTML_MESSAGE += "<br><font color=303030>" + TITLE_NAME + "</font>" + "</center></body></html>"; return MAIN_HTML_MESSAGE; } private String generateScheme(QuestState st) { final List<String> schemeName = new ArrayList<>(); final List<String> schemeId = new ArrayList<>(); String HTML = ""; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT * FROM premium_scheme_list WHERE player_id=?"); rss.setInt(1, st.getPlayer().getObjectId()); final ResultSet action = rss.executeQuery(); while (action.next()) { schemeName.add(action.getString("scheme_name")); schemeId.add(action.getString("id")); } } catch (final SQLException e) { print(e); } HTML += "<BR><BR1><table width=100% border=0 cellspacing=0 cellpadding=1><tr>" + "<td align=center><font color=696969>Scheme:</font><font color=FFD700> 6.500.000 </font></td><td align=right><font color=LEVEL>" + "</font></TD></TR></table>" + "<BR1><table cellspacing=0 cellpadding=0>"; if (schemeName.size() > 0) { String MESSAGE = ""; int td = 0; final String[] TRS = { "<tr><td>", "</td>", "<td>", "</td></tr>" }; for (int i = 0; i < schemeName.size(); ++i) { if (td > 2) { td = 0; } MESSAGE += TRS[td] + "<button value=\"" + schemeName.get(i) + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " cast " + schemeId.get(i) + " x x\" width=130 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + TRS[td + 1]; td += 2; } if (MESSAGE.length() > 0) { HTML += "<table>" + MESSAGE + "</table>"; } } if (schemeName.size() < SCHEMES_PER_PLAYER) { HTML += "<BR1><table><tr><td><button value=\"Create\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " create_1 x x x\" width=85 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"; } else { HTML += "<BR1><table width=100><tr>"; } if (schemeName.size() > 0) { HTML += "<td><button value=\"Edit\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_1 x x x\" width=85 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>" + "<td><button value=\"Delete\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " delete_1 x x x\" width=85 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table>"; } else { HTML += "</tr></table>"; } return HTML; } private String reloadPanel(QuestState st) { return "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" + "<font color=303030>" + TITLE_NAME + "</font><br>" + "<img src=\"L2UI.SquareGray\" width=250 height=1><br>" + "<table width=260 border=0 bgcolor=444444>" + "<tr><td><br></td></tr>" + "<tr><td align=center><font color=FFFFFF>This option can be seen by GMs only and it<br1>allow to update any changes made in the<br1>script. You can disable this option in<br1>the settings section within the Script.<br><font color=LEVEL>Do you want to update the SCRIPT?</font></font></td></tr>" + "<tr><td></td></tr></table><br>" + "<img src=\"L2UI.SquareGray\" width=250 height=1><br><br>" + "<button value=\"Yes\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " reloadscript 1 0 0\" width=50 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<button value=\"No\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " reloadscript 0 0 0\" width=50 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "</center></body></html>"; } private String getItemNameHtml(QuestState st, int itemval) { return "&#" + itemval + ";"; } private int getBuffCount(String scheme) { int count = 0; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT buff_class FROM premium_scheme_contents WHERE scheme_id=?"); rss.setString(1, scheme); final ResultSet action = rss.executeQuery(); while (action.next()) { ++count; } } catch (final SQLException e) { print(e); } return count; } private String getBuffType(int id) { String val = "none"; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement act = con.prepareStatement("SELECT buffType FROM premium_buff_list WHERE buffId=? LIMIT 1"); act.setInt(1, id); final ResultSet rs = act.executeQuery(); if (rs.next()) { val = rs.getString("buffType"); } } catch (final SQLException e) { print(e); } return val; } private boolean isEnabled(int id, int level) { boolean val = false; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement act = con.prepareStatement("SELECT canUse FROM premium_buff_list WHERE buffId=? AND buffLevel=? LIMIT 1"); act.setInt(1, id); act.setInt(2, level); final ResultSet rs = act.executeQuery(); if (rs.next()) { if ("1".equals(rs.getString("canUse"))) { val = true; } } } catch (final SQLException e) { print(e); } return val; } private boolean isUsed(String scheme, int id, int level) { boolean used = false; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT id FROM premium_scheme_contents WHERE scheme_id=? AND skill_id=? AND skill_level=? LIMIT 1"); rss.setString(1, scheme); rss.setInt(2, id); rss.setInt(3, level); final ResultSet action = rss.executeQuery(); if (action.next()) { used = true; } } catch (final SQLException e) { print(e); } return used; } private int getClassBuff(String id) { int val = 0; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement getTipo = con.prepareStatement("SELECT buff_class FROM premium_buff_list WHERE buffId=?"); getTipo.setString(1, id); final ResultSet gt = getTipo.executeQuery(); if (gt.next()) { val = gt.getInt("buff_class"); } } catch (final SQLException e) { print(e); } return val; } private String showText(QuestState st, String type, String text, boolean buttonEnabled, String buttonName, String location) { String MESSAGE = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"; MESSAGE += "<font color=LEVEL>" + type + "</font><br>" + text + "<br>"; if (buttonEnabled) { MESSAGE += "<button value=\"" + buttonName + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect " + location + " 0 0\" width=100 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } MESSAGE += "<font color=303030>" + TITLE_NAME + "</font></center></body></html>"; st.playSound("ItemSound3.sys_shortage"); return MESSAGE; } private String reloadConfig(QuestState st) { try { if (QuestManager.getInstance().reload(QUEST_LOADING_INFO)) { st.getPlayer().sendMessage("The script and settings have been reloaded successfully."); } else { st.getPlayer().sendMessage("Script Reloaded Failed. you edited something wrong! :P, fix it and restart the server"); } } catch (final Exception e) { st.getPlayer().sendMessage("Script Reloaded Failed. you edited something wrong! :P, fix it and restart the server"); print(e); } return rebuildMainHtml(st); } private PremiumBuffer(int id, String name, String descr) { super(id, name, descr); addStartNpc(NPC_ID); addFirstTalkId(NPC_ID); addTalkId(NPC_ID); } private boolean isPetBuff(QuestState st) { return st.getInt("Pet-On-Off") != 0; } private String createScheme() { return "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>You MUST seprerate new words with a dot (.)<br><br>Scheme name: <edit var=\"name\" width=100><br><br>" + "<button value=\"Create Scheme\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " create $name no_name x x\" width=200 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; } private String deleteScheme(Player player) { String HTML = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>Available schemes:<br><br>"; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT * FROM premium_scheme_list WHERE player_id=?"); rss.setInt(1, player.getObjectId()); final ResultSet action = rss.executeQuery(); while (action.next()) { HTML += "<button value=\"" + action.getString("scheme_name") + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " delete_c " + action.getString("id") + " " + action.getString("scheme_name") + " x\" width=200 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } } catch (final SQLException e) { print(e); } HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML; } private String editScheme(Player player) { String HTML = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>Select a scheme that you would like to manage:<br><br>"; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT * FROM premium_scheme_list WHERE player_id=?"); rss.setInt(1, player.getObjectId()); final ResultSet action = rss.executeQuery(); while (action.next()) { final String name = action.getString("scheme_name"); final String id = action.getString("id"); HTML += "<button value=\"" + name + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_select " + id + " x x\" width=200 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } } catch (final SQLException e) { print(e); } HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML; } private String getOptionList(String scheme) { final int bcount = getBuffCount(scheme); String HTML = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>There are <font color=LEVEL>" + bcount + "</font> buffs in current scheme!<br><br>"; if (bcount < (MAX_SCHEME_BUFFS + MAX_SCHEME_DANCES)) { HTML += "<button value=\"Add buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_1 " + scheme + " 1 x\" width=200 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (bcount > 0) { HTML += "<button value=\"Remove buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_2 " + scheme + " 1 x\" width=200 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_1 0 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<button value=\"Home\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML; } private String buildHtml(String buffType) { String HTML_MESSAGE = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><br>"; final List<String> availableBuffs = new ArrayList<>(); try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement getList = con.prepareStatement("SELECT buffId,buffLevel FROM premium_buff_list WHERE buffType=\"" + buffType + "\" AND canUse=1 ORDER BY Buff_Class ASC, id"); final ResultSet rs = getList.executeQuery(); while (rs.next()) { final int bId = rs.getInt("buffId"); final int bLevel = rs.getInt("buffLevel"); String bName = SkillsParser.getInstance().getInfo(bId, bLevel).getNameEn(); bName = bName.replace(" ", "+"); availableBuffs.add(bName + "_" + bId + "_" + bLevel); } } catch (final SQLException e) { print(e); } if (availableBuffs.size() == 0) { HTML_MESSAGE += "No buffs are available at this moment!"; } else { if (FREE_BUFFS) { HTML_MESSAGE += "All buffs are for <font color=LEVEL>free</font>!"; } else { int price = 0; switch (buffType) { case "buff": price = BUFF_PRICE; break; case "kamael": price = BUFF_PRICE; break; case "resist": price = RESIST_PRICE; break; case "song": price = SONG_PRICE; break; case "dance": price = DANCE_PRICE; break; case "chant": price = CHANT_PRICE; break; case "others": price = OTHERS_PRICE; break; case "special": price = SPECIAL_PRICE; break; case "cubic": price = CUBIC_PRICE; break; default: if (DEBUG) { throw new RuntimeException(); } } HTML_MESSAGE += "All special buffs cost <font color=LEVEL>" + formatAdena(price) + "</font> adena!"; } HTML_MESSAGE += "<BR1><table>"; for (String buff : availableBuffs) { buff = buff.replace("_", " "); final String[] buffSplit = buff.split(" "); String name = buffSplit[0]; final int id = Integer.parseInt(buffSplit[1]); final int level = Integer.parseInt(buffSplit[2]); name = name.replace("+", " "); HTML_MESSAGE += "<tr><td>" + getSkillIconHtml(id, level) + "</td><td><button value=\"" + name + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " giveBuffs " + id + " " + level + " " + buffType + "\" width=190 height=32 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"; } HTML_MESSAGE += "</table>"; } HTML_MESSAGE += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML_MESSAGE; } private String generateQuery(int case1, int case2) { final StringBuilder qry = new StringBuilder(); if (ENABLE_BUFFS) { if (case1 < MAX_SCHEME_BUFFS) { qry.append(",\"buff\""); } } if (ENABLE_BUFFS) { if (case1 < MAX_SCHEME_BUFFS) { qry.append(",\"kamael\""); } } if (ENABLE_RESIST) { if (case1 < MAX_SCHEME_BUFFS) { qry.append(",\"resist\""); } } if (ENABLE_SONGS) { if (case2 < MAX_SCHEME_DANCES) { qry.append(",\"song\""); } } if (ENABLE_DANCES) { if (case2 < MAX_SCHEME_DANCES) { qry.append(",\"dance\""); } } if (ENABLE_CHANTS) { if (case1 < MAX_SCHEME_BUFFS) { qry.append(",\"chant\""); } } if (ENABLE_OTHERS) { if (case1 < MAX_SCHEME_BUFFS) { qry.append(",\"others\""); } } if (ENABLE_SPECIAL) { if (case1 < MAX_SCHEME_BUFFS) { qry.append(",\"special\""); } } if (qry.length() > 0) { qry.deleteCharAt(0); } return qry.toString(); } private String viewAllSchemeBuffs$getBuffCount(String scheme) { int count = 0; int D_S_Count = 0; int B_Count = 0; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT buff_class FROM premium_scheme_contents WHERE scheme_id=?"); rss.setString(1, scheme); final ResultSet action = rss.executeQuery(); while (action.next()) { ++count; final int val = action.getInt("buff_class"); if ((val == 1) || (val == 2)) { ++D_S_Count; } else { ++B_Count; } } } catch (final SQLException e) { print(e); } final String res = count + " " + B_Count + " " + D_S_Count; return res; } private String viewAllSchemeBuffs(String scheme, String page, String action) { final List<String> buffList = new ArrayList<>(); String HTML_MESSAGE = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><br>"; final String[] eventSplit = viewAllSchemeBuffs$getBuffCount(scheme).split(" "); final int TOTAL_BUFF = Integer.parseInt(eventSplit[0]); final int BUFF_COUNT = Integer.parseInt(eventSplit[1]); final int DANCE_SONG = Integer.parseInt(eventSplit[2]); try (Connection con = DatabaseFactory.getInstance().getConnection()) { if (action.equals("add")) { HTML_MESSAGE += "You can add <font color=LEVEL>" + (MAX_SCHEME_BUFFS - BUFF_COUNT) + "</font> Buffs and <font color=LEVEL>" + (MAX_SCHEME_DANCES - DANCE_SONG) + "</font> Dances more!"; final String QUERY = "SELECT * FROM premium_buff_list WHERE buffType IN (" + generateQuery(BUFF_COUNT, DANCE_SONG) + ") AND canUse=1 ORDER BY Buff_Class ASC, id"; final PreparedStatement getBuffCount = con.prepareStatement(QUERY); final ResultSet rss = getBuffCount.executeQuery(); while (rss.next()) { String name = SkillsParser.getInstance().getInfo(rss.getInt("buffId"), rss.getInt("buffLevel")).getNameEn(); name = name.replace(" ", "+"); buffList.add(name + "_" + rss.getInt("buffId") + "_" + rss.getInt("buffLevel")); } } else if (action.equals("remove")) { HTML_MESSAGE += "You have <font color=LEVEL>" + BUFF_COUNT + "</font> Buffs and <font color=LEVEL>" + DANCE_SONG + "</font> Dances"; final String QUERY = "SELECT * FROM premium_scheme_contents WHERE scheme_id=? ORDER BY Buff_Class ASC, id"; final PreparedStatement getBuffCount = con.prepareStatement(QUERY); getBuffCount.setString(1, scheme); final ResultSet rss = getBuffCount.executeQuery(); while (rss.next()) { String name = SkillsParser.getInstance().getInfo(rss.getInt("skill_id"), rss.getInt("skill_level")).getNameEn(); name = name.replace(" ", "+"); buffList.add(name + "_" + rss.getInt("skill_id") + "_" + rss.getInt("skill_level")); } } else if (DEBUG) { throw new RuntimeException(); } } catch (final SQLException e) { print(e); } HTML_MESSAGE += "<BR1><table border=0><tr>"; final int buffsPerPage = 20; final String width, pageName; final int pc = ((buffList.size() - 1) / buffsPerPage) + 1; if (pc > 5) { width = "25"; pageName = "P"; } else { width = "50"; pageName = "Page "; } for (int ii = 1; ii <= pc; ++ii) { if (ii == Integer.parseInt(page)) { HTML_MESSAGE += "<td width=" + width + " align=center><font color=LEVEL>" + pageName + ii + "</font></td>"; } else if (action.equals("add")) { HTML_MESSAGE += "<td width=" + width + ">" + "<button value=\"" + pageName + ii + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_1 " + scheme + " " + ii + " x\" width=" + width + " height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"; } else if (action.equals("remove")) { HTML_MESSAGE += "<td width=" + width + ">" + "<button value=\"" + pageName + ii + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_2 " + scheme + " " + ii + " x\" width=" + width + " height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"; } else if (DEBUG) { throw new RuntimeException(); } } HTML_MESSAGE += "</tr></table>"; final int limit = buffsPerPage * Integer.parseInt(page); final int start = limit - buffsPerPage; final int end = Math.min(limit, buffList.size()); int k = 0; for (int i = start; i < end; ++i) { String value = buffList.get(i); value = value.replace("_", " "); final String[] extr = value.split(" "); String name = extr[0]; name = name.replace("+", " "); final int id = Integer.parseInt(extr[1]); final int level = Integer.parseInt(extr[2]); /*--String page = extr[3];--*/ if (action.equals("add")) { if (!isUsed(scheme, id, level)) { if ((k % 2) != 0) { HTML_MESSAGE += "<BR1><table border=0 bgcolor=333333>"; } else { HTML_MESSAGE += "<BR1><table border=0 bgcolor=292929>"; } HTML_MESSAGE += "<tr><td width=35>" + getSkillIconHtml(id, level) + "</td><td fixwidth=170>" + name + "</td><td><button value=\"Add\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " add_buff " + scheme + "_" + id + "_" + level + " " + page + " " + TOTAL_BUFF + "\" width=65 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>" + "</tr></table>"; k += 1; } } else if (action.equals("remove")) { if ((k % 2) != 0) { HTML_MESSAGE += "<BR1><table border=0 bgcolor=333333>"; } else { HTML_MESSAGE += "<BR1><table border=0 bgcolor=292929>"; } HTML_MESSAGE += "<tr><td width=35>" + getSkillIconHtml(id, level) + "</td><td fixwidth=170>" + name + "</td><td><button value=\"Remove\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " remove_buff " + scheme + "_" + id + "_" + level + " " + page + " " + TOTAL_BUFF + "\" width=65 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>" + "</table>"; k += 1; } } HTML_MESSAGE += "<br><br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_select " + scheme + " x x\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<button value=\"Home\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML_MESSAGE; } private String viewAllBuffTypes() { String HTML_MESSAGE = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"; HTML_MESSAGE += "<font color=LEVEL>[Buff management]</font><br>"; if (ENABLE_BUFFS) { HTML_MESSAGE += "<button value=\"Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list buff Buffs 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_BUFFS) { HTML_MESSAGE += "<button value=\"Kamael\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list kamael Kamael 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_RESIST) { HTML_MESSAGE += "<button value=\"Resist Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list resist Resists 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_SONGS) { HTML_MESSAGE += "<button value=\"Songs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list song Songs 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_DANCES) { HTML_MESSAGE += "<button value=\"Dances\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list dance Dances 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_CHANTS) { HTML_MESSAGE += "<button value=\"Chants\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list chant Chants 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_SPECIAL) { HTML_MESSAGE += "<button value=\"Special Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list special Special_Buffs 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_OTHERS) { HTML_MESSAGE += "<button value=\"Others Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list others Others_Buffs 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_CUBIC) { HTML_MESSAGE += "<button value=\"Cubics\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list cubic cubic_Buffs 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"; } if (ENABLE_BUFF_SET) { HTML_MESSAGE += "<button value=\"Buff Sets\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list set Buff_Sets 1\" width=200 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>"; } HTML_MESSAGE += "<button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML_MESSAGE; } private String viewAllBuffs(String type, String typeName, String page) { final List<String> buffList = new ArrayList<>(); String HTML_MESSAGE = "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"; typeName = typeName.replace("_", " "); try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement getBuffCount; if (type.equals("set")) { getBuffCount = con.prepareStatement("SELECT * FROM premium_buff_list WHERE buffType IN (" + generateQuery(0, 0) + ") AND canUse=1"); } else { getBuffCount = con.prepareStatement("SELECT * FROM premium_buff_list WHERE buffType=?"); getBuffCount.setString(1, type); } final ResultSet rss = getBuffCount.executeQuery(); while (rss.next()) { String name = SkillsParser.getInstance().getInfo(rss.getInt("buffId"), rss.getInt("buffLevel")).getNameEn(); name = name.replace(" ", "+"); final String usable = rss.getString("canUse"); final String forClass = rss.getString("forClass"); final String skill_id = rss.getString("buffId"); final String skill_level = rss.getString("buffLevel"); buffList.add(name + "_" + forClass + "_" + page + "_" + usable + "_" + skill_id + "_" + skill_level); } } catch (final SQLException e) { print(e); } Collections.sort(buffList); HTML_MESSAGE += "<font color=LEVEL>[Buff management - " + typeName + " - Page " + page + "]</font><br><table border=0><tr>"; final int buffsPerPage; if (type.equals("set")) { buffsPerPage = 12; } else { buffsPerPage = 20; } final String width, pageName; final int pc = ((buffList.size() - 1) / buffsPerPage) + 1; if (pc > 5) { width = "25"; pageName = "P"; } else { width = "50"; pageName = "Page "; } typeName = typeName.replace(" ", "_"); for (int ii = 1; ii <= pc; ++ii) { if (ii == Integer.parseInt(page)) { HTML_MESSAGE += "<td width=" + width + " align=center><font color=LEVEL>" + pageName + ii + "</font></td>"; } else { HTML_MESSAGE += "<td width=" + width + "><button value=\"" + pageName + "" + ii + "\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_premium_buff_list " + type + " " + typeName + " " + ii + "\" width=" + width + " height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"; } } HTML_MESSAGE += "</tr></table><br>"; final int limit = buffsPerPage * Integer.parseInt(page); final int start = limit - buffsPerPage; final int end = Math.min(limit, buffList.size()); for (int i = start; i < end; ++i) { String value = buffList.get(i); value = value.replace("_", " "); final String[] extr = value.split(" "); String name = extr[0]; name = name.replace("+", " "); final int forClass = Integer.parseInt(extr[1]); /* page = extr[2]; */ final int usable = Integer.parseInt(extr[3]); final String skillPos = extr[4] + "_" + extr[5]; if ((i % 2) != 0) { HTML_MESSAGE += "<BR1><table border=0 bgcolor=333333>"; } else { HTML_MESSAGE += "<BR1><table border=0 bgcolor=292929>"; } if (type.equals("set")) { String listOrder = null; if (forClass == 0) { listOrder = "List=\"" + SET_FIGHTER + ";" + SET_MAGE + ";" + SET_ALL + ";" + SET_NONE + ";\""; } else if (forClass == 1) { listOrder = "List=\"" + SET_MAGE + ";" + SET_FIGHTER + ";" + SET_ALL + ";" + SET_NONE + ";\""; } else if (forClass == 2) { listOrder = "List=\"" + SET_ALL + ";" + SET_FIGHTER + ";" + SET_MAGE + ";" + SET_NONE + ";\""; } else if (forClass == 3) { listOrder = "List=\"" + SET_NONE + ";" + SET_FIGHTER + ";" + SET_MAGE + ";" + SET_ALL + ";\""; } HTML_MESSAGE += "<tr><td fixwidth=145>" + name + "</td><td width=70><combobox var=\"newSet" + i + "\" width=70 " + listOrder + "></td>" + "<td width=50><button value=\"Update\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " changeBuffSet " + skillPos + " $newSet" + i + " " + page + "\" width=50 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"; } else { HTML_MESSAGE += "<tr><td fixwidth=170>" + name + "</td><td width=80>"; if (usable == 1) { HTML_MESSAGE += "<button value=\"Disable\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " editSelectedBuff " + skillPos + " 0-" + page + " " + type + "\" width=80 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"; } else if (usable == 0) { HTML_MESSAGE += "<button value=\"Enable\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " editSelectedBuff " + skillPos + " 1-" + page + " " + type + "\" width=80 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"; } } HTML_MESSAGE += "</table>"; } HTML_MESSAGE += "<br><br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect manage_buffs 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<button value=\"Home\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=100 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; return HTML_MESSAGE; } private void manageSelectedBuff(String buffPosId, String canUseBuff) { final String[] bpid = buffPosId.split("_"); final String bId = bpid[0]; final String bLvl = bpid[1]; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement upd = con.prepareStatement("UPDATE premium_buff_list SET canUse=? WHERE buffId=? AND buffLevel=? LIMIT 1"); upd.setString(1, canUseBuff); upd.setString(2, bId); upd.setString(3, bLvl); upd.executeUpdate(); upd.close(); } catch (final SQLException e) { print(e); } } private String manageSelectedSet(String id, String newVal, String opt3) { final String[] bpid = id.split("_"); final String bId = bpid[0]; final String bLvl = bpid[1]; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement upd = con.prepareStatement("UPDATE premium_buff_list SET forClass=? WHERE buffId=? AND bufflevel=?"); upd.setString(1, newVal); upd.setString(2, bId); upd.setString(3, bLvl); upd.executeUpdate(); upd.close(); } catch (final SQLException e) { print(e); } return viewAllBuffs("set", "Buff Sets", opt3); } private void addTimeout(QuestState st, int gaugeColor, int amount, int offset) { final int endtime = (int) ((System.currentTimeMillis() + (amount * 1000)) / 1000); st.set("blockUntilTime", String.valueOf(endtime)); st.getPlayer().sendPacket(new SetupGauge(st.getPlayer(), gaugeColor, (amount * 1000) + offset)); } private void heal(Player player, boolean isPet) { Summon target; if (!isPet) { final PcStatus pcStatus = player.getStatus(); final PcStat pcStat = player.getStat(); pcStatus.setCurrentHp(pcStat.getMaxHp()); pcStatus.setCurrentMp(pcStat.getMaxMp()); pcStatus.setCurrentCp(pcStat.getMaxCp()); } else if (/* isPet && */(target = player.getSummon()) != null) { final SummonStatus petStatus = target.getStatus(); final SummonStat petStat = target.getStat(); petStatus.setCurrentHp(petStat.getMaxHp()); petStatus.setCurrentMp(petStat.getMaxMp()); if (target instanceof PetInstance) { final PetInstance pet = (PetInstance) target; pet.setCurrentFed(pet.getMaxFed()); player.sendPacket(new SetSummonRemainTime(pet.getMaxFed(), pet.getCurrentFed())); } else if (target instanceof ServitorInstance) { final ServitorInstance summon = (ServitorInstance) target; summon.decTimeRemaining(summon.getTimeRemaining() - summon.getTotalLifeTime()); player.sendPacket(new SetSummonRemainTime(summon.getTotalLifeTime(), summon.getTimeRemaining())); } else if (DEBUG) { throw new RuntimeException(); } } } @Override public String onAdvEvent(String event, Npc npc, Player player) { if (DEBUG) { System.out.println(getScriptName() + "#onAdvEvent('" + event + "'," + (npc == null ? "NULL" : npc.getId() + npc.getName()) + "," + (player == null ? "NULL" : player.getName()) + ")"); } final QuestState st = player.getQuestState(QUEST_LOADING_INFO); final String[] eventSplit = event.split(" ", 4); if (eventSplit.length != 4) { player.sendPacket(SystemMessageId.INCORRECT_NAME_TRY_AGAIN); return null; } final String eventParam0 = eventSplit[0]; final String eventParam1 = eventSplit[1]; String eventParam2 = eventSplit[2]; final String eventParam3 = eventSplit[3]; switch (eventParam0) { case "reloadscript": if (eventParam1.equals("1")) { return reloadConfig(st); } if (eventParam1.equals("0")) { return rebuildMainHtml(st); } if (DEBUG) { throw new RuntimeException(); } case "redirect": switch (eventParam1) { case "main": return rebuildMainHtml(st); case "manage_buffs": return viewAllBuffTypes(); case "view_buffs": return buildHtml("buff"); case "view_kamael": return buildHtml("kamael"); case "view_resists": return buildHtml("resist"); case "view_songs": return buildHtml("song"); case "view_dances": return buildHtml("dance"); case "view_chants": return buildHtml("chant"); case "view_others": return buildHtml("others"); case "view_special": return buildHtml("special"); case "view_cubic": return buildHtml("cubic"); default: if (DEBUG) { throw new RuntimeException(); } } case "buffpet": if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { st.set("Pet-On-Off", eventParam1); if (TIME_OUT) { addTimeout(st, 3, TIME_OUT_TIME / 2, 600); } } return rebuildMainHtml(st); case "create": { final String param = eventParam1.replaceAll("[ !" + "\"" + "#$%&'()*+,/:;<=>?@" + "\\[" + "\\\\" + "\\]" + "\\^" + "`{|}~]", ""); if ((param.length() == 0) || param.equals("no_name")) { player.sendPacket(SystemMessageId.INCORRECT_NAME_TRY_AGAIN); return showText(st, "Info", "Please, enter the scheme name!", true, "Return", "main"); } try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement ins = con.prepareStatement("INSERT INTO premium_scheme_list (player_id,scheme_name) VALUES (?,?)"); ins.setInt(1, player.getObjectId()); ins.setString(2, param); ins.executeUpdate(); ins.close(); } catch (final SQLException e) { print(e); } return rebuildMainHtml(st); } case "delete": try (Connection con = DatabaseFactory.getInstance().getConnection()) { PreparedStatement rem; rem = con.prepareStatement("DELETE FROM premium_scheme_list WHERE id=? LIMIT 1"); rem.setString(1, eventParam1); rem.executeUpdate(); rem.close(); rem = con.prepareStatement("DELETE FROM premium_scheme_contents WHERE scheme_id=?"); rem.setString(1, eventParam1); rem.executeUpdate(); rem.close(); } catch (final SQLException e) { print(e); } return rebuildMainHtml(st); case "delete_c": return "<html><head><title>" + TITLE_NAME + "</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>Do you really want to delete '" + eventParam2 + "' scheme?<br><br>" + "<button value=\"Yes\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " delete " + eventParam1 + " x x\" width=50 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<button value=\"No\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " delete_1 x x x\" width=50 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">" + "<br><font color=303030>" + TITLE_NAME + "</font></center></body></html>"; case "create_1": return createScheme(); case "edit_1": return editScheme(player); case "delete_1": return deleteScheme(player); case "manage_scheme_1": return viewAllSchemeBuffs(eventParam1, eventParam2, "add"); case "manage_scheme_2": return viewAllSchemeBuffs(eventParam1, eventParam2, "remove"); case "manage_scheme_select": return getOptionList(eventParam1); case "remove_buff": { final String[] split = eventParam1.split("_"); final String scheme = split[0]; final String skill = split[1]; final String level = split[2]; try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rem = con.prepareStatement("DELETE FROM premium_scheme_contents WHERE scheme_id=? AND skill_id=? AND skill_level=? LIMIT 1"); rem.setString(1, scheme); rem.setString(2, skill); rem.setString(3, level); rem.executeUpdate(); } catch (final SQLException e) { print(e); } final int temp = Integer.parseInt(eventParam3) - 1; final String HTML; if (temp <= 0) { HTML = getOptionList(scheme); } else { HTML = viewAllSchemeBuffs(scheme, eventParam2, "remove"); } return HTML; } case "add_buff": { final String[] split = eventParam1.split("_"); final String scheme = split[0]; final String skill = split[1]; final String level = split[2]; final int idbuffclass = getClassBuff(skill); try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement ins = con.prepareStatement("INSERT INTO premium_scheme_contents (scheme_id,skill_id,skill_level,buff_class) VALUES (?,?,?,?)"); ins.setString(1, scheme); ins.setString(2, skill); ins.setString(3, level); ins.setInt(4, idbuffclass); ins.executeUpdate(); ins.close(); } catch (final SQLException e) { print(e); } final int temp = Integer.parseInt(eventParam3) + 1; final String HTML; if (temp >= (MAX_SCHEME_BUFFS + MAX_SCHEME_DANCES)) { HTML = getOptionList(scheme); } else { HTML = viewAllSchemeBuffs(scheme, eventParam2, "add"); } return HTML; } case "edit_premium_buff_list": return viewAllBuffs(eventParam1, eventParam2, eventParam3); case "changeBuffSet": if (eventParam2.equals(SET_FIGHTER)) { eventParam2 = "0"; } else if (eventParam2.equals(SET_MAGE)) { eventParam2 = "1"; } else if (eventParam2.equals(SET_ALL)) { eventParam2 = "2"; } else if (eventParam2.equals(SET_NONE)) { eventParam2 = "3"; } else if (DEBUG) { throw new RuntimeException(); } return manageSelectedSet(eventParam1, eventParam2, eventParam3); case "editSelectedBuff": { eventParam2 = eventParam2.replace("-", " "); final String[] split = eventParam2.split(" "); final String action = split[0]; final String page = split[1]; manageSelectedBuff(eventParam1, action); final String typeName; switch (eventParam3) { case "buff": typeName = "Buffs"; break; case "kamael": typeName = "Kamael"; break; case "resist": typeName = "Resists"; break; case "song": typeName = "Songs"; break; case "dance": typeName = "Dances"; break; case "chant": typeName = "Chants"; break; case "others": typeName = "Others_Buffs"; break; case "special": typeName = "Special_Buffs"; break; case "cubic": typeName = "Cubics"; break; default: throw new RuntimeException(); } return viewAllBuffs(eventParam3, typeName, page); } case "viewSelectedConfig": throw new RuntimeException(); case "changeConfig": throw new RuntimeException(); case "heal": if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { if (st.getQuestItemsCount(CONSUMABLE_ID) < HEAL_PRICE) { return showText(st, "Sorry", "You don't have the enough items:<br>You need: <font color=LEVEL>" + HEAL_PRICE + " " + getItemNameHtml(st, CONSUMABLE_ID) + "!", false, "0", "0"); } final boolean getSummonbuff = isPetBuff(st); if (getSummonbuff) { if (player.getSummon() != null) { heal(player, getSummonbuff); } else { return showText(st, "Info", "You can't use the Pet's options.<br>Summon your pet first!", false, "Return", "main"); } } else { heal(player, getSummonbuff); } st.takeItems(CONSUMABLE_ID, HEAL_PRICE); if (TIME_OUT) { addTimeout(st, 1, TIME_OUT_TIME / 2, 600); } } return SMART_WINDOW ? null : rebuildMainHtml(st); case "removeBuffs": if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { if (st.getQuestItemsCount(CONSUMABLE_ID) < BUFF_REMOVE_PRICE) { return showText(st, "Sorry", "You don't have the enough items:<br>You need: <font color=LEVEL>" + BUFF_REMOVE_PRICE + " " + getItemNameHtml(st, CONSUMABLE_ID) + "!", false, "0", "0"); } final boolean getSummonbuff = isPetBuff(st); if (getSummonbuff) { if (player.getSummon() != null) { player.getSummon().stopAllEffects(); } else { return showText(st, "Info", "You can't use the Pet's options.<br>Summon your pet first!", false, "Return", "main"); } } else { player.stopAllEffects(); if (player.getCubics() != null) { for (final CubicInstance cubic : player.getCubics().values()) { cubic.stopAction(); player.getCubics().remove(cubic); } } } st.takeItems(CONSUMABLE_ID, BUFF_REMOVE_PRICE); if (TIME_OUT) { addTimeout(st, 2, TIME_OUT_TIME / 2, 600); } } return SMART_WINDOW ? null : rebuildMainHtml(st); case "cast": if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { final TIntArrayList buffs = new TIntArrayList(); final TIntArrayList levels = new TIntArrayList(); try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement rss = con.prepareStatement("SELECT * FROM premium_scheme_contents WHERE scheme_id=? ORDER BY id"); rss.setString(1, eventParam1); final ResultSet action = rss.executeQuery(); while (action.next()) { final int id = Integer.parseInt(action.getString("skill_id")); final int level = Integer.parseInt(action.getString("skill_level")); switch (getBuffType(id)) { case "buff": if (ENABLE_BUFFS) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "kamael": if (ENABLE_BUFFS) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "resist": if (ENABLE_RESIST) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "song": if (ENABLE_SONGS) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "dance": if (ENABLE_DANCES) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "chant": if (ENABLE_CHANTS) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "others": if (ENABLE_OTHERS) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; case "special": if (ENABLE_SPECIAL) { if (isEnabled(id, level)) { buffs.add(id); levels.add(level); } } break; default: if (DEBUG) { throw new RuntimeException(); } } } } catch (final SQLException e) { print(e); } if (buffs.size() == 0) { return viewAllSchemeBuffs(eventParam1, "1", "add"); } if (!FREE_BUFFS) { if (st.getQuestItemsCount(CONSUMABLE_ID) < SCHEME_BUFF_PRICE) { return showText(st, "Sorry", "You don't have the enough items:<br>You need: <font color=LEVEL>" + SCHEME_BUFF_PRICE + " " + getItemNameHtml(st, CONSUMABLE_ID) + "!", false, "0", "0"); } } final boolean getSummonbuff = isPetBuff(st); for (int i = 0; i < buffs.size(); ++i) { if (!getSummonbuff) { SkillsParser.getInstance().getInfo(buffs.get(i), levels.get(i)).getEffects(player, player, false); } else { if (player.getSummon() != null) { SkillsParser.getInstance().getInfo(buffs.get(i), levels.get(i)).getEffects(player.getSummon(), player.getSummon(), false); } else { return showText(st, "Info", "You can't use the Pet's options.<br>Summon your pet first!", false, "Return", "main"); } } } st.takeItems(CONSUMABLE_ID, SCHEME_BUFF_PRICE); if (TIME_OUT) { addTimeout(st, 3, TIME_OUT_TIME, 600); } } return SMART_WINDOW ? null : rebuildMainHtml(st); case "giveBuffs": { final int cost; switch (eventParam3) { case "buff": cost = BUFF_PRICE; break; case "kamael": cost = BUFF_PRICE; break; case "resist": cost = RESIST_PRICE; break; case "song": cost = SONG_PRICE; break; case "dance": cost = DANCE_PRICE; break; case "chant": cost = CHANT_PRICE; break; case "others": cost = OTHERS_PRICE; break; case "special": cost = SPECIAL_PRICE; break; case "cubic": cost = CUBIC_PRICE; break; default: throw new RuntimeException(); } if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { if (!FREE_BUFFS) { if (st.getQuestItemsCount(CONSUMABLE_ID) < cost) { return showText(st, "Sorry", "You don't have the enough items:<br>You need: <font color=LEVEL>" + cost + " " + getItemNameHtml(st, CONSUMABLE_ID) + "!", false, "0", "0"); } } final Skill skill = SkillsParser.getInstance().getInfo(Integer.parseInt(eventParam1), Integer.parseInt(eventParam2)); if (skill.getSkillType() == SkillType.SUMMON) { if (st.getQuestItemsCount(skill.getItemConsumeId()) < skill.getItemConsume()) { return showText(st, "Sorry", "You don't have the enough items:<br>You need: <font color=LEVEL>" + skill.getItemConsume() + " " + getItemNameHtml(st, skill.getItemConsumeId()) + "!", false, "0", "0"); } } final boolean getSummonbuff = isPetBuff(st); if (!getSummonbuff) { if (eventParam3.equals("cubic")) { if (player.getCubics() != null) { for (final CubicInstance cubic : player.getCubics().values()) { cubic.stopAction(); player.getCubics().remove(cubic); } } player.useMagic(SkillsParser.getInstance().getInfo(Integer.parseInt(eventParam1), Integer.parseInt(eventParam2)), false, false, true); } else { SkillsParser.getInstance().getInfo(Integer.parseInt(eventParam1), Integer.parseInt(eventParam2)).getEffects(player, player, false); } } else { if (eventParam3.equals("cubic")) { if (player.getCubics() != null) { for (final CubicInstance cubic : player.getCubics().values()) { cubic.stopAction(); player.getCubics().remove(cubic); } } player.useMagic(SkillsParser.getInstance().getInfo(Integer.parseInt(eventParam1), Integer.parseInt(eventParam2)), false, false, true); } else { if (player.getSummon() != null) { SkillsParser.getInstance().getInfo(Integer.parseInt(eventParam1), Integer.parseInt(eventParam2)).getEffects(player.getSummon(), player.getSummon(), false); } else { return showText(st, "Info", "You can't use the Pet's options.<br>Summon your pet first!", false, "Return", "main"); } } } st.takeItems(CONSUMABLE_ID, cost); if (TIME_OUT) { addTimeout(st, 3, TIME_OUT_TIME / 10, 600); } } return SMART_WINDOW ? null : buildHtml(eventParam3); } case "castBuffSet": if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { if (!FREE_BUFFS) { if (st.getQuestItemsCount(CONSUMABLE_ID) < BUFF_SET_PRICE) { return showText(st, "Sorry", "You don't have the enough items:<br>You need: <font color=LEVEL>" + BUFF_SET_PRICE + " " + getItemNameHtml(st, CONSUMABLE_ID) + "!", false, "0", "0"); } } final List<int[]> buff_sets = new ArrayList<>(); final int player_class; if (player.isMageClass()) { player_class = 1; } else { player_class = 0; } final boolean getSummonbuff = isPetBuff(st); if (!getSummonbuff) { try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement getSimilarNameCount = con.prepareStatement("SELECT buffId,buffLevel FROM premium_buff_list WHERE forClass IN (?,?) ORDER BY id ASC"); getSimilarNameCount.setInt(1, player_class); getSimilarNameCount.setString(2, "2"); final ResultSet rss = getSimilarNameCount.executeQuery(); while (rss.next()) { final int id = rss.getInt("buffId"); final int lvl = rss.getInt("buffLevel"); buff_sets.add(new int[] { id, lvl }); } } catch (final SQLException e) { print(e); } for (final int[] i : buff_sets) { SkillsParser.getInstance().getInfo(i[0], i[1]).getEffects(player, player, false); } } else { if (player.getSummon() != null) { try (Connection con = DatabaseFactory.getInstance().getConnection()) { final PreparedStatement getSimilarNameCount = con.prepareStatement("SELECT buffId,buffLevel FROM premium_buff_list WHERE forClass IN (?,?) ORDER BY id ASC"); getSimilarNameCount.setString(1, "0"); getSimilarNameCount.setString(2, "2"); final ResultSet rss = getSimilarNameCount.executeQuery(); while (rss.next()) { final int id = rss.getInt("buffId"); final int lvl = rss.getInt("buffLevel"); buff_sets.add(new int[] { id, lvl }); } } catch (final SQLException e) { print(e); } for (final int[] i : buff_sets) { SkillsParser.getInstance().getInfo(i[0], i[1]).getEffects(player.getSummon(), player.getSummon(), false); } } else { return showText(st, "Info", "You can't use the Pet's options.<br>Summon your pet first!", false, "Return", "main"); } } st.takeItems(CONSUMABLE_ID, BUFF_SET_PRICE); if (TIME_OUT) { addTimeout(st, 3, TIME_OUT_TIME, 600); } } return SMART_WINDOW ? null : rebuildMainHtml(st); } return rebuildMainHtml(st); } @Override public String onFirstTalk(Npc npc, Player player) { QuestState st = player.getQuestState(QUEST_LOADING_INFO); if (st == null) { st = newQuestState(player); } if (player.isGM()) { { return reloadPanel(st); } } else if ((int) (System.currentTimeMillis() / 1000) > st.getInt("blockUntilTime")) { if (ONLY_FOR_VIP) { if (ENABLE_VIP_BUFFER && player.hasPremiumBonus()) { if (!BUFF_WITH_KARMA && (player.getKarma() > 0)) { return showText(st, "Info", "You have too much <font color=FF0000>karma!</font><br>Come back,<br>when you don't have any karma!", false, "Return", "main"); } else if (OlympiadManager.getInstance().isRegistered(player)) { return showText(st, "Info", "You can't buff while you are <font color=FF0000>registred in games olympics!</font><br>Come back,<br>when you don't have registred in games olympics!", false, "Return", "main"); } else if (player.getLevel() < MIN_LEVEL) { return showText(st, "Info", "Your level is too low!<br>You have to be at least level <font color=LEVEL>" + MIN_LEVEL + "</font>,<br>to use my services!", false, "Return", "main"); } else if (player.isInCombat()) { return showText(st, "Info", "You can't buff while you are attacking!<br>Stop your fight and try again!", false, "Return", "main"); } else { return rebuildMainHtml(st); } } } else if (!ENABLE_VIP_BUFFER && !player.hasPremiumBonus()) { return rebuildMainHtml(st); } else if (!BUFF_WITH_KARMA && (player.getKarma() > 0)) { return showText(st, "Info", "You have too much <font color=FF0000>karma!</font><br>Come back,<br>when you don't have any karma!", false, "Return", "main"); } else if (OlympiadManager.getInstance().isRegistered(player)) { return showText(st, "Info", "You can't buff while you are <font color=FF0000>registred in games olympics!</font><br>Come back,<br>when you don't have registred in games olympics!", false, "Return", "main"); } else if (player.getLevel() < MIN_LEVEL) { return showText(st, "Info", "Your level is too low!<br>You have to be at least level <font color=LEVEL>" + MIN_LEVEL + "</font>,<br>to use my services!", false, "Return", "main"); } else if (player.isInCombat()) { return showText(st, "Info", "You can't buff while you are attacking!<br>Stop your fight and try again!", false, "Return", "main"); } else { return rebuildMainHtml(st); } return showText(st, "Sorry", "This buffer is only for VIP's!<br>Contact the administrator for more info!", false, "Return", "main"); } else { return showText(st, "Sorry", "You have to wait a while!<br>if you wish to use my services!", false, "Return", "main"); } } @Override public boolean showResult(Player player, String res) { if (SMART_WINDOW) { if ((player != null) && (res != null) && res.startsWith("<html>")) { final NpcHtmlMessage npcReply = new NpcHtmlMessage(5, 1); /* ! */ npcReply.setHtml(player, res); player.sendPacket(npcReply); player.sendPacket(ActionFail.STATIC_PACKET); return false; } } return super.showResult(player, res); } private String getSkillIconHtml(int id, int level) { final String iconNumber = getSkillIconNumber(id, level); return "<button action=\"bypass -h Quest " + QUEST_LOADING_INFO + " description " + id + " " + level + " x\" width=32 height=32 back=\"Icon.skill" + iconNumber + "\" fore=\"Icon.skill" + iconNumber + "\">"; } private String getSkillIconNumber(int id, int level) { String formato; if (id == 4) { formato = "0004"; } else if ((id > 9) && (id < 100)) { formato = "00" + id; } else if ((id > 99) && (id < 1000)) { formato = "0" + id; } else if (id == 1517) { formato = "1536"; } else if (id == 1518) { formato = "1537"; } else if (id == 1547) { formato = "0065"; } else if (id == 2076) { formato = "0195"; } else if ((id > 4550) && (id < 4555)) { formato = "5739"; } else if ((id > 4698) && (id < 4701)) { formato = "1331"; } else if ((id > 4701) && (id < 4704)) { formato = "1332"; } else if (id == 6049) { formato = "0094"; } else { formato = String.valueOf(id); } return formato; } static public void main(String[] args) { new PremiumBuffer(-1, QUEST_LOADING_INFO, "custom"); } }
  9. consegui.. vou criar e logo mais posto aqui no forum pra quem mais quiser
  10. então o problema e que nao acho as texturas kkkk nao achei nada referente a systextura e etc.
  11. galera estou querendo usar o curso do lineage 2 em meu pc kkkk porem queria pegar o cursor do l2 original tenho ele instalado meu meu pc porem ja vasculhei todas as pastas e nao achei nada como systexture e etc como faço pra pegar os arquivos do l2 original isso é possivel se sim como?
  12. estou enfrentando problemas referente senha , com a l2jEternity, se eu deixar a opcao L2jVersaoRussa desativa o site roda lizo porem nao loga, se eu ativar a versao rusa apos o primeiro acesso ao site ele mostra o seguinte erro como corrigir poderia ajudar pfv
  13. sergiommjr

    Erro ao logar

    Boa noite povaoo, é o seguinte instalei uma interface H5 e ao logar no server e digitar a segunda senha da esse erro alguem sabe qual arquivo é e como arrumar pfv
  14. sergiommjr

    Dano na tela

    Estou a procura de dano na tela pra h5 , porém procuro algo assim
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.