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

Таблица лидеров


Популярный контент

Показан контент с высокой репутацией 01/12/18 в Сообщения

  1. 2 балла
  2. 1 балл
    Отрываю от сердца , жаль времени не было заниматься . В одни руки ! (Без PSD 'лого легко сменить и без него) Дизайн Сайта Делал: @MiyaGi верстал под sw 13: @L2Banners ПРОДАН OrmJevil @L2NPC OrmJevil
  3. 1 балл
    + любые другие аксессуары под все хроники. Связь: Skype: Support_La2-Pro ICQ: 634024371 Личные сообщения.
  4. 1 балл
  5. 1 балл
    Только анализ готовых подобных фич из других сборок, понимание работы своей сборки, и "минимальные" навыки программирования. Конкретно мануалов по написанию нигде нет. Вот, нашел пример телепорта с сохранением из л2ссср: Показать контент package services.community; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.StringTokenizer; import l2cccp.commons.dbutils.DbUtils; import l2cccp.gameserver.Config; import l2cccp.gameserver.cache.Msg; import l2cccp.gameserver.common.DifferentMethods; import l2cccp.gameserver.common.TeleportPoint; import l2cccp.gameserver.data.htm.HtmCache; import l2cccp.gameserver.database.DatabaseFactory; import l2cccp.gameserver.handler.bbs.CommunityBoardManager; import l2cccp.gameserver.handler.bbs.ICommunityBoardHandler; import l2cccp.gameserver.instancemanager.ReflectionManager; import l2cccp.gameserver.model.Player; import l2cccp.gameserver.model.Zone; import l2cccp.gameserver.model.Zone.ZoneType; import l2cccp.gameserver.network.serverpackets.ShowBoard; import l2cccp.gameserver.network.serverpackets.components.CustomMessage; import l2cccp.gameserver.scripts.ScriptFile; import l2cccp.gameserver.utils.Location; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CommunityBoardTeleport implements ScriptFile, ICommunityBoardHandler { private static final Logger _log = LoggerFactory.getLogger(CommunityBoardTeleport.class); public class Teleport { public int TpId = 0; // Teport location ID public String TpName = ""; // Location name public int PlayerId = 0; // charID public int xC = 0; // Location coords X public int yC = 0; // Location coords Y public int zC = 0; // Location coords Z } private static final ZoneType[] FORBIDDEN_ZONES = new ZoneType[] { ZoneType.RESIDENCE, ZoneType.ssq_zone, ZoneType.battle_zone, ZoneType.SIEGE, ZoneType.no_restart, ZoneType.no_summon, }; @Override public void onLoad() { if(Config.COMMUNITYBOARD_ENABLED) { _log.info("CommunityBoard: Teleport service loaded."); CommunityBoardManager.getInstance().registerHandler(this); TeleportPoint.load(); } } @Override public void onReload() { if(Config.COMMUNITYBOARD_ENABLED) CommunityBoardManager.getInstance().removeHandler(this); } @Override public void onShutdown() {} @Override public String[] getBypassCommands() { return new String[] { "_bbsteleport" }; } @Override public void onBypassCommand(Player player, String bypass) { if(bypass.equals("_bbsteleport")) showTeleportIndex(player); else if(bypass.startsWith("_bbsteleport:page")) { String[] b = bypass.split(" "); String page = b[1]; ShowBoard.separateAndSend(HtmCache.getInstance().getNotNull("scripts/services/community/" + Config.BBS_FOLDER + "/teleport/" + page + ".htm", player), player); } else if(bypass.equals("_bbsteleport:save_page")) showTeleportPoint(player); else if(bypass.startsWith("_bbsteleport:delete")) { StringTokenizer token = new StringTokenizer(bypass, " "); token.nextToken(); int TpNameDell = Integer.parseInt(token.nextToken()); deleteTeleportPoint(player, TpNameDell); showTeleportPoint(player); } else if(bypass.startsWith("_bbsteleport:save")) { String TpNameAdd = null; StringTokenizer token = new StringTokenizer(bypass, " "); token.nextToken(); if(token.hasMoreTokens()) { TpNameAdd = token.nextToken(); } else { showTeleportPoint(player); return; } long AddTpPrice = Config.BBS_TELEPORT_SAVE_PRICE; addTeleportPoint(player, TpNameAdd, AddTpPrice); showTeleportPoint(player); } else if(bypass.startsWith("_bbsteleport:go")) { StringTokenizer token = new StringTokenizer(bypass, " "); token.nextToken(); int xTp = Integer.parseInt(token.nextToken()); int yTp = Integer.parseInt(token.nextToken()); int zTp = Integer.parseInt(token.nextToken()); goToTeleportPoint(player, xTp, yTp, zTp); showTeleportIndex(player); } else if(bypass.startsWith("_bbsteleport:id:")) { StringTokenizer token = new StringTokenizer(bypass, ":"); token.nextToken(); token.nextToken(); int id = Integer.parseInt(token.nextToken()); String name = TeleportPoint.teleport.get(id).getName(); int priceId = TeleportPoint.teleport.get(id).getPriceId(); int count = TeleportPoint.teleport.get(id).getPriceCount(); int min = TeleportPoint.teleport.get(id).getMinLevel(); int max = TeleportPoint.teleport.get(id).getMaxLevel(); boolean pk = TeleportPoint.teleport.get(id).getPkAccess(); boolean premium = TeleportPoint.teleport.get(id).getPremiumOnly(); int premiumPriceId = TeleportPoint.teleport.get(id).getPremiumPriceId(); int premiumCount = TeleportPoint.teleport.get(id).getPremiumPriceCount(); int x = TeleportPoint.teleport.get(id).getX(); int y = TeleportPoint.teleport.get(id).getY(); int z = TeleportPoint.teleport.get(id).getZ(); goToTeleportID(player, name, priceId, count, min, max, x, y, z, pk, premium, premiumPriceId, premiumCount); showTeleportIndex(player); } else { ShowBoard.separateAndSend("<html><body><br><br><center>" + new CustomMessage("communityboard.notdone", player).addString(bypass) + "</center><br><br></body></html>", player); } } private void goToTeleportID(Player player, String name, int priceId, int count, int min, int max, int x, int y, int z, boolean pk, boolean premium, int premiumPriceId, int premiumCount) { Location loc = player.getLoc(); int item; int price; int level = player.getLevel(); if(level < min || level > max) { player.sendMessage(new CustomMessage("communityboard.teleport.point.level.min.max", player).addNumber(min).addNumber(max)); return; } if(pk && player.getKarma() > 0) { player.sendMessage(new CustomMessage("communityboard.teleport.point.pk.denied", player)); return; } if(premium && !player.hasBonus()) { player.sendMessage(new CustomMessage("communityboard.teleport.point.only.premium", player)); return; } if(!checkFirstConditions(player) || !checkTeleportLocation(player, loc)) return; if(player.hasBonus()) { item = premiumPriceId; price = premiumCount; } else if(player.getLevel() > Config.BBS_TELEPORT_FREE_LEVEL) { item = priceId; price = count; } else { item = priceId; price = 0; } if(DifferentMethods.getPay(player, item, price, true)) { player.teleToLocation(x, y, z); player.sendMessage(new CustomMessage("communityboard.teleport.point.success.location", player).addString(name)); } } private void goToTeleportPoint(Player player, int xTp, int yTp, int zTp) { Location loc = player.getLoc(); int priceTp; if(!checkFirstConditions(player) || !checkTeleportLocation(player, loc)) return; if(player.hasBonus() && Config.BBS_TELEPORT_PRICE_PA) priceTp = 0; else if(player.getLevel() > Config.BBS_TELEPORT_FREE_LEVEL) priceTp = Config.BBS_TELEPORT_PRICE; else priceTp = 0; if(!DifferentMethods.getPay(player, Config.BBS_TELEPORT_ITEM_ID, priceTp, true)) return; player.teleToLocation(xTp, yTp, zTp); } private void showTeleportPoint(Player player) { if(Config.BBS_TELEPORT_POINT_PA && !player.hasBonus()) { player.sendMessage(new CustomMessage("communityboard.teleport.personal.point.only.premium", player)); DifferentMethods.communityNextPage(player, "_bbsteleport"); return; } Teleport tp; StringBuilder html = new StringBuilder(); Connection con = null; PreparedStatement statement = null; ResultSet rset = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT * FROM bbs_teleport WHERE charId=?;"); statement.setLong(1, player.getObjectId()); rset = statement.executeQuery(); html.append("<table width=220>"); while(rset.next()) { tp = new Teleport(); tp.TpId = rset.getInt("TpId"); tp.TpName = rset.getString("name"); tp.PlayerId = rset.getInt("charId"); tp.xC = rset.getInt("xPos"); tp.yC = rset.getInt("yPos"); tp.zC = rset.getInt("zPos"); html.append("<tr>"); html.append("<td>"); html.append("<button value=\"" + tp.TpName + "\" action=\"bypass _bbsteleport:go " + tp.xC + " " + tp.yC + " " + tp.zC + " " + 100000 + "\" width=200 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); html.append("</td>"); html.append("<td>"); html.append("<button value=\"Удалить\" action=\"bypass _bbsteleport:delete " + tp.TpId + "\" width=80 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); html.append("</td>)"); html.append("</tr>"); } html.append("</table>"); } catch(SQLException e) { _log.warn("SQL Error: " + e); _log.error("", e); } finally { DbUtils.closeQuietly(con, statement, rset); } String content = HtmCache.getInstance().getNotNull("scripts/services/community/" + Config.BBS_FOLDER + "/teleport/save.htm", player); content = content.replace("%tp%", html.toString()); content = content.replace("<?tp_price?>", Integer.toString(Config.BBS_TELEPORT_PRICE)); content = content.replace("<?tp_max_count?>", Integer.toString(Config.BBS_TELEPORT_MAX_COUNT)); content = content.replace("<?tp_free_min_lvl?>", Integer.toString(Config.BBS_TELEPORT_FREE_LEVEL)); ShowBoard.separateAndSend(content, player); return; } private void showTeleportIndex(Player player) { String content = HtmCache.getInstance().getNotNull("scripts/services/community/" + Config.BBS_FOLDER + "/teleport/index.htm", player); content = content.replace("<?tp_price?>", Integer.toString(Config.BBS_TELEPORT_PRICE)); content = content.replace("<?tp_max_count?>", Integer.toString(Config.BBS_TELEPORT_MAX_COUNT)); content = content.replace("<?tp_free_min_lvl?>", Integer.toString(Config.BBS_TELEPORT_FREE_LEVEL)); ShowBoard.separateAndSend(content, player); return; } private void deleteTeleportPoint(Player player, int TpNameDell) { Connection con = null; PreparedStatement statement = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("DELETE FROM bbs_teleport WHERE charId=? AND TpId=?;"); statement.setInt(1, player.getObjectId()); statement.setInt(2, TpNameDell); statement.execute(); } catch(SQLException e) { _log.warn("SQL Error: " + e); _log.error("", e); } finally { DbUtils.closeQuietly(con, statement); } } @SuppressWarnings("resource") private void addTeleportPoint(Player player, String TpNameAdd, long AddTpPrice) { if(!DifferentMethods.getPay(player, Config.BBS_TELEPORT_SAVE_ITEM_ID, Config.BBS_TELEPORT_SAVE_PRICE, true)) return; if(!checkFirstConditions(player)) return; if(!player.hasBonus() && Config.BBS_TELEPORT_POINT_PA) { player.sendMessage(new CustomMessage("communityboard.teleport.personal.point.only.premium", player)); return; } if(player.isMovementDisabled() || player.isOutOfControl()) { player.sendMessage(new CustomMessage("communityboard.teleport.persoanl.point.outofcontrol", player)); return; } if(player.isInCombat()) { player.sendMessage(new CustomMessage("communityboard.teleport.persoanl.point.incombat", player)); return; } if(player.isInZone(Zone.ZoneType.battle_zone) || player.isInZone(Zone.ZoneType.no_escape) || player.isInZone(Zone.ZoneType.epic) || player.isInZone(Zone.ZoneType.SIEGE) || player.isInZone(Zone.ZoneType.RESIDENCE) || player.getVar("jailed") != null) { player.sendMessage(new CustomMessage("communityboard.teleport.persoanl.point.forbidden.zone", player)); return; } Connection con = null; PreparedStatement statement = null; ResultSet rset = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT COUNT(*) FROM bbs_teleport WHERE charId=?;"); statement.setLong(1, player.getObjectId()); rset = statement.executeQuery(); rset.next(); if(rset.getInt(1) < Config.BBS_TELEPORT_MAX_COUNT) { statement = con.prepareStatement("SELECT COUNT(*) FROM bbs_teleport WHERE charId=? AND name=?;"); statement.setLong(1, player.getObjectId()); statement.setString(2, TpNameAdd); ResultSet rset1 = statement.executeQuery(); rset1.next(); statement = con.prepareStatement(rset1.getInt(1) == 0 ? "INSERT INTO bbs_teleport (charId, xPos, yPos, zPos, name) VALUES(?,?,?,?,?)" : "UPDATE bbs_teleport SET xPos=?, yPos=?, zPos=? WHERE charId=? AND name=?;"); statement.setInt(1, player.getObjectId()); statement.setInt(2, player.getX()); statement.setInt(3, player.getY()); statement.setInt(4, player.getZ()); statement.setString(5, TpNameAdd); statement.execute(); } else player.sendMessage(new CustomMessage("communityboard.teleport.personal.point.max", player).addNumber(Config.BBS_TELEPORT_MAX_COUNT)); } catch(SQLException e) { _log.warn("SQL Error: " + e); _log.error("", e); } finally { DbUtils.closeQuietly(con, statement, rset); } } private static boolean checkFirstConditions(Player player) { if(player == null) return false; if(player.getActiveWeaponFlagAttachment() != null) { player.sendPacket(Msg.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD); return false; } if(player.isInOlympiadMode()) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_WHILE_PARTICIPATING_IN_AN_OLYMPIAD_MATCH); return false; } if(player.getReflection() != ReflectionManager.DEFAULT && !Config.BBS_TELEPORT_ALLOW_IN_INSTANCE) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_IN_AN_INSTANT_ZONE); return false; } if(player.isInDuel()) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_DURING_A_DUEL); return false; } if((player.isInCombat() || player.getPvpFlag() != 0) && !Config.BBS_TELEPORT_ALLOW_IN_COMBAT) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_DURING_A_BATTLE); return false; } if((player.isOnSiegeField() || player.isInZoneBattle()) && !Config.BBS_TELEPORT_ALLOW_ON_SIEGE) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_WHILE_PARTICIPATING_A_LARGE_SCALE_BATTLE_SUCH_AS_A_CASTLE_SIEGE); return false; } if(player.isFlying()) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_WHILE_FLYING); return false; } if((player.isInWater() || player.isInBoat()) && !Config.BBS_TELEPORT_ALLOW_IN_UNDERWATHER) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_UNDERWATER); return false; } return true; } private static boolean checkTeleportLocation(Player player, Location loc) { return checkTeleportLocation(player, loc.x, loc.y, loc.z); } private static boolean checkTeleportLocation(Player player, int x, int y, int z) { if(player == null) return false; for(ZoneType zoneType : FORBIDDEN_ZONES) { Zone zone = player.getZone(zoneType); if(zone != null) { player.sendPacket(Msg.YOU_CANNOT_USE_MY_TELEPORTS_TO_REACH_THIS_AREA); return false; } } return true; } @Override public void onWriteCommand(Player player, String bypass, String arg1, String arg2, String arg3, String arg4, String arg5) {} } Hide Смотри на методы addTeleportPoint() и showTeleportPoint(), они реализуют описанный мной выше алгоритм.
  6. 1 балл
    Можно обойтись и без ядра, с помощью подключаемых скриптов. Т.е. прямо в хендлерах альтб.
  7. 1 балл
    Дай угадаю,за 100 рублей?
  8. 1 балл
    bypass -h npc_%objectId%_Chat 2 где 2, твоя html например у тя магазин 25565 другая штмл-ка будет 25565-2
  9. 1 балл
    @Evangeline Ничего не понял что ты хочешь сделать . Если открыть хтмл от нпц с другим ID то в теории можно сделать так : bypass -h npc_%objectId%_Link default/BlessingOfProtection.htm default - папка с HTML BlessingOfProtection.htm - HTML в этой папке не факт что будет работать .
  10. 1 балл
  11. 1 балл
    Название: [ Шара ] Mega Item Добавил: Demoncool Добавлен: 27 Dec 2014 Категория: Серверные дополнения Автор: Demoncool Хроники: Interlude Под Pw Soft Предмет при нажатие на который могут произойти такие действия: // Выдавать Хиро // Выдавать Прем акк // Выдавать Нобл // Выдавать Итем // Выдавать скил // Выдавать бафф // Выдавать рандом бафф // Выдавать Итемы // Красить ник // Красить титул // Выдавать админку // Кикнуть всех кто в онлайне // Очистить ПК счетчик // Очистить Карму // Покупка пвп // Выдавать пвп монеты // Спавн определенного монстра // Спавн монстра под игрока + Рандом // Спавн монстра с опрд. координатами + Рандом // Сообщение // Установить персонажу заданый уровень // Убить цель // Реснуть цель // Реснуть массово // Дать бессмертие цели // Восстановление хп себе // Восстановление хп цели // Показать баффы цели // Рандомное действие с игроком // Убиваем игрока // Отправляем сообщение // Телепортируем игрока // Дает итем // Телепорт Скрипт нужно настраивать под себя, изначально он только телепортирует, остальное закомментировано и нужно включить. Чтобы включить нужную функцию нужно убрать // или /* Установка: 1) Закинуть скрипт по ссылке gameserver\data\scripts\ai 2) Прописать в gameserver\data\scripts.cfg ai/Item.java Тестим Нажмите здесь, чтобы скачать файл
  12. 1 балл
    Ранее юзал Debian под игровые проекты(Не только ладва) - CentOS На вэбы. Сейчас всё свалил на дэбу ибо надоел цент. А расписывать чем деба хороша, в 2018ом? Увольте, копипастом не страдаю, всё что могу сказать уже написано n. раз.
  13. 1 балл
    Они не обязательно должны быть одинаковыми (что в HTML, и что при покраске ника). За примером далеко идти не надо: 11: ["9120b1","b12091"], Красный ник можешь посмотреть у меня в коде как пишется.
  14. 1 балл
    В скрипте на терепортацию в ту локацию посмотри, при каких условиях разрешено делать тп.
  15. 1 балл
    Забыли добавить еще: //Удалить сервер из директории
  16. 1 балл
  17. 1 балл
    Есть гнилые люди, которые не уважают себя, а тем более окружающих! Жаль что бывало попадал на таких! Спасибо большое!
  18. 1 балл
    Да скрипт простенький настрочи, который будет проверять процессы, и если твой процесс отсутствует, то запускать команду, которая запустит твою прогу.
  19. 1 балл
  20. 1 балл
    Было: 16_10 Стало: #16_10 И так проделать со всеми регионами
  21. 1 балл
    Название: L2jFrozen lost revision Добавил: 4dminkO Добавлен: 12 Feb 2017 Категория: Исходники серверов Автор: none Хроники: Interlude Исходники последней ревизии L2jFrozen . Может кому то нужно будет . Нажмите здесь, чтобы скачать файл
  22. 1 балл
    http://subversion.assembla.com/svn/L2jFrozenInterlude/trunk/ А это чем вам не ласт версия?
  23. 0 баллов
    Эта информация называется простите, высер школьника который не смог. Открытия не было в день старта по той причине, что от ДДоса 'ВАСИ' упали шторм валл и нас отключили, еще 1 причина, он не написал в то время когда был ДДос, написал на след. День, тогда ему и было заплачено за открытие. Люди которые хотели поиграть на проекте, пришли и на след. День. Открытие было с онлайном более 250 человек, это факт, проект себя окупил, хоть и открылся со 2 раза, в домен влито не мало денег, это тоже что-то значит. Более на подобные посты от школьников которые не смогли, отвечать не буду, ибо нету смысла.
  24. 0 баллов
    Оригинал рипа я продаю, да верно.
  25. -1 балл
    Ну это я так понял делает сжатие JPG т.е. лучше камеры будит снимать. А мне надо именно само изображение откоректировать.
  26. -1 балл
    Всем спасибо, видеозаписи были переданы мусорам. Вообщем украли: электротехнику, акамуляторы с 2х машин, 2 мафона, бензин 2 пол. бака, навигатор, 2 дрели, перф "HILTI(30к рублей)" Ну вообщем что в машинах и рядом было всё унесли. Ну скажу больше, уже нашли эту машину, ждут хозяина. ))) P.S. Это только, что я успел обнаружить из украденного, ну со временем 100%, что не будь ещё обнаружится.
  27. -1 балл
    Оскарблять не нужно, уважаемый.
  28. -1 балл
    стрелочник хуже пи**са
  29. -1 балл
  30. -1 балл
    Могу показать вам если интересно дайте знать ваш скайп в лс , конечно бесплатно .
  31. -1 балл
    <br><center><button value="Продолжить" action="bypass -h npc_%objectId%_setNoblesse" width=94 height=21 back="n3w.but" fore="n3w.but"></center><br> <br><center><button value="Продолжить" action="bypass -h npc_%objectId%_setHero" width=94 height=21 back="n3w.but" fore="n3w.but"></center><br> Вроде так.
  32. -1 балл
    ## Покупка геройства # ID итема для оплаты BBSHeroCoin = 9989 BBSHeroCoinName = WMZ Coin # Цена за 1 день BBSHeroCoinDayPrice = 2 # Цена навсегда BBSHeroCoinForeverPrice = 250 # Минимальное количество дней покупки геройства BBSHeroMinDays = 1
  33. -1 балл
    Даноесие чудо, откывалость лишь 1 раз под моим руководством и не более. Предыдущий владелец был в 2014 году. со сборкой High Five Вы, уважаемый,закройте рот и идите на свой emerland.pw молитесь, что бы окупился хотя-бы, кстати хорошо что я не купил вашу говно сборку) Что у вас за редирект на шаровый скрипт бест лото не могу понять ?
  34. -1 балл
  35. -2 балла
    ОРИГИНАЛ РИПА ПАРЕНЬ ПРОДАЕТ:DDDDDDDDDDDDDDDD
  36. -2 балла
    Так домен то битый . как я знаю тебе не дали открыться в день твоего открытие , и оно было перенесено на следующий день . Это уже очень плохо так как , люди которые хотели поиграть на Emerland.net , уже знают , что это за проект . ты когда выставляешь не удачный товар , оглашай , что был не просто ддос а тупо не дали открыться в твой день а это очень большой удар по репутации . Так-то не чего личного , это для людей информация , раз ты поленился написать )
  37. -2 балла
  38. -2 балла
    Давным давно проект продан и я не являюсь правообладателем.
  39. -2 балла
  40. -2 балла
    Блин он все мои сообщение заминусовал )
  41. -2 балла
    Emerland.net (Молодой, влито до 30к рублей (27 если быть точным) принёс почти 80, если бы не ДДос было бы больше) 1-2 месяца назад открытие было. Цена: Договоримся Скайп: Paraworld19
  42. -3 балла
    Уважаемый человечище , я написал подробно то , что было с доменом вашим , я вас не оскорблял , я не чего не наговорил , а просто осведомил людей которые не знают этого , вы в свою очередь поставили - , оскорбили меня назвав школьником , это Здраво вообще .
×
×
  • Создать...