#101 Re: Вопросы по скриптингу » Один вопрос » 07-03-2010 13:52

Простой скрипт. Менты на радаре. Но вылетает! И нигде не могу найти ошибку.

{$CLEO}
wait 0

:START
wait 0
if
0256:   player $PLAYER_CHAR defined
jf @START
if
0ADC: test_cheat "COPS"
jf @START
00BC: show_text_highpriority GXT 'CHEAT1' time 3000 flag 0  // œ¦-koš ak¦œ¢œpo¢a®
wait 2000

:COPS
wait 0

if
0ADC: test_cheat "COPSOFF"
then
wait 1000
jump @START
end 
 
00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
3@ = 900.0
gosub @AIC_GETACTOR2
if
056D:   actor 9@ defined
then  
0187: 11@ = create_marker_above_actor 9@ 
018B: set_marker 11@ radar_mode 2
0165: set_marker 11@ color_to 1 
end

00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
3@ = 900.0
gosub @AIC_GETVEHICLE1
if
056E:   car 9@ defined
then  
0186: 10@ = create_marker_above_car 9@ 
018B: set_marker 10@ radar_mode 2 
0165: set_marker 10@ color_to 2 
end

jump @COPS




////////////////////////////////////////////////////////////
 



:AIC_GETVEHICLE 
0006: 16@ = 305869
0006: 5@ = @AIC_TESTVEHICLEHANDLE
0006: 6@ = 2584
0006: 8@ = -1
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @AIC_STARTSEARCH 
00DF:   actor $PLAYER_ACTOR driving
004D: jump_if_false @AIC_STARTSEARCH
03C0: 8@ = actor $PLAYER_ACTOR car
0002: jump @AIC_STARTSEARCH

:AIC_STARTSEARCH
008B: 16@ = &0(16@,1i) // CPool*
0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 16@ + 8 )^ = 7@  // CPool.Size
0A8D: 11@ = read_memory 16@ size 4 virtual_protect 0        // CPool.pUnits
0006: 9@ = -1 
0006: 10@ = 0

:AIC_SEARCHLOOPMAIN
0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 11@ + 20 )^ = 4@  // xyz*
8039:   not  4@ == 0 
004D: jump_if_false @AIC_SEARCHLOOPNEXT 
0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 4@ + 48 )^ = 12@  // x
0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 4@ + 52 )^ = 13@  // y
0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 4@ + 56 )^ = 14@  // z
050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 
0025:   3@ > 15@ // (float) 
004D: jump_if_false @AIC_SEARCHLOOPNEXT 
0085: 9@ = 10@ // (int) // counter
0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 16@ + 4 )^ = 4@ // CPool.flags
005A: 4@ += 9@ // (int) 
0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0 
0012: 9@ *= 256 
005A: 9@ += 4@ // (int)
0002: jump 5@

:AIC_TESTVEHICLEHANDLE
056E:   is 9@ valid_vehicle_handle
004D: jump_if_false @AIC_NOHANDLE
00D6: if
003B:   8@ == 9@ // (int) 
004D: jump_if_false @AIC_NEWSEARCHRADIUS
0002: jump @AIC_NOHANDLE

:AIC_NOHANDLE
0006: 9@ = -1 
0002: jump @AIC_SEARCHLOOPNEXT 

:AIC_NEWSEARCHRADIUS
046C: 30@ = car 9@ driver
if
056D:   actor 30@ defined 
jf @AIC_NOHANDLE1
089F: get_actor 30@ pedtype_to 21@
if
21@ == 6 
jf @AIC_NOHANDLE1
if or
02F2:   actor 30@ model == #LAPD1 
02F2:   actor 30@ model == #SFPD1
02F2:   actor 30@ model == #LVPD1 
02F2:   actor 30@ model == #CSHER
02F2:   actor 30@ model == #LAPDM1
02F2:   actor 30@ model == #SWAT
02F2:   actor 30@ model == #FBI
02F2:   actor 30@ model == #ARMY
02F2:   actor 30@ model == #DSHER
jf @AIC_NOHANDLE1
if
056C:   actor 30@ driving_police_car 
jf @AIC_NOHANDLE1
0051: return    
0085: 3@ = 15@ 

:AIC_SEARCHLOOPNEXT 
005A: 11@ += 6@ // (int) 
000A: 10@ += 1 
002D:   10@ >= 7@ // (int)
004D: jump_if_false @AIC_SEARCHLOOPMAIN
0051: return 

:AIC_READMEMOFFSET
0A8E: 0@ = 0@ + 1@ // int
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0AB2: ret 1 0@






:AIC_GETVEHICLE1 
0006: 16@ = 305869
0006: 5@ = @AIC_TESTVEHICLEHANDLE1
0006: 6@ = 2584
0006: 8@ = -1
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @AIC_STARTSEARCH1 
00DF:   actor $PLAYER_ACTOR driving
004D: jump_if_false @AIC_STARTSEARCH1
03C0: 8@ = actor $PLAYER_ACTOR car
0002: jump @AIC_STARTSEARCH1

:AIC_STARTSEARCH1
008B: 16@ = &0(16@,1i) // CPool*
0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 16@ + 8 )^ = 7@  // CPool.Size
0A8D: 11@ = read_memory 16@ size 4 virtual_protect 0        // CPool.pUnits
0006: 9@ = -1 
0006: 10@ = 0

:AIC_SEARCHLOOPMAIN1
0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 11@ + 20 )^ = 4@  // xyz*
8039:   not  4@ == 0 
004D: jump_if_false @AIC_SEARCHLOOPNEXT1 
0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 4@ + 48 )^ = 12@  // x
0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 4@ + 52 )^ = 13@  // y
0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 4@ + 56 )^ = 14@  // z
050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 
0025:   3@ > 15@ // (float) 
004D: jump_if_false @AIC_SEARCHLOOPNEXT1 
0085: 9@ = 10@ // (int) // counter
0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 16@ + 4 )^ = 4@ // CPool.flags
005A: 4@ += 9@ // (int) 
0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0 
0012: 9@ *= 256 
005A: 9@ += 4@ // (int)
0002: jump 5@

:AIC_TESTVEHICLEHANDLE1
056E:   is 9@ valid_vehicle_handle
004D: jump_if_false @AIC_NOHANDLE1
00D6: if
003B:   8@ == 9@ // (int) 
004D: jump_if_false @AIC_NEWSEARCHRADIUS1
0002: jump @AIC_NOHANDLE1

:AIC_NOHANDLE1
0006: 9@ = -1 
0002: jump @AIC_SEARCHLOOPNEXT1 

:AIC_NEWSEARCHRADIUS1
046C: 30@ = car 9@ driver
if
056D:   actor 30@ defined 
jf @AIC_NOHANDLE1
089F: get_actor 30@ pedtype_to 21@
if
21@ == 6 
jf @AIC_NOHANDLE1
if or
02F2:   actor 30@ model == #LAPD1 
02F2:   actor 30@ model == #SFPD1
02F2:   actor 30@ model == #LVPD1 
02F2:   actor 30@ model == #CSHER
02F2:   actor 30@ model == #LAPDM1
02F2:   actor 30@ model == #SWAT
02F2:   actor 30@ model == #FBI
02F2:   actor 30@ model == #ARMY
02F2:   actor 30@ model == #DSHER
jf @AIC_NOHANDLE1
if
056C:   actor 30@ driving_police_car 
jf @AIC_NOHANDLE1
0051: return    
0085: 3@ = 15@ 

:AIC_SEARCHLOOPNEXT1 
005A: 11@ += 6@ // (int) 
000A: 10@ += 1 
002D:   10@ >= 7@ // (int)
004D: jump_if_false @AIC_SEARCHLOOPMAIN1
0051: return 

:AIC_READMEMOFFSET1
0A8E: 0@ = 0@ + 1@ // int
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0AB2: ret 1 0@

///////////////////////////////////////
:AIC_GETACTOR2
0006: 16@ = 305868
0006: 5@ = @AIC_TESTACTORHANDLE2
0006: 6@ = 1988
0002: jump @AIC_STARTSEARCH2 

:AIC_STARTSEARCH2
008B: 16@ = &0(16@,1i) // CPool*
0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 16@ + 8 )^ = 7@  // CPool.Size
0A8D: 11@ = read_memory 16@ size 4 virtual_protect 0        // CPool.pUnits
0006: 9@ = -1 
0006: 10@ = 0

:AIC_SEARCHLOOPMAIN2
0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 11@ + 20 )^ = 4@  // xyz*
8039:   not  4@ == 0 
004D: jump_if_false @AIC_SEARCHLOOPNEXT2 
0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 4@ + 48 )^ = 12@  // x
0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 4@ + 52 )^ = 13@  // y
0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 4@ + 56 )^ = 14@  // z
050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 
0025:   3@ > 15@ // (float) 
004D: jump_if_false @AIC_SEARCHLOOPNEXT2 
0085: 9@ = 10@ // (int) // counter
0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 16@ + 4 )^ = 4@ // CPool.flags
005A: 4@ += 9@ // (int) 
0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0 
0012: 9@ *= 256 
005A: 9@ += 4@ // (int)
0002: jump 5@

:AIC_TESTACTORHANDLE2
056D:   is 9@ valid_actor_handle
004D: jump_if_false @AIC_NOHANDLE2 
00D6: if or
003C:   $PLAYER_ACTOR == 9@ // (int) 
0118:   actor 9@ dead 
004D: jump_if_false @AIC_NEWSEARCHRADIUS2
0002: jump @AIC_NOHANDLE2

:AIC_NOHANDLE2
0006: 9@ = -1 
0002: jump @AIC_SEARCHLOOPNEXT2 

:AIC_NEWSEARCHRADIUS2
089F: get_actor 9@ pedtype_to 22@
if
22@ == 6 
jf @AIC_NOHANDLE2
if or
02F2:   actor 9@ model == #LAPD1 
02F2:   actor 9@ model == #SFPD1
02F2:   actor 9@ model == #LVPD1 
02F2:   actor 9@ model == #CSHER
02F2:   actor 9@ model == #LAPDM1
02F2:   actor 9@ model == #SWAT
02F2:   actor 9@ model == #FBI
02F2:   actor 9@ model == #ARMY
02F2:   actor 9@ model == #DSHER
jf @AIC_NOHANDLE2
0051: return 
0085: 3@ = 15@ 

:AIC_SEARCHLOOPNEXT2 
005A: 11@ += 6@ // (int) 
000A: 10@ += 1 
002D:   10@ >= 7@ // (int)
004D: jump_if_false @AIC_SEARCHLOOPMAIN2
0051: return 

:AIC_READMEMOFFSET2
0A8E: 0@ = 0@ + 1@ // int
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0AB2: ret 1 0@

#102 Re: Беседка » официальные локализации GTA в России » 07-03-2010 05:28

Ребята, а ведь в San Andreas 1C тоже есть мануал в формате pdf, включающий в себя два файла: карта + информация, как было в gta 4 и vice city? Пожалуйста, дайте мне этот мануал.

#103 Re: Модификации » [CLEO3] Как использовать опкоды set_status_text и set_timer » 04-03-2010 03:12

Простите, но я что-то не очень понял. Дайте плиз пример скрипта, где при нажатии [0ab0: 17] включается таймер с обратным отчетом в 8 секунд.

#104 Re: Вопросы по скриптингу » Один вопрос » 03-03-2010 12:13

Скажите пожалуйста, как создать таймер? Только визуальный на экране, как в миссиях(30-29-28-27...4-3-2-1 и т.д.). А то что-то не нашел нигде.

#105 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 02-03-2010 10:39

Кстати, на счет windows 7. Возможно ли создать какой-то патч для SA, чтобы игра нормально работала в этой ОС? А то у меня, если зайдешь в меню, а затем обратно в игру, все зависает. Не всегда, но часто.

#106 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 28-02-2010 10:57

Den_spb, еще раз повторю, вот ты найди теперь опкод 09DE: actor $PLAYER_ACTOR entering_car.
А он был записан только как отрицательный.

#107 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 28-02-2010 01:36

0AE1: работает некорректно. Не знаю почему. Два других для нахождения объектов и транспорта прекрасно, а этот какой-то не такой. Что-то в нем не так.

А еще эти же два для нахождения объектов и транспорта не работают, если по близости нет объектов. Игра вылетает. Не знаю почему, я ставлю проверку 0@ <> -1, но она не помогает, когда лечу куда-то в лес, меня выкидывает.

===

Слухай, Alien, это капец. С твоим клео 4 и с моим простейшим скриптом вылетает из игры при посадке в машину. Так что в посте #35 ты не прав. А вот мой скрипт:

:START
wait 0 
if                                
0256:   player $PLAYER_CHAR defined
jf @START 
if 
0818:   actor $PLAYER_ACTOR in_air  
jf @START
if
80DF:  not actor $PLAYER_ACTOR driving 
jf @START
if
8491: not  actor $PLAYER_ACTOR has_weapon 46
jf @START
0819: 0@ = actor $PLAYER_ACTOR distance_from_ground 
if
0@ >= 18.0
jf @START
1@ += 2.4
083E: set_actor $PLAYER_ACTOR rotation 1@ 1@ 0.0 while_in_air

0819: 0@ = actor $PLAYER_ACTOR distance_from_ground 
if
0@ = 0.0
then
0A8D: 2@ = read_memory 0xB6F5F0 size 4 virtual_protect 0
2@ += 66
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
if
3@ >= 4
then
0223: set_actor $PLAYER_ACTOR health_to 0 
end
end
jump @START

С ним вылетает при посадке в тачку в CLEO 4, а в CLEO 3 - нет.

Кстати, зря ты удалил из поиска опкодов отрицательные опкоды. Там были те, которых не было в положительных, вот пример: 89DE:   not actor $PLAYER_ACTOR entering_car

#108 Re: Работа с памятью, EXE » Адреса для объектов » 27-02-2010 02:09

Напиши значение самого CObject.

И, это сработает, если я сделаю так?
0A8D: 0@ = read_memory [CObject] size 4 virtual_protect 0
0@ += 66  // 0@ += 0x42
0A8C: write_memory 0@ size 4 value 5 virtual_protect 0 // иммунитет к выстрелам + коллизия (4 + 1 = 5)

#109 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 27-02-2010 02:03

Alien, у меня все нормально, но вот люди говорят, что игра не запускается со скриптами из CLEO 3. Можно как-то решить эту беду?

#110 Работа с памятью, EXE » Адреса для объектов » 26-02-2010 23:31

GTASA
Replies: 3

Кто-нибудь подскажет адреса + смещения для работы с объектами? Например, отключить коллизию, поставить иммунитеты и т.д через память? На гтамоддинг есть много информации о транспорте + смещения. А для объектов их нет. Где их можно взять?

#111 Re: Беседка » официальные локализации GTA в России » 26-02-2010 09:10

Не все владеют фотошопом, я думаю, большая часть хочет только сидеть и играть в красивую игру.

#112 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 26-02-2010 09:09

0@ это адрес, по которому вводится текст из ключа, естественно, что ключ - это 0@v.
А потом переменная 0@ заменяется на адрес в этом опкоде.
А как ты хотел, чтоб текст длинной, например, 20 символов, влез в переменную @v, если там всего 16.

Я делаю так. Правильно? Хочу получить нормальное имя транспорта.

03C0: 1@ = actor $PLAYER_ACTOR car
0@v = car_model 1@ name
0ADE: 0@ = text_by_GXT_entry 0@v
... ???

#114 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 25-02-2010 06:00

Простите, вопрос, возможно, не в тему, но почему, когда я воспользовался 0ad0, я некоторые буквы сделал заглавными, некоторые - строчными. И в игре они у меня все заглавные. Та же беда и с Александеровским quick opcode. Когда я вывожу собственный текст, у меня буквы все заглавные. Это только у меня так, и, если да, с чем это связано и как это решить?

А вот в тему:
0ADE: 0@ = text_by_GXT_entry 0@v
Ошибка? Текст ведь либо в 0@s, либо в 0@v. Тем более когда пытался тупо вывести текст 0@, были ошибки в игре. А потом заменил на 0@v. Ошибок не было, но и никакой текст не выводился.

#115 Вопросы по скриптингу » timecyc.dat » 25-02-2010 02:03

GTASA
Replies: 2

Кто-нибудь разбирается? Хотел бы получить ссылку с подробным описанием каждого числа или напишите здесь.

#116 Re: Беседка » официальные локализации GTA в России » 24-02-2010 07:01

У меня раньше после смерти было написано "Кудахтающий", Свит - сладенький и т.д. 1С могли бы сделать буквы качественнее, у них они мутные и хреновые.

#118 Re: Вопросы по скриптингу » Один вопрос » 23-02-2010 04:44

Нет, я это видел на гтамоддинг и это не то.

/////////

Можно с помощью клео удалять или хотя бы перемещать статические объекты на карте? При этом не обязательно изменять Data/Maps. Главное чтобы если был скрипт, то и карта другая.

#119 Re: Беседка » официальные локализации GTA в России » 23-02-2010 04:41

Озвучка обычная.

У кого есть? Скиньте плиз русификатор (Models\Fonts.txd; Data\Fonts.dat; Text;)

Кстати, никто не знает, почему на обычный Вайс русификация от 1С не идет? Там буквы корявые становятся.

#120 Re: Вопросы по скриптингу » Один вопрос » 22-02-2010 05:48

Эй, ребята! Какими адресами памяти можно менять анимацию? Например, мне нужно прыжок игрока заменить на другую анимацию, бег на пешеходный и т.д. То есть вместо одной анимации игрока ставить какую-то другую.

#121 Re: Sanny Builder и CLEO » CLEO 4 для GTA San Andreas » 20-02-2010 12:17

А еще будет обновляться? Или уже то что в данный момент в первом посте - финал?

#122 Re: Работа с памятью, EXE » Вопрос по памяти » 12-02-2010 07:47

Я спросил, какие изменения он вносит, а не как его активировать.

#123 Re: Работа с памятью, EXE » Вопрос по памяти » 10-02-2010 08:55

Ребята, кто может мне точно сказать, какие изменения в памяти делает чит:
0AA5: call 0x438370 num_params 1 pop 1 28 - сделать машине улучшенное управление.

#124 Re: Вопросы по скриптингу » Один вопрос » 06-02-2010 13:16

Кто-нибудь подскажет, как сделать, чтобы если к транспорту (грузовик, трактор, аэропорт-мобиль и т.д.) прикреплен прицеп, то он не смог ни при каких обстоятельствах оторваться? Может какой-то адрес памяти?

#125 Re: Вопросы по скриптингу » Один вопрос » 03-02-2010 07:25

ALien, где-то здесь ты писал про имитацию двойного нажатия. Но так и не дал пример. Так вот, как имитировать двойное нажатие?

И как имитировать нажатие любых кнопок (не только 00e1, а еще и 0ab0)?

Board footer

Powered by FluxBB