Archived

This topic is now archived and is closed to further replies.

Gsocol

Gsocol Log Parser

38 posts in this topic

Вот, прошу, ногами сильно не бить.

Выкладываю свою прогу для автоматизированного администрирования нашего чемпа.

Это даже не пробная версия, а pre betta. Описания пока нет. (да в принципе, и описывать нечего и так все понятно)

От первых трех гонок логов в теме не сохранилось  :cray:, поэтому нет их у меня ((

Parser setup с инсталятором

Parser portable без инсталятора - просто разархивировать в любую папку

Share this post


Link to post
Share on other sites

Бью. Но не сильно :) Ибо пока не видно, за что бить.

Untitled-1.png

И да, за QT респект (если я прально по библиотеке понял, что это на QT). Можно будет даже мобильную версию парсера сделать Дельфи? Хм, но библа Кутишнаяgood.gif

Share this post


Link to post
Share on other sites

От первых трех гонок логов в теме не сохранилось :cray:, поэтому нет их у меня ((

без первых трёх логов я протестуюhaha.gif

И это. Реквестирую анализ практик/квал. (Да, я сторонник БК и тапки ф пол)

Share this post


Link to post
Share on other sites

И да, за QT респект (если я прально по библиотеке понял, что это на QT). Можно будет даже мобильную версию парсера сделать Дельфи? Хм, но библа Кутишнаяgood.gif

Неа, не QT а DSF(Dynamic Skin Form) 

Share this post


Link to post
Share on other sites

И это. Реквестирую анализ практик/квал. (Да, я сторонник БК и тапки ф пол)

В каком виде это сделать ? Сравнительные таблицы ?

Да еще одно замечание: под Вистой и Семеркой не тестировалось !!!

Share this post


Link to post
Share on other sites

А  инфу по используемым хелпам сможешь вывести?

Share this post


Link to post
Share on other sites

В каком виде это сделать ? Сравнительные таблицы ?

Да еще одно замечание: под Вистой и Семеркой не тестировалось !!!

ну просто лог практики даёшь программе, а там таблица БК (сектора и т.п.) :)

Пилот - Команда - С1 - С2 - С3 - Круг - Топливо

Share this post


Link to post
Share on other sites

Untitled-1.png

Хм, откуда она вылезла? Сча, инсталлятор перекомпилю )) 

Share this post


Link to post
Share on other sites

Перекомпилил, проверил, должно работать, качать по тем же ссылкам в первом посте.

А  инфу по используемым хелпам сможешь вывести?

Да без проблем.

Share this post


Link to post
Share on other sites

А помимо того, что есть в логе? Есть возможность вытащить данные к примеру о том, какая резина использовалась в гонке?

Share this post


Link to post
Share on other sites

ну просто лог практики даёшь программе, а там таблица БК (сектора и т.п.) :)

Пилот - Команда - С1 - С2 - С3 - Круг - Топливо

Сделаю. Завтра )))

Терь будет не pre betta а alfa betta :hello:  

Share this post


Link to post
Share on other sites

А помимо того, что есть в логе? Есть возможность вытащить данные к примеру о том, какая резина использовалась в гонке?

про резину в логе ниче нет ((

вот кусочек заголовка лога (это как бы заголовок лога)



<Setting>Multiplayer</Setting>
<ServerName>BritishGP</ServerName>
<PlayerFile>Max</PlayerFile>
<DateTime>1279382399</DateTime>
<TimeString>2010/07/17 19:59:59</TimeString>
<Mod>F1NRC_F1RFT_2009.rfm</Mod>
<Season></Season>
<TrackVenue>F1NRC2010</TrackVenue>
<TrackCourse>SANTANDER BRITISH GRAND PRIX</TrackCourse>
<TrackEvent>Round 10 - 2010 FORMULA 1 SANTANDER BRITISH GRAND PRIX</TrackEvent>
<TrackLength>5164.4</TrackLength>
<GameVersion>1.255</GameVersion>
<Dedicated>1</Dedicated>
<ConnectionType upload="8042" download="8042">Custom</ConnectionType>
<MOTD></MOTD>
<RaceLaps>30</RaceLaps>
<spam>60</spam>
<MechFailRate>2</MechFailRate>
<DamageMult>30</DamageMult>
<FuelMult>1</FuelMult>
<TireMult>2</TireMult>
<VehiclesAllowed>|2009F1RFT|TEST</VehiclesAllowed>
<ParcFerme>3</ParcFerme>
<FixedSetups>0</FixedSetups>
<FreeSettings>239</FreeSettings>
<FixedUpgrades>0</FixedUpgrades>
<Race>
<DateTime>1279386126</DateTime>
<TimeString>2010/07/17 21:02:06</TimeString>
<Laps>30</Laps>
<Minutes>60</Minutes>

А вот кусочек про пилота 



<Driver>
<Name>Vladimir Kuznetsov</Name>
<Connected>1</Connected>
<VehFile>F1RFT_06.VEH</VehFile>

<BestLapTime>82.1377</BestLapTime>
<FinishTime>2562.7998</FinishTime>
<Laps>30</Laps>
<Pitstops>1</Pitstops>
<FinishStatus>Finished Normally</FinishStatus>
<ControlAndAids startLap="1" endLap="30">PlayerControl,TC=3,Clutch,AutoBlip</ControlAndAids>

Вот к примеру какие помощи юзвер использовал

<ControlAndAids startLap="1" endLap="30">PlayerControl,TC=3,Clutch,AutoBlip</ControlAndAids>

Share this post


Link to post
Share on other sites

про резину в логе ниче нет ((

Ну это не секрет. Собственно в том то и вопрос по инфе "не в логе". Не селен в программировании, но что если к примеру сделать прогу на подобии artmoney, которая сканирует запущенное приложение на предмет конкретных значений, затем вычислить значения, относящиеся к типу резины и полученную инфу дописать в лог?

Share this post


Link to post
Share on other sites

Ну это не секрет. Собственно в том то и вопрос по инфе "не в логе". Не селен в программировании, но что если к примеру сделать прогу на подобии artmoney, которая сканирует запущенное приложение на предмет конкретных значений, затем вычислить значения, относящиеся к типу резины и полученную инфу дописать в лог?

ну а смысл? Вот если бы у нас было что-то вроде "обязательно использовать оба типа резины", тогда да. А к тому же неизвестно как это будет работать на XP, Висте и 7 - уверен что очень по-разному

Share this post


Link to post
Share on other sites

Ну это не секрет. Собственно в том то и вопрос по инфе "не в логе". Не селен в программировании, но что если к примеру сделать прогу на подобии artmoney, которая сканирует запущенное приложение на предмет конкретных значений, затем вычислить значения, относящиеся к типу резины и полученную инфу дописать в лог?

С программистской точки зрения это тоже не проблема )))

Можно, к примеру той же артманей вычислить место в памяти, где хранятся данные о резине 

а прога просто считает данные и запишет в лог

Вот вычислить, где же в памяти эти данные, вот это да проблема !!!

Share this post


Link to post
Share on other sites

ну а смысл? Вот если бы у нас было что-то вроде "обязательно использовать оба типа резины", тогда да. А к тому же неизвестно как это будет работать на XP, Висте и 7 - уверен что очень по-разному

Неа, на  XP, Висте и 7 одинаково будет работать, надо тока знать сигнатуру данных, а она везде будет одинакова ))))

Share this post


Link to post
Share on other sites

Вот вычислить, где же в памяти эти данные, вот это да проблема !!!

собственно это я и хотел услышать :) В принципе можно сканировать все. 4 типа резины - 4 значения. Можно еще с сотню типов резины добавить. Попробую сегодня

ну а смысл? Вот если бы у нас было что-то вроде "обязательно использовать оба типа резины", тогда да. А к тому же неизвестно как это будет работать на XP, Висте и 7 - уверен что очень по-разному

В том то и фокус, что невозможность использования двух типов у нас заключается в невозможности контроля

Share this post


Link to post
Share on other sites

Ну когда станет ясно как и для чего можно использовать эту прогу, известите меня :)

Share this post


Link to post
Share on other sites

Ну когда станет ясно  как и для чего можно использовать эту прогу, известите меня :)

Обязательно ))

Share this post


Link to post
Share on other sites

Тоже чтоли дельфи вспомнить :bang: лет 5 уже ничего не пробовал :D всякие программерские приблуды у меня имеют свойство замусоривать машину в два счета :D

Share this post


Link to post
Share on other sites

Итак, результаты исследования:

Каждому типу резины соответствует определенное значение от 0 до n-1 (где n - количество типов резины). В нашем случае Hard = 0, Soft = 1. Для пущей убедительности добавил еще пару составов (Medium и VeryHard), которые успешно определялись как 2 и 3. Нашел следующие адреса:

00AE116C, 00AE11AC - меняет значение при смене резины в сетапе (не меняет при смене резины на пит-стопе), т.е. не особо нужны;

00717FE0, 007181C8, 007183B0, 00718598, 007185C0, 00ADB360, 00ADB364 - принимают значение типа резины в реальном времени, т.е. то, что нужно. До пит-стопа у меня стоял Soft - значение было 1, на пит-стопе поставил VeryHard - значение сменилось на 3;

12A97104, 12A97144 - менялись с предыдущими в реальном времени, но сбились после смены трассы. т.е. мусор.

Т.е. достаточно зафиксировать значения по данным адресам в момент старта и в момент финиша.

Gsocol, а не мог бы ты вкратце рассказать как написать прогу, вылавливающую значения из указанной проги (лучше с исходником)?   :blush: Давно пытаюсь разобраться, но руки опускаются при попытке начать. Есть много идей, одна из которых - античит для rFactor. 

Share this post


Link to post
Share on other sites

Т.е. достаточно зафиксировать значения по данным адресам в момент старта и в момент финиша.

надо в момент пит-стопа ещё, если 2 пита - софт>хард>софт, то по-твоему выйдет что человек нарушил

Share this post


Link to post
Share on other sites

ппц, я в ауте... ничего не понимаю.... ааааааааааааааа, куда я попаааал... :tease: :shok: :help: :worthy: :blink: :scratch_one-s_head: :newconfus:

Share this post


Link to post
Share on other sites

надо в момент пит-стопа ещё, если 2 пита - софт>хард>софт, то по-твоему выйдет что человек нарушил

Логично. Тогда проще с каждого круга

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.