#2 Re: Вопросы по скриптингу » Один вопрос » 05-04-2014 20:16

HH

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

CPed +0x15C = Некторые статусы анимации: 
154 = спринт (бежит с ускорением)
205 = бежит 
CPed +0x534 = Статус бега: 
4 = начинает бежать
6 = бежит
7 = спринт (бежит с ускорением) 

Помогите

#3 Re: Вопросы по скриптингу » Один вопрос » 01-04-2014 15:56

HH
DK22Pac wrote:
0AA6: call_method 0x5E3AE0 struct (ped_struct) num_params 0 pop 0

Cпасибо, то что нужно

#4 Re: Вопросы по скриптингу » Один вопрос » 31-03-2014 17:15

HH

Ребят, как заставить актёра одеть очки ночного виденья не применяя анимацию, т.е. пропустить тот момент когда актер одевает очки???

#5 Re: Вопросы по скриптингу » Один вопрос » 26-02-2014 10:51

HH

Во общем вопрос закрыт, спасибо всем.

#6 Re: Вопросы по скриптингу » Один вопрос » 25-02-2014 17:30

HH
Voron295 wrote:

Я всё-таки не понимаю, что мешает отнять единицу от высоты?

Не точно отнимается, машина например все равно чуть-чуть поднимается наверх(если в воздухе),  мне нужна точность, если записал координаты машины, телепортнул её на эти координаты, чтоб машина была на тех же координатах, не выше и не ниже. Вообщем нужно подобие опкоду 09BC: только для машины.

#7 Re: Вопросы по скриптингу » Один вопрос » 25-02-2014 05:39

HH

По моим тестам этот опкод тоже увеличивает координату Z
088c: протестил, тоже самое
Может через память?

Let's say, the Car Position of this given car starts at 0xC5F5DB4:
+48 = CarPosX
+52 = CarPosY
+56 = CarPosZ 

но не знаю как воспользоваться
-------------------
Seemann извеняюсь

#8 Re: Вопросы по скриптингу » Один вопрос » 25-02-2014 05:32

HH
wmysterio wrote:
HH wrote:

Всем привет.

09BC: put_actor $PLAYER_ACTOR at 0.0 0.0 0.0

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

00AB

Спасибо, попробую

#9 Re: Вопросы по скриптингу » Один вопрос » 24-02-2014 07:25

HH

Всем привет.

09BC: put_actor $PLAYER_ACTOR at 0.0 0.0 0.0

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

#10 Re: Вопросы по скриптингу » Один вопрос » 04-02-2014 06:21

HH
HH wrote:
Voron295 wrote:

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

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

0441: 1@ = car 0@ model

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

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

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

#11 Re: Вопросы по скриптингу » Один вопрос » 04-02-2014 06:19

HH
Voron295 wrote:

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

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

0441: 1@ = car 0@ model

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

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

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

#12 Re: Вопросы по скриптингу » Один вопрос » 03-02-2014 16:11

HH
d13m1 wrote:

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

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

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

#13 Re: Вопросы по скриптингу » Один вопрос » 03-02-2014 13:40

HH

Ладно. Есть вопросы:
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

#14 Re: Вопросы по скриптингу » Один вопрос » 02-02-2014 11:38

HH

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

#15 Re: Вопросы по скриптингу » Один вопрос » 01-02-2014 19:46

HH
Voron295 wrote:
HH wrote:

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

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

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

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

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

#16 Re: Вопросы по скриптингу » Один вопрос » 31-01-2014 18:06

HH

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

{$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

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

#17 Re: Вопросы по скриптингу » Один вопрос » 31-01-2014 14:25

HH
Voron295 wrote:

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

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

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

#19 Re: Вопросы по скриптингу » Один вопрос » 30-01-2014 13:32

HH
kenking wrote:
HH wrote:

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

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

Спасибо

#20 Re: Вопросы по скриптингу » Один вопрос » 30-01-2014 10:52

HH

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

#21 Re: Вопросы по скриптингу » Один вопрос » 30-01-2014 05:38

HH
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
не этот случайно?

#22 Re: Вопросы по скриптингу » Один вопрос » 29-01-2014 18:12

HH

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

#23 Re: Вопросы по скриптингу » Один вопрос » 29-01-2014 14:24

HH

@Seemann спасибо ещё раз, за доп. инфо

#24 Re: Вопросы по скриптингу » Один вопрос » 29-01-2014 12:35

HH

А все понял. 1 и 2 стандартно записывается в 0@. Можно за место 1 или 2 поставить любую переменную которая будет передаватся указанной файл.

#25 Re: Вопросы по скриптингу » Один вопрос » 29-01-2014 12:31

HH
Seemann wrote:

@HH - примерно так

{$CLEO}

0A92: create_custom_thread "TwoScripts.cs" 1
0A92: create_custom_thread "TwoScripts.cs" 2

if 
 0@ == 1
then

    // код первого скрипта

else if 0@ == 2        
    then
        // код второго скрипта    
    end   
end
0A93: end_custom_thread

Скрипт сохранить как TwoScripts.cs в папке CLEO. Код первого и второго скрипта вставлять, где отмечено.

Спасибо большое, давно хотел узнать про это. Обязательно будет 0@ или можно записать поток в другую переменную?

Board footer

Powered by FluxBB