#1001 03-06-2009 06:50

GTASA
Registered: 13-09-2008
Posts: 476

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

Жаль. Ну а что насчет путей для тачки и выключения путей для тачки и педа?

Offline

#1002 03-06-2009 13:59

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

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

Можно только отрегулировать опкодом 03DE: set_pedestrians_density_multiplier_to 0.0


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#1003 04-06-2009 01:14

GTASA
Registered: 13-09-2008
Posts: 476

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

А какое максимальное значение для этого опкода?

Offline

#1004 04-06-2009 09:55

Alexander
Registered: 19-08-2006
Posts: 184
Website

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

в оригинале - 1.0 , можешь методом тыка проверить smile

Offline

#1005 04-06-2009 14:52

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

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

Существует ли опкод который может задать машине угол по X, а то в опкоднике нашёл только по Y, а по X только вот этот - 077D: $7513 = car 35@ x_angle (записывает в переменную угол по X)...Если есть, то напишите плз!


userbar.png

Offline

#1006 05-06-2009 17:01

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

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

to BoPoH

делаешь это через read_memory
смотри www.gtamodding.ru

У меня тоже созрел вопрос.
КАК прочитать, что нажата mouse wheel button up/down.


I know everything and nothing...

Offline

#1007 05-06-2009 19:21

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

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

В связи с поднятой темой углов появился вопрос - как отсчитываются углы? Если они измеряются вокруг соответствующих декартовых осей, то в каком порядке?

Offline

#1008 06-06-2009 03:49

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

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

Нет там углов. Вернее может быть один - только для вертикали.
http://sannybuilder.com/forums/viewtopi … 6389#p6389

Offline

#1009 06-06-2009 09:20

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

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

to Den_spb

смотри все очень просто, надо немного знать 3D моделирование и геометрию

итак...

ось x является горизонталью к карте и одновременно осью вращения x, в GTA 3 VC SA угол вращения идет против часовой стрелки, один оборот равен 360.0 градусов. угол задается как положительный так и отрицательный, как больше 360.0 может быть, так и меньше -360.0. Отсчет координат по оси идет слева направо, снизу вверх, по высоте также снизу вверх.
это все касается и других осей y (вертикальная ось к карте) и z (высота).
Это переностится и на все объекты GTA, т.е необходимо вместо слова карта применять объект, машина, актер и т.д.

А как насчет МОЕГО ВОПРОСА...

Last edited by mfisto (06-06-2009 09:28)


I know everything and nothing...

Offline

#1010 07-06-2009 09:36

KOLLEGA
Registered: 10-01-2009
Posts: 52

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

Такой вопрос: можно ли проверять опкодом 0ab0: нажатие клавиши num enter? В соответствующем разделе справки вроде нету.


Поправьте меня если я ошибаюсь
только вежливо :)

Offline

#1011 07-06-2009 12:43

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

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

to KOLLEGA

попробуй 108 или 95,94
короче внимательнее смотри на структуру перечисления клавиш, то что пропущено рядом с аналогичными клавишами то и будет ответ.

На мой вопрос лучше ответьте, наверняка кто то знает.


I know everything and nothing...

Offline

#1012 07-06-2009 15:47

GTASA
Registered: 13-09-2008
Posts: 476

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

Можно ли сделать так: какая-нибудь небольшая текстурка в txd файле лежит в папке Models/txd. В скрипте задаем координаты по X Y Z, где эта текстура будет "приклеена" к этому месту.
Если не понятно, то вот пример: в контре, когда жмем кнопку, мы спреем рисуем что-то, т.е. текстура ложится на определенные координаты.

Offline

#1013 07-06-2009 17:49

Alien
Registered: 12-10-2008
Posts: 564

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

@mfisto - средствами scm нельзя засечь. По идее надо устанавливать хук на события мыши wh_mouse, проверять результат на совпадение с wm_mousewheel, и в случае если совпало, что-то делать. Короче, надо писать asi.
По опкоду 0AB0: в справке не полная таблица. Полный список есть тут.

Offline

#1014 07-06-2009 19:14

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

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

to Alien

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


I know everything and nothing...

Offline

#1015 07-06-2009 21:00

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

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

@mfisto - Там в память есть трехэлементная очередь состояния мыши, но, не залезая в базу, ни адресов ни структру не скажу.

Если чуть попозже доберусь до базы - расскажу подробно

Offline

#1016 08-06-2009 01:53

GTASA
Registered: 13-09-2008
Posts: 476

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

Ну что? Можно ли как-то сделать, что я написал?

Offline

#1017 08-06-2009 02:53

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

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

GTASA wrote:

Можно ли сделать так: какая-нибудь небольшая текстурка в txd файле лежит в папке Models/txd. В скрипте задаем координаты по X Y Z, где эта текстура будет "приклеена" к этому месту.
Если не понятно, то вот пример: в контре, когда жмем кнопку, мы спреем рисуем что-то, т.е. текстура ложится на определенные координаты.

как бы объяснить попроще...нельзя...
причина: в том то вся и штука, что это зависит от полигонов, без них нельзя просто так наложить текстуру, допустим два полигона, и мы получаем прямоугольник и т.д.
вся соль в предварительной загрузке и расчете всех координат в игре, т.е создании мира sa
если ты создашь модельку, то она должна быть загружена заранее, после того как игра запустилась ты уже не можешь этого сделать, не зря в мейне в начале определяются все объекты, именно поэтому чтоб наложить текстуру max ты можешь создать объект допустим в виде прямоугольника, а потом прописать его в ipl и ide файлах. даллее создать такой объект и поместить его в заданные координаты.
ну как понятно?

Что касается того как поместить тачку на пути и убрать ее, то делай так
Car.SetToNormalDriver(0@) - остановить тачку прекратить ее движение по пути
Car.SetToPsychoDriver(0@) - поставить тачку на пути

примечание: имей ввиду, они применяются только в том случае, если тачка не использует
опкоды типа AS_actor для ее водителя в твоем скрипте
чтоб отменить AS_actor делаешь
0687: clear_actor 1@ task
и после этого применяешь те опкоды

допустим твоя тачка использует следующее
05D1: AS_actor 1@ drive_car 0@ to 2@ 3@ 4@ speed 15.0 0 model #NULL 0
тебе нужно после этого применить обязательно
0687: clear_actor 1@ task

а потом отправляешь ее кактаться самостоятельно по дорогам
Car.SetToPsychoDriver(0@)
не забывай о том что при выходе из тачки пассажиров нужно возвращать тачке max_speed, например 15.0

Last edited by mfisto (08-06-2009 03:10)


I know everything and nothing...

Offline

#1018 08-06-2009 09:20

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

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

У меня такой вопрос: можно ли как нибудь отключить читы (или в крайнем случае изменить), очень надо!


userbar.png

Offline

#1019 08-06-2009 15:19

GTASA
Registered: 13-09-2008
Posts: 476

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

Спасибо.
Как вычислять координаты выхлопной трубы? Где-то тут это было.

Нашел:

Координаты выхлопной трубы (вектор в model space) лежат в первом поле vehicleStruct по индексу 6 (+0x48)
modelPtrs[modelIndex]->vehicleStruct->_f0[6]

Это что за фиготень? А опкодов нет? И как этим пользоваться?

Last edited by GTASA (08-06-2009 15:22)

Offline

#1020 09-06-2009 00:07

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

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

Через память. Есть здоровенный массив (по адресу 0xA9B0C8), в котором находятся указатели на все модели. modelID - индекс массива (0..24999)

По modelID получаешь указатель на объект модели. Если это CModelCars, то по смещению 0x5C, в нем находится указатель на CVehicleStruct - объект, описывающий компоненты модели. В нем, по смещению 0x48 лежит вектор, с координатами выхлопной трубы, относительно начала координат модели.

Offline

#1021 09-06-2009 03:20

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

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

а заодно смещение бензобака может еще скажите а?
и такое, координат ведь три получается:
0x48 0x4B 0x4F так? или еще одно смещение и 0x0 0x4 0x8


I know everything and nothing...

Offline

#1022 09-06-2009 05:02

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

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

Бензобак: 0x60, 0x64, 0x68 (восьмой)
Выхлопная труба: 0x48, 0x4C, 0x50

Полный список компонентов: .data:008A6468     _componentListCar
Там идут тройки: указатель на имя компонента, номер, флаги.

Сама система иерархии компонентов достаточно злобная (я на нее убил порядка недели).
Важно то, что в начале vehicleStruct лежит 15 векторов с координатами неподвижных компонентов, т.е. их можно просто перебрать.

Дальше идут описатели подвижных компонентов, указатели на атомики и т.д.
Я, еще давным-давно, выкладывал исходники - там это все есть.


Что касается мыши:
.data:00B73404     _activeMouseState CMouseState
.data:00B73418     _currentMouseState CMouseState
.data:00B7342C     _prevMouseState CMouseState

обращаться нужно к currentMouseState. (и к prevMouseState, если нужны проверки типа justPressed/justReleased)

00000000 CMouseState     struc ; (sizeof=0x14)
00000000 lmb             db ?
00000001 rmb             db ?
00000002 mmb             db ?
00000003 wheelUp         db ?
00000004 wheelDown       db ?
00000005 bmx1            db ?
00000006 bmx2            db ?
00000007 __align         db ?
00000008 Z               dd ?                    ; float (wheel)
0000000C X               dd ?                    ; float
00000010 Y               dd ?                    ; float
00000014 CMouseState     ends

Offline

#1023 09-06-2009 06:53

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

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

to listener

Ухууу ман...
Ты крут...
Огромное спасибо за работу, так держать...

И кста 66,6 % так и держится или это прикол просто


I know everything and nothing...

Offline

#1024 09-06-2009 07:42

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

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

И кста 66,6 % так и держится или это прикол просто

Немножко прикол.
Там сейчас один и тот же кусок по кодогенератору перетряхивается уже в третий раз. (С момента, как он был первый раз написан, он похудел раза в три) Если все пойдет нормально, процентики побегут дальше.

Last edited by listener (09-06-2009 07:45)

Offline

#1025 10-06-2009 05:48

GTASA
Registered: 13-09-2008
Posts: 476

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

listener, а что делать с этим? Вот, например, можно указать какие-то координаты в переменные:
0407: store_coords_to 8@ 9@ 10@ from_car 0@ with_offset 1.5 -2.0 -1.50

А как занести координаты выхлопной трубы?

Offline

Board footer

Powered by FluxBB