iiieva 248 Опубликовано 8 января, 2014 (изменено) Скачал ServiceManager для сборки настроил премиум, прописал bypass -h Quest ServiceManager premiumlist но при нажатии на кнопку выбивать в ГС ошибку <p> package custom.ServiceManager; import java.io.File; import java.io.FileReader; import java.io.LineNumberReader; import java.util.HashMap; import java.util.Map; import ru.catssoftware.gameserver.datatables.ItemTable; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; 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; public class ServiceManager extends Quest { private static String qn = "ServiceManager"; private static class Price { private int []_itemId; private int []_prices; public Price(int []items, int[]count) { _itemId = items; _prices = count; } } private static Map _premiumPrice = new HashMap(); private static Map _heroPrice = new HashMap(); private static Price _colorPrice = new Price(new int[] {9834}, new int [] {100}); private static Price _NoblesPrice = new Price(new int[] {9834}, new int [] {350}); private String colorTable = ""; public ServiceManager() { super(-1,qn,"custom"); // ================= ЦЕНЫ НА ДВОРЯНСТВО ======== // дни, new Price(new int[] {через , ИД предметов},new int[] {через , количество}); _premiumPrice.put(1,new Price(new int[] { 9834},new int[] {65})); _premiumPrice.put(3,new Price(new int[] { 9834},new int[] {100})); _premiumPrice.put(7,new Price(new int[] { 9834},new int[] {200})); _premiumPrice.put(14,new Price(new int[] { 9834},new int[] {340})); _premiumPrice.put(30,new Price(new int[] { 9834},new int[] {550})); // ================ ЦЕНЫ НА ГЕРОИЗМ =============== _heroPrice.put(1, new Price(new int[] { 4037},new int[] {5})); _heroPrice.put(7, new Price(new int[] { 4037},new int[] {18})); _heroPrice.put(14, new Price(new int[] { 4037},new int[] {25})); _heroPrice.put(28, new Price(new int[] { 4037},new int[] {35})); // Таблица цветов из 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"); colorTable +=""; for(int i=0;i colorTable +=""; } } catch(Exception e) { System.out.println("Error reading "+f.getParent()+"/colors.table"); } } private boolean checkMoney(L2PcInstance player, Price price) { for(int i=0;i if(player.getInventory().getItemByItemId(price._itemId)==null || player.getInventory().getItemByItemId(price._itemId).getCount() < price._prices) { return false; // Нет денег? Сории } for(int i=0;i if(!player.destroyItemByItemId(qn, price._itemId, price._prices, 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 = " Покупка премиума: Price price = _premiumPrice.get(days); for(int i=0;i if(i!=0) // Добавляем , html+=","; html+=price._prices+" "+ItemTable.getInstance().getTemplate(price._itemId).getName(); } } html+="<p>Покупка Геройства: Price price = _heroPrice.get(days); for(int i=0;i if(i!=0) // Добавляем , html+=","; html+=price._prices+" "+ItemTable.getInstance().getTemplate(price._itemId).getName(); } } html+="<p>Выбор цвета"; html+=(colorTable.replace("%name%", player.getName())); html+=" Изменено 8 января, 2014 пользователем iiieva Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TpaMjkee 128 Опубликовано 8 января, 2014 В конце нужна ещё одна } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Detect 618 Опубликовано 8 января, 2014 (изменено) Скачал ServiceManager для сборки настроил премиум, прописал bypass -h Quest ServiceManager premiumlist но при нажатии на кнопку выбивать в ГС ошибку <p> package custom.ServiceManager; import java.io.File; import java.io.FileReader; import java.io.LineNumberReader; import java.util.HashMap; import java.util.Map; import ru.catssoftware.gameserver.datatables.ItemTable; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; 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; public class ServiceManager extends Quest { private static String qn = "ServiceManager"; private static class Price { private int []_itemId; private int []_prices; public Price(int []items, int[]count) { _itemId = items; _prices = count; } } private static Map _premiumPrice = new HashMap(); private static Map _heroPrice = new HashMap(); private static Price _colorPrice = new Price(new int[] {9834}, new int [] {100}); private static Price _NoblesPrice = new Price(new int[] {9834}, new int [] {350}); private String colorTable = ""; public ServiceManager() { super(-1,qn,"custom"); // ================= ЦЕНЫ НА ДВОРЯНСТВО ======== // дни, new Price(new int[] {через , ИД предметов},new int[] {через , количество}); _premiumPrice.put(1,new Price(new int[] { 9834},new int[] {65})); _premiumPrice.put(3,new Price(new int[] { 9834},new int[] {100})); _premiumPrice.put(7,new Price(new int[] { 9834},new int[] {200})); _premiumPrice.put(14,new Price(new int[] { 9834},new int[] {340})); _premiumPrice.put(30,new Price(new int[] { 9834},new int[] {550})); // ================ ЦЕНЫ НА ГЕРОИЗМ =============== _heroPrice.put(1, new Price(new int[] { 4037},new int[] {5})); _heroPrice.put(7, new Price(new int[] { 4037},new int[] {18})); _heroPrice.put(14, new Price(new int[] { 4037},new int[] {25})); _heroPrice.put(28, new Price(new int[] { 4037},new int[] {35})); // Таблица цветов из 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"); colorTable +=""; for(int i=0;i colorTable +=""; } } catch(Exception e) { System.out.println("Error reading "+f.getParent()+"/colors.table"); } } private boolean checkMoney(L2PcInstance player, Price price) { for(int i=0;i if(player.getInventory().getItemByItemId(price._itemId)==null || player.getInventory().getItemByItemId(price._itemId).getCount() < price._prices) { return false; // Нет денег? Сории } for(int i=0;i if(!player.destroyItemByItemId(qn, price._itemId, price._prices, 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 = " Покупка премиума: Price price = _premiumPrice.get(days); for(int i=0;i if(i!=0) // Добавляем , html+=","; html+=price._prices+" "+ItemTable.getInstance().getTemplate(price._itemId).getName(); } } html+="<p>Покупка Геройства: Price price = _heroPrice.get(days); for(int i=0;i if(i!=0) // Добавляем , html+=","; html+=price._prices+" "+ItemTable.getInstance().getTemplate(price._itemId).getName(); } } html+="<p>Выбор цвета"; html+=(colorTable.replace("%name%", player.getName())); html+=" запакуй и скинь посмотрю, а то мне кажется что либо ты не полное скинул либо там добавить } ужно Изменено 8 января, 2014 пользователем Flayter Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yokus 19 Опубликовано 8 января, 2014 В конце нужна ещё одна } Тогда-бы ядро не скомпилировалось бы. Посмотрите RequestBypassToServer строку 213 и дальше по цепочке вызовов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iiieva 248 Опубликовано 8 января, 2014 http://rghost.ru/51490998 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yokus 19 Опубликовано 8 января, 2014 Скорее всего вы не обработали bypass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iiieva 248 Опубликовано 8 января, 2014 Скорее всего вы не обработали bypass Можно по подробней Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 8 января, 2014 <td align=center><button value="Premium Acc." action="bypass -h Quest ServiceManager" width=75 height=21 back="L2UI_CH3.Btn1_normalDisable" fore="L2UI_CH3.Btn1_normalDisable"></td> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iiieva 248 Опубликовано 8 января, 2014 <td align=center><button value="Premium Acc." action="bypass -h Quest ServiceManager" width=75 height=21 back="L2UI_CH3.Btn1_normalDisable" fore="L2UI_CH3.Btn1_normalDisable"></td> При нажатии нечего не происходит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
heka 32 Опубликовано 8 января, 2014 У меня так же было, вот нашел вроди бы нормальный http://rghost.ru/51492214 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yokus 19 Опубликовано 8 января, 2014 Можно по подробней Серверу приходит bypass -h Quest ServiceManager premiumlist , он не знает что с ним делать, либо делает что-то не правильно. Хотя если там написано Quest , то возможно что магазин просто неправильно установлен. Есть исходники? Если да, скиньте RequestBypassToServer Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты