What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

ChatMessage

Status
Not open for further replies.

Barok

Member
Joined
Sep 11, 2014
Messages
231
Reaction score
0
Здравствуйте. Пытаюсь отслеживать событие ChatMessage. Но при выводе текста, когда персонаж шифтует итем в чат, вместо текста эвент передает ерунду вроде этого
Code:
[13:18:08] (Ally) Zummer: Продам |i19045,2,00000000001bIW000W00004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002KABbK0000000000000000D0000000000000000000000000000000b2YvL000000;
[13:18:11] (Ally) Мура: качните плиз
[13:18:17] (Ally) Зимушка: Здравствуй, здравствуй, куй мордастый...
[13:18:18] (Ally) Мява: качели во дворе
[13:18:23] (Ally) Loren: куплю |i32297,2,00000000000fVW000W00004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Cm00000000000000000000000000000000000000000; только ифферию
[13:18:26] (Ally) Конт: ух)
[13:18:31] (Ally) Биомаксс: РЕЙД В БИБЛИЮ +++
[13:18:36] (Ally) Конт: повеяло холодком)
[13:18:41] (Ally) Пятно: Конт, тебе в твоём болоте не с кем поговорить ? вали из союза
[13:18:49] (Ally) Мура: дибил не на качелях
[13:18:51] (Ally) Биомаксс: РЕЙД В БИБЛИЮ +++
[13:18:51] (Ally) Конт: чо?
[13:19:04] (Ally) Конт: вытрись давай)
[13:19:10] (Ally) Мура: качните плиз
[13:19:11] (Ally) Эллаи: продам место 16х16 в инистре и Полуострове
[13:19:11] (Ally) Биомаксс: РЕЙД В БИБЛИЮ ++
[13:19:13] (Ally) Мява: я и говорю, дебил, вали на качели
[13:19:16] (Ally) Пятно: пиратов теперь не любят вдвойне
[13:19:20] (Ally) Эллаи: продам |i34765,0,00000000003DXm000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003oDSzK0000000000000000D0000000000000000000000000000000yZNFL000000;
[13:19:20] (Ally) Оконэл: приятно что в игре есть грамотные юморясты)
[13:19:21] (Ally) Мура: дибил не на качелях
[13:19:24] (Ally) Mars: Продам 150 дз
[13:19:25] (Ally) Эллаи: куплю |i8000120,0,00000000001u4de0000qG04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D000000000000000000000000000000000000000000;,в пм
[13:19:28] (Ally) Конт: убивают что ли?
[13:19:31] (Ally) Биомаксс: РЕЙД В БИБЛИЮ +++
[13:19:31] (Ally) Мура: качните плиз
[13:19:32] (Ally) Оконэл: юмористы*
[13:19:33] (Ally) Nesquik: |i20774,5,00000000000cKG001G0000400003Z0y00RL8001q001s3m000000000000000000ktG00Bjq002xT0000000000000000000000006i0Pm00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002m000000000000000000000000000000O5G00000000; продам фулл рыжий сет с кучей топ руноки  гравировок за хонор! Вид - пиратка! Подробности в ЛС!
[13:19:37] (Ally) Nesquik: Никто в Хазире у Нефритовых Водопадов места не продает?
[13:19:38] (Ally) Thetawaves: Продам место 16х16, дешего! У озера, у склада и всех торговцев
[13:19:42] (Ally) Мура: качните плиз
[13:19:43] (Ally) Telo: Мура качели во дворе 
[13:19:45] (Ally) Конт: кто любит, кто не любит) Нам то че)
[13:19:48] (Ally) Биомаксс: РЕЙД В БИБЛЮ +++
[13:19:48] (Ally) Мура: дибил не на качелях

Можно ли как-то сделать нормальный вывод в виде текста шифтованных вещей?
 
Нельзя. Максимум что можно - парсить эту строчку и искать в ней айди предмета "i34765,", его грейд ",0,"?, и так далее
 
Нельзя. Максимум что можно - парсить эту строчку и искать в ней айди предмета "i34765,", его грейд ",0,"?, и так далее
Спасибо, уже хоть какое-то решение можно придумать
 
Может подскажите в чем загвоздка? Пытаюсь спарсить эту строку, и затык происходит в самом начале
Code:
string stroka = text.Substring(text.IndexOf("|i") + 2);
Log("1: " + stroka);
stroka.Substring(0, stroka.IndexOf(",")-1);
Log("2: " + stroka);
Так вот в Log1 выводит как положено, обрезает до |i, а вот в лог 2 уже не хочет обрезать до запятой. Там какая-то хитрая запятая или я что-то не так делаю?
 
Last edited:
Используй регулярки(Regex), если есть понимание или знакомый в них разбирающийся. А то на классе string далеко не уедешь.
Что то в этом духе(без студии пишу):

Code:
Regex req = new Regex(@"\|i(?<ID>.*?)\,(?<GRADE>.*?)\,"); //это типа |i<ID>,<GRADE>, могу и ошибиться, но должно работать.
foreach(Math m in reg.Matches(text)) //цикл по попаданиям в регулярку.
 m.Groups["ID"] // Будет ID предмета.
 m.Groups["GRADE"] // Будет грейд.

Так же можно и вырезать все эти крякозябы с помощью регулярки, методом замены сразу же на человеческий вид.
Надеюсь помог.
 
Используй регулярки(regex), если есть понимание или знакомый в них разбирающийся. А то на классе string далеко не уедешь.
Что то в этом духе(без студии пишу):

Code:
regex req = new regex(@"\|i(?<id>.*?)\,(?<grade>.*?)\,"); //это типа |i<id>,<grade>, могу и ошибиться, но должно работать.
Foreach(math m in reg.matches(text)) //цикл по попаданиям в регулярку.
 M.groups["id"] // Будет id предмета.
 M.groups["grade"] // Будет грейд.

Так же можно и вырезать все эти крякозябы с помощью регулярки, методом замены сразу же на человеческий вид.
Надеюсь помог.
Огромное спасибо, для меня это большое открытие с регулярными выражениями, нашел много материала по ним, буду изучать. Вот код, который у меня корректно выделяет id и грейд
Code:
if (text.IndexOf("|i") > -1)
                {
                    Regex reg = new Regex(@"\|i(?<ID>.*?)\,(?<GRADE>.*?)\,");
                    MatchCollection matches = reg.Matches(text);
                    foreach (Match m in matches) 
                    {
                        Log("ID: " + m.Groups["ID"].ToString()); 
                        Log("GRADE: " + m.Groups["GRADE"].ToString()); 
                    }
                }

Дальше уже дело техники, разберусь, доработаю.
 
Status
Not open for further replies.
Back
Top