ии кодинг захватывает форум? на гите какое то месиво всего и сразу.
Я бы всем пользователям рекомендовал максимально внимательно изучить исходный код и код сопутствующих либ ДО того, как пытаться запускать что-то из тулз этого автора на своем компьютере.
AES используется в UE4/5 делал подобное под другую игру на UE4. А так как умельцев хватает и ремастер для LineAge 2 UE4 уже в работе, данный функционал будет совсем кстати.расскажите что это за магия и от куда она
расскажите что это за магия и от куда она. По коду видно что там ии ибо разумный человек такое не делает. Даже если взять кто не шарит комментарии на каждую строку в большинстве без нужды ( явный признак использования ии который дает такие комментарии на каждый чих ).
Посмотреть вложение 85526
// нужна ли здесь потоко-защищенность? // is required concurrent?
final List<ExDropHolder> dropList = new ArrayList<>(dropCategory.getDropItems());
Collections.shuffle(dropList);
// Вдруг сделают значение с минусом // in case if in file will be value lowest than zero
final long minItemFromGroup = Math.max(dropCategory.getMin(), 0);
// На случай если мин значение будет больше чем макс // in case if min value being higher than max
final long maxItemFromGroup = Math.max(minItemFromGroup, dropCategory.getMax());
// не будем делать интерации @maxItemFromGroup у нас 0. Теоритически может быть в случае если minItemFromGroup <= 0
// no reason to do iterations if @maxItemFromGroup will 0. May be in case if minItemFromGroup <= 0
final double totalChance = calculateTotalGroupChance(_type, killer, victim, dropCategory, dropList);
for (long iterator = minItemFromGroup; iterator <= (maxItemFromGroup == 0 ? -1 : maxItemFromGroup); iterator++)
{
final double randomValueForRoll = Rnd.nextDouble() * totalChance;
double currentChance = 0.d;
ITEMS : for (ExDropHolder item : dropList)
{
ItemTemplate normalTemplate = ItemHolder.getInstance().getTemplate(item.getItemId());
SpecialItemsHolder specialTemplate = normalTemplate == null ? SpecialItemsHolder.getSpecialItemById(item.getItemId()) : null;
if (normalTemplate == null && specialTemplate == null)
{
_logger.warn(getClass().getSimpleName() + ": Item with id " + item.getItemId() + " has null template;");
continue ITEMS;
}
// нельзя допустить чтоб шанс уменьшался! // required to increase chance, check on case if cant be decreased
// смешно что мобиус конфиг придумал, но он несовместим :)
// funny thing - mobius created config for increasing chance for selected items, but it will not work there :)
// из-за этого и приходится делать вот такие финты, считать полный шанс и тд
// and I need to calculate all chances before guiding the chance
double itemChanceForPlayer = getPlayerItemDropChance(_type, killer, victim, dropCategory, item, true);
серьезно? вопрос был в другом напиши от куда такие данные взял ( или все же нейросеть глюк поймала? )
Некоторые функции делались по наитию и находятся в тестовом режиме.
Буду рад вашим замечаниям, советам и предложениям.
у тебя в этом смысл есть для функций которые не дают информацию там же иное.[offtop]
Я всегда знал - что я ИИ
[/offtop]Java:// нужна ли здесь потоко-защищенность? // is required concurrent? final List<ExDropHolder> dropList = new ArrayList<>(dropCategory.getDropItems()); Collections.shuffle(dropList); // Вдруг сделают значение с минусом // in case if in file will be value lowest than zero final long minItemFromGroup = Math.max(dropCategory.getMin(), 0); // На случай если мин значение будет больше чем макс // in case if min value being higher than max final long maxItemFromGroup = Math.max(minItemFromGroup, dropCategory.getMax()); // не будем делать интерации @maxItemFromGroup у нас 0. Теоритически может быть в случае если minItemFromGroup <= 0 // no reason to do iterations if @maxItemFromGroup will 0. May be in case if minItemFromGroup <= 0 final double totalChance = calculateTotalGroupChance(_type, killer, victim, dropCategory, dropList); for (long iterator = minItemFromGroup; iterator <= (maxItemFromGroup == 0 ? -1 : maxItemFromGroup); iterator++) { final double randomValueForRoll = Rnd.nextDouble() * totalChance; double currentChance = 0.d; ITEMS : for (ExDropHolder item : dropList) { ItemTemplate normalTemplate = ItemHolder.getInstance().getTemplate(item.getItemId()); SpecialItemsHolder specialTemplate = normalTemplate == null ? SpecialItemsHolder.getSpecialItemById(item.getItemId()) : null; if (normalTemplate == null && specialTemplate == null) { _logger.warn(getClass().getSimpleName() + ": Item with id " + item.getItemId() + " has null template;"); continue ITEMS; } // нельзя допустить чтоб шанс уменьшался! // required to increase chance, check on case if cant be decreased // смешно что мобиус конфиг придумал, но он несовместим :) // funny thing - mobius created config for increasing chance for selected items, but it will not work there :) // из-за этого и приходится делать вот такие финты, считать полный шанс и тд // and I need to calculate all chances before guiding the chance double itemChanceForPlayer = getPlayerItemDropChance(_type, killer, victim, dropCategory, item, true);
Тут скорее вопрос не к том, что есть поддержка крипта выше 414 (чего? в л2 выше 414 нету), а то, что он поддерживается для разных протоколов? + цифры то не совпадают :\для таких писал. Надо было ВОТ ТАК
/**
* Реализация алгоритма шифрования Lineage 2 версии 5.1.x.
* Использует AES-128 в режиме CBC с PKCS5Padding.
*/
В Unreal Engine 4 были реализованы алгоритмы AES-128, AES-192 и AES-256Тут скорее вопрос не к том, что есть поддержка крипта выше 414 (чего? в л2 выше 414 нету), а то, что он поддерживается для разных протоколов? + цифры то не совпадают :\
Так вот вопрос - откуда взялось
и как были высчитаны "протоколы" для заголовков, если такого шифрования в л2 никогда не былоКод:/** * Реализация алгоритма шифрования Lineage 2 версии 5.1.x. * Использует AES-128 в режиме CBC с PKCS5Padding. */
Некоторые функции делались по наитию и находятся в тестовом режиме.
Называйте как душе угодноВ Unreal Engine 4 были реализованы алгоритмы AES-128, AES-192 и AES-256
Я непосредственно сталкивался с AES_128_GCM2
Назвал Ver 5.1.x для удобства и не более того.
/**
* Создает информацию о протоколе AES 51x.
*
* @param header начало файла для анализа
* @return информация о протоколе
*/
private static ProtocolInfo createAes51xInfo(byte[] header) {
boolean compressed = false;
int version = 516;
// Проверяем флаг сжатия в заголовке
if (header.length >= 7) {
if (header[4] == 0x01) {
compressed = true;
}
// Определяем точную версию
if (header.length >= 8) {
version = header[7] & 0xFF;
if (version == 0) {
version = 516; // По умолчанию для Hellbound
} else if (version == 1) {
version = 517; // GoD
} else if (version == 2) {
version = 530; // Harmony
} else if (version == 3) {
version = 531; // Tauti
} else if (version == 4) {
version = 532; // Glory Days
} else if (version == 5) {
version = 534; // Infinite Odyssey
} else if (version == 6) {
version = 559; // Helios
} else if (version == 7) {
version = 578; // Eternal
} else if (version == 8) {
version = 581; // Prelude of War
} else if (version == 9) {
version = 600; // Fafurion
} else if (version > 9) {
version = 600 + version - 9; // Более новые версии
} else {
version = 516; // По умолчанию
}
}
}
ProtocolInfo info = new ProtocolInfo(version, CryptoOperations.CryptoType.AES, compressed);
info.setParam("subversion", version);
return info;
}
почему нет протоколов c1, c2, c3, c4, c5, interlude, kamael, gracia final, gracia epilogue, high five?
могут быть ошибки и неточности. Буду рад вашим замечаниям, советам и предложениям
Весь день с помощью Cursora и чьей то там матери пытаюсь скомпилить, но пока миллион ошибок. Если осилю, скинуПробовал кто? Есть скриншоты?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?