remal
нечто
offline
Опыт:
2,087Активность: |
Цитата:
|
|
10.04.2006, 00:56 | #21
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
remal вообщето sizeof - это макродифинишн
|
10.04.2006, 07:48 | #22
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Цитата:
Можно примерчик :) Я работал только с SFmpq.dll там надо перед тем как открыть файл из архива, надо открыть архив и получить его хэндл. А большинство процедур работает с последним(или нет?) открытым архивом и не позволяют указать хэндл напрямую. Т.е. Вар читает файл из war3patch.mpq, мы прерываем, ищем файл в свем архиве, находим, и дальше что? Ведь в Варе то наш архив не открыт? |
|
17.04.2006, 19:42 | #23
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Алексей
Где кошачья мята?!
offline
Опыт:
26,303Активность: |
Пример лень делать - пара дней уйдёт на отладку. Видимо, тут проще сплайсингом, т.к. только этот метод позволяет анализировать значение, возвращаемое оригинальной функцией. Но отлаживать такие программы ну ОЧЕНЬ трудно (в случае любых глюков "упадёт" вся система). |
17.04.2006, 20:48 | #24
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Еще одна идейка меня посетила... вот например мы можем из внешнего отладчика посылать данные в Варкрафт. А если нам например нужно чтобы внешняя программа сделала какое либо действие (например поглядев в slk таблицу возвратила тип брони определенного юнита). Т.е. нам нужно спровоцировать с помощью jass вызов функции в Варкрафт и при этом чтобы в этом вызове были наши параметры(ID юнита например и тип поля которое мы хотим узнать). Все это можно реализовать (или нельзя?) с помощью jass функции Preload. Т.е. движок после вызова функции пытается открыть ресурс забитый в параметр. Тут то мы его и ловим. Прерываемся. Извлекаем строку-параметр в которой стоит некий признак, что это имеено "наш" искуственный прелоад. Дальше по вкусу, интерпретируем строку, делаем то что нужно и забиваем данные в переменную слот (можно конечно еще и посылать значение для поиска переменной в памяти, но можно и проинициализировать сразу штучек 5, нати их при первом запуске отладчика и в них и посылать результат работы... прям переменные-аккумуляторы :)=). |
30.04.2006, 18:25 | #25
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
exploder идея интересная... думаю, что вполне реально
а можно просто флаг опрашивать, который будет отвечать за готовность данных к обработке и сигнализировать о возвращенном результате NETRAT добавил: но твой вариант инетересней |
30.04.2006, 20:40 | #26
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Dragoon
offline
Опыт:
544Активность: |
А кто-нибудь знает, каким образом варик использует j файл из карты ? Мне представляется, что вар в памяти хранит j код . Но так как это всего лишь скрипты, то вполне вероятно, что они хранятся в исходном виде. Если все это так, то получается возможно изменить содержимое скриптов в памяти на лету ? Скорее всего я где то неправ, проясните плиз сию ситуацию |
30.04.2006, 21:45 | #27
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
нет, код парсится в самом начале - при инициализации, пожалуй, выход - код, выполнение которого основано на переменных-регистрах |
30.04.2006, 22:50 | #28
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
Я не много не в теме но появился вопрос - 1 можно ли с помощью jass управлять mpq да и игрой в целом 2 правда ли что весь вар функционирует на jass а движок игры переводит jass для компьютера ? |
01.05.2006, 08:49 | #29
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
exploder, NETRAT, идея конечно интересная, но куда ее можно приспособить? :?
|
01.05.2006, 09:28 | #30
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
MPI3
Хм...
offline
Опыт:
24,597Активность: |
ARHUI
AI и триггеры Вара -это и есть jass, но в более у добном фармате. |
01.05.2006, 09:35 | #31
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Dragoon
offline
Опыт:
544Активность: |
ARHUI,
|
01.05.2006, 10:52 | #32
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
Dragoonthanks
|
01.05.2006, 12:30 | #33
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
FellGuard я подумывал о динамической карте - внешний вид которой изменяется в процессе игры при чем с помощью внешних воздействий. Вроде как с сервера. теоретически можно даже подключение к такой карте сделать с помощью тонкого(thick) клиента - то есть как в обычных онлайн-играх - понадобится только сервер и невероятно развитый моск
|
01.05.2006, 14:53 | #34
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
FellGuard ну например узнавать данные из слк таблиц которые нельзя узнать непосредственно через джасс... да много чо можно еще напридумывать...
exploder добавил: Цитата:
А во это реально круто... только ресурсов моска и человекочасов потребуется много... а так вполне даже осуществимо... конечно MMORPG вряд ли получится сделать, ибо передача данных клиент-вар реализована через жопу и медленна. Но например мульти плэерную кампанию можно реализовать... |
|
02.05.2006, 17:19 | #35
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Sky
offline
Опыт:
1,605Активность: |
Какие грандиозные идеи :)
Что если я буду через прогу менять значения вара типа золото, дерево и т.д.? Каким образом это отражается на других игроках? Отредактировано Harakternyk, 17.01.2008 в 16:18. |
17.01.2008, 01:31 | #36
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
это отразитьса десинком... вот и всё |
17.01.2008, 16:42 | #37
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
ZLOBICH
Kicked by XimikS
offline
Опыт:
4,727Активность: |
смотря что менять, у меня временами вар выдавал критические ошибки при смене хп/голда в шахте/лвл героев и тд |
17.01.2008, 17:11 | #38
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Sky
offline
Опыт:
1,605Активность: |
Toadcop
десинком??? по подробней можно? в варике все клиенты синхронизируются между собой и при изменении у одного клиента какого-то значения не по правилам карты, происходит разрыв игры на 2 если так, значит у себя в процессах можно найти адрес в памяти, где хранится значение других игроков? а можно как-нить сделать так, чтоб эти значений менялись и других клиентов? ну вот если вставить читы в карту на голд, то можно спокойно делать золото без последствий, значит как-то можно заставить варик думать, что изменение значения в памяти правомерно) |
17.01.2008, 18:01 | #39
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
S
offline
Опыт:
43,833Активность: |
|
17.01.2008, 18:31 | #40
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|