#2126 17-04-2010 05:57

GTASA
Registered: 13-09-2008
Posts: 476

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

Кто-нибудь может помочь? Через память создать таблицу и добавить больше 12 строк, возможно?

Offline

#2127 17-04-2010 09:15

d88
Registered: 15-12-2009
Posts: 254
Website

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

BoPoH wrote:

Ты меня немного не понял...допустим, это помогает, но тогда как сделать чтобы СиДжей снова мог двигаться?)) Ведь при этом он застывает на месте, пока ты не воспроизведёшь другую анимацию, или есть ещё варианты?

А откуда я знаю, что ты потом собираешься делать, может ты после это и так применяешь другую анимацию.
Ну попробуй код
05B9: AS_actor -1 stay_idle 1 ms

Offline

#2128 18-04-2010 09:03

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

Как создать что-то вроде камеры, типа ставлю воображаемую камеру в авто, и то, что через неё видно, выводится на часть экрана?

Как соединить два поезда, чтобы они ехали, как соседние вагоны?

2GTASA: всмысле панель? Создай две, и когда курсор достигнет границы одной из них и нажмёт кнопку вверх/вниз, переключай на вторую.

Last edited by ~AquaZ~ (18-04-2010 09:18)

Offline

#2129 20-04-2010 08:08

GTASA
Registered: 13-09-2008
Posts: 476

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

Стоит транспорт. Рядом с транспортом стоит пешеход.
04C4: store_coords 0@ 1@ 2@ from_actor 6@ with_offset 3@ 4@ 5@

В переменных 3@ 4@ 5@ должен быть оффсет с координатой позиции пешехода. Как сделать?

Offline

#2130 20-04-2010 08:41

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Чтобы получить глобальные координаты из локальных или наооборот, нужно воспользоваться матрицей преобразования координат. Вроде где-то эта тема уже обсуждалась.
------------------------------------------------------------------------------------
Подскажите смещение в структуре авто, по которому записан угол поворота экстра-части (опкоды 08a4 и 098d)

Offline

#2131 20-04-2010 09:50

GTASA
Registered: 13-09-2008
Posts: 476

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

Где? В какой теме это?

Offline

#2132 20-04-2010 10:43

Sanchez
Registered: 18-08-2006
Posts: 280

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

@Den_spb -
08A4: set_car 90@ extra_parts_angle_to 46@
Значение для опкода 08A4: set_car 90@ extra_parts_angle_to 46@ лежит в пределе от 0.0 до 1.0, что соответствует минимальному и максимальному углу возвращаемого опкодом 098D: get_car 46@ extra_parts_angle $7936 (для #PACKER -0.25 максимальное значение)

0A97: 1@ = car 0@ struct
0AA6: call_method 0x6A1460 struct 1@ num_params 1 pop 0 1.0

---
098D: get_car 46@ extra_parts_angle $7936
Углы возвращаемые опкодом 098D: get_car 46@ extra_parts_angle $7936

#PACKER     0.0 .. -0.25
#DOZER      0.0 .. 0.5
#DUMPER     0.0 .. 0.5
#CEMENT     ?
#ANDROM     0.0 .. 0.375
#FIRELA     ?
#FORKLIFT   0.0 .. 1.5
0A97: 1@ = car 0@ struct
0AA6: call_method 0x6A2150 struct 1@ num_params 0 pop 0
0AE9: pop_float 1@

---
По смещению word[CVehicle + 0x86C] находиться значение в пределе от 0 до 2500 для перевода в углы умножаем на коэффициент:

#DUMPER     0.00019999999
#PACKER     -0.000099999997
#DOZER      0.00019999999
#ANDROM     0.00015000001
#FORKLIFT   0.00060000003

Last edited by Sanchez (20-04-2010 11:22)

Offline

#2133 20-04-2010 12:20

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

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

d88 wrote:

А откуда я знаю, что ты потом собираешься делать, может ты после это и так применяешь другую анимацию.
Ну попробуй код
05B9: AS_actor -1 stay_idle 1 ms

Потом мне нужно чтобы СиДжеем можно было управлять...применять другую анмацию я после этого не собираюсь... и этот опкод не помог..поворот слишком заметен...мне нужен мгновенный поворот, так сказать...
Всё дело в том что я делаю модик - GTA FreeRunning III (паркур модификация, если кто не знает что такое FreeRunning) и у меня есть движение (frontflip 180) в котором СиДжея развернёт на 180 градусов...но в этом положении он не остаётся...точнее положение то же, но угол обратно ставится)) причём ставится слишком заметно и даже если устанавливать нужный угол самому

0173: set_actor $PLAYER_ACTOR Z_angle_to 1@

то всё равно его некрасиво разворачивает...если кому будет непонятно в чём дело (или просто посмотреть хочется), могу скинуть движение))...


userbar.png

Offline

#2134 20-04-2010 15:05

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

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

GTASA , воспользуйся поиском по форуму со словом "матриц".
В частности, эта тема затрагивалась здесь: http://sannybuilder.com/forums/viewtopi … 6389#p6389

Last edited by Den_spb (20-04-2010 15:05)

Offline

#2135 21-04-2010 13:11

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Есть ли способ сделать так, чтобы объекты, пикапы и парковочные генераторы, созданные скриптом не записывались в сохранение игры?

Offline

#2136 21-04-2010 14:50

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

2Den_spb:
Может через CLEO...

Offline

#2137 21-04-2010 20:51

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

объекты типа object не сохраняются, пикапы типа 3 также не сохраняются, парковочные генераторы убираются через память.


I know everything and nothing...

Offline

#2138 21-04-2010 21:48

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Спасибо. А как можно удалить сохранённую парковку (координаты известны) ?

Last edited by Den_spb (21-04-2010 21:49)

Offline

#2139 22-04-2010 03:31

GTASA
Registered: 13-09-2008
Posts: 476

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

Как узнать координаты всех 4х колес у машины? Например, там, где создается эффект проколотого колеса (искры).

Offline

#2140 22-04-2010 05:57

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

2Den_spb:

014C: set_parked_car_generator 0@ cars_to_generate_to 0

Или ты не сохраняешь хэндл парковки, и надо найти по координатам?
___
Где достать список всех пулов?

Last edited by ~AquaZ~ (22-04-2010 05:58)

Offline

#2141 22-04-2010 08:19

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

Den_spb wrote:

Спасибо. А как можно удалить сохранённую парковку (координаты известны) ?

Адрес точно не скажу, однако это хранится также как и пул, т.е все парковки перечислены друг за другом.


I know everything and nothing...

Offline

#2142 22-04-2010 09:10

d88
Registered: 15-12-2009
Posts: 254
Website

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

@BoPoH, извини, я неправильно подсказал. Лучше попробуй так

0812: AS_actor -1 perform_animation "LRGIRL_IDLELOOP" IFP_file "LOWRIDER" 4.0 loopA 0 lockX 1 lockY 0 lockF 0 time -1

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

Offline

#2143 22-04-2010 09:14

Sanchez
Registered: 18-08-2006
Posts: 280

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

.data:00C279D4     _parkedGeneratorCount dd ?
.data:00C27AD0     _parkedGenerators CParkedGenerator 1F4h dup(<?>)

00000000 CParkedGenerator struc ; (sizeof=0x20)
00000000 model           dw ?
00000002 color1          db ?
00000003 color2          db ?
00000004 x               dw ?
00000006 y               dw ?
00000008 z               dw ?
0000000A angle           db ?
0000000B alarm           db ?
0000000C doorLock        db ?
0000000D field_D         db ?
0000000E field_E         dw ?
00000010 moneyValue      dw ?
00000012 field_12        dw ?
00000014 time            dd ?
00000018 field_18        dw ?
0000001A enabled         dw ?
0000001C field_1C        db ?
0000001D allocated       db ?
0000001E field_1E        dw ?
00000020 CParkedGenerator ends

Коэффициенты для x, y, z, angle для упаковки в WORD'ы и BYTE:

x		8.0
y		8.0
z		8.0
angle	0.71111107

Last edited by Sanchez (22-04-2010 09:18)

Offline

#2144 22-04-2010 20:49

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Создал два скрипта. В первом включается парковка:

{$CLEO}
0A95:
014B: 0@ = init_parked_car_generator 528 -1 -1 0 alarm 50 door_lock 0 0 40000 at -2027.0 175.0 28.0 angle 0.0
014C: set_parked_car_generator 0@ cars_to_generate_to 101
0A93:

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

{$CLEO}
wait 1000
0@ = -2027.0  // координаты
1@ = 175.0    // созданной
2@ = 28.0     // парковки
0@ *= 8.0
1@ *= 8.0
2@ *= 8.0
3@ = 0x00C27AD4    // x
4@ = 0x00C27AD6    // y
5@ = 0x00C27AD8     // z
while true // здесь вместо true должен быть размер массива парковок
    wait 0
    0A8D: 6@ = read_memory 3@ size 2 virtual_protect 0   // x
    0A8D: 7@ = read_memory 4@ size 2 virtual_protect 0   // y
    0A8D: 8@ = read_memory 5@ size 2 virtual_protect 0   // z
    if and
        0045:   6@ == 0@ // (float) 
        0045:   7@ == 1@ // (float) 
        0045:   8@ == 2@ // (float)
    then
        break
    end
    3@ += 0x20
    4@ += 0x20
    5@ += 0x20
end
while true
    wait 0
    03F0: enable_text_draw 1 
    045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 2000  // ~1~
end

Однако соответствия в координатах не обнаруживается (выхода из цикла не происходит и число на экран не выводится). В чём ошибка?

Offline

#2145 22-04-2010 22:43

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

попробуй поделить а не умножить


I know everything and nothing...

Offline

#2146 23-04-2010 03:46

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

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

@Den_spb - ты читаешь WORD (два байта, целочисленное) и сравниваешь с float (4 байта, плавающая точка). Притом, сравниваешь не значения, а битовые представления.

Было бы странно, если бы оно совпадало.
Используй int для 0@, 1@, 2@ (и, действительно, нужно делить, а не умножать)

Offline

#2147 23-04-2010 04:05

GTASA
Registered: 13-09-2008
Posts: 476

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

Не могли бы помочь с координатами колес? Или это искать сложно? Просто не хотелось бы пользоваться store_coords_car, так как машины разные, позиции колес разные.

Offline

#2148 23-04-2010 11:00

Sanchez
Registered: 18-08-2006
Posts: 280

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

Den_spb wrote:

Однако соответствия в координатах не обнаруживается (выхода из цикла не происходит и число на экран не выводится). В чём ошибка?

Координата умножается на 8.0 и отбрасывается дробная часть.

Offline

#2149 23-04-2010 19:55

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

В чём может быть проблема? Почему вместо текстур серые квадраты?

038F: request_texture 'tah90'  as tx_tah
038F: request_texture 'spd270' as tx_spd

03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture tx_tah position tah_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 128 128 128 alpha 255
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture tx_spd position spd_posX TahSpdPosY scale TahSpdScale TahSpdScale colour 128 128 128 alpha 255

tx_tah и tx_spd - константы, номера текстур; tah_posX, spd_posX - позиции по X, TahSpdPosY - позиция по Y; TahSpdScale - масштаб.
Пожалуйста, помогите!

Offline

#2150 23-04-2010 23:10

GTASA
Registered: 13-09-2008
Posts: 476

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

У меня такое тоже бывает. Это получается если ты задаешь текстуре цвет. Тоже интересует ответ на вопрос.

Offline

Board footer

Powered by FluxBB