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

Saltfire

Постоялец
  • Публикаций

    564
  • Зарегистрирован

  • Посещение

  • Победитель дней

    24
  • Отзывы

    N/A

Весь контент Saltfire

  1. Нужно при нажатии кнопки, открывать браузер который по умолчанию у пользователя стоит, а не в клиенте открывать страницу. Выше интерлюда хроники не рассматриваю. Но как понял, тут такой возможности нет и никогда не было?
  2. Не написал хроники, тут intelude.
  3. Ситуация следующая, требуется по кнопке открывать сайт. Так как в UE4 появилось LaunchURL, а в UE3 такого я так понял нет? Вообще ничего подобного нет? Я вкусах, что можно забиндить свою dll, свернуть в этот момент игру и запустить браузер по умолчанию с нужным адресом. Но все-же, может кто-то знает, может в самом клиенте есть уже такая dll, где есть метод открытия? Или не додумались сделать такую фитчу?
  4. Saltfire

    Хиро Скилы

    Ага и учитывая аудиторию "и их хочу", иногда кажется, что мы с разных планет.
  5. Какое гео, какое гето? Какие лс, вк? Что за каша в твоей голове. Наркоман какой-то.
  6. @aleksichenk, какое гео? Пощади от своего мерзопакостного флуда, не надрывай свой маленький мозг.
  7. Ну если тебя обидело, извини. Но я тебе дал решение. А там реши для себя сам, искать дальше или же, воспользоваться моим советом.
  8. В L2DatabaseFactory.java - говорит, что нет get(). А там и не будет его, откуда ему там взяться? Как вы в notepadd++ можете, что -то понимать, когда у вас 0 опыта в программировании. Без Визуальной среды для программирования, увидеть ошибку и понять ее для вас будет почти не возможным, так как вы даже не хотите ее читать и переводить, а там хотя-бы подсвечивает и можно найти нужный метод, который возможно имелось ввиду L2DatabaseFactory.getInstance().getConnection(). А не как используется у вас: L2DatabaseFactory.get() - возможно кто-то менял это где-то у себя и так и оставил.
  9. Saltfire

    Maven компиляция

    Объяснять то, что разжёвано миллион раз, не имеет никакого смысла. таков тут порядок, помогаем флудом =) Ты на столько трудный, что не понимаешь. что GIT это для сборки GIT, а не для компиляции. Дожились... Ну скачай ты уже NETBEANS или ECLIPSE да что угодно и радуйся нажатием 1 кнопки для компиляции. Это же так просто.
  10. Saltfire

    Maven компиляция

    Я о том, чтобы ты открыл среду разработки IDE. А он открыл переменные среды, совсем одинаково.
  11. Saltfire

    Maven компиляция

    О боге. Открой среду и не ломай себе мозги.
  12. На форуме запрещено 4.7. Размещение сообщений в старых темах, потерявших актуальность. Наказание: Расценивается как флуд. Во поржал....
  13. Теперь на секундочку задумайся, о чем ты пишешь вообще. Меня блевать тянет от такого: private void load() { Connect con = null; PreparedStatement statement = null; ResultSet rs = null; try { con = L2DatabaseFactory.get(); con.setTransactionIsolation(1); statement = con.prepareStatement("SELECT * FROM auction WHERE id = ?"); statement.setInt(1, getId()); rs = statement.executeQuery(); while (rs.next()) { _currentBid = rs.getInt("currentBid"); _endDate = rs.getLong("endDate"); _itemId = rs.getInt("itemId"); _itemName = rs.getString("itemName"); _itemObjectId = rs.getInt("itemObjectId"); _itemType = rs.getString("itemType"); _sellerId = rs.getInt("sellerId"); _sellerClanName = rs.getString("sellerClanName"); _sellerName = rs.getString("sellerName"); _startingBid = rs.getInt("startingBid"); } loadBid(); } catch (Exception e) { System.out.println("Exception: Auction.load(): " + e.getMessage()); e.printStackTrace(); } finally { Close.CSR(con, statement, rs); } } Это ваш хваленный pw. Взял просто первый попавшийся на A файл, где есть соединения с базами и т.д. Ужас-н*х. Такое на каждом ходу. Куда не глянь, кругом костыли - прям сплошная... А это я уже сделал давно взятый acis, От которого ничего не осталось. private void load() { Mysql.cycle(Sql.AUCTION, auction -> { currentBid = auction.getInteger("currentBid"); endDate = auction.getLong("endDate"); itemId = auction.getInteger("itemId"); itemName = auction.getString("itemName"); sellerId = auction.getInteger("sellerId"); sellerClanName = auction.getString("sellerClanName"); sellerName = auction.getString("sellerName"); startingBid = auction.getInteger("startingBid"); }, auctionId); loadBid(); } Дальше поехали... Вечная передача Player в методы в виде аргументов, зачем? Это типо себя, себе же и передаешь, чтобы сверять ты или нет? угу, еще же нужно постоянно на null проверять, а то мало ли. С каждым открытием файла, вечная мука с тонной строк кода, бесконечным копипастом и вечными проверками instanceof или не instanceof, а потом еще и приведения одно к другому копирующие друг друга функции с 1 измененной строкой или объектом, числом. В дата-паке, а там тьма. А с каждой открытой папкой, бездна - без - дна. Битком вечно забитый кешь, который ну прям вообще непонятно зачем все грузит сразу, может быть там никто никогда не будет, а заталкивается все что нужно и не нужно. никакой логики, сплошной копипаст. В завершение, так - как не намерен терять на это больше время, на не-до админов и троллей. Заказывайте дальше топ проекты за 20к. Желаю успехов и процветания!
  14. Ну сразу видно, знаток! Куда-же мне до вас то ребятки.
  15. Saltfire

    Координаты на TvT

    TvtBorder - это можно груба назвать WayPoints, некий Path - который проложит зону, обводка территории для зоны проведения события. TvtBorderZ - это уже вершина. то есть минус - это минимальная точка, на которую можем спуститься, а плюс это максимальная, на которую можем подняться.
  16. Смотря, из - за чего это происходит и что это за текст, он из dat клиента или он на сервере или он в датапаке. Берешь какой-нибудь Folder Find Text - ищет все, что хочешь и где хочешь. Пишешь туда просто "Вы что, самоубийца?" И поиск жмем, там все увидишь, где, что и какие файлы этот текст могут использовать. Ну, а там уже отталкивайся от них дальше. Какое-то событие происходит в этот момент и показывает текст. Либо как например на осадах, нельзя использовать телепорт в этот город и в целом во все регионы данной локации, примерно смысл один и тот-же. По поводу, того, что если в датке текст например, то искать придется в SystemMessageId,java там будут все констраты.
  17. Если в базе teleports то и droplist тоже там-же, скорее всего.
  18. Скорее всего находится "/в папке с сервером/data/xml/teleports.xml": <teleport <!-- это и есть "goto 1" --> id="1" <!-- loc_* --> loc_x="-12672" loc_y="122776" loc_z="-3116" <!-- количество аден --> price="100" <!-- 0 - значит для всех, 1 - только для баронов, нублесс. --> fornoble="0" /> Ну или что - то, подобное. так как в L2TeleporterInstance.java -> onBypassFeedback, onBypass, etc...: if (command.startsWith("goto")) { if (condition == COND_REGULAR || condition == COND_OWNER) { doTeleport(player, chat); } } А уже в L2TeleporterInstance.java -> doTeleport: final L2TeleportLocation list = TeleportLocationTable.getInstance().getRegion(val); Ну собственно после многочисленных проверок, приходим player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), 20); То есть, после передачи goto 1 мы лезем в xml и смотрим этот ид, а дальше берем координаты, цену, с нублесом. Так как в TeleportLocationTable.java, как раз собирает эти xml и делает в нужные регионы, чтобы легко можно было сразу дернуть нужный по id. bypass -h npc_%objectId%_ - вот это собирается в итоге в NpcHtmlMessage непонятно зачем. (лучше собирать все до, чем непонятно, что на этапе сбора будет после, когда начнем промацывать, как насобирает, намешает) Я таких никогда не понимал, которые пытаются вычислять строки и длину, через циклы и т.д., когда можно было сделать просто банальную функцию, которая положит все нам в список, а дальше оперируй, как хочешь. public static List<String> cmd(final String cmdFullString) { final List<String> list = new ArrayList<>(); list.addAll(Arrays.asList(cmdFullString.split(" "))); return list; } И размер и все можешь спокойно узнать и удалить любой индекс без каких либо проблем и сделать любой фильтр, чтобы получать корректные байпасы. Ну и конечно же после нужных манипуляций со списком: final boolean isCmd = switch(cmd.length) { case 1 -> true; case 2 -> false; default -> false; }; if(isCmd) { //correct } Ну это конечно просто пример, задача лишь собирать корректные и правильные байпасы.
  19. Сам понял то, что сказал? Сначала прочти, что такое фэншуй.
  20. Во хлам, Jython, последний раз видел лет 10 назад.
  21. Работать не будет, \0 означает конец строки.
  22. Кинь файл. Посмотрю, что с ним.
  23. Ой не просто тут все. Клиент мульти-язычность и сервер мульти-язычность чуть разные вещи (хотя по логике, сервер должен был быть копией клиента и в нужные моменты сверяться). По этому датапак серверов, набит под жвак htm(Htm) и xml разметками, до кучи затолкнули xsd схемы для валидаций, которые нужно в ручную переводить, если еще нет например, как делают некоторые html-ru, html-en, html-etc. Ну и конечно-же если mysql будет 5.5.3 и выше, чтобы вся база, таблицы и колонки в таблицах имели кодировку utf8mb4 и utf8mb4_general_ci за место utf8 и utf8_general_ci. А вот на счет отображения в клиенте русского, то есть модификатор u (utf8-unicode) который нужно записать вместо a (ascii) в dat файлах и строковых литералах - это уже отдельная история, как и *-e.dat, *-ru.dat. Даже если зайти в любой из *-e.dat'тник: 12100 a,NameNpc\0 a,TitleNpc\0 12100 u,НазваниеНпц\0 u,ТитулНпц\0 Многие редакторы уже это делают автоматом, по этому просто русский пишите, а он сам этот модификатор меняет автоматом, много что зависит как редактировать эти файлы. По поводу, зеркальной работы языков, при переключении в клиенте, со всеми фишками и плюшками это уже в 2х словах не объяснишь, оно как бы там есть и попыток было много. Но достойного мануала, нема, к сожалению, может быть пока, а может и не пока =)
  24. Акумка же посторался, сделал, уже ссылки даже выставил. Не видно все равно. Куда еще чище?
×
×
  • Создать...