Saltfire
Постоялец-
Публикаций
564 -
Зарегистрирован
-
Посещение
-
Победитель дней
24 -
Отзывы
N/A
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент Saltfire
-
Нужно при нажатии кнопки, открывать браузер который по умолчанию у пользователя стоит, а не в клиенте открывать страницу. Выше интерлюда хроники не рассматриваю. Но как понял, тут такой возможности нет и никогда не было?
-
Не написал хроники, тут intelude.
-
Ситуация следующая, требуется по кнопке открывать сайт. Так как в UE4 появилось LaunchURL, а в UE3 такого я так понял нет? Вообще ничего подобного нет? Я вкусах, что можно забиндить свою dll, свернуть в этот момент игру и запустить браузер по умолчанию с нужным адресом. Но все-же, может кто-то знает, может в самом клиенте есть уже такая dll, где есть метод открытия? Или не додумались сделать такую фитчу?
-
Ага и учитывая аудиторию "и их хочу", иногда кажется, что мы с разных планет.
-
Какое гео, какое гето? Какие лс, вк? Что за каша в твоей голове. Наркоман какой-то.
-
@aleksichenk, какое гео? Пощади от своего мерзопакостного флуда, не надрывай свой маленький мозг.
-
Ну если тебя обидело, извини. Но я тебе дал решение. А там реши для себя сам, искать дальше или же, воспользоваться моим советом.
-
В L2DatabaseFactory.java - говорит, что нет get(). А там и не будет его, откуда ему там взяться? Как вы в notepadd++ можете, что -то понимать, когда у вас 0 опыта в программировании. Без Визуальной среды для программирования, увидеть ошибку и понять ее для вас будет почти не возможным, так как вы даже не хотите ее читать и переводить, а там хотя-бы подсвечивает и можно найти нужный метод, который возможно имелось ввиду L2DatabaseFactory.getInstance().getConnection(). А не как используется у вас: L2DatabaseFactory.get() - возможно кто-то менял это где-то у себя и так и оставил.
-
Объяснять то, что разжёвано миллион раз, не имеет никакого смысла. таков тут порядок, помогаем флудом =) Ты на столько трудный, что не понимаешь. что GIT это для сборки GIT, а не для компиляции. Дожились... Ну скачай ты уже NETBEANS или ECLIPSE да что угодно и радуйся нажатием 1 кнопки для компиляции. Это же так просто.
-
Я о том, чтобы ты открыл среду разработки IDE. А он открыл переменные среды, совсем одинаково.
-
О боге. Открой среду и не ломай себе мозги.
-
На форуме запрещено 4.7. Размещение сообщений в старых темах, потерявших актуальность. Наказание: Расценивается как флуд. Во поржал....
-
Теперь на секундочку задумайся, о чем ты пишешь вообще. Меня блевать тянет от такого: 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к. Желаю успехов и процветания!
-
Это был сарказм!!
-
Ну сразу видно, знаток! Куда-же мне до вас то ребятки.
-
TvtBorder - это можно груба назвать WayPoints, некий Path - который проложит зону, обводка территории для зоны проведения события. TvtBorderZ - это уже вершина. то есть минус - это минимальная точка, на которую можем спуститься, а плюс это максимальная, на которую можем подняться.
-
Смотря, из - за чего это происходит и что это за текст, он из dat клиента или он на сервере или он в датапаке. Берешь какой-нибудь Folder Find Text - ищет все, что хочешь и где хочешь. Пишешь туда просто "Вы что, самоубийца?" И поиск жмем, там все увидишь, где, что и какие файлы этот текст могут использовать. Ну, а там уже отталкивайся от них дальше. Какое-то событие происходит в этот момент и показывает текст. Либо как например на осадах, нельзя использовать телепорт в этот город и в целом во все регионы данной локации, примерно смысл один и тот-же. По поводу, того, что если в датке текст например, то искать придется в SystemMessageId,java там будут все констраты.
-
Если в базе teleports то и droplist тоже там-же, скорее всего.
-
Скорее всего находится "/в папке с сервером/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 } Ну это конечно просто пример, задача лишь собирать корректные и правильные байпасы.
-
Сам понял то, что сказал? Сначала прочти, что такое фэншуй.
-
Во хлам, Jython, последний раз видел лет 10 назад.
-
Работать не будет, \0 означает конец строки.
-
Кинь файл. Посмотрю, что с ним.
-
Ой не просто тут все. Клиент мульти-язычность и сервер мульти-язычность чуть разные вещи (хотя по логике, сервер должен был быть копией клиента и в нужные моменты сверяться). По этому датапак серверов, набит под жвак 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х словах не объяснишь, оно как бы там есть и попыток было много. Но достойного мануала, нема, к сожалению, может быть пока, а может и не пока =)
-
Акумка же посторался, сделал, уже ссылки даже выставил. Не видно все равно. Куда еще чище?