#1 21-09-2010 10:47

Sergey81
Registered: 19-12-2008
Posts: 587

Доступ к карте в реальном времени

{$cleo}
wait 0
wait 0
if 
    8AA9:  not  is_game_version_original
then
    0a93:
end

while true
    wait 0
    if and
        $Phone_Ringing_Flag == 0
        0AB0:  key_pressed 9      
    then
        0A8C: write_memory 0xBA67A4 size 4 value 0x000001 virtual_protect 0
        0A8C: write_memory 0xBA68A4 size 4 value 0x290501 virtual_protect 0   
        0AA5: call 0x7469A0 num_params 0 pop 0  //mouse
        while 0AB0:  key_pressed 9    
            wait 0
        end 
        0A8C: write_memory 0xBA67A4 size 4 value 0x000000 virtual_protect 0
        0A8C: write_memory 0xBA68A4 size 4 value 0x000000 virtual_protect 0
        0AA5: call 0x746F70 num_params 0 pop 0  //mouse off
    end
end

Отображение карты в реальном времени. Мышь работает, т.е. есть возможность ставить метки.
Зажать Tab - отображение карты.
Видео демонстрация - http://www.youtube.com/watch?v=IS7Xkglks3Y

Зеркало на GTAGarage.

Last edited by Sergey81 (21-12-2010 17:38)

Offline

#2 21-09-2010 11:34

GTASA
Registered: 13-09-2008
Posts: 476

Re: Доступ к карте в реальном времени

Клево.

Offline

#3 21-09-2010 14:51

Seemann
Registered: 07-08-2006
Posts: 1,867

Re: Доступ к карте в реальном времени

Не слабо ты игру прокачал))

Offline

#4 21-09-2010 15:30

Kostyan
Registered: 27-09-2009
Posts: 91

Re: Доступ к карте в реальном времени

Seemann wrote:

Не слабо ты игру прокачал))

Очень даже интересный скрипт, твои усмешки тут совсем не к месту.

Offline

#5 21-09-2010 15:49

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Доступ к карте в реальном времени

Seemann wrote:

Не слабо ты игру прокачал))

Да не то слово. Так сказать "для лентяев".
Ну а если честно, то нам наверное показывают что в игре вполне реально реализовать какую-нибудь систему "авто-управления". То есть "систему для ленивых". Типа нажал кнопочку, игра прочитала из txt файла координаты метки и вышла в карту и поставила там метку.

Offline

#6 21-09-2010 16:37

BoPoH
From: Каушаны
Registered: 21-02-2009
Posts: 77

Re: Доступ к карте в реальном времени

странно...у меня игра зависает после зажатия Tab...У меня CLEO 4...
Может ли это происходить из-за не родной карты?

Last edited by BoPoH (21-09-2010 16:40)


userbar.png

Offline

#7 21-09-2010 17:05

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Доступ к карте в реальном времени

может из-за не родного ЕХЕ...


GIMS developer

Offline

#8 21-09-2010 17:12

Seemann
Registered: 07-08-2006
Posts: 1,867

Re: Доступ к карте в реальном времени

Kostyan wrote:
Seemann wrote:

Не слабо ты игру прокачал))

Очень даже интересный скрипт, твои усмешки тут совсем не к месту.

вообще-то это была похвала, а не усмешка...

Offline

#9 21-09-2010 17:49

Sergey81
Registered: 19-12-2008
Posts: 587

Re: Доступ к карте в реальном времени

BoPoH wrote:

странно...у меня игра зависает после зажатия Tab...У меня CLEO 4...
Может ли это происходить из-за не родной карты?

Проверил на CLEO4 - не работает. Вобще я давно ставил CLEO4, у меня тогда уже было некоторое количество скриптов, оттестированных, работающих. С 4 версией игра не запускалась, так что с CLEO4 решил не связываться. Интересные скрипты под CLEO4, как например вертолёт в этом ролике, переписывал(точнее сказать немного изменял) под CLEO3, потом сделал менюшку, ибо все комбинации кнопок не упомнишь, переконвертил некоторые в .s, и запускаю их так -
03706b2594d8b7093bc4310da8f3eabb.jpeg  9c76bbe13a038bc213873b5be65ffd8e.jpeg 

Seemann wrote:

Не слабо ты игру прокачал))

Так чего только в сети не найдёшь, как то всё скапливалось потихоньку, вот и...

Sw[ee]t wrote:
Seemann wrote:

Не слабо ты игру прокачал))

Да не то слово. Так сказать "для лентяев".
Ну а если честно, то нам наверное показывают что в игре вполне реально реализовать какую-нибудь систему "авто-управления". То есть "систему для ленивых". Типа нажал кнопочку, игра прочитала из txt файла координаты метки и вышла в карту и поставила там метку.

Не понял, почему для лентяев? В моём случае вертолётный скрипт используется для разнообразия захвата территорий(помимо него можно использовать патриот, любую машину с миниганом(2й пункт меню), авиа удары, вертолёт с миниганом и ракетами и т.д.). Зачастую бывает ситуация, когда враги сзади, и выстрелить в них нельзя, вертолёт загораживает обзор, чтоб его перенаправить на новое место, используется метка. Думаю не нужно объяснять, в следствие чего появилась идея данного скрипта smile

UPD:Небольшой оффтоп - ещё порылся в базе listener'a,

0AA5: call 0x446050 num_params 0 pop 0  //IsGangWarProvoked
0AA5: call 0x443AA0 num_params 0 pop 0  //isGangWarInProgress
0AA5: call 0x446610 num_params 0 pop 0   //processGangWars

Можно начать войну банд по нажатию кнопки.
Объявить сразу две войны нельзя, к сожалению, хотя если начать в одном районе, потом перебежать в другой и начать войну там, отряд банды с прошлого района останется, а в текущем появится новый.

Last edited by Sergey81 (21-09-2010 19:02)

Offline

#10 21-09-2010 21:58

BullDogHEMI427
From: Рязань
Registered: 02-04-2009
Posts: 54

Re: Доступ к карте в реальном времени

Заметил баг. При попытке загрузить другой сейв, не выйдя из машины, игра продолжается с отключенным звуком. Если ГГ не находится в машине, то всё нормально грузится, звук появляется снова.


Also known as HemiG
It's cool to Hate. It's cool to be a bloody guitarist.
284487-39e63-35897154-h200.jpg

Offline

#11 21-09-2010 22:11

Sergey81
Registered: 19-12-2008
Posts: 587

Re: Доступ к карте в реальном времени

BullDogHEMI427 wrote:

Заметил баг. При попытке загрузить другой сейв, не выйдя из машины, игра продолжается с отключенным звуком. Если ГГ не находится в машине, то всё нормально грузится, звук появляется снова.

Ага, есть такое, в первом посте обновлённый код, сейчас ещё потестирую и заменю аттач.
UPD: Вроде всё нормально теперь.

Last edited by Sergey81 (21-09-2010 22:15)

Offline

#12 22-09-2010 01:39

Alien
Registered: 12-10-2008
Posts: 561

Re: Доступ к карте в реальном времени

if and
1@ = 0
2@ = 0
0AB0:  key_pressed 9
jf @Noname_17

Вопрос: зачем пихать присваивания в блок проверок? Может там должно быть

if and
1@ == 0
2@ == 0
0AB0:  key_pressed 9
jf @Noname_17

И во втором случае:

:Noname_17
wait 0
if and
1@ = 0x000001
2@ = 0x290501
0AB0:  key_pressed 9
0A8C: write_memory 0xBA67A4 size 4 value 0x000000 virtual_protect 0
0A8C: write_memory 0xBA68A4 size 4 value 0x000000 virtual_protect 0
0AA5: call 0x746A0C num_params 0 pop 0  //mouse off
jump @Noname_16

Белиберда какая-то.:rolleyes:
Эта команда вообще ничего не делает::crazy:

0AA5: call 0x746A0C num_params 0 pop 0  //mouse off

Возможно, должно быть:

0AA5: call 0x746F70 num_params 0 pop 0  //mouse off

Такой код в CLEO4 работает, а что там за фигня с переинициализацией мыши делается, я так и не разобрался.

{$cleo}
wait 0
wait 0
if 
    8AA9:  not  is_game_version_original
then
    0a93:
end

while true
    wait 0
    if
        0AB0:  key_pressed 9      
    then
        0A8C: write_memory 0xBA67A4 size 4 value 0x000001 virtual_protect 0
        0A8C: write_memory 0xBA68A4 size 4 value 0x290501 virtual_protect 0   
        while 0AB0:  key_pressed 9    
            wait 0
        end 
        0A8C: write_memory 0xBA67A4 size 4 value 0x000000 virtual_protect 0
        0A8C: write_memory 0xBA68A4 size 4 value 0x000000 virtual_protect 0
    end
end

Offline

#13 22-09-2010 12:07

BullDogHEMI427
From: Рязань
Registered: 02-04-2009
Posts: 54

Re: Доступ к карте в реальном времени

Да,  и нельзя ли всё-таки убарть незатекстуренный прямоугольник вместо курсора?:blush: Конечно, мелочь, но всё-таки смотрится неэстетично...


Also known as HemiG
It's cool to Hate. It's cool to be a bloody guitarist.
284487-39e63-35897154-h200.jpg

Offline

#14 22-09-2010 13:59

yelmi
Registered: 10-12-2006
Posts: 133
Website

Re: Доступ к карте в реальном времени

Если я не ошибаюсь, то BA67A4 = [byte] Player in menu?

И не проще ли сделать так?

{$CLEO}
0000: NOP
1@ = 0
2@ = 0

:Noname_16
wait 0 
if
0AB0:  key_pressed 9
jf @Noname_16
0A8D: 1@ = read_memory 0xBA67A4 size 1 virtual_protect 0 
0A8D: 2@ = read_memory 0xBA68A4 size 4 virtual_protect 0 //?
if and
1@ == 0
2@ == 0
jf @Noname_17 

jump @Noname_16

:Noname_17

jump @Noname_16

Last edited by yelmi (22-09-2010 14:03)

Offline

#15 22-09-2010 14:33

Kostyan
Registered: 27-09-2009
Posts: 91

Re: Доступ к карте в реальном времени

Seemann wrote:
Kostyan wrote:
Seemann wrote:

Не слабо ты игру прокачал))

Очень даже интересный скрипт, твои усмешки тут совсем не к месту.

вообще-то это была похвала, а не усмешка...

Извини, не понял blush

Offline

#16 22-09-2010 15:31

Sergey81
Registered: 19-12-2008
Posts: 587

Re: Доступ к карте в реальном времени

Alien wrote:

Такой код в CLEO4 работает, а что там за фигня с переинициализацией мыши делается, я так и не разобрался.

{$cleo}
wait 0
wait 0
if 
    8AA9:  not  is_game_version_original
then
    0a93:
end

while true
    wait 0
    if
        0AB0:  key_pressed 9      
    then
        0A8C: write_memory 0xBA67A4 size 4 value 0x000001 virtual_protect 0
        0A8C: write_memory 0xBA68A4 size 4 value 0x290501 virtual_protect 0   
        while 0AB0:  key_pressed 9    
            wait 0
        end 
        0A8C: write_memory 0xBA67A4 size 4 value 0x000000 virtual_protect 0
        0A8C: write_memory 0xBA68A4 size 4 value 0x000000 virtual_protect 0
    end
end

Хех, спасибо за косяки, к сведению принято, первый пост обновил. Насчёт 0x746A0C согласен, поменял.

Last edited by Sergey81 (22-09-2010 15:33)

Offline

Board footer

Powered by FluxBB