#4476 29-01-2014 21:12

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

HH wrote:

Как пользоваться адресами handling для машины [Адреса]
Заголовок 3 пункт 3.2

0@ = 0xC2B9DC
1@ = 5  // Тут ID хэндлинга, по идее, порядковый номер в handling.cfg (не ID машины). Короче, надо подбирать для нужного ID машины
1@ *= 224
005A: 0@ += 1@
0@ += 0x14 // тут должно быть необходимое тебе смещение, из указанных в статье
0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0

Если нужно записать значение, то вместо опкода 0A8D используй этот:

0A8C: write_memory 0@ size 4 value 2@ virtual_protect 0

В этом случае, содержимое переменной 2@ запишется по нужному адресу.

Обращай внимание на указания [byte] к смещениям. Это значит, что величина значения не 4 байта (как обычная переменная), а 1. Соответственно параметр size в опкоде чтения/записи памяти нужно изменить на соответствующий (1).

Last edited by Voron295 (29-01-2014 21:13)


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4477 30-01-2014 05:38

HH
Registered: 21-01-2014
Posts: 35

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

Voron295 wrote:
HH wrote:

Как пользоваться адресами handling для машины [Адреса]
Заголовок 3 пункт 3.2

0@ = 0xC2B9DC
1@ = 5  // Тут ID хэндлинга, по идее, порядковый номер в handling.cfg (не ID машины). Короче, надо подбирать для нужного ID машины
1@ *= 224
005A: 0@ += 1@
0@ += 0x14 // тут должно быть необходимое тебе смещение, из указанных в статье
0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0

Если нужно записать значение, то вместо опкода 0A8D используй этот:

0A8C: write_memory 0@ size 4 value 2@ virtual_protect 0

В этом случае, содержимое переменной 2@ запишется по нужному адресу.

Обращай внимание на указания [byte] к смещениям. Это значит, что величина значения не 4 байта (как обычная переменная), а 1. Соответственно параметр size в опкоде чтения/записи памяти нужно изменить на соответствующий (1).

Спасибо, а вот на счёт порядкового номера в handling.cfg
SULTAN       1400.0    3400.0   2.4    0.0 0.1 -0.1  75  0.80 0.8  0.5      5 200.0 28.0 5.0  4 P     10.0  0.5  0 30.0      1.2  0.15  0.0   0.28 -0.20 0.5  0.3        0.25 0.60 35000     2800 4000002        1  1    0
не этот случайно?

Offline

#4478 30-01-2014 10:52

HH
Registered: 21-01-2014
Posts: 35

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

Разузнал тут:
1@ = 5  // Тут ID хэндлинга, по идее, порядковый номер в handling.cfg (не ID машины). Короче, надо подбирать для нужного ID машины
5 - Bravura
как узнать остальные???
И ещё вопрос как убрать эффект такого типа, когда в машине: при повреждение детали и сталкивание с чем либо появляются много темных треугольничков

Last edited by HH (30-01-2014 10:52)

Offline

#4479 30-01-2014 11:21

kenking
From: Казахстан
Registered: 28-06-2010
Posts: 253

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

HH wrote:

Как пользоваться адресами handling для машины [Адреса]
Заголовок 3 пункт 3.2

http://sannybuilder.com/forums/viewtopi … 676#p14676

Offline

#4480 30-01-2014 13:32

HH
Registered: 21-01-2014
Posts: 35

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

kenking wrote:
HH wrote:

Как пользоваться адресами handling для машины [Адреса]
Заголовок 3 пункт 3.2

http://sannybuilder.com/forums/viewtopi … 676#p14676

Спасибо

Offline

#4481 30-01-2014 17:02

HH
Registered: 21-01-2014
Posts: 35

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

Что-то не работает

Offline

#4482 31-01-2014 08:29

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

Спасибо, а вот на счёт порядкового номера в handling.cfg

Имеется ввиду, каким по счёту он в файле.

Last edited by Voron295 (31-01-2014 08:29)


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4483 31-01-2014 14:25

HH
Registered: 21-01-2014
Posts: 35

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

Voron295 wrote:

Спасибо, а вот на счёт порядкового номера в handling.cfg

Имеется ввиду, каким по счёту он в файле.

аааа, спасибо=)

Offline

#4484 31-01-2014 18:06

HH
Registered: 21-01-2014
Posts: 35

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

Ребят так и не решилась проблемка
Пытаюсь написать скрипт для определенной машины, которая должна по идее стать выше, т.е. поднять подвеску

{$CLEO}
0000:
:1
wait 0
if
actor.Driving($PLAYER_ACTOR)
jf @1
03c0: 0@ = $PLAYER_ACTOR
0@ = 0xC2B9DC
1@ = 2  // по идее для машины Bravura, как мне сказали
1@ *= 224
005A: 0@ += 1@
0@ += 0xBC 
0A8C: write_memory 0@ size 4 value -0.3 virtual_protect 0
jump @1

Не пойму в чем проблема, помогите пожалуйста

Offline

#4485 31-01-2014 18:40

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

HH wrote:

Не пойму в чем проблема, помогите пожалуйста

Отсчёт ведётся с нуля. Для бравуры не 2, а 1.


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4486 01-02-2014 19:46

HH
Registered: 21-01-2014
Posts: 35

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

Voron295 wrote:
HH wrote:

Не пойму в чем проблема, помогите пожалуйста

Отсчёт ведётся с нуля. Для бравуры не 2, а 1.

Все равно не работает
полазил по форуму нашёл вот это

LANDSTAL          c2b9dc
BRAVURA           c2babc
BUFFALO           c2bb9c
LINERUN           c2bc7c
PEREN             c2bd5c
SENTINEL          c2be3c
DUMPER            c2bf1c
FIRETRUK          c2bffc
...............................

может как то связано с этим

Offline

#4487 01-02-2014 22:27

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

HH wrote:

полазил по форуму нашёл вот это

LANDSTAL          c2b9dc
BRAVURA           c2babc
BUFFALO           c2bb9c
LINERUN           c2bc7c
PEREN             c2bd5c
SENTINEL          c2be3c
DUMPER            c2bf1c
FIRETRUK          c2bffc
...............................

может как то связано с этим

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


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4488 02-02-2014 11:38

HH
Registered: 21-01-2014
Posts: 35

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

@Voron295 все читает правильно, получил значение подвески -0.15 для Bravura, в handling совпало. Но почему же нельзя вбить значение в этот адрес, читать можно, а задать нельзя? И как теперь задать своё значение чтобы работало??

Last edited by HH (02-02-2014 11:39)

Offline

#4489 02-02-2014 17:52

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

HH wrote:

@Voron295 все читает правильно, получил значение подвески -0.15 для Bravura, в handling совпало. Но почему же нельзя вбить значение в этот адрес, читать можно, а задать нельзя? И как теперь задать своё значение чтобы работало??

Возможно, не все данные можно записать.


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4490 02-02-2014 19:07

d13m1
Registered: 02-02-2014
Posts: 1

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

И как теперь задать своё значение чтобы работало??

оно перечитывается при установки гидравлики wink

Offline

#4491 03-02-2014 13:40

HH
Registered: 21-01-2014
Posts: 35

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

Ладно. Есть вопросы:
1) Как узнать ид машины, только ид нужен.
Пробовал 1@ = Car.Id (0@) выдает ошибку при комплирование
2) Как пользоваться:

+0xCC = [hex] modelFlags
+0xD0 = [hex] handlingFlags

Допустим я флаги знаю и т.д.

; (af) modelFlags!!!  WARNING - Now written HEX for easier reading of flags
;
;	1st digit	1: IS_VAN			2: IS_BUS			4: IS_LOW				8: IS_BIG
;	2nd digit	1: REVERSE_BONNET	2: HANGING_BOOT		4: TAILGATE_BOOT		8: NOSWING_BOOT
;	3rd digit	1: NO_DOORS			2: TANDEM_SEATS		4: SIT_IN_BOAT			8: CONVERTIBLE
;	4th digit	1: NO_EXHAUST		2: DOUBLE_EXHAUST	4: NO1FPS_LOOK_BEHIND	8: FORCE_DOOR_CHECK
;	5th digit	1: AXLE_F_NOTILT	2: AXLE_F_SOLID		4: AXLE_F_MCPHERSON		8: AXLE_F_REVERSE
;	6th digit	1: AXLE_R_NOTILT	2: AXLE_R_SOLID		4: AXLE_R_MCPHERSON		8: AXLE_R_REVERSE
;	7th digit	1: IS_BIKE			2: IS_HELI			4: IS_PLANE				8: IS_BOAT
;	8th digit	1: BOUNCE_PANELS	2: DOUBLE_RWHEELS	4: FORCE_GROUND_CLEARANCE	8: IS_HATCHBACK
;
; (ag) handlingFlags - written in HEX
;
;	1st digit	1: 1G_BOOST			2: 2G_BOOST			4: NPC_ANTI_ROLL		8: NPC_NEUTRAL_HANDL
;	2nd digit	1: NO_HANDBRAKE		2: STEER_REARWHEELS 4: HB_REARWHEEL_STEER	8: ALT_STEER_OPT
;	3rd digit	1: WHEEL_F_NARROW2	2: WHEEL_F_NARROW	4: WHEEL_F_WIDE			8: WHEEL_F_WIDE2
;	4th digit	1: WHEEL_R_NARROW2	2: WHEEL_R_NARROW	4: WHEEL_R_WIDE			8: WHEEL_R_WIDE2
;	5th digit	1: HYDRAULIC_GEOM 	2: HYDRAULIC_INST	4: HYDRAULIC_NONE		8: NOS_INST
;	6th digit	1: OFFROAD_ABILITY	2: OFFROAD_ABILITY2	4: HALOGEN_LIGHTS		8: PROC_REARWHEEL_1ST
;	7th digit	1: USE_MAXSP_LIMIT	2: LOW_RIDER		4: STREET_RACER
;	8th digit	1: SWINGING_CHASSIS

Как расчитать и применить например для этого

;	1st digit	1: IS_VAN

Offline

#4492 03-02-2014 16:11

HH
Registered: 21-01-2014
Posts: 35

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

d13m1 wrote:

И как теперь задать своё значение чтобы работало??

оно перечитывается при установки гидравлики wink

Возможно ли по другому пересчитать, без гидры???

Offline

#4493 03-02-2014 22:11

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

1) Как узнать ид машины, только ид нужен.
Пробовал 1@ = Car.Id (0@) выдает ошибку при комплирование

Если идёт речь о ID модели машины, то это должно подойти:

0441: 1@ = car 0@ model

При условии, что в 0@ записан хендл машины и эта машина существует.

Насчёт флагов - ты их читать хочешь или записывать?


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4494 04-02-2014 06:19

HH
Registered: 21-01-2014
Posts: 35

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

Voron295 wrote:

1) Как узнать ид машины, только ид нужен.
Пробовал 1@ = Car.Id (0@) выдает ошибку при комплирование

Если идёт речь о ID модели машины, то это должно подойти:

0441: 1@ = car 0@ model

При условии, что в 0@ записан хендл машины и эта машина существует.

Насчёт флагов - ты их читать хочешь или записывать?

По идее они же включаются и выключаются, мне надо кажды

Offline

#4495 04-02-2014 06:21

HH
Registered: 21-01-2014
Posts: 35

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

HH wrote:
Voron295 wrote:

1) Как узнать ид машины, только ид нужен.
Пробовал 1@ = Car.Id (0@) выдает ошибку при комплирование

Если идёт речь о ID модели машины, то это должно подойти:

0441: 1@ = car 0@ model

При условии, что в 0@ записан хендл машины и эта машина существует.

Насчёт флагов - ты их читать хочешь или записывать?

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

Last edited by HH (04-02-2014 06:23)

Offline

#4496 04-02-2014 13:56

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

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

HH wrote:

По идее они же включаются и выключаются, мне надо кажды

Читай работу с битами в справке СБ.


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4497 10-02-2014 21:06

Flame
Registered: 17-12-2011
Posts: 11

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

Привет всем. http://www.sendspace.com/file/32l229 - это скрипт для GTA SA, который позволяет менять модель героя на одного из прохожих (активация: набрать model, дальше: y и n).

У меня странная просьба к тем, кто занимается скриптами. Продиктована любопытством.) Возможно, кто-то мог бы посмотреть скрипт? Хочется кое-что для себя прояснить.

Я уверен, что при смене пешеходов, и ТОЛЬКО при условии, что в архиве gta3.img много тяжелых текстур и он много весит - происходит вылет при смене педов и после конкретного педа. Вопрос - каким образом объекты, абсолютно не связанные с пешеходами, влияют на то, что происходит вылет при смене педов?

Last edited by Flame (10-02-2014 23:19)

Offline

#4498 21-02-2014 12:00

RitrS
From: Downtown
Registered: 11-07-2013
Posts: 62
Website

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

Flame wrote:

Привет всем. http://www.sendspace.com/file/32l229 - это скрипт для GTA SA, который позволяет менять модель героя на одного из прохожих (активация: набрать model, дальше: y и n).

У меня странная просьба к тем, кто занимается скриптами. Продиктована любопытством.) Возможно, кто-то мог бы посмотреть скрипт? Хочется кое-что для себя прояснить.

Я уверен, что при смене пешеходов, и ТОЛЬКО при условии, что в архиве gta3.img много тяжелых текстур и он много весит - происходит вылет при смене педов и после конкретного педа. Вопрос - каким образом объекты, абсолютно не связанные с пешеходами, влияют на то, что происходит вылет при смене педов?

В принципе думаю вылетает из за того что модель модели которую использует игрок, после смены на другую остается в памяти. Это чисто мое предположение.

Offline

#4499 24-02-2014 07:25

HH
Registered: 21-01-2014
Posts: 35

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

Всем привет.

09BC: put_actor $PLAYER_ACTOR at 0.0 0.0 0.0

Этот опкод не "подстраховывается" т.е. не увеличивается координату Z на 1.0. Нужен аналогичный опкод, только для машины. Кто может помочь??

Offline

#4500 24-02-2014 18:45

wmysterio
Registered: 04-03-2011
Posts: 214
Website

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

HH wrote:

Всем привет.

09BC: put_actor $PLAYER_ACTOR at 0.0 0.0 0.0

Этот опкод не "подстраховывается" т.е. не увеличивается координату Z на 1.0. Нужен аналогичный опкод, только для машины. Кто может помочь??

00AB

Online

Board footer

Powered by FluxBB