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

Saltfire

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

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

  • Посещение

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

    19
  • Отзывы

    N/A

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

  1. Saltfire

    Lineage 2 Epilogue

    Да возьми какие-нибудь l2jts от Hack, если платить не хочешь. Из платных, я хз, там хвалили l2jeternity, ну или l2jphoenix. Я даже не знаю, еще кто-то делает Gracia ? Кому она нужна? Уже весь упор "IT,HF,CLassic".
  2. Saltfire

    Lineage 2 Epilogue

    Что вы ищите? Непонятно ничего, во первых, Эпилог это грация, если память не изменяет, а хф это хф. ХФ Как-раз, для Вас хроника, Где можно сделать буквально все, что душе угодно с клиентом. Что даже позавидуют клиенты хроник Classic протокола 166 да и вообще других, который как-раз все делают но конечно-же добраться там до чего-то будет проблематично, лишь единицы смогут это сделать быстро (да и вообще сделать), ибо компилятор надо править тоже и интерфейс =) Так-же в ХФ можно обойти и сделать свой отдельный вход, лоби, и т.д. На Хф хватит и шарного компилятора с которым достигните любых вершин. По исходникам, да бери любой и пили для себя, какой смысл за каждым бегать, который рефактор провел и типо новый код , Большинство разрабов не переписывают, а лишь так подчистят и готово и своего сверху накидают. Главное, бери исходы, которые кто-то поддерживает тоже. Иначе будет нечего чекать. И тогда только одному одинешеньке, это касается только тех, кто игру всю не знает и устройство сервера и клиента... Конечно тоже найти сложно в бесплатном, да еще и бесплатные обновления. Да и в платном не всегда исходники получаете, не говоря уже про бесплатно, а " +- " то, покупаете тоже самое. По этому, если сам не разбираешься, только нужно платить, чтобы за тебя разбирались =)
  3. Почему бы вам AC тогда не взять? Правда зачем оно нужно? Сейчас никто не будет играть в игру, где нужно терять миллионы часов, когда можно заплатить и сделать чтобы сама играла. Вся суть в сервере, очень плохо синхронизирован с клиентом. То есть, если раньше были только макросы, чтобы в ручную выбирать цель, то теперь оно само выбирает. Стало легче жить правда? Теперь ситуация с кликерами, ты сидишь, теряешь море часов, чтобы в ручную выбирать скролл, вставлять пуху, гемы, камни, водить мышь, чтобы нажать на кнопку и постоянно совершать действия, которые наскучат в такой огромной игре и ее атмосфере. А тут само все выбирает, кликает, водит, пошел кофе налил, дела поделал, пусть электричество жгет, играет днями и ночами, а ты будешь только забирать бонусы и открывать всякую хрень и проходить мисии, как круто и легко стало жить, правда? И смотреть за игровым процессом, словно в мультфильме. Главное это же развитие, какую линию выбрал ту и развиваешь. И пусть он там бегает колотит днями и ночами этих мобов, на автомате, какая разница. Сейчас уже другая л2. Всем хочется равенства и автоматики, тогда у тебя будут все играть (а не ФантомБоты). И еще меня поражают все эти исходники сборок это мусорные классы для базы в них еще раз запрос к базе и наполнения классов с перечислениеем тонны информации... За которой еще и следить нужно. Когда можно сделать так: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Function; public class TableClass<T> { private Map<String, List<T>> data = new HashMap<>(); private Map<String, Function<TableClass<T>, T>> methods = new HashMap<>(); public TableClass(List<Map<String, T>> dataArray, List<String> excludes) { for (Map<String, T> entry : dataArray) { entry.keySet().stream() .filter(key -> !excludes.contains(key)) .forEach(key -> { data.computeIfAbsent(key, k -> new ArrayList<>()).add(entry.get(key)); }); } } public void addMethod(String name, Function<TableClass<T>, T> func) { methods.put(name, func); } public T invokeMethod(String name) { return methods.get(name).apply(this); } public T getProperty(String key) { List<T> values = data.get(key); if (values == null || values.isEmpty()) { return null; } return values.get(0); } } и любую таблицу превращать в класс с методами, если потребуются. При этом мы перечисляем только те поля, которые не хотим показывать и те функции которые только нужно, остальное просто через свойства класса.
  4. Не пойму, ты сам с собой поговорил получается? Я очень сильно сомневаюсь, что ты осилишь engine.dll от данного клиента. Ты просто не представляешь, какая учесть ждет тебя. Покажи, хоть один мне клиент interlude, где есть хоть что-то свое из мира фантастики, да тот-же радар кастомный, этого хватит тебе потеряться на долго. И темы, кто сравнивает от IT-HF, просто не сопоставимы, interlude клиент совершенно другой и там нет такого, что есть в HF, где можно хоть два радара сделать и хоть что затолкать, так сложилось, что HF был сделан не удачным образом и вскрытие и модернизация этого клиента безгранична...
  5. Не уверен, что у тебя хватит денег на реверсера Иначе бы уже нанял и не задавал бы глупых вопросов.
  6. Что подразумевается под простым способом? (вы сначала попробуйте заинжектиться в процесс, с данным продуктом, без жопаболей и заглушек, у вас этого не удастся сделать, ко всему, если конечно не лохо обновлятор, который никак не передает о том, что к серверу уже начали подключаться, после кнопки старт в Обновляторе, а если этого нет, тогда вы сможете запустить клиент в обход Обновлений и опустить библиотеки до нужного уровня и заглушить или вычистить, оставив только шифрацию и передачу пакетов и тайминги - но я сомневаюсь. что у вас хватит знаний и сил это сделать).
  7. Естественный процесс, клиент использует "Anticheat" встроенный продукт для отслеживания как-раз таких действий, которые модернизируют файлы клиента, а также пытаются дергать клиентские файлы в обход, главного процесса игры, который запущен, он работает именно так (надеюсь). Я не пробовал ставить заглушки, но в конкретном проекте, это сделать будет довольно сложно (или почти не возможно, так-как сразу изменится размер, дата и вся целостность файла), скорее всего проще будет искать дырку, на уровне адреса памяти, в которую можно будет внедриться для использования API клиента, все перекрыть не возможно и некоторые блокировки, все-же обойти можно. Но никак не модернизацией текущих файлов клиента.
  8. Saltfire

    Бинд клавиш Interlude

    На сколько помню, в interlude работает нативный метод IsKeyDown который из NWindow->UIScript.uc. И есть класс Engine->Interactions.uc и конструкция событий enum EInputKey. На самом деле, вы очень просто сможете использовать такое условие: if(IsKeyDown(IK_1) && IsKeyDown(IK_Q) || IsKeyDown(IK_2) && IsKeyDown(IK_W)) { //... } То есть по факту, можно отследить весь, вот этот класс: enum EInputKey { /*00*/ IK_None ,IK_LeftMouse ,IK_RightMouse ,IK_Cancel , /*04*/ IK_MiddleMouse ,IK_Unknown05 ,IK_Unknown06 ,IK_Unknown07 , /*08*/ IK_Backspace ,IK_Tab ,IK_Unknown0A ,IK_Unknown0B , /*0C*/ IK_Unknown0C ,IK_Enter ,IK_Unknown0E ,IK_Unknown0F , /*10*/ IK_Shift ,IK_Ctrl ,IK_Alt ,IK_Pause , /*14*/ IK_CapsLock ,IK_Unknown15 ,IK_Unknown16 ,IK_Unknown17 , /*18*/ IK_Unknown18 ,IK_Unknown19 ,IK_Unknown1A ,IK_Escape , /*1C*/ IK_Unknown1C ,IK_Unknown1D ,IK_Unknown1E ,IK_Unknown1F , /*20*/ IK_Space ,IK_PageUp ,IK_PageDown ,IK_End , /*24*/ IK_Home ,IK_Left ,IK_Up ,IK_Right , /*28*/ IK_Down ,IK_Select ,IK_Print ,IK_Execute , /*2C*/ IK_PrintScrn ,IK_Insert ,IK_Delete ,IK_Help , /*30*/ IK_0 ,IK_1 ,IK_2 ,IK_3 , /*34*/ IK_4 ,IK_5 ,IK_6 ,IK_7 , /*38*/ IK_8 ,IK_9 ,IK_Unknown3A ,IK_Unknown3B , /*3C*/ IK_Unknown3C ,IK_Unknown3D ,IK_Unknown3E ,IK_Unknown3F , /*40*/ IK_Unknown40 ,IK_A ,IK_B ,IK_C , /*44*/ IK_D ,IK_E ,IK_F ,IK_G , /*48*/ IK_H ,IK_I ,IK_J ,IK_K , /*4C*/ IK_L ,IK_M ,IK_N ,IK_O , /*50*/ IK_P ,IK_Q ,IK_R ,IK_S , /*54*/ IK_T ,IK_U ,IK_V ,IK_W , /*58*/ IK_X ,IK_Y ,IK_Z ,IK_Unknown5B , /*5C*/ IK_Unknown5C ,IK_Unknown5D ,IK_Unknown5E ,IK_Unknown5F , /*60*/ IK_NumPad0 ,IK_NumPad1 ,IK_NumPad2 ,IK_NumPad3 , /*64*/ IK_NumPad4 ,IK_NumPad5 ,IK_NumPad6 ,IK_NumPad7 , /*68*/ IK_NumPad8 ,IK_NumPad9 ,IK_GreyStar ,IK_GreyPlus , /*6C*/ IK_Separator ,IK_GreyMinus ,IK_NumPadPeriod,IK_GreySlash , /*70*/ IK_F1 ,IK_F2 ,IK_F3 ,IK_F4 , /*74*/ IK_F5 ,IK_F6 ,IK_F7 ,IK_F8 , /*78*/ IK_F9 ,IK_F10 ,IK_F11 ,IK_F12 , /*7C*/ IK_F13 ,IK_F14 ,IK_F15 ,IK_F16 , /*80*/ IK_F17 ,IK_F18 ,IK_F19 ,IK_F20 , /*84*/ IK_F21 ,IK_F22 ,IK_F23 ,IK_F24 , /*88*/ IK_Unknown88 ,IK_Unknown89 ,IK_Unknown8A ,IK_Unknown8B , /*8C*/ IK_Unknown8C ,IK_Unknown8D ,IK_Unknown8E ,IK_Unknown8F , /*90*/ IK_NumLock ,IK_ScrollLock ,IK_Unknown92 ,IK_Unknown93 , /*94*/ IK_Unknown94 ,IK_Unknown95 ,IK_Unknown96 ,IK_Unknown97 , /*98*/ IK_Unknown98 ,IK_Unknown99 ,IK_Unknown9A ,IK_Unknown9B , /*9C*/ IK_Unknown9C ,IK_Unknown9D ,IK_Unknown9E ,IK_Unknown9F , /*A0*/ IK_LShift ,IK_RShift ,IK_LControl ,IK_RControl , /*A4*/ IK_UnknownA4 ,IK_UnknownA5 ,IK_UnknownA6 ,IK_UnknownA7 , /*A8*/ IK_UnknownA8 ,IK_UnknownA9 ,IK_UnknownAA ,IK_UnknownAB , /*AC*/ IK_UnknownAC ,IK_UnknownAD ,IK_UnknownAE ,IK_UnknownAF , /*B0*/ IK_UnknownB0 ,IK_UnknownB1 ,IK_UnknownB2 ,IK_UnknownB3 , /*B4*/ IK_UnknownB4 ,IK_UnknownB5 ,IK_UnknownB6 ,IK_UnknownB7 , /*B8*/ IK_UnknownB8 ,IK_Unicode ,IK_Semicolon ,IK_Equals , /*BC*/ IK_Comma ,IK_Minus ,IK_Period ,IK_Slash , /*C0*/ IK_Tilde ,IK_UnknownC1 ,IK_UnknownC2 ,IK_UnknownC3 , /*C4*/ IK_UnknownC4 ,IK_UnknownC5 ,IK_UnknownC6 ,IK_UnknownC7 , /*C8*/ IK_Joy1 ,IK_Joy2 ,IK_Joy3 ,IK_Joy4 , /*CC*/ IK_Joy5 ,IK_Joy6 ,IK_Joy7 ,IK_Joy8 , /*D0*/ IK_Joy9 ,IK_Joy10 ,IK_Joy11 ,IK_Joy12 , /*D4*/ IK_Joy13 ,IK_Joy14 ,IK_Joy15 ,IK_Joy16 , /*D8*/ IK_UnknownD8 ,IK_UnknownD9 ,IK_UnknownDA ,IK_LeftBracket , /*DC*/ IK_Backslash ,IK_RightBracket,IK_SingleQuote ,IK_UnknownDF , /*E0*/ IK_UnknownE0 ,IK_UnknownE1 ,IK_UnknownE2 ,IK_UnknownE3 , /*E4*/ IK_MouseX ,IK_MouseY ,IK_MouseZ ,IK_MouseW , /*E8*/ IK_JoyU ,IK_JoyV ,IK_JoySlider1 ,IK_JoySlider2 , /*EC*/ IK_MouseWheelUp ,IK_MouseWheelDown,IK_Unknown10E,UK_Unknown10F , /*F0*/ IK_JoyX ,IK_JoyY ,IK_JoyZ ,IK_JoyR , /*F4*/ IK_UnknownF4 ,IK_UnknownF5 ,IK_Attn ,IK_CrSel , /*F8*/ IK_ExSel ,IK_ErEof ,IK_Play ,IK_Zoom , /*FC*/ IK_NoName ,IK_PA1 ,IK_OEMClear }; А также, есть еще interface.xdat, где есть уже привязанные комбинации клавиш и другие события, так называемые shortcuts для интерфейса и оконной системы в целом, разных вызовов, по разным стадиям и сценам. Панель Shortcuts находится в shortcuts->GamingStateShortcut->UseShortcutItem-*, где key - это кнопка для использования. В общем и целом, смотря что вообще требуется, многие вещи, находятся в nwindow.dll.
  9. Для какой цели? Что будет происходить? Где, хоть какая-то информация? Ничего не понятно.
  10. Ппц, Вот бы раньше, так. Года так 2 назад =)
  11. Saltfire

    L2text

    На самом деле, за загрузку, отвечает метод LoadHtml. Как сделано например в interface.u -> UserPetitionWnd.uc: class'UIAPI_HTMLCTRL'.static.LoadHtml( "UserPetitionWnd.HelpHtmlCtrl", "..\\L2text\\" $ PetitionCategoryLink[ a_SelectedIndex - 1 ] ); Оно прописано везде статично, путь нигде жестоко не привязывается, многие вещи в клиенте написаны статично в том числе и пути к файлам, не всем конечно но к многим, например на оконную систему и т.д. Все это находится в nwindow.dll
  12. Данное меню зашито внутри nwindow.dll, я давно задавал уже и отвечал на этот вопрос. Чтобы скрыть это меню, требуется сделать HideWindow("LoginFunctionWnd"); А по верх сделать новое, только так вы сможете его убрать. В исходниках interface/Classes/ создаем новый файл к примеру LoginMenuWnd.uc: class LoginMenuWnd extends UICommonAPI; function onLoad() { //... } function OnShow () { HideWindow("LoginFunctionWnd"); } function OnClickButton(string strID) { switch(strID) { case "btnSettingsGame" : ShowOrHideOptionWnd(); break; } } function ShowOrHideOptionWnd() { if (class'UIAPI_WINDOW'.static.IsShowWindow("OptionWnd")) { PlayConsoleSound(IFST_WINDOW_CLOSE); class'UIAPI_WINDOW'.static.HideWindow("OptionWnd"); } else { PlayConsoleSound(IFST_WINDOW_OPEN); class'UIAPI_WINDOW'.static.ShowWindow("OptionWnd"); class'UIAPI_WINDOW'.static.SetFocus("OptionWnd"); } } defaultproperties{} Далее в interface.xdat создаем LoginMenuWnd и привязываем ему скрипт LoginMenuWnd. А так-же где state прописываем LoginState. И в workingConfiguration пишем Game. Далее настраиваете окно на свое усмотрение, добавляете элементы кнопок, позицию и по ид, проверяете в OnСlickButton методе, нажатие кнопок, а дальше, что нужно уже пишите. Для скрытия окошка ввода логина и пароля HideWindow("AuthWnd"); Если начнете делать свою систему входа и авторизации, что я очень сильно сомневаюсь
  13. Погоди, ты тогда сам ничего не сможешь сделать потом, опять потом надо будет компилить, всегда надо будет компилить =))
  14. О том, что все эти ваши сборки кусок говна и так все знают. Тут доказательства не нужны, я приводил уже множество фактов. Ко всему прошло столько лет, а ничего толком и не сделано. Тадам! Попытка 100501! Ты хочешь 5 лет отдать исправлению говна, чтобы потом все равно забросить? Л2 умерла, а они сервера пишут! О каких-то открытиях, крутых сборках говорят! В нее уже играть никто не будет. Все это ради показухи. А в дальнейшем сруб бала на дурочках. Жаль их, да и вас тоже жаль!
  15. Saltfire

    Alisterios

    Ты что тут шерстью своей раскидываешься, крот интернетный? Пруфы в студию, где я открывал сервер и звал народ и т.д? У тебя 2 дня.
  16. Причем тут геодата и шанс попадания по мобам? И не исключено также кривые статы или высота мобов. А может еще чего намудрили. Что-то кажись, где-то я, уже это видел тут =)
  17. Очередной тупица, который открывает порт. который уже открыт. Боже, откуда вы такие беретесь только. Я еще раз для особо одаренных повторяю, порт открывается сам, его не нужно нигде открывать. Не нужно!!! Если вам это не поможет - значит, вам ничего не поможет. И не выпустите вы в интернет свой тру сервер под NAT'ом, да хоть у срись там и за открывайся своих портов, ничего у тебя не получится. Пока глаза не откроешь и не начнешь юзать поиск по форуму.
  18. Я уже отвечал, что делать, если вы хотите с домашнего компа сервер ставить.
  19. Эх. Я так и знал, что он хочет сервер с домашнего компа открыть
  20. Зачем вам открывать порт? Для какой цели, что вы собрались делать на постоянно открытом порту? Все порты должны быть закрыты! Порт открывается автоматически, когда на нем есть, что слушать и ждать.
  21. Saltfire

    Alisterios

    Ты серьезно веришь в это? Или ты дружок его? По какому малому? Прям 5 проектов, правда что-ли? А что изменилось? Форум твой сдох еще с первого дня =) Какие проекты, о чем ты говоришь.
  22. Saltfire

    Alisterios

    Избавь нас от своей тупости. Уходи!
  23. Saltfire

    Alisterios

    Видимо разработка закрылась, не успев начаться. Что-то не видно мега правок и активности. Уже за это время наверно сервер новый уже, а то как правки пишет, там подходу уже Мобиус 2
  24. Is the event and script attached to the button?
×
×
  • Создать...