-
Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!
Последнее сообщение от nikes
-
Сообщение
1.2.6 (1.3.4) Баг с надписями Жена\Муж
Слышал такое уже, но звучит дико, что это нельзя пофиксить, а игрокам придется заниматься подобным) На самом деле фикс есть, но это отлов пакетов на сколько я помню или чтения лога, и отправка пакета на сервак, таким еще Арх занимался, и где то у меня даже валялся этот костыль. --- добавлено: 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); } } }
-
Сообщение
PlayAA — Приглашение на ЗБТ
Угу
-
Сообщение
Мотивационная система кармы
Буду краток (с) Ввиду некоторой бесполезности и малого выхлопа с текущей ситуации с блек-листом и твинкованием, сама собой напрашивается кармическая система регулирования деловых операций на форуме. Как это выглядит: - Вместо не имеющей никакого веса компоненты Благодарностей можно использовать ее как компоненту Оценок с правами оценивать посты пользователям из проверенных групп. Реализация на практике: - Пользователь на общий суд выкладывает свою разработку / идею / изыскания в сферах, близких к форумным тематикам, причем не обязательно бесплатно. - Пользователи с правами голоса оценивают по общим отзывам других пользователей и косвенным показателям качества (для платных - качества/цены). - Оценивать можно только шапку треда (то есть threadhead), где собственно и располагается объект оценки. - Как только разработчик/администратор/геймдев/анон набирает определенную сумму баллов - у него появляется статус Approved, что означает - ему можно доверить свои заказы и можно пользоваться его услугами. Ограничения: - Карма не является абсолютом оценки статуса пользователя, поэтому Оценку можно отозвать, если кандидат не проявляет полезной активности определенный период времени (не развивает свои продукты, не развивает сообщество идеями и тд более одного квартала). - Для софта и других программных решений использовать жесткую систему оценки качества и полезности для сообщества вцелом (независимо от того, шара или платная разработка). - Для пользователей, вносящих вклад в развитие форума полезной активностью в комментариях организовать раздел white-list, где его кандидатура рассматривается, а необходимая карма накручивается при общем обсуждении. Обсуждение открытое. Голосование открытое! Увы но такая система(что то доволи схожое) была уже на морге, но как показал опыт эта система лишняя, твинков дальше продолжали плодить оценку можно было очень быстро заработать имея пару акков и спокойно крутить все это, при том что все акки били активны и били разными людьми и у каждого были свои темы со всякой вкусняшкой. Так что я останусь нейтрален в голосовании.
-
Ресурс
Open Source Angelica Map r.27
Выложу я простой открытие и сохранение клиент. карт. Мы написали со StAlKeR6669 еще 2 года назад редактор карты, но там много говно-кода, поетому мы собрались и за пару дней переписали Либу, да ее нужно доделать, есть только открытие и сохранение, все остальное дописать уже не составит труда. (с) nikes & StAlKeR6669 2013-2015