#126 04-07-2007 07:56

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

ДЖОКЕР wrote:

03F0: text_draw_toggle 1 -удалить все текстуры с экрана

Это я знаю, а как проверить включен toggle_widescreen или нет?
Может кто встречал?

Offline

#127 05-07-2007 06:32

svetka
Registered: 29-12-2006
Posts: 222

Re: Один вопрос

Каким опкодом можно заставить актера из машины  обстреливать другую машину? Актер - пассажир.
Я пробовала опкодом 0672:, но для этого игроку приходится выходить из машины. А надо атаковать на ходу.

Offline

#128 05-07-2007 07:15

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

2Svetka:

Каким опкодом можно заставить актера из машины  обстреливать другую машину? Актер - пассажир.
Я пробовала опкодом 0672:, но для этого игроку приходится выходить из машины. А надо атаковать на ходу.

Кажется 0713:. Точно не помню, но брал его из мода езда пассажиром (поток fire), тока там игрок ставится в такой режим.

Попробуй еще этот -0464:

Last edited by Stalker2012 (05-07-2007 07:17)

Offline

#129 05-07-2007 09:42

svetka
Registered: 29-12-2006
Posts: 222

Re: Один вопрос

Я попробовала 0713:. Кажется к нему нужно что-то еще. Мой пассажир (по замыслу) начинает стрелять, когда в нашу машину врезаются авто. С этим опкодом он реагирует довольно-таки не сразу и, если и реагирует - начинает стрелять куда-то, но не в нужную машину. При чем стреляет он бесконечно. Даже если его вывести в пустой лес smile

Last edited by svetka (05-07-2007 09:43)

Offline

#130 05-07-2007 09:53

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

2svetka

А ты пробовала пассажира добавлять в группу к игроку.
Такая фишка еще есть в миссиях, посмотри там.

Попробуй простой туррет режим + флаг телохранителя.

Last edited by Stalker2012 (05-07-2007 09:55)

Offline

#131 05-07-2007 10:05

svetka
Registered: 29-12-2006
Posts: 222

Re: Один вопрос

Stalker2012, у меня пассажир изначально является телохранителем.
Что-то я не так делаю.

Offline

#132 05-07-2007 10:11

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

Svetka попробуй 0464, если туррет режим не поможет, тогда остается только искать в коде миссий.

Посмотри еще опкоды типа "unknown_action_sequence". Еще такое есть в скрипте с первой подружкой, кода ее возишь по городу, она из машины мочит всех врагов.

Last edited by Stalker2012 (05-07-2007 10:15)

Offline

#133 05-07-2007 11:31

svetka
Registered: 29-12-2006
Posts: 222

Re: Один вопрос

Спасибо, Stalker2012. Туррет работает, но актер стреляет во все машины подряд. Не могу ему задать определенную машину.
Эх... Буду искать.

Offline

#134 05-07-2007 13:00

ДЖОКЕР
Registered: 15-02-2007
Posts: 30

Re: Один вопрос

как проверить включен toggle_widescreen или нет?

может быть так хотя врятли

0@ = 11989093 // 00B6F065
0089: 1@ = &0(0@,1i)

если  1@ = 1 то включен если 0 то выключен

Offline

#135 05-07-2007 17:09

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

Re: Один вопрос

svetka wrote:

Спасибо, Stalker2012. Туррет работает, но актер стреляет во все машины подряд. Не могу ему задать определенную машину.
Эх... Буду искать.

 0713: actor 50@ driveby_actor -1 car 41@ point 0.0 0.0 0.0 radius 100.0 0 0 firing_rate 90

Актер 50@ стреляет в автомобиль 41@ радиус обстрела 100.0
Если вместо первого 0 (0 0 firing_rate 90) поставить 8, то актер 50@ во время стрельбы будет поворачиваться на 360 градусов.

Last edited by yelmi (05-07-2007 22:22)

Offline

#136 05-07-2007 19:42

svetka
Registered: 29-12-2006
Posts: 222

Re: Один вопрос

yelmi, спасибо. Выше я писала:

Я попробовала 0713:. Кажется к нему нужно что-то еще. Мой пассажир (по замыслу) начинает стрелять, когда в нашу машину врезаются авто. С этим опкодом он реагирует довольно-таки не сразу и, если и реагирует - начинает стрелять куда-то, но не в нужную машину. При чем стреляет он бесконечно. Даже если его вывести в пустой лес smile

Актер, с этим опкодом, у меня вообще почему-то не в машины стреляет, а куда-то в бок smile
Чего-то не хватает.

Last edited by svetka (05-07-2007 19:58)

Offline

#137 06-07-2007 06:46

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

2svetka:
Посмотрев скрипт подружки, непонятны мне следующие строчки кода:
0631: put_actor 0@ in_group $PLAYER_GROUP -добавляет в группу к игроку
07CB: toggle_actor 0@ supporting_fire 0 -???
0A20: unknown_player $PLAYER_CHAR flag 1 -???,
возможно они заставляют её стрелять в врагов.

можно еще определить машину с какой столкнулась машина игрока и (как написал yelmi)
0713: actor <твой актер> driveby_actor -1 car <машина, с каторой столкнулась машина игрока > point 0.0 0.0 0.0 radius 100.0 8 0 firing_rate 100. После уничтожения машины возвращать актера в нормальный режим.

Еще есть вариант, описанный сдесь http://missions.gtamaps.net/readarticle … cle_id=297,
тока там верталет мочит всех, но думаю с актером принцип тот же.

2ДЖОКЕР:
Спасибо за адрес, попробую.
Можешь дать ссылку где  ты их находишь.

Last edited by Stalker2012 (06-07-2007 06:53)

Offline

#138 06-07-2007 08:23

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Один вопрос

2ДЖОКЕР:

может быть так хотя врятли

0@ = 11989093 // 00B6F065
0089: 1@ = &0(0@,1i)

Индекс массива не может быть адресом. Чтобы посчитать правильный индекс, нужно от адреса отнять 0xA49960 и разделить на 4. В данном случае 0@ должно быть равно 300481.

Но это и в самом деле не поможет, поскольку флаг контроля widescreen это 1 байт, а массивы читают по 4 байта, поэтому точное значение этого адреса ты не получишь. Надо использовать CLEO.

2Stalker2012:
toggle_widescreen это опкод. Если тебе нужно узнать включен widescreen или нет добавь рядом с этим опкодом контрольную переменную и потом проверяй ее

Например

toggle_widescreen 0
0@ = 0

...

toggle_widescreen 1
0@ = 1

0@ будет указывать включен широкий экран или нет.

Offline

#139 06-07-2007 10:16

svetka
Registered: 29-12-2006
Posts: 222

Re: Один вопрос

Stalker2012, yelmi, СПАСИБО!!!  Действительно, 0713: оказался тем самым нужным опкодом. Но по-видимому в силу своей невнимательности я в начале как-то неправильно его применила.
Ура! Спасибо всем, кто не откликнулись на мой писк о помощи. Я это сделала!
Кажись smile

Last edited by svetka (06-07-2007 16:25)

Offline

#140 07-07-2007 19:21

ДЖОКЕР
Registered: 15-02-2007
Posts: 30

Re: Один вопрос

0@ будет указывать включен широкий экран или нет.

навеное нужно использовать глобальную переменную и предётся её поставить после каждого опкода 02A3

00C7178E - 1байт
я пытаюсь проверить этот адрес( 1 то widescreen включен если 0 то выключен) но игра вылетает(или зависает)

Offline

#141 10-07-2007 10:16

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

Seemann wrote:

Индекс массива не может быть адресом. Чтобы посчитать правильный индекс, нужно от адреса отнять 0xA49960 и разделить на 4. В данном случае 0@ должно быть равно 300481.

Но это и в самом деле не поможет, поскольку флаг контроля widescreen это 1 байт, а массивы читают по 4 байта, поэтому точное значение этого адреса ты не получишь. Надо использовать CLEO.

Может что-то я не допонял, но у меня вот так все работает:

0@= 11989093   
000E: 0@ -= 10787168
0016:0@ /= 4
008B: 0@ = &0(0@,1i)

если widescreen вкл, то 0@=0xFF
если widescreen выкл, то 0@=0

ДЖОКЕР:

00C7178E - 1байт
я пытаюсь проверить этот адрес( 1 то widescreen включен если 0 то выключен) но игра вылетает(или зависает)

я проверял вот так:

1@= 13047694
0A8D: 2@ = read_memory 1@ size 1 virtual_protect 1
0513: text_1number_text_box 'number' 2@

и у меня получалось всегда одно и тоже значение 2@=153, может я не так проверял

Last edited by Stalker2012 (10-07-2007 10:31)

Offline

#142 10-07-2007 11:07

ДЖОКЕР
Registered: 15-02-2007
Posts: 30

Re: Один вопрос

и у меня получалось всегда одно и тоже значение 2@=153, может я не так проверял

да нет вроде всё верно,наверное я ошибся

Offline

#143 10-07-2007 18:33

Tector
Registered: 01-05-2007
Posts: 34

Re: Один вопрос

Seemann wrote:

Индекс массива не может быть адресом. Чтобы посчитать правильный индекс, нужно от адреса отнять 0xA49960 и разделить на 4. В данном случае 0@ должно быть равно 300481.

А почему необходимо отнять 0xA49960?

Offline

#144 11-07-2007 09:21

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Один вопрос

Tector wrote:

А почему необходимо отнять 0xA49960?

т.к. начало main.scm
http://www.gtamodding.com/index.php?tit … CM_related

Offline

#145 11-07-2007 14:45

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Один вопрос

2Tector:
да, и прочитай статью "Меняем игровую память через SCM", там описано почему надо отнять.

Offline

#146 12-07-2007 09:20

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

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

Offline

#147 12-07-2007 09:24

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Один вопрос

2Stalker2012:
они не сохраняются в сейве. Ты должен рисовать их на экране постоянно.

Offline

#148 12-07-2007 09:26

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

Seemann wrote:

2Stalker2012:
они не сохраняются в сейве. Ты должен рисовать их на экране постоянно.

Так они и рисуются постоянно тока белыми квадратиками. Это что получается в цикле без конца загружать текстуры?! Так глюкнет все. Может кто знает как это исправить?

Last edited by Stalker2012 (13-07-2007 07:22)

Offline

#149 13-07-2007 10:02

ДЖОКЕР
Registered: 15-02-2007
Posts: 30

Re: Один вопрос

2Stalker2012
выложи скрипт ,где используются твои текстуры

Offline

#150 16-07-2007 04:40

Stalker2012
Registered: 11-06-2007
Posts: 27

Re: Один вопрос

ДЖОКЕР wrote:

2Stalker2012
выложи скрипт ,где используются твои текстуры

Я уже нашел как решить данную проблему, тока пока на глюки не проверял(урезанный код):

:kkk
wait 255
$ID1_CLR=54 //цвет индикатора
$ID1_val=10.0 //значение индикатора

:kkk_loop
wait 0
0391: release_txd_dictionary
0390: load_txd_dictionary 'MYTXD'
038F: load_texture "ID1"  as 53 // Load dictionary with 0390 first
038F: load_texture "CLR1"  as 54 // Load dictionary with 0390 first
03F0: text_draw_toggle 1
03E3: show_antialiasing_texture 1
074B: texture 53 position 12.0 382.0  scale 83.0  12.5  rotation 90.0 color 255 255 255 alpha 255
038D: create_texture $ID1_CLR position 12.5 415.0 size 6.8 $ID1_val RGBA 255  255  255 alpha 255
03F0: text_draw_toggle 0
jump @kkk_loop

Offline

Board footer

Powered by FluxBB