#4476 29-01-2014 21:12

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

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

HH wrote:

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

1
2
3
4
5
6
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 используй этот:

1
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

1
2
3
4
5
6
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 используй этот:

1
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: Один вопрос

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{$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.

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

1
2
3
4
5
6
7
8
9
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:

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

1
2
3
4
5
6
7
8
9
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) Как пользоваться:

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; (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

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

1
;   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 модели машины, то это должно подойти:

1
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 модели машины, то это должно подойти:

1
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 модели машины, то это должно подойти:

1
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: Один вопрос

Всем привет.

1
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: 215
Website

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

HH wrote:

Всем привет.

1
09BC: put_actor $PLAYER_ACTOR at 0.0 0.0 0.0

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

00AB

Offline

Board footer

Powered by FluxBB