Doc
offline
Опыт:
63,163Активность: |
[Debug Log]
ПредисловиеВсем preload exploit пацаны! Представьте ситуацию: огромная карта, ваша карта. Сотни кода, объектов, моделей итп. В процессе разработки новой версии в коде делаются более девяти тысяч изменений, поправок, доработок. И вот он - долгожданный тест! Предвещая профит, вы собираете кучу кунов и тянов, хостуете игру и начинаете тестить. Сначала, все идет как по маслу, хуманы бегают, эльфы размножаются, сатанисты строят здания. Но тут бац! Причем в самом неожиданном месте! Epic fail. Как узнать где ошибка? Реплеи не сохраняются, игра закрывается сразу-же, ничего невозможно усмотреть. Тут вам и поможет Debug Log System. Она заботливо запишет в отдельный файлик дебаг-сообщения, которые вы сможете просмотреть непосредственно после игры или в ее процессе.
Как оно работаетНаработка использует небезызвестный preload exploit, точнее ту его часть, что отвечает за сохранение. Следовательно, ничего менять в реестре вам не понадобится.
APIНаработка пока сырая, поэтому в ней всего 3 функции:
Собственно добавляет запись в лог.
Кэп подсказывает, что это функция чистит лог.
Ручная перезапись лога.
Так же, есть несколько настроек-дефайнов, которые нельзя изменить в течение игры. Меняются они в самом коде. Вот они:
Первая отвечает за путь к файлу лога и за имя самого файла. Вторая спрашивает, нужно ли использовать как источник пути корень указанного диска, либо папку с вакрафтом. Третья указывает на букву диска, используемого в сохранении файла. Четвертая и пятая, отвечают за автосохранение лога.
Рекомендации к использованиюИспользуется точно так же как и обычный дебаг, то есть вы выводите некие поясняющие данные в лог файл, которые указывают вам на предыдущие совершенные действия, дабы обнаружить причину ошибки. В особо сложных случаях я рекомендую использовать конструкцию вида LogAdd(`funcname`), это выведет вам имя функции, в которой использовалось LogAdd.
Собственно система
» Тысячи кода
Карту пример прикреплять не стал, т.к. показывать особо нечего. |
24.04.2011, 23:11 | #1
+23/−3
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Время можно вычислять по принципу как тут. А так, ни мягко ни тепло, учитывая, что лавочку могут прикрыть. |
25.04.2011, 00:00 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
поэтому пока не прикрыли надо юзать. в целом написал систему лишь потому, что понадобилось найти неочевидный фатал, но мб кто-нибудь еще найдет этому применение. ах да, за идею с часами спасибо, так действительно правильней. |
25.04.2011, 00:21 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Virysru
offline
Опыт:
7,692Активность: |
зацените хоть пример лога, что-ли. |
25.04.2011, 01:15 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
дак сделай и посмотри =) генерится txt файл с твоими сообщениями в формате "[время] сообщение" и ненужным мусором, который не убирается. алсо, лог файл некорретно просмотривается блокнотом - нету переходов на следующую строку. |
25.04.2011, 01:20 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
нп++ вас спасет |
25.04.2011, 01:20 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Именно так. Алсо, в вордпаде отступы тоже работают, проверял. |
25.04.2011, 01:22 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Virysru
offline
Опыт:
7,692Активность: |
т.е если я, допустим, добавлю в некий триггер строку (первым действием) на вывод 1111, то при вылете, последним что я увижу в логе, будет 1111? |
25.04.2011, 02:10 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Virysru, да.
Doc добавил: ну и не только при вылете. |
25.04.2011, 06:39 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ihsan
Призрак старого Варкрафта
offline
Опыт:
9,067Активность: |
Какая версия вара нужна? а так, очень полезная система (особенно для меня) |
25.04.2011, 13:54 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
По идее на любой после 1.18 должно работать. |
25.04.2011, 13:55 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ihsan
Призрак старого Варкрафта
offline
Опыт:
9,067Активность: |
можешь все таки выложить пример, хотя бы такой: игрок красный напечатал сообщение 1 - добавить сообщение в лог игрок красный напечатал сообщение 2 - очистить лог игрок красный напечатал сообщение 3 - Ручная перезапись лога либо вар тупит либо я криворукий (это наиболее вероятно), но вар не грузит мапу |
25.04.2011, 14:32 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Ок позже запилю пример. |
25.04.2011, 14:42 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BK.Jugg
террорист из КиП
offline
Опыт:
27,066Активность: |
крутата, обязательно запилю себе |
25.04.2011, 17:59 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Вот вам пример, команды add clear и update. Файл в C:\Dir\Debug.txt. |
25.04.2011, 19:06 | #15
+2/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Msey
????
offline
Опыт:
67,346Активность: |
Классная весчь :) "approved" ^ |
23.05.2011, 21:35 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
wetalq
offline
Опыт:
3,715Активность: |
Насколько я понял такую вещь можно использовать в оРпг токо сохранять не Лог а пароль ? |
08.06.2011, 17:57 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
Нельзя. Можно эту. |
08.06.2011, 18:08 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
wetalq, сохранение файла можно реализовать по тому же принципу. |
08.06.2011, 21:34 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SomeFire
Всего 20 символов...
offline
Опыт:
26,884Активность: |
Проблемы по мере их поступления:
SomeFire добавил: Если вырубаю другие триггеры, выдает отсутсвие оператора кода. |
13.06.2011, 21:26 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|