По идее подойдет редактор от Perfect World структура вроде как одинакова.
Слышал такое уже, но звучит дико, что это нельзя пофиксить, а игрокам придется заниматься подобным) На самом деле фикс есть, но это отлов пакетов на сколько я помню или чтения лога, и отправка пакета на сервак, таким еще Арх занимался, и где то у меня даже валялся этот костыль. --- добавлено: 8 июл 2017 в 13:11 --- Вот, держи, я думаю уже некто не будет против. using System; using System.Net.Sockets; using System.Runtime.CompilerServices; using System.Threading; namespace coord { class Program { public static void Sender(byte[] send, out byte[] recivd, out int bytescount_out, out int bytescount_in, out int errcode) { string str = "127.0.0.1"; int i = 29400; errcode = 0; byte[] bs = new byte[20000]; TcpClient tcpClient = new TcpClient(); Console.WriteLine("\r\nConnecting to server..."); try { tcpClient.Connect(str, i); } catch { Console.WriteLine(String.Concat(new object[] { "Cannot connect to remote host: ", str, " port:", i })); Console.WriteLine("Press \'Enter\'..."); Console.ReadLine(); tcpClient.Close(); errcode = 1; } Socket socket = tcpClient.Client; socket.Send(send); bytescount_out = (int)send.Length; bytescount_in = socket.Receive(bs); recivd = bs; socket.Close(); tcpClient.Close(); } public static string DecToHex(int dec) { return Convert.ToString(dec, 16).Replace("-", ""); } public static void PrintHexBytes(byte[] bytes, int bytescount) { bool flag = (bytes != null) ? ((int)bytes.Length == 0 == false) : false; if (!flag) { Console.WriteLine(""); goto IL_0046; } int i = 0; do { Console.Write("{0:X2} ", bytes[i]); i++; IL_003d: flag = i < bytescount; } while (flag); IL_0046: return; } public static void BAToSingle(byte[] bytes, int index) { float f = BitConverter.ToSingle(bytes, index); Console.WriteLine(BitConverter.ToString(bytes, index, 4), f); } private static void Main(string[] args) { byte[] bs1; int k1; int i1 = 0; int j1 = 0; bool flag = (int)args.Length == 0 == false; if (!flag) { Console.WriteLine("Please enter rid1 and rid2."); Console.WriteLine("Usage: rid1 rid2"); Console.WriteLine("Press \'Enter\'..."); Console.ReadLine(); } int i2 = Convert.ToInt32(args[0]); int j2 = Convert.ToInt32(args[1]); byte[] bs2 = new byte[] { 139, 197, 8, 128, 0, 0, 1, 0, 0, 0, 0 }; byte[] bs3 = BitConverter.GetBytes(i2); byte[] bs4 = BitConverter.GetBytes(j2); Array.Reverse(bs3); Array.Reverse(bs4); Array.Copy(bs3, 0, bs2, 7, 4); Sender(bs2, out bs1, out j1, out i1, out k1); object[] locals = new object[] { "GRoleBase ", i2, ", bytes send: ", j1 }; Console.WriteLine(String.Format(String.Concat(locals), new object[0])); Console.WriteLine(String.Format("{0} bytes recived", i1)); int k2 = i1; byte[] bs6 = new byte[4]; Array.Copy(bs1, k2 - 12, bs6, 0, 4); Array.Reverse(bs6); int i3 = BitConverter.ToInt32(bs6, 0); locals = new object[] { "Current spouse id ", i2, ": ", i3 }; Console.WriteLine(String.Concat(locals)); byte[] bs13 = new byte[] { 196 }; byte[] bs7 = bs13; bs13 = new byte[] { 128 }; byte[] bs8 = bs13; bs13 = new byte[] { 75 }; byte[] bs9 = bs13; bs13 = new byte[4]; byte[] bs10 = bs13; Array.Copy(bs7, 0, bs1, 1, 1); Array.Copy(bs8, 0, bs1, 4, 1); Array.Copy(bs9, 0, bs1, 7, 1); flag = i3 == j2 == false; if (!flag) { locals = new object[] { "Clear spouse ", i2, " and ", j2 }; Console.WriteLine(String.Concat(locals)); Array.Copy(bs3, 0, bs1, 8, 4); Array.Copy(bs10, 0, bs1, k2 - 12, 4); } else { Array.Copy(bs3, 0, bs1, 8, 4); Array.Copy(bs4, 0, bs1, k2 - 12, 4); Console.WriteLine(String.Concat("PutSpouse ", i2)); } Sender(bs1, out bs1, out j1, out i1, out k1); Thread.Sleep(1000); Array.Copy(bs4, 0, bs2, 7, 4); Sender(bs2, out bs1, out j1, out i1, out k1); locals = new object[] { "GRoleBase ", j2, ", bytes send: ", j1 }; Console.WriteLine(String.Format(String.Concat(locals), new object[0])); Console.WriteLine(String.Format("{0} bytes recived", i1)); int j3 = i1; byte[] bs12 = new byte[4]; Array.Copy(bs1, j3 - 12, bs12, 0, 4); Array.Reverse(bs12); int k3 = BitConverter.ToInt32(bs12, 0); locals = new object[] { "Current spouse id ", j2, ": ", k3 }; Console.WriteLine(String.Concat(locals)); Array.Copy(bs7, 0, bs1, 1, 1); Array.Copy(bs8, 0, bs1, 4, 1); Array.Copy(bs9, 0, bs1, 7, 1); flag = k3 == i2 == false; if (!flag) { locals = new object[] { "Clear spouse ", j2, " and ", i2 }; Console.WriteLine(String.Concat(locals)); Array.Copy(bs4, 0, bs1, 8, 4); Array.Copy(bs10, 0, bs1, j3 - 12, 4); } else { Array.Copy(bs4, 0, bs1, 8, 4); Array.Copy(bs3, 0, bs1, j3 - 12, 4); Console.WriteLine(String.Concat("PutSpouse ", j2)); } Sender(bs1, out bs1, out j1, out i1, out k1); } } }
Угу
В ресурсах моя тема висит на этот счет.
Сможет кто попробывать открыть платными редакторами Увы но структура везде 1 и таже, если структуры нет в программе, то она не откроет, будь то платный или бесплатный редактор.
Буду краток (с) Ввиду некоторой бесполезности и малого выхлопа с текущей ситуации с блек-листом и твинкованием, сама собой напрашивается кармическая система регулирования деловых операций на форуме. Как это выглядит: - Вместо не имеющей никакого веса компоненты Благодарностей можно использовать ее как компоненту Оценок с правами оценивать посты пользователям из проверенных групп. Реализация на практике: - Пользователь на общий суд выкладывает свою разработку / идею / изыскания в сферах, близких к форумным тематикам, причем не обязательно бесплатно. - Пользователи с правами голоса оценивают по общим отзывам других пользователей и косвенным показателям качества (для платных - качества/цены). - Оценивать можно только шапку треда (то есть threadhead), где собственно и располагается объект оценки. - Как только разработчик/администратор/геймдев/анон набирает определенную сумму баллов - у него появляется статус Approved, что означает - ему можно доверить свои заказы и можно пользоваться его услугами. Ограничения: - Карма не является абсолютом оценки статуса пользователя, поэтому Оценку можно отозвать, если кандидат не проявляет полезной активности определенный период времени (не развивает свои продукты, не развивает сообщество идеями и тд более одного квартала). - Для софта и других программных решений использовать жесткую систему оценки качества и полезности для сообщества вцелом (независимо от того, шара или платная разработка). - Для пользователей, вносящих вклад в развитие форума полезной активностью в комментариях организовать раздел white-list, где его кандидатура рассматривается, а необходимая карма накручивается при общем обсуждении. Обсуждение открытое. Голосование открытое! Увы но такая система(что то доволи схожое) была уже на морге, но как показал опыт эта система лишняя, твинков дальше продолжали плодить оценку можно было очень быстро заработать имея пару акков и спокойно крутить все это, при том что все акки били активны и били разными людьми и у каждого были свои темы со всякой вкусняшкой. Так что я останусь нейтрален в голосовании.
[ATTACH] Странно. Я никаких фиксов не делал А ядро стандартное со сборки loko Так у тебя кот стоит Прости, но ты написал фикс, с тем учетом что это не фикс, а просто ограничение, так как фикс бы был если с ним был бы косяк, а так косяков нету.(Дюп не в счет)
И так, нам со сталкам стало интересно кто нибуть сможет все же изменить мир ММОРПГ на двиге Анжелика, у нас это получилась еще 2 года назад, но все же это был говнокод, но хотя он все же и работал. Как мы посмотрели еще и 2 года назад только пару человек смогли сделать адекватный АИ редактор, что мы тоже сделали, но пока он сырой и выложивать я его не стану. НО как я уже посмотрел на форуме поевились люди которые смогли все же написать что то подобное с АИ, а теперь дерзайте. Вот Исходник Либи для открытия и сейва карты. AngelicaMapLib r.27
Выложу я простой открытие и сохранение клиент. карт. Мы написали со StAlKeR6669 еще 2 года назад редактор карты, но там много говно-кода, поетому мы собрались и за пару дней переписали Либу, да ее нужно доделать, есть только открытие и сохранение, все остальное дописать уже не составит труда. (с) nikes & StAlKeR6669 2013-2015
Если надо,могу вечером скинуть скрипт готовый,для cs:go рандом выпадение вещей. Выбираешь сундук - перелистывает мя список предметов и выпадает рандом оружие,если нужно. Скинь мне в личку сие чудо.
[ATTACH] [ATTACH] На тот момент как это все писалось был 1.3.4 и достать в те времена все это было проблематично, хотя уже это раз плюнуть, с этой инфой можно замелить фулл-сервер за пол года, но придется писать всю логику самим, и в осн. проблема будет в интеграции старых файлов и скилов.
https://dl.dropboxusercontent.com/u/67557891/ski.bt
Ап, ни у кого не осталось? Такое недо Г..... не кому не нужно.
Какую еще ссылку? наверняка имеет в виду ссылку на эмуль которого нет :D А если найду?.... Жаль что скрини удалил =_=
Какую еще ссылку?
Дамс что то я реально протупил не заметил что нету ссылки.
Шота я вообще забыл про этот форум... Ну да ладно... Давно написал тулзу для распаковки бд, но решил недавно сделать и запаковку. Собственно. Что умеет: 1. Распаковывать базу 2. Упаковывать базу и менять ключ в ExE файле Что требуется для утилиты: 1. Сама база. 2. Exe файл игры которая использует базу. [IMG] Пример строки запуска для Decrypt: dbdecrypt.exe -d compact.sqlite3 archeage.exe Пример строки запуска для Encrypt: dbdecrypt.exe -c "04 EF F1 77 E2 73 08 15 39 84 8C 82 25 18 0A 12" compact.sqlite3 compact_decrypt.sqlite3 archeage.exe Где compact.sqlite3 - упакованная база Где compact_decrypt.sqlite3 - распакованная база "04 EF F1 77 E2 73 08 15 39 84 8C 82 25 18 0A 12" - ключ для запаковки(Исправится в екзешнике) Скачать. P.s. Выложил на другом форуме, по другим ником, так что кто скажет что не мое, покараю анально...
Тебе виднее. Насколько мне известно, американцев и немцев прикрыли, остался только ты. Тут кроме меня ище много умельцев. =_=
Код открыт, можно дорабатывать Нечего там дорабатывать.
[IMG] Походу да Старо как мир...
Имена участников (разделяйте запятой).