Перейти к содержанию

Elementus

Пользователи
  • Публикаций

    8
  • Зарегистрирован

  • Посещение

  • Отзывы

    0%

Репутация

0

Информация о Elementus

  • Звание
    Только пришел
  1. Ну если закрыть глаза на все их недочёты, то может и да. А так нет. Интересуют ещё команды
  2. Здравствуйте, уважаемые форумчане посоветуйте пожалуйста какую выбрать лучше из сборок High Five Чтоб подходила и для лоу рейтов и для пвп (х50). Много команд существует. Но как я понял - толковых сборок нет. Какие щас существуют толковые команды, помимо этих jts / cccp / open-taem / скрипты ?
  3. Elementus

    color table

    Может кто-нить скинуть sql файл color table? Вроде этой таблицы не хватает? package custom.servicem; import java.io.File; import java.io.FileReader; import java.io.LineNumberReader; import java.util.HashMap; import java.util.Map; import java.sql.SQLException; import java.sql.Connection; import java.sql.PreparedStatement; import ru.catssoftware.gameserver.network.SystemChatChannelId; import ru.catssoftware.gameserver.network.serverpackets.CreatureSay; import ru.catssoftware.gameserver.datatables.CharNameTable; import ru.catssoftware.gameserver.datatables.ItemTable; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.L2World; import ru.catssoftware.gameserver.datatables.SkillTable; import ru.catssoftware.gameserver.network.serverpackets.PledgeSkillList; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.quest.Quest; import ru.catssoftware.gameserver.model.quest.QuestState; import ru.catssoftware.gameserver.util.PcAction; import ru.catssoftware.gameserver.model.itemcontainer.Inventory; import ru.catssoftware.L2DatabaseFactory; import ru.catssoftware.gameserver.model.L2ItemInstance; public class ServiceManager extends Quest { private static String qn = "ServiceManager"; private final static int ID_NPC_MANAGER = 50024; // ID Менеджера (NPC) private static class Price { private int []_itemId; private int []_prices; public Price(int []items, int[]count) { _itemId = items; _prices = count; } } /** * Настройки смены ника: */ int priceChangeNameId = 9303; int priceChangeNameCount = 1250; int priceChangeColorNameId = 9303; int priceChangeColorNameCount = 1250; int priceItemIdAugment = 9303; int priceItemCountAugment = 2500; int attributes; int skill; int level; int ItemIdClan = 9303; int ClanLevel6 = 500; int ClanLevel7 = 1500; int ClanLevel8 = 2000; int ClanCrpPrice = 500; int ClanCrpCount = 1000; int ClanSkillsCount = 5000; String str = ""; private static Map<Integer, Price> _premiumPrice = new HashMap<Integer, Price>(); private static Map<Integer, Price> _heroPrice = new HashMap<Integer, Price>(); private static Price _NoblesPrice = new Price(new int[] {9303}, new int [] {2000}); private String colorTable = "<html><body><br>Смена цвета: <font color=74bff5>"+priceChangeColorNameCount+" "+(ItemTable.getInstance().getItemName(priceChangeColorNameId))+"</font><br><center>"; public ServiceManager() { super(-1,qn,"custom"); // ================= ЦЕНЫ РќРђ ДВОРЯНСТВО ======== // РґРЅРё, new Price(new int[] {через , РР” предметов},new int[] {через , количество}); _premiumPrice.put(1,new Price(new int[] { 9303},new int[] {250})); _premiumPrice.put(7,new Price(new int[] { 9303},new int[] {1500})); _premiumPrice.put(14,new Price(new int[] { 9303},new int[] {3500})); _premiumPrice.put(31,new Price(new int[] { 9303},new int[] {7750})); // ================ ЦЕНЫ РќРђ ГЕРОРР—Рњ =============== _heroPrice.put(1, new Price(new int[] { 9303},new int[] {1500})); _heroPrice.put(7, new Price(new int[] {9303},new int[] {3500})); _heroPrice.put(31, new Price(new int[] {9303},new int[] {7750})); // ================ Список цветов ника и титула =============== /* _colorPrice.put(1, new ColorId(new int[] {FFFF00},new int[] {голубым})); _colorPrice.put(2, new ColorId(new int[] {000000},new int[] {черным})); _colorPrice.put(3, new ColorId(new int[] {FF0000},new int[] {синим})); _colorPrice.put(4, new ColorId(new int[] {FF00FF},new int[] {розовым})); _colorPrice.put(5, new ColorId(new int[] {808080},new int[] {серым})); _colorPrice.put(6, new ColorId(new int[] {008000},new int[] {зеленым})); _colorPrice.put(7, new ColorId(new int[] {00FF00},new int[] {лаймовым})); _colorPrice.put(8, new ColorId(new int[] {800000},new int[] {темно-синим})); _colorPrice.put(9, new ColorId(new int[] {008080},new int[] {оливковым})); _colorPrice.put(10, new ColorId(new int[] {800080},new int[] {пурпурным})); _colorPrice.put(11, new ColorId(new int[] {808000},new int[] {сине-зелёным})); _colorPrice.put(12, new ColorId(new int[] {FFFFFF},new int[] {белым})); _colorPrice.put(13, new ColorId(new int[] {00FFFF},new int[] {желтым})); _colorPrice.put(14, new ColorId(new int[] {C0C0C0},new int[] {серебряным})); _colorPrice.put(15, new ColorId(new int[] {17A0D4},new int[] {золотым})); */ // Таблица цветов из colors.table File f = new File(getScriptFile()); try { LineNumberReader lnr = new LineNumberReader(new FileReader(f.getParent()+"/colors.table")); String line; while((line=lnr.readLine())!=null) { String []colors = line.split("\t"); for(int i=0;i<colors.length;i++) colorTable+="<a action=\"bypass -h Quest "+qn+" colorname "+colors+"\"><font color=\""+colors+"\">Выбрать цвет ника</font></a> - <a action=\"bypass -h Quest "+qn+" colortitle "+colors+"\"><font color=\""+colors+"\">Выбрать цвет титула</font></a><br>"; } } catch(Exception e) { System.out.println("Error reading "+f.getParent()+"/colors.table"); } } public void criticalTo(L2PcInstance player, String text) { CreatureSay cs = new CreatureSay(0, SystemChatChannelId.Chat_Critical_Announce, "", text); player.sendPacket(cs); } private void updateAugment(L2PcInstance player, int attributes, int skill, int level) { L2ItemInstance item = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null) { criticalTo(player, "Вы должны одеть оружие."); } else if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isAugmented()) { criticalTo(player, "В оружие уже присутствует аугументация."); } else if (!checkMoney(player, priceItemIdAugment, priceItemCountAugment, true)) { criticalTo(player, "У Вас недостаточно денег."); } else { try { Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement stm = con.prepareStatement("REPLACE INTO item_attributes VALUES(?,?,?,?)"); stm.setInt(1, item.getObjectId()); stm.setInt(2, attributes*65536+1); stm.setInt(3, skill); stm.setInt(4, level); stm.execute(); criticalTo(player, "Аугументация прошла успешно. Вам нужно перезайти."); stm.close(); } catch (SQLException e) { _log.error("error creating augment shop data table ", e); } } } private boolean checkMoney(L2PcInstance player, Price price) { for(int i=0;i<price._itemId.length;i++) // Проверяем средства if(player.getInventory().getItemByItemId(price._itemId)==null || player.getInventory().getItemByItemId(price._itemId).getCount() < price._prices) { return false; // Нет денег? Сории } for(int i=0;i<price._itemId.length;i++) // Отнимаем средства у населения if(!player.destroyItemByItemId(qn, price._itemId, price._prices, null, true)) { return false; } return true; } private boolean checkMoney(L2PcInstance player, int itemId, int count, boolean destroy) { if(player.getInventory().getItemByItemId(itemId)==null || player.getInventory().getItemByItemId(itemId).getCount() < count) return false; // Нет денег? Сории if(destroy && !player.destroyItemByItemId(qn, itemId, count, null, true)) return false; return true; } @Override public String onAdvEvent(String event, L2NpcInstance npc, L2PcInstance player) { String []args = event.split(" "); // Разбираем строку параметров if(args[0].equals("premiumlist")) { // Формируем список доступных дней премиума String html = "<html><body><br>Покупка премиума:<br><center>"; for(int days : _premiumPrice.keySet()) { html+="<a action=\"bypass -h Quest "+qn+" premium "+days+"\">На "+days+" дней</a> -"; Price price = _premiumPrice.get(days); for(int i=0;i<price._itemId.length;i++) { // Формируем список стоимости if(i!=0) // Добавляем , html+=","; html+=price._prices+" "+ItemTable.getInstance().getTemplate(price._itemId).getName(); } } html+="</center></body></html>"; return html; } else if(args[0].equals("herolist")) { // Список достпуного геройства, аналогично премиуму String html = "<html><body><br>Покупка Геройства:<br><center>"; for(int days : _heroPrice.keySet()) { html+="<a action=\"bypass -h Quest "+qn+" hero "+days+"\">На "+days+" дней</a> -"; Price price = _heroPrice.get(days); for(int i=0;i<price._itemId.length;i++) { // Формируем список стоимости if(i!=0) // Добавляем , html+=","; html+=price._prices+" "+ItemTable.getInstance().getTemplate(price._itemId).getName(); } } html+="</center></body></html>"; return html; } else if(args[0].equals("premium")) { // Выдаем премиум if(player.getPremiumService()!=0) // Проверяем а не премимум ли чар? return "already-premium.htm"; int numDays = Integer.parseInt(args[1]); // В Java массивы нумеруются с 0 Price price = _premiumPrice.get(numDays); // Ищем цену в списке цен if(price==null) // Не нашли. Что-то тут не то... return "invalid-param.htm"; if(!checkMoney(player,price)) // Проверяем деньги return "no-money.htm"; PcAction.addPremiumServices(player, numDays, player.getAccountName()); // Выдаем премиум // Показываем .premium меню IVoicedCommandHandler premium = VoicedCommandHandler.getInstance().getVoicedCommandHandler("premium"); if(premium!=null) premium.useVoicedCommand("premium", player, null); else return "success.htm"; } else if(args[0].equals("noblese")) { // Дворянство if(player.isNoble()) // Игрок уже нубл return "already-noble.htm"; if(!checkMoney(player, _NoblesPrice)) // Проверяем Деньги return "Nobless.htm"; player.setNoble(true); // Даем нубла return "success.htm"; } else if(args[0].equals("hero")) { // Геройство if(player.isHero()) return "already-hero.htm"; int numDays = Integer.parseInt(args[1]); Price price = _heroPrice.get(numDays); // Ищем цену в списке цен if(price==null) // Не нашли. Что-то тут не то... return "invalid-param.htm"; if(!checkMoney(player, price)) // Проверяем Деньги return "no-money.htm"; PcAction.addHeroStatus(player, numDays); // Даем героя России. return "success.htm"; } else if(args[0].equals("colorname")) { String colorsid = args[1]; if (!checkMoney(player, priceChangeColorNameId, priceChangeColorNameCount, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getAppearance().setNameColor(colorsid); L2World.getInstance().removeFromAllPlayers(player); player.store(); L2World.getInstance().addToAllPlayers(player); player.broadcastUserInfo(); criticalTo(player, "Вы успешно сменили цвет ника!"); } } else if(args[0].equals("colortitle")) { String colorsid = args[1]; if (!checkMoney(player, priceChangeColorNameId, priceChangeColorNameCount, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getAppearance().setTitleColor(colorsid); L2World.getInstance().removeFromAllPlayers(player); player.store(); L2World.getInstance().addToAllPlayers(player); player.broadcastUserInfo(); criticalTo(player, "Вы успешно сменили цвет титула!"); } } else if(args[0].equals("augment")) { updateAugment(player, Integer.parseInt(args[1].substring(0,5)), Integer.parseInt(args[1].substring(6,10)), Integer.parseInt(args[1].substring(11,13))); } else if(args[0].equals("clanlevel6")) { if (!player.isClanLeader()) { criticalTo(player, "Вы не глава клана. Только глава клана может это сделать."); } else if (player.getClan().getLevel() != 5) { criticalTo(player, "У Вас не верный уровень клана. Можете только при уровне клана 5"); } else if (!checkMoney(player, ItemIdClan, ClanLevel6, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getClan().changeLevel(6); L2World.getInstance().removeFromAllPlayers(player); player.store(); L2World.getInstance().addToAllPlayers(player); player.broadcastUserInfo(); criticalTo(player, "Вы успешно повысили левел клана до 6 уровня!"); } } else if(args[0].equals("clanlevel7")) { if (!player.isClanLeader()) { criticalTo(player, "Вы не глава клана. Только глава клана может это сделать."); } else if (player.getClan().getLevel() != 6) { criticalTo(player, "У Вас не верный уровень клана. Можете только при уровне клана 6"); } else if (!checkMoney(player, ItemIdClan, ClanLevel7, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getClan().changeLevel(7); L2World.getInstance().removeFromAllPlayers(player); player.store(); L2World.getInstance().addToAllPlayers(player); player.broadcastUserInfo(); criticalTo(player, "Вы успешно повысили левел клана до 7 уровня!"); } } else if(args[0].equals("clanlevel8")) { if (!player.isClanLeader()) { criticalTo(player, "Вы не глава клана. Только глава клана может это сделать."); } else if (player.getClan().getLevel() != 7) { criticalTo(player, "У Вас не верный уровень клана. Можете только при уровне клана 7"); } else if (!checkMoney(player, ItemIdClan, ClanLevel8, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getClan().changeLevel(; L2World.getInstance().removeFromAllPlayers(player); player.store(); L2World.getInstance().addToAllPlayers(player); player.broadcastUserInfo(); criticalTo(player, "Вы успешно повысили левел клана до 8 уровня!"); } } else if(args[0].equals("clanrepa")) { if (!player.isClanLeader()) { criticalTo(player, "Вы не являетесь лидером клана"); } else if (!checkMoney(player, ItemIdClan, ClanCrpPrice, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getClan().setReputationScore(player.getClan().getReputationScore()+ClanCrpCount, true); criticalTo(player, "Ваш клан получил "+ClanCrpCount+" очков репутации! Сделайте релог."); } } else if(args[0].equals("clanskills")) { if (!player.isClanLeader()) { criticalTo(player, "Вы не являетесь лидером клана"); } else if (player.getClan().getLevel() != { criticalTo(player, "У Вас не верный уровень клана. Можете только при уровне клана 8"); } else if (!checkMoney(player, ItemIdClan, ClanSkillsCount, true)) { criticalTo(player, "У Вас не хватает денег!"); } else { player.getClan().addNewSkill(SkillTable.getInstance().getInfo(370,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(371,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(372,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(373,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(374,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(375,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(376,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(377,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(378,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(379,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(380,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(381,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(382,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(383,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(384,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(385,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(386,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(387,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(388,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(389,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(390,3)); player.getClan().addNewSkill(SkillTable.getInstance().getInfo(391,1)); criticalTo(player, "Ваш клан получил все Клановые Способности. Вам нужно перезайти."); player.getClan().addSkillEffects(true); player.getClan().broadcastToOnlineMembers(new PledgeSkillList(player.getClan())); } } else if(args[0].startsWith("changeName")) { String htmltext; if (args.length==1 || args.length>2) { htmltext = "<html><body>Смена имени: <font color=74bff5>"+priceChangeNameCount+" "+(ItemTable.getInstance().getItemName(priceChangeNameId))+"</font>"; htmltext += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>"; htmltext += "<center>Введите желаемое имя:</center>"; htmltext += "<center><edit var=\"nick\" width=200 length=\"16\"><br></center>"; htmltext += "<center><button value=\"Изменить\" action=\"bypass -h Quest "+ qn +" changeName $nick\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"><br></center>"; htmltext += "<center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></center></body></html>"; return htmltext; } else if (args.length==2) { String name = args[1]; if (!name.matches("[!%:?()_+-@\\[\\]^]") || name.contains("ADM") || name.contains("GM") || name.contains("")) { criticalTo(player, "Ваш ник не соответствует правилам."); } else if (CharNameTable.getInstance().getByName(name) != null) { criticalTo(player, "Это имя уже занято!"); } else if (player.getClanId()!=0) { criticalTo(player, "Вы должны выйти из клана, прежде чем менять ник. После вы можете войти обратно."); } else if (!checkMoney(player, priceChangeNameId, priceChangeNameCount, true)) { return "no-money.htm"; } else { player.setName(name); L2World.getInstance().removeFromAllPlayers(player); player.changeName(name); player.store(); L2World.getInstance().addToAllPlayers(player); player.broadcastUserInfo(); criticalTo(player, "Вы успешно сменили свой ник! Пожалуйста перезайдите."); } } } else if(args[0].equals("colorlist")) { colorTable = "<tr><td>"+colorTable+"</td></tr>"; colorTable += "<center></body></html>"; return colorTable; } else if(args[0].equals("clanlist")) { String html = "clanlist.htm"; return html; } else if(args[0].equals("active")) { String htmltext = "active.htm"; return htmltext; } else if(args[0].equals("passive")) { String htmltext = "passive.htm"; return htmltext; } else if(args[0].equals("chance")) { String htmltext = "chance.htm"; return htmltext; } return "donate.htm"; } @Override public String onFirstTalk(L2NpcInstance npc, L2PcInstance player) { return onTalk(npc, player); } @Override public String onTalk(L2NpcInstance npc, L2PcInstance player) { QuestState qs = player.getQuestState(qn); if(qs==null) qs = newQuestState(player); return "donate.htm"; } public static void main(String[] args) { ServiceManager ps = new ServiceManager(); ps.addFirstTalkId(ID_NPC_MANAGER); // Мы не хотим писать диалог для этого НПЦ ps.addStartNpc(ID_NPC_MANAGER); // Автоматический контроль состояния квеста ps.addTalkId(ID_NPC_MANAGER); // NPC с которым можно говорить. } }
  4. Спасиб разобрался. с меня +
  5. что имеется skills.txt
  6. Там я нашёл только снятие бафа при снятии пушки. Но это не совсем то. 2 бафа всеравное не бафнешь
  7. Кто знает как убрать ограничение на Лс скилы (что бы было возможно набафать 2+ активки). А то с 1 пушки баваешь лс. Бафаешь лс со второй пушки - первый лс слетает. Сборка ловели.
  8. Кто знает как убрать ограничение на Лс скилы (что бы было возможно набафать 2+ активки). А то с 1 пушки баваешь лс. Бафаешь лс со второй пушки - первый лс слетает.
×
×
  • Создать...