-
Публикаций
161 -
Зарегистрирован
-
Посещение
-
Победитель дней
1 -
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент swamp
-
Я за разработчиков и не говорю, я про школьников которые напичкают дополнениями и выкладывают готовые сервера со своими фиксами и плюшками
-
Что и подтверждает мой пост выше, попробуй ребут компу сделать и запустить заного или выруби все процесы java.exe в диспетчере и запусти по новой.
-
Вобщето ошибка означает что адрес уже используется, т.е возможно у тебя в процесах уже весит логин сервер. Вот кусок который об этом уведомляет: Address already in use
-
1. В конфиге поставить ограничение на свой вкус: п.атк,м.атк и т.д 2. Поубирать все замудреный тату с мего статами или почитать мануал 3. Возможно и вправду проблема со статами армора( пересмотреть) 4. Возможно проблема и в ядре
-
еп, всю ночь машку драли, утром оказалась дашка...
-
А ограничения в конфигах настроить не? Оно щас вроде в каждой сборке присутствует
-
По 2 вопросу: Сильно маленький шанс, поставь примерно от 5 до 25... на некоторых сборках даже 80 % это мало, хз как там расчет идет Ничего мудреного там нет короче, побалуйся с шансом
-
Продам Геобилдер Goddess Of Destruction. Содержимое архива: Как им пользоватся (лично каждому объяснять не буду): 1. Копируем все в папку system 2. Запускаем L2.exe (запуск происходит в режиме разработчика) 3. Жмем TAB и вводим open xx_yy , где xx_yy - квадрат который надо билдить 4. После того как вас переместило в нужный квадрат, вводим buildzone map=xx_yy 5. Начинается Build квадрата (в это время окно клиента подвисает) 6. По истечению 20-30 минут в вашей папке system появляется текстовый документ с названием квадрата 7. Запускаем гео редактор ( какой вам по душе, допустим L2M) и генерируем квадрат в нужный вам формат. Внимание: Билдер не билдит закрытые локации (к примеру музей в говорящем острове). Цена: 500 р Контакты: icq 640450003 В комментариях не нуждаюсь.
-
Автор,держи: Патч Если надо, могу перезалить на rghost
-
Держи краткий мануал, автор не я но тебе поможет Как установить свой сервер L2. Кхм. Итак сегодня вы настроите свой первый личный сервак линейки, чем будете безумно гордится, будете бегать там все переточенные и светящиеся, убивать баюмов и антарасов, собирая никому не нужный дроп. Перво-наперво нужно усвоить для себя несколько вещей. 1. Бегать одному пусть даже всему дико крутому - быстро надоест. Максимум на что вас хватит это на день. 2. Раскрутить свой сервер и привлечь хотя бы 100-150 человек с нуля - очень сложно. На это возможно потребуется не один, не два, и даже не четыре месяца. Теперь подумайте - а оно вам вообще надо? Ну раз вы читаете эти строки то видимо надо. Хорошо, отойдем от лирики, начнем наш непосредственный гайд. Итак шаг один - скачка необходимого ПО и сборки. Для вашего сервака вам понадобится: 1. Сборка возьмем как пример L2JFree-Rev.3788. Это Камаэль. Скачать её можно например тут - http://depositfiles.com/files/7167564 2. Java - машина. Скачать можно там же, ну вот вам ссылко - http://depositfiles.com/files/7167803 3. MySql сливаем там - http://depositfiles.com/files/7167725 4. Прога делать патч там - http://depositfiles.com/files/7168135 5. Навикэт там - http://depositfiles.com/files/7167592 Ну поехали. Установка Java платформы - запускаем скаченный файлик jre-6u3-windows-i586-p.exe Там все предельно тупо - жмем все время далее-далее-далее-соглашаемся со всем-далее-далее-готово Дальше ставим MySql. От тут уже будет сложнее. Запускаем установку жмем next. Выбираем Typical, жмеме next. Жмём Install. Если будут предлагать Mysql.com sign-up, выбираем внизу Skip и жмем далее. Дальше следим чтобы стояла галка Configure MySql server now и жмем Finish. Жмем Next, выбираем Standart Configuration, жмем Next. Жмем Next ничего не меняя. Дальше вам надо ввести ваш логин и пароль, который будет использоваться для подсоединения к бд - запомните их! Логин впрочем оставьте root пасс вбивайте любой. Ну и жмем Next и Execute. Теперь надо немного подождать, пока во всех белых кружочках не появятся галки. Если где то появится красный крестик - жмите Back, и обратно Next и Execute, менятйе логин-пароль, пока не добьетесь всех зеленых. Если так и не получится - значит вы неудачник. Теперь ставьте навикет, тут справится и идиот. тупо все время жать next. Никаких жизненно важных галок если типа если поставите то все заработает а если нет то все взорвётся там нету. После установки навикета было бы неплохо файлик navicat.exe из скаченного вами архива кинуть в папку с уже установленным навикетом. Это кряк, иначе через 30 дней ваш навикет открывацо перестанет. Впрочем это не суть страшно, вы на сервер быстрее забьете ^^. После установки запускаем навикэт. В левом верхем углу нажимаем на File - выбираем New Connection. В окне Connection name пишем любое название, далее в поле Host name/IP adress оставляем как есть, в поле Port ничего не меняем, User name вы сами оставили root при установке. В поле Password Указываем пароль который ставили в Mysql. Ставил галочку и жмем Test Connection. Если появляется окошко с надписью Коннекшин Сексессфул, то вы мега папка, жмите ок, и в окне с настройкой логина-пароля тоже ок. Если не появилось - то вы неудачник, перезагружайте комп и пробуйте снова. Теперь слева в навикете появилось наше соединение, судя по всему называется localhost ну или еще как вы там его обозвали. Жмем на него правой кнопкой и выбираем New Database. Обзываем её как l2jdb, оставляем Дефайл чаркестер сет и жмем ок. Теперь самое драгоценное. Настраиваем сам сервак. Для начала распаковываем наш скаченый архив с сервером на жесткий диск. Открываем папку с ним. Лезем в папку tools. Видим там database_installer.bat. Жмем на него правой кнопкой мыши - выбираем изменить. Видим строки Цитата: REM LOGINSERVER set lsuser=root set lspass=root <--- вместо root введите пароль, который вы указывали при установке скуля и при подсоединении в навикете set lsdb=l2jdb set lshost=localhost REM GAMESERVER set gsuser=root set gspass=root <--- аналогичная херня, тут введите его же set gsdb=l2jdb set gshost=localhost Сохраняйте, закрывайте и запускайте его. Теперь если вы хоть немного знаете английский то поймете что вам нужно от инсталлера. Ну так как гайд рассчитан на идиота, то поехали. Нажимаем F на кливиатуре. Жмем Enter. Снова нажимаем F. Жмем Enter. Нажимаем N. Жмем Enter. Вот и все, еще раз жмем Enter. Серверная часть в бд установлена. Вылезаем из папки tools и лезем в gameserver. Тут лезем в config. Тэк. Открываем server.properties Открывается он с помощью блокнота. Найдите строки Цитата: Login=root Password=root <--- замените пароль MaximumDbConnections=50 И опять таки замените пароль на тот самый свой. Много где вы увидете там ip 127.0.0.1 Если вы захотите играть с друзьями, то надо поменять его на ваш ip адрес, или хост службы no-ip.com, если ваш ip динамический. Я не советую вообще заморачиватся вам сейчас с этим) Сохраняем файл и закрываем. Теперь возвращаемся в папку с сервером и открываем теперь уже login\config\loginserver.properties Находим там то же самое Password=root и меняем root на ваш пароль. Проследите чтобы параметр AutoCreateAccounts стоял True, а не False. И ForceGGAuth=False. Сохраняем, закрываем. Далее возвращаемся в папку login и запускаем RegisterGameServer.bat ВВодим цифру 1, жмём Enter. Жмем Enter. Далее в этой же папке где у нас находиться RegisterGameServer.bat, Появился файлик hexid(server 1).txt Переименовываем в hexid.txt, вырезаем и вставляем в папку gameserver\config Теперь надо запускать непосредственно startLoginServer.bat из папки login, и startGameServer.bat из папки gameserver. Ждать пока прогрузится надо достаточно долго - если опять таки вы обладаете познаниями в английском, то увидете по статусам что сервара друг с другом соединились, значит можно влезать и вам. Лезете на любой сервак Kamael, и качаете их патч. Это надо чтобы убить ГГ. Что это и зачем я объяснять не буду. Скачали? Теперь запускаете прогу "делать патч" которую вы скачали. Называецо файл эдитор. Запускаете. Наверху нажмите Throne - Kamael. Выбирайте Open and encrypt. Залезайте в папку с игрой (не с серваком мля а с игрой!), при условии что патч с какого то сервака вы уже скачали и распаковали в нее же. Лезете в папку system и открываете файл l2.ini он имеет значок блокнотика с деталькой. Он соответственно откроеца в этой проге. Там увидете строки ServerAddr=и дальше какой то ип. Замените, чтобы было ServerAddr=127.0.0.1 ну или ваш ип, или хост если собрались играть с друзьями. Ну теперь жмем save and decrypt, сохраняем его как тот же l2.ini, жмем да если спрашивает про замену, ну теперь если сервер у вас уже запустился, жмем на l2.exe и игрем. ЛОгин и пароль вводите любой. Как сделать себя админом? Залезаем в navicat, слева выбирем вашу базу, смотрим таблицы, справа выбираем таблицу charcasters ищем вашего перса, находим столбик Access level и ставим напротив вашего перса там циферку 200. После чего сервак надо перезапустить.
-
В твоем случа это: <set name="power" val="40"/>
-
Лезеш в login/config/loginserver.cfg. В нем ищеш строчки: # ==================================== # # Защита от БрутФорса (подбор паролей) # # ==================================== # # Количество попыток подключения к серверу, после которых будет произведена проверка IP адреса # на возможный БрутФорс # Уменьшение значения увеличит вероятность ложных срабатываний # Увеличение значения уменьшит эффективность защиты (больше шансов подобрать пароли к бОльшему числу аккаунтов) BrutLogonAttempts = 10 # Средняя величина времени (в секундах) между попытками подключения к серверу # Это усредненная разница во времени между последними 10 попытками подключения # при БрутФорсе обычно составляет от 1 до 15 секунд, но не надо забывать о честных пользователях, # которые могут просто пользоваться одним ИП адресом для игры на сервере # а так же всеми любимых мультоводов. # Уменьшение значения увеличит вероятность ложных срабатываний # Увеличение значения уменьшит эффективность защиты (больше шансов подобрать пароли к бОльшему числу аккаунтов) BrutAvgTime = 30 # Кол-во секунд, на которое надо забанить IP адрес, у которого время BrutAvgTime меньше указанного # 900 секунд равно 15 минутам времени. BrutBanIpTime = 900 Если менял,ставь стандартно или делай поправки на свое усмотрение.
-
Хроники High Five Тут "исходники"
-
Ну во первых не используй в пути к исходам руские символы/пробелы. Во вторых при декомпиле % кода может потерятся, без знаний не впилиш. В 3 ради интереса начни ознакамливатся с явой, пригодится
-
Держы,выдернул со сборки la2era tauti, другова дп ненашол (.Хотя впринцепи разницы никакой,вроде не апался package quests; import l2p.commons.util.Rnd; import l2p.gameserver.model.instances.NpcInstance; import l2p.gameserver.model.quest.Quest; import l2p.gameserver.model.quest.QuestState; import l2p.gameserver.scripts.ScriptFile; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class _662_AGameOfCards extends Quest implements ScriptFile { // NPCs private final static int KLUMP = 30845; // Mobs private final static int[] mobs = { 20677, 21109, 21112, 21116, 21114, 21004, 21002, 21006, 21008, 21010, 18001, 20672, 20673, 20674, 20955, 20962, 20961, 20959, 20958, 20966, 20965, 20968, 20973, 20972, 21278, 21279, 21280, 21286, 21287, 21288, 21520, 21526, 21530, 21535, 21508, 21510, 21513, 21515}; // Quest Items private final static int RED_GEM = 8765; // Items private final static int Enchant_Weapon_S = 959; private final static int Enchant_Weapon_A = 729; private final static int Enchant_Weapon_B = 947; private final static int Enchant_Weapon_C = 951; private final static int Enchant_Weapon_D = 955; private final static int Enchant_Armor_D = 956; private final static int ZIGGOS_GEMSTONE = 8868; // Chances private final static int drop_chance = 35; private final static Map<Integer, CardGame> Games = new ConcurrentHashMap<Integer, CardGame>(); public _662_AGameOfCards() { super(true); addStartNpc(KLUMP); addKillId(mobs); addQuestItem(RED_GEM); } @Override public String onEvent(String event, QuestState st, NpcInstance npc) { int _state = st.getState(); if (event.equalsIgnoreCase("30845_02.htm") && _state == CREATED) { st.setCond(1); st.setState(STARTED); st.playSound(SOUND_ACCEPT); } else if (event.equalsIgnoreCase("30845_07.htm") && _state == STARTED) { st.playSound(SOUND_FINISH); st.exitCurrentQuest(true); } else if (event.equalsIgnoreCase("30845_03.htm") && _state == STARTED && st.getQuestItemsCount(RED_GEM) >= 50) return "30845_04.htm"; else if (event.equalsIgnoreCase("30845_10.htm") && _state == STARTED) { if (st.getQuestItemsCount(RED_GEM) < 50) return "30845_10a.htm"; st.takeItems(RED_GEM, 50); int player_id = st.getPlayer().getObjectId(); if (Games.containsKey(player_id)) Games.remove(player_id); Games.put(player_id, new CardGame(player_id)); } else if (event.equalsIgnoreCase("play") && _state == STARTED) { int player_id = st.getPlayer().getObjectId(); if (!Games.containsKey(player_id)) return null; return Games.get(player_id).playField(); } else if (event.startsWith("card") && _state == STARTED) { int player_id = st.getPlayer().getObjectId(); if (!Games.containsKey(player_id)) return null; try { int cardn = Integer.valueOf(event.replaceAll("card", "")); return Games.get(player_id).next(cardn, st); } catch (Exception E) { return null; } } return event; } @Override public String onTalk(NpcInstance npc, QuestState st) { if (npc.getNpcId() != KLUMP) return "noquest"; int _state = st.getState(); if (_state == CREATED) { if (st.getPlayer().getLevel() < 61) { st.exitCurrentQuest(true); return "30845_00.htm"; } st.setCond(0); return "30845_01.htm"; } else if (_state == STARTED) return st.getQuestItemsCount(RED_GEM) < 50 ? "30845_03.htm" : "30845_04.htm"; return "noquest"; } @Override public String onKill(NpcInstance npc, QuestState qs) { if (qs.getState() == STARTED) qs.rollAndGive(RED_GEM, 1, drop_chance); return null; } @Override public void onLoad() { } @Override public void onReload() { } @Override public void onShutdown() { } private static class CardGame { private final String[] cards = new String[5]; private final int player_id; private final static String[] card_chars = new String[]{"A", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; private final static String html_header = "<html><body>"; private final static String html_footer = "</body></html>"; private final static String table_header = "<table border=\"1\" cellpadding=\"3\"><tr>"; private final static String table_footer = "</tr></table><br><br>"; private final static String td_begin = "<center><td width=\"50\" align=\"center\"><br><br><br> "; private final static String td_end = " <br><br><br><br></td></center>"; public CardGame(int _player_id) { player_id = _player_id; for (int i = 0; i < cards.length; i++) cards[i] = "<a action=\"bypass -h Quest _662_AGameOfCards card" + i + "\">?</a>"; } public String next(int cardn, QuestState st) { if (cardn >= cards.length || !cards[cardn].startsWith("<a")) return null; cards[cardn] = card_chars[Rnd.get(card_chars.length)]; for (String card : cards) if (card.startsWith("<a")) return playField(); return finish(st); } private String finish(QuestState st) { String result = html_header + table_header; Map<String, Integer> matches = new HashMap<String, Integer>(); for (String card : cards) { int count = matches.containsKey(card) ? matches.remove(card) : 0; count++; matches.put(card, count); } for (String card : cards) if (matches.get(card) < 2) matches.remove(card); String[] smatches = matches.keySet().toArray(new String[matches.size()]); Integer[] cmatches = matches.values().toArray(new Integer[matches.size()]); String txt = "Hmmm...? This is... No pair? Tough luck, my friend! Want to try again? Perhaps your luck will take a turn for the better..."; if (cmatches.length == 1) { if (cmatches[0] == 5) { txt = "Hmmm...? This is... Five of a kind!!!! What luck! The goddess of victory must be with you! Here is your prize! Well earned, well played!"; st.giveItems(ZIGGOS_GEMSTONE, 43); st.giveItems(Enchant_Weapon_S, 3); st.giveItems(Enchant_Weapon_A, 1); } else if (cmatches[0] == 4) { txt = "Hmmm...? This is... Four of a kind! Well done, my young friend! That sort of hand doesn't come up very often, that's for sure. Here's your prize."; st.giveItems(Enchant_Weapon_S, 2); st.giveItems(Enchant_Weapon_C, 2); } else if (cmatches[0] == 3) { txt = "Hmmm...? This is... Three of a kind? Very good, you are very lucky. Here's your prize."; st.giveItems(Enchant_Weapon_C, 2); } else if (cmatches[0] == 2) { txt = "Hmmm...? This is... One pair? You got lucky this time, but I wonder if it'll last. Here's your prize."; st.giveItems(Enchant_Armor_D, 2); } } else if (cmatches.length == 2) if (cmatches[0] == 3 || cmatches[1] == 3) { txt = "Hmmm...? This is... A full house? Excellent! you're better than I thought. Here's your prize."; st.giveItems(Enchant_Weapon_A, 1); st.giveItems(Enchant_Weapon_B, 2); st.giveItems(Enchant_Weapon_D, 1); } else { txt = "Hmmm...? This is... Two pairs? You got lucky this time, but I wonder if it'll last. Here's your prize."; st.giveItems(Enchant_Weapon_C, 1); } for (String card : cards) if (smatches.length > 0 && smatches[0].equalsIgnoreCase(card)) result += td_begin + "<font color=\"55FD44\">" + card + "</font>" + td_end; else if (smatches.length == 2 && smatches[1].equalsIgnoreCase(card)) result += td_begin + "<font color=\"FE6666\">" + card + "</font>" + td_end; else result += td_begin + card + td_end; result += table_footer + txt; if (st.getQuestItemsCount(RED_GEM) >= 50) result += "<br><br><a action=\"bypass -h Quest _662_AGameOfCards 30845_10.htm\">Play Again!</a>"; result += html_footer; Games.remove(player_id); return result; } public String playField() { String result = html_header + table_header; for (String card : cards) result += td_begin + card + td_end; result += table_footer + "Check your next card." + html_footer; return result; } } }
-
Shiler закинь в лс уроки,давно интерисуюсь этим делом,но небыло возможности углубится Если можно то и контакты со всем этим отошли,будут вопросы то нашкрябаю.
-
Сделал заказ,все выполнено быстро и качественно. Советую даного человека!
-
фениксовская шаровая , но доработаная лично нами, там и комунити и пофиксены баги + убран недостаток на валакасе( что можно войти на верх без проходки) За Community он писал за шаровую фениксов,а не за l2open,порпавлю
-
Неахти,даже если и брать его как дешевый
-
неахти,надо было полный список фиксов,скриншоты приложить,а так на словах что сделано непонятно что неканает,извини сугубо мое мнение
-
+ поддержую fhost.ee хороший дц