RayWilliam 1 Опубликовано 24 июля, 2012 Ребата, помогите пожалуйста, уже раньше открывал такую тему но не помогло и не кто не ответил Я хочу сделать через НПС чтобы профу можно было сменить, ну через ГМ ШОП Подскажите пожалуйста код в исходах и код в хтмл Сборка L2jLink 1.4.0 - Хроники Interlude Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XoaKuH 5 Опубликовано 24 июля, 2012 +1.. тоже интересно как это реализовать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eminence 107 Опубликовано 24 июля, 2012 Ребата, помогите пожалуйста, уже раньше открывал такую тему но не помогло и не кто не ответилЯ хочу сделать через НПС чтобы профу можно было сменить, ну через ГМ ШОП Подскажите пожалуйста код в исходах и код в хтмл Сборка L2jLink 1.4.0 - Хроники Interlude Профу в смысле сабб класс взять и т.д ? Или взять профу конкретно по прокачке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 По прокачке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eminence 107 Опубликовано 24 июля, 2012 По прокачке Интерлюди ? Если да, то можно вставить в html окна просто код который адресует на получение профессии . Если же дапустим ХФ , можно реализовать через сервисы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 Я искал класс мастера но не нашёл, хотел взять код Может вы подскажите код на получение профессии Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eminence 107 Опубликовано 24 июля, 2012 Я искал класс мастера но не нашёл, хотел взять кодМожет вы подскажите код на получение профессии Выглядит это примерно так : Скрытый текст<html><body><center><font color="009900">Смена професси для Human Fighter</font></center><br> <a action="bypass -h npc_%objectId%_change_class 1">Продолжить за Warrior</a><br> <a action="bypass -h npc_%objectId%_change_class 4">Продолжить за Knight</a><br> <a action="bypass -h npc_%objectId%_change_class 7">Продолжить за Rogue</a> </body></html> Найти это можно по адресу : \gameserver\data\html\classmaster Дальше думаю сам допетришь . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 У меня такой нету - \html\classmaster сама папка classmaster Ого а можно просто так сделать <a action="bypass -h npc_%objectId%_change_class 1">1 Профессия</a><br> <a action="bypass -h npc_%objectId%_change_class 2">2 Профессия</a><br> <a action="bypass -h npc_%objectId%_change_class 3">3 Профессия</a><br> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Eminence 107 Опубликовано 24 июля, 2012 У меня такой нету - \html\classmasterсама папка classmaster Ого а можно просто так сделать <a action="bypass -h npc_%objectId%_change_class 1">1 Профессия</a><br> <a action="bypass -h npc_%objectId%_change_class 2">2 Профессия</a><br> <a action="bypass -h npc_%objectId%_change_class 3">3 Профессия</a><br> Попробуй. Протести . Про идее должно работать, но сам класс мастер идет по такому принципу : Находит твою профу , а затем перенааправляет на нужный html с твоей профой . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 Нет не помогает( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
elvin 8 Опубликовано 24 июля, 2012 добав скайп помогу IIIcux у меня так был Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 24 июля, 2012 <a action="bypass -h npc_%objectId%_change_class 1">1 Профессия</a><br><a action="bypass -h npc_%objectId%_change_class 2">2 Профессия</a><br> <a action="bypass -h npc_%objectId%_change_class 3">3 Профессия</a><br> 1, 2 и 3 это айди классов По теме: Возможно у ТСа классмастер в ядре, если есть сорцы, то пиши - помогу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 24 июля, 2012 бай пас делай в инстансе поищи в моих постах старых если очень нужно) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 При компиляции идёт такая ошибка [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:154: ';' expected [javac] public void onBypassFeedback(L2PcInstance player, String command) [javac] ^ [javac] 1 error Если я сделаю public void onBypassFeedback(L2PcInstance player, String command); Даёт такие ошибки: [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: illegal start of type [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: ';' expected [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: illegal start of type [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: ';' expected [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: invalid method declaration; return type required [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: illegal start of type [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] 6 errors Кусок кода: @Override public void onBypassFeedback(L2PcInstance player, String command) else if(command.startsWith("ololo"){ if (((level >= 20 && jobLevel == 1 ) || (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS) { showChatWindow(player, classId.getId()); } else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88) { for (int i = 0; i < SECONDN_CLASS_IDS.length; i++) { if (classId.getId() == SECONDN_CLASS_IDS[i]) { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder sb = new TextBuilder(); sb.append("<html><body<table width=200>"); sb.append("<tr><td><center>"+CharTemplateTable.getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>"); sb.append("<tr><td><br></td></tr>"); sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getClassNameById(88+i)+"</a></td></tr>"); sb.append("<tr><td><br></td></tr>"); sb.append("</table></body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); break; } } } else { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder sb = new TextBuilder(); sb.append("<html><body>"); switch (jobLevel) { case 1: sb.append("Come back here when you reach level 20 to change your class.<br>"); break; case 2: sb.append("Come back here when you reach level 40 to change your class.<br>"); break; case 3: sb.append("There are no more class changes for you.<br>"); break; } for (Quest q : Quest.findAllEvents()) sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>"); sb.append("</body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); }} { Засунул в - L2MerchantInstance Что делать в этой сетуации помогите пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 24 июля, 2012 (изменено) Скрытый текстПри компиляции идёт такая ошибка [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:154: ';' expected [javac] public void onBypassFeedback(L2PcInstance player, String command) [javac] ^ [javac] 1 error Если я сделаю public void onBypassFeedback(L2PcInstance player, String command); Даёт такие ошибки: [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: illegal start of type [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: ';' expected [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: illegal start of type [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: ';' expected [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: invalid method declaration; return type required [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] C:\Documents and Settings\Admin\Рабочий стол\L2jLink 1.4.0\gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2MerchantInstance.java:155: illegal start of type [javac] else if(command.startsWith("ololo"){ [javac] ^ [javac] 6 errors Кусок кода: @Override public void onBypassFeedback(L2PcInstance player, String command) else if(command.startsWith("ololo"){ if (((level >= 20 && jobLevel == 1 ) || (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS) { showChatWindow(player, classId.getId()); } else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88) { for (int i = 0; i < SECONDN_CLASS_IDS.length; i++) { if (classId.getId() == SECONDN_CLASS_IDS[i]) { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder sb = new TextBuilder(); sb.append("<html><body<table width=200>"); sb.append("<tr><td><center>"+CharTemplateTable.getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>"); sb.append("<tr><td><br></td></tr>"); sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getClassNameById(88+i)+"</a></td></tr>"); sb.append("<tr><td><br></td></tr>"); sb.append("</table></body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); break; } } } else { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder sb = new TextBuilder(); sb.append("<html><body>"); switch (jobLevel) { case 1: sb.append("Come back here when you reach level 20 to change your class.<br>"); break; case 2: sb.append("Come back here when you reach level 40 to change your class.<br>"); break; case 3: sb.append("There are no more class changes for you.<br>"); break; } for (Quest q : Quest.findAllEvents()) sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>"); sb.append("</body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); }} { Засунул в - L2MerchantInstance Что делать в этой сетуации помогите пожалуйста Оторвать себе руки. Форум создан для помощи (это значит, что вам помогут, а не сделают всё за вас). Учите основы программирования. Нечего лезть туда, если даже не представляете, что и как работает. Изменено 24 июля, 2012 пользователем †DeMoN†™ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 эххх, поменять бы тебе глаза, я и не просил чтобы за меня сделали, я попросил чтобы мне помогли что и как, обьяснили и т.д Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 24 июля, 2012 (изменено) эххх, поменять бы тебе глаза, я и не просил чтобы за меня сделали, я попросил чтобы мне помогли что и как, обьяснили и т.д 1. Мы на "ты" не переходили 2. Выглядит именно так, как я написал 3. И как уже писал, для решения вашей проблемы есть куча книг по программированию. Смысл заниматься тем, где не разбираетесь? Или учитесь, или платите. @Override public void onBypassFeedback(L2PcInstance player, String command) else if(command.startsWith("ololo"){ if (((level >= 20 && jobLevel == 1 ) || изменить на @Override public void onBypassFeedback(L2PcInstance player, String command) { if(command.startsWith("ololo") if (((level >= 20 && jobLevel == 1 ) || Возможно ещё что-то где-то. Весь код не смотрел. Изменено 24 июля, 2012 пользователем †DeMoN†™ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 †DeMoN†™ Поверьте я знаю Java на 30-40 %, но не могу учить постоянно, время не позволяет, И я так уже давно пробовал не получается, если бы я смог исправить бы, я бы не обращался на форум Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 24 июля, 2012 †DeMoN†™ Поверьте я знаю Java на 30-40 %, но не могу учить постоянно, время не позволяет,И я так уже давно пробовал не получается, если бы я смог исправить бы, я бы не обращался на форум если бы ты учил java хоть немного зал бы что это такое (L2PcInstance player, String command) это тоже самое что showChatWindow(L2PcInstance, classId.getId()); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 24 июля, 2012 †DeMoN†™ Поверьте я знаю Java на 30-40 %, но не могу учить постоянно, время не позволяет,И я так уже давно пробовал не получается, если бы я смог исправить бы, я бы не обращался на форум 30-40%, а до синтаксиса не дошли? Скиньте под спойлер весь скрипт. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayWilliam 1 Опубликовано 24 июля, 2012 Скрытый текст/* * 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 2, 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, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */package com.l2jfrozen.gameserver.model.actor.instance;import java.util.StringTokenizer;import javolution.text.TextBuilder;import com.l2jfrozen.Config;import com.l2jfrozen.gameserver.controllers.TradeController;import com.l2jfrozen.gameserver.model.L2TradeList;import com.l2jfrozen.gameserver.model.multisell.L2Multisell;import com.l2jfrozen.gameserver.network.L2GameClient;import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;import com.l2jfrozen.gameserver.network.serverpackets.BuyList;import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected;import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;import com.l2jfrozen.gameserver.network.serverpackets.Ride;import com.l2jfrozen.gameserver.network.serverpackets.SellList;import com.l2jfrozen.gameserver.network.serverpackets.StatusUpdate;import com.l2jfrozen.gameserver.network.serverpackets.WearList;import com.l2jfrozen.gameserver.templates.L2NpcTemplate;import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance;import com.l2jfrozen.gameserver.model.base.ClassLevel;import com.l2jfrozen.gameserver.model.base.PlayerClass;/** * This class ... * * @version $Revision: 1.10.4.9 $ $Date: 2005/04/11 10:06:08 $ */public class L2MerchantInstance extends L2FolkInstance{ //private static Logger _log = Logger.getLogger(L2MerchantInstance.class.getName()); /** * @param template */ public L2MerchantInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public String getHtmlPath(int npcId, int val) { String pom = ""; if(val == 0) { pom = "" + npcId; } else { pom = npcId + "-" + val; } return "data/html/merchant/" + pom + ".htm"; } private void showWearWindow(L2PcInstance player, int val) { player.tempInvetoryDisable(); if(Config.DEBUG) { _log.fine("Showing wearlist"); } L2TradeList list = TradeController.getInstance().getBuyList(val); if(list != null) { WearList bl = new WearList(list, player.getAdena(), player.getExpertiseIndex()); player.sendPacket(bl); list = null; bl = null; } else { _log.warning("no buylist with id:" + val); player.sendPacket(ActionFailed.STATIC_PACKET); } } private void showBuyWindow(L2PcInstance player, int val) { double taxRate = 0; if(getIsInTown()) { taxRate = getCastle().getTaxRate(); } player.tempInvetoryDisable(); if(Config.DEBUG) { _log.fine("Showing buylist"); } L2TradeList list = TradeController.getInstance().getBuyList(val); if(list != null && list.getNpcId().equals(String.valueOf(getNpcId()))) { BuyList bl = new BuyList(list, player.getAdena(), taxRate); player.sendPacket(bl); list = null; bl = null; } else { _log.warning("possible client hacker: " + player.getName() + " attempting to buy from GM shop! (L2MechantInstance)"); _log.warning("buylist id:" + val); } player.sendPacket(ActionFailed.STATIC_PACKET); } private void showSellWindow(L2PcInstance player) { if(Config.DEBUG) { _log.fine("Showing selllist"); } player.sendPacket(new SellList(player)); if(Config.DEBUG) { _log.fine("Showing sell window"); } player.sendPacket(ActionFailed.STATIC_PACKET); }@Override public void onBypassFeedback(L2PcInstance player, String command){if(command.startsWith("ololo")if (((level >= 20 && jobLevel == 1 ) || (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS) { showChatWindow(player, classId.getId()); } else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88) { for (int i = 0; i < SECONDN_CLASS_IDS.length; i++) { if (classId.getId() == SECONDN_CLASS_IDS) { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder sb = new TextBuilder(); sb.append("<html><body<table width=200>"); sb.append("<tr><td><center>"+CharTemplateTable.getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>"); sb.append("<tr><td><br></td></tr>"); sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getClassNameById(88+i)+"</a></td></tr>"); sb.append("<tr><td><br></td></tr>"); sb.append("</table></body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); break; } } } else { NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder sb = new TextBuilder(); sb.append("<html><body>"); switch (jobLevel) { case 1: sb.append("Come back here when you reach level 20 to change your class.<br>"); break; case 2: sb.append("Come back here when you reach level 40 to change your class.<br>"); break; case 3: sb.append("There are no more class changes for you.<br>"); break; } for (Quest q : Quest.findAllEvents()) sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>"); sb.append("</body></html>"); html.setHtml(sb.toString()); player.sendPacket(html); }} { StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); // Get actual command if(actualCommand.equalsIgnoreCase("Buy")) { if(st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); showBuyWindow(player, val); } else if(actualCommand.equalsIgnoreCase("Sell")) { showSellWindow(player); } else if(actualCommand.equalsIgnoreCase("RentPet")) { if(Config.ALLOW_RENTPET) { if(st.countTokens() < 1) { showRentPetWindow(player); } else { int val = Integer.parseInt(st.nextToken()); tryRentPet(player, val); } } } else if(actualCommand.equalsIgnoreCase("Wear") && Config.ALLOW_WEAR) { if(st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); showWearWindow(player, val); } else if(actualCommand.equalsIgnoreCase("Multisell")) { if(st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); L2Multisell.getInstance().SeparateAndSend(val, player, false, getCastle().getTaxRate()); } else if(actualCommand.equalsIgnoreCase("Exc_Multisell")) { if(st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); L2Multisell.getInstance().SeparateAndSend(val, player, true, getCastle().getTaxRate()); } else { // this class dont know any other commands, let forward // the command to the parent class super.onBypassFeedback(player, command); } st = null; actualCommand = null; } public void showRentPetWindow(L2PcInstance player) { if(!Config.LIST_PET_RENT_NPC.contains(getTemplate().npcId)) return; TextBuilder html1 = new TextBuilder("<html><body>Pet Manager:<br>"); html1.append("You can rent a wyvern or strider for adena.<br>My prices:<br1>"); html1.append("<table border=0><tr><td>Ride</td></tr>"); html1.append("<tr><td>Wyvern</td><td>Strider</td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 1\">30 sec/1800 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 11\">30 sec/900 adena</a></td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 2\">1 min/7200 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 12\">1 min/3600 adena</a></td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 3\">10 min/720000 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 13\">10 min/360000 adena</a></td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 4\">30 min/6480000 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 14\">30 min/3240000 adena</a></td></tr>"); html1.append("</table>"); html1.append("</body></html>"); insertObjectIdAndShowChatWindow(player, html1.toString()); html1 = null; } public void tryRentPet(L2PcInstance player, int val) { if(player == null || player.getPet() != null || player.isMounted() || player.isRentedPet()) return; if(!player.disarmWeapons()) return; int petId; double price = 1; int cost[] = { 1800, 7200, 720000, 6480000 }; int ridetime[] = { 30, 60, 600, 1800 }; if(val > 10) { petId = 12526; val -= 10; price /= 2; } else { petId = 12621; } if(val < 1 || val > 4) return; price *= cost[val - 1]; int time = ridetime[val - 1]; if(!player.reduceAdena("Rent", (int) price, player.getLastFolkNPC(), true)) return; Ride mount = new Ride(player.getObjectId(), Ride.ACTION_MOUNT, petId); player.broadcastPacket(mount); player.setMountType(mount.getMountType()); player.startRentPet(time); mount = null; } @Override public void onActionShift(L2GameClient client) { L2PcInstance player = client.getActiveChar(); if(player == null) return; if(player.getAccessLevel().isGm()) { player.setTarget(this); MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel()); player.sendPacket(my); my = null; if(isAutoAttackable(player)) { StatusUpdate su = new StatusUpdate(getObjectId()); su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp()); su.addAttribute(StatusUpdate.MAX_HP, getMaxHp()); player.sendPacket(su); su = null; } NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder html1 = new TextBuilder("<html><body><table border=0>"); html1.append("<tr><td>Current Target:</td></tr>"); html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td>Object ID: " + getObjectId() + "</td></tr>"); html1.append("<tr><td>Template ID: " + getTemplate().npcId + "</td></tr>"); html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td>HP: " + getCurrentHp() + "</td></tr>"); html1.append("<tr><td>MP: " + getCurrentMp() + "</td></tr>"); html1.append("<tr><td>Level: " + getLevel() + "</td></tr>"); html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td>Class: " + getClass().getName() + "</td></tr>"); html1.append("<tr><td><br></td></tr>"); //changed by terry 2005-02-22 21:45 html1.append("</table><table><tr><td><button value=\"Edit NPC\" action=\"bypass -h admin_edit_npc " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>"); html1.append("<td><button value=\"Kill\" action=\"bypass -h admin_kill\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); html1.append("<tr><td><button value=\"Show DropList\" action=\"bypass -h admin_show_droplist " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); html1.append("<td><button value=\"Delete\" action=\"bypass -h admin_delete\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); html1.append("</table>"); if(player.isGM()) { html1.append("<button value=\"View Shop\" action=\"bypass -h admin_showShop " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></br>"); html1.append("<button value=\"Lease next week\" action=\"bypass -h npc_" + getObjectId() + "_Lease\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">"); html1.append("<button value=\"Abort current leasing\" action=\"bypass -h npc_" + getObjectId() + "_Lease next\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">"); html1.append("<button value=\"Manage items\" action=\"bypass -h npc_" + getObjectId() + "_Lease manage\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">"); } html1.append("</body></html>"); html.setHtml(html1.toString()); player.sendPacket(html); html = null; html1 = null; } player.sendPacket(ActionFailed.STATIC_PACKET); player = null; }} Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 24 июля, 2012 (изменено) else if(actualCommand.equalsIgnoreCase("Buy")) { if(st.countTokens() < 1) return; } Вопрос не по теме к демону swing начиная с jre7 поддерживает тип String? или сhar? Изменено 24 июля, 2012 пользователем AlexMan Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
†DeMoN†™ 156 Опубликовано 24 июля, 2012 else if(actualCommand.equalsIgnoreCase("Buy")){ if(st.countTokens() < 1) return; } Вопрос не по теме к демону swing начиная с jre7 поддерживает тип String? или сhar? Я с GUI в яве в последний раз работал года 3 назад. Так, что к сожалению не знаю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yokus 19 Опубликовано 24 июля, 2012 Вчера пытался написать код за ТСа. Действительно непонятно куда спешил, естественно дал совершенно нерабочий. Но согласен с модератором: я не должен выполнять работу за другого, а только давать подсказки, иначе ТС ничему не научиться. Что мешает переместить все методы из L2ClassMasterInstance в L2MerchantInstance, скрестив методы onBypassFeedback обоих классов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты