XaTTa6bI4 7 Опубликовано 26 октября, 2013 (изменено) Продам нпц для обнулов так выглядит за 100$ Обнуления – это система развития персонажа, при которой игрок может изучать скилы от любой профессии, а не только от профессии его персонажа, как это реализовано на классических серверах Lineage 2. Достигнув 78 уровня или выше,персонаж может обнулится и его уровень станет первый и другая профессия. При этом останутся все скилы от прошлой профессии и можно выучить новые. Также введена система переключения профессий среди обнулений персонажа. Безупречный баланс между рассами и потрясающая работа скилов не оставят любителей PvP равнодушными. Играя у нас на сервере вы узнаете полноценную мультипрофу. Не простой фарм SP и изучение скилов,а обнуления на другую профессию. Достигнув минимум 78го уровня у NPC в гиране за адену вы выбираете нужную вам профессию(Бд,Ее,Titan и т.д.) Становитесь 1го уровня. При этом расса, ник, прическа и все изученные умения до этого остаются. Изменено 26 октября, 2013 пользователем XaTTa6bI4 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BLaCkSHaRk 45 Опубликовано 26 октября, 2013 я бы и за 10$ не купил: где описание, где скрины, описание работы НПЦ? видео, в конце концов (за такую цену можно было его сделать) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Fruks 244 Опубликовано 26 октября, 2013 3к платить за какого-то непонятного нпц? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mefestofel163 1333 Опубликовано 26 октября, 2013 (изменено) ахахаха команда .rapair есть во всех нынешних сборках сбрасывает с игрока с 80 к примеру до 40 лв и дает награду Автор война в 42 году окончилась давно из окоп выбрался ? public void deleveling() { L2Player player = (L2Player) self; L2Item item = ItemTable.getInstance().getTemplate(Config.SERVICE S_DELEVEL_SELL_ITEM); L2ItemInstance pay = player.getInventory().getItemByItemId(item.getItem Id()); if(player.getPlayer().getLevel() < Config.SERVICES_DELEVEL_SELL_MINLEVEL) show("Вы слишком молоды для этого сервиса", player); if(player.getPlayer().getKarma() > 0) show("Вы злой робин гуд?", player); if(player.getPlayer().getPvpFlag() != 0) show("Хммм, вам нужно остыть", player); if(pay != null && pay.getCount() >= Config.SERVICES_DELEVEL_SELL_PRICE) { player.getInventory().destroyItem(pay, Config.SERVICES_DELEVEL_SELL_PRICE, true); Long exp_add = Experience.LEVEL[player.getPlayer().getLevel() - 1] - player.getExp(); player.addExpAndSp(exp_add, 0, false, false); } else if(Config.SERVICES_NOBLESS_SELL_ITEM == 57) player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA ); else player.sendPacket(Msg.INCORRECT_ITEM_COUNT); } Изменено 26 октября, 2013 пользователем Mefestofel163 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Fruks 244 Опубликовано 26 октября, 2013 ахахаха каманда .rapair ест ьво всех нынешних сборках сбрасывает с игркои с 80 к примеру до 40 лв и дает награду Автор война в 42 году окончилась давно из окоп выбрался ? И меф со своими ошибками тут как тут Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mefestofel163 1333 Опубликовано 26 октября, 2013 И меф со своими ошибками тут как тут Да да да Да клава тугая , жму 1 букву пишет другую Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 тая ж фигня Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BLaCkSHaRk 45 Опубликовано 26 октября, 2013 ахахаха команда .rapair есть во всех нынешних сборках сбрасывает с игрока с 80 к примеру до 40 лв и дает награду Автор война в 42 году окончилась давно из окоп выбрался ? public void deleveling() { L2Player player = (L2Player) self; L2Item item = ItemTable.getInstance().getTemplate(Config.SERVICE S_DELEVEL_SELL_ITEM); L2ItemInstance pay = player.getInventory().getItemByItemId(item.getItem Id()); if(player.getPlayer().getLevel() < Config.SERVICES_DELEVEL_SELL_MINLEVEL) show("Вы слишком молоды для этого сервиса", player); if(player.getPlayer().getKarma() > 0) show("Вы злой робин гуд?", player); if(player.getPlayer().getPvpFlag() != 0) show("Хммм, вам нужно остыть", player); if(pay != null && pay.getCount() >= Config.SERVICES_DELEVEL_SELL_PRICE) { player.getInventory().destroyItem(pay, Config.SERVICES_DELEVEL_SELL_PRICE, true); Long exp_add = Experience.LEVEL[player.getPlayer().getLevel() - 1] - player.getExp(); player.addExpAndSp(exp_add, 0, false, false); } else if(Config.SERVICES_NOBLESS_SELL_ITEM == 57) player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA ); else player.sendPacket(Msg.INCORRECT_ITEM_COUNT); } Что за бред ты написал? А где хп, мп, откат родных скилов, таблица получения новых скилов и прочее, что необходимо для данного мода? Что касается автора - видео сними, я тебе советую... ну и то, что ты выдрал описание и эвент на питоне с какой-то шарной сборки не делает тебе чести, да и цена неоправданная Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mefestofel163 1333 Опубликовано 26 октября, 2013 Что за бред ты написал? А где хп, мп, откат родных скилов, таблица получения новых скилов и прочее, что необходимо для данного мода? Что касается автора - видео сними, я тебе советую... ну и то, что ты выдрал описание и эвент на питоне с какой-то шарной сборки не делает тебе чести, да и цена неоправданная Да это кусок кода с зг Фактую о том , что 100$ не за что платить)! Вот держи полный скрипт package handlers.voice; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import ru.catssoftware.L2DatabaseFactory; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author m095 * Класс восстановления персонажа после краха клиента */ public class Repair implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "repair", "startrepair" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (activeChar==null) return false; String repairChar=null; String[] cmdParams = target.split(" "); repairChar=cmdParams[0]; // Send activeChar HTML page if (command.startsWith("repair")) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair.htm"); activeChar.sendPacket(html); return true; } // Command for enter repairFunction from html else if (command.startsWith("startrepair")) { if (checkAcc(activeChar,repairChar)) { if (activeChar.getName().compareTo(repairChar)==0) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-self.htm"); activeChar.sendPacket(html); } else if (checkJail(repairChar)) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-jail.htm"); activeChar.sendPacket(html); } else { repairBadCharacter(repairChar); NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-done.htm"); activeChar.sendPacket(html); } } else { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-error.htm"); activeChar.sendPacket(html); } return true; } return false; } /** * Проверяет аккаунт чара * @param activeChar * @param repairChar * @return */ private boolean checkAcc(L2PcInstance activeChar,String repairChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(con); PreparedStatement statement = con.prepareStatement("SELECT account_name FROM characters WHERE char_name=?"); statement.setString(1, repairChar); ResultSet rset = statement.executeQuery(); if (rset.next()) { if (activeChar.getAccountName().compareTo(rset.getString(1)) == 0) return true; } rset.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } return false; } /** * Проверяет находится ли чар в тюрьме * @param repairChar * @return */ private boolean checkJail(String repairChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(con); PreparedStatement statement = con.prepareStatement("SELECT in_jail FROM characters WHERE char_name=?"); statement.setString(1, repairChar); ResultSet rset = statement.executeQuery(); if (rset.next()) { if (rset.getInt(1) == 1) return true; } rset.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } return false; } /** * Восстанавливает персонажа, обновляет координаты, удаляет ярлыки, сбрасывает вещи в сумку * @param charName */ private void repairBadCharacter(String charName) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(con); PreparedStatement statement; statement = con.prepareStatement("SELECT charId FROM characters WHERE char_name=?"); statement.setString(1, charName); ResultSet rset = statement.executeQuery(); int objId = 0; if (rset.next()) { objId = rset.getInt(1); } rset.close(); statement.close(); if (objId == 0) { con.close(); return; } statement = con.prepareStatement("UPDATE characters SET x=17867, y=170259, z=-3503 WHERE charId=?"); statement.setInt(1, objId); statement.execute(); statement.close(); statement = con.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?"); statement.setInt(1, objId); statement.execute(); statement.close(); statement = con.prepareStatement("UPDATE items SET loc=\"INVENTORY\" WHERE owner_id=? AND loc=\"PAPERDOLL\""); statement.setInt(1, objId); statement.execute(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } } public String getDescription(String command) { if(command.equals("repair")) return "Востанавливает поврежденную информацию о персонаже."; return null; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } public static void main(String [] args) { VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Repair()); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Banda 19 Опубликовано 26 октября, 2013 Да да да Да клава тугая , жму 1 букву пишет другую Сказал бы просто мозги тугие, и ты школьник... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 import sys from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.gameserver.model.quest import State from net.sf.l2j.gameserver.model.quest import QuestState from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest qn = "5809_Usweer_NPC" # (ID Айтима) ID_ITEM = 57 #Колличество айтимов NEED_ITEM = 11 #Минимальные левел MIN_LVL = 78 PROF = 0 NPC=[51809] QuestId = 5809 QuestName = "Usweer_NPCl" QuestDesc = "quest" print "importing quest: 51809: Usweer NPC " class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onTalk (self,npc,player): st = player.getQuestState(qn) if st.getPlayer().getLevel() < MIN_LVL : return "badlevel.htm" elif st.getQuestItemsCount(ID_ITEM) < NEED_ITEM : return "noitem.htm" else: st.takeItems(ID_ITEM,NEED_ITEM) ты крут st.setState(State.COMPLETED) return "skilladd.htm" QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) for npcId in NPC: QUEST.addStartNpc(npcId) QUEST.addTalkId(npcId) Community3ClassReward = 57:50000000 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 ток ета не все Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BLaCkSHaRk 45 Опубликовано 26 октября, 2013 Да это кусок кода с зг Фактую о том , что 100$ не за что платить)! Вот держи полный скрипт package handlers.voice; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import ru.catssoftware.L2DatabaseFactory; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author m095 * Класс восстановления персонажа после краха клиента */ public class Repair implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "repair", "startrepair" }; public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (activeChar==null) return false; String repairChar=null; String[] cmdParams = target.split(" "); repairChar=cmdParams[0]; // Send activeChar HTML page if (command.startsWith("repair")) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair.htm"); activeChar.sendPacket(html); return true; } // Command for enter repairFunction from html else if (command.startsWith("startrepair")) { if (checkAcc(activeChar,repairChar)) { if (activeChar.getName().compareTo(repairChar)==0) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-self.htm"); activeChar.sendPacket(html); } else if (checkJail(repairChar)) { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-jail.htm"); activeChar.sendPacket(html); } else { repairBadCharacter(repairChar); NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-done.htm"); activeChar.sendPacket(html); } } else { NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId()); html.setFile("data/html/mods/repair/repair-error.htm"); activeChar.sendPacket(html); } return true; } return false; } /** * Проверяет аккаунт чара * @param activeChar * @param repairChar * @return */ private boolean checkAcc(L2PcInstance activeChar,String repairChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(con); PreparedStatement statement = con.prepareStatement("SELECT account_name FROM characters WHERE char_name=?"); statement.setString(1, repairChar); ResultSet rset = statement.executeQuery(); if (rset.next()) { if (activeChar.getAccountName().compareTo(rset.getString(1)) == 0) return true; } rset.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } return false; } /** * Проверяет находится ли чар в тюрьме * @param repairChar * @return */ private boolean checkJail(String repairChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(con); PreparedStatement statement = con.prepareStatement("SELECT in_jail FROM characters WHERE char_name=?"); statement.setString(1, repairChar); ResultSet rset = statement.executeQuery(); if (rset.next()) { if (rset.getInt(1) == 1) return true; } rset.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } return false; } /** * Восстанавливает персонажа, обновляет координаты, удаляет ярлыки, сбрасывает вещи в сумку * @param charName */ private void repairBadCharacter(String charName) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(con); PreparedStatement statement; statement = con.prepareStatement("SELECT charId FROM characters WHERE char_name=?"); statement.setString(1, charName); ResultSet rset = statement.executeQuery(); int objId = 0; if (rset.next()) { objId = rset.getInt(1); } rset.close(); statement.close(); if (objId == 0) { con.close(); return; } statement = con.prepareStatement("UPDATE characters SET x=17867, y=170259, z=-3503 WHERE charId=?"); statement.setInt(1, objId); statement.execute(); statement.close(); statement = con.prepareStatement("DELETE FROM character_shortcuts WHERE charId=?"); statement.setInt(1, objId); statement.execute(); statement.close(); statement = con.prepareStatement("UPDATE items SET loc=\"INVENTORY\" WHERE owner_id=? AND loc=\"PAPERDOLL\""); statement.setInt(1, objId); statement.execute(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } } public String getDescription(String command) { if(command.equals("repair")) return "Востанавливает поврежденную информацию о персонаже."; return null; } public String[] getVoicedCommandList() { return VOICED_COMMANDS; } public static void main(String [] args) { VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Repair()); } } А это вообще тут причём??? Это код войс комманды .repair, которая восстанавливает возможность зайти на чара при краше клиента Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BLaCkSHaRk 45 Опубликовано 26 октября, 2013 import sys from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.gameserver.model.quest import State from net.sf.l2j.gameserver.model.quest import QuestState from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest qn = "5809_Usweer_NPC" # (ID Айтима) ID_ITEM = 57 #Колличество айтимов NEED_ITEM = 11 #Минимальные левел MIN_LVL = 78 PROF = 0 NPC=[51809] QuestId = 5809 QuestName = "Usweer_NPCl" QuestDesc = "quest" print "importing quest: 51809: Usweer NPC " class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onTalk (self,npc,player): st = player.getQuestState(qn) if st.getPlayer().getLevel() < MIN_LVL : return "badlevel.htm" elif st.getQuestItemsCount(ID_ITEM) < NEED_ITEM : return "noitem.htm" else: st.takeItems(ID_ITEM,NEED_ITEM) ты крут st.setState(State.COMPLETED) return "skilladd.htm" QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) for npcId in NPC: QUEST.addStartNpc(npcId) QUEST.addTalkId(npcId) Community3ClassReward = 57:50000000 Как я и сказал - на питоне Короче тут нет ничего, что бы могло стоить 100 бачей Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 ета небольшая част етава Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Main 85 Опубликовано 26 октября, 2013 Как я и сказал - на питоне Короче тут нет ничего, что бы могло стоить 100 бачей На самом деле там больше добавлять нужно, чем этот унылый кусок. 1. Обнул делать очень легкой формулой 2. Надо к character_skills добавлять все скилы другой профы (на которую делается обнул) к текущему персонажу Я больше чем уверен половина этого форума не в состоянии этого сделать. 100$ это не стоит, а вот от 20 до 50 - возможно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 35 отдам Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ILoveGF 435 Опубликовано 26 октября, 2013 35 отдам Ты понимаешь что вот то что ты продаешь и за 10 не возьмут. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 лан продам сборку http://www.spellworld.net/ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 думал с нулами в 0 уйду Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
XaTTa6bI4 7 Опубликовано 26 октября, 2013 ну что над комуто Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ILoveGF 435 Опубликовано 26 октября, 2013 Если ты уже сборку продаешь ты хоть предоставь описание, скрины, основа сборки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BLaCkSHaRk 45 Опубликовано 26 октября, 2013 (изменено) На самом деле там больше добавлять нужно, чем этот унылый кусок. 1. Обнул делать очень легкой формулой 2. Надо к character_skills добавлять все скилы другой профы (на которую делается обнул) к текущему персонажу Я больше чем уверен половина этого форума не в состоянии этого сделать. 100$ это не стоит, а вот от 20 до 50 - возможно. а я больше чем уверен, что ты не знаешь, о чём говоришь - причём тут скилы другой профы? Думаю, ты сам и строчки кода не напишешь, умник. Изменено 26 октября, 2013 пользователем BLaCkSHaRk Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HECKBuK 229 Опубликовано 26 октября, 2013 (изменено) не за что тут 100$ платить, даже за весь функционал NPC! Тем более, что скидывание уровня персонажа можно найти на просторах гугла (делевелер) + дописать его, в нужном русле. за сотни 3 может сделает кто-то, не больше Main, 20-50 баксов платить за ЭТО? Да вы издеваетесь Изменено 26 октября, 2013 пользователем HECKBuK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BLaCkSHaRk 45 Опубликовано 26 октября, 2013 Если функционал будет реализован на 100% (а там много чего допиливать) + код будет написан на Java, то думаю 30-50 баксов стоит (минимум). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты