#2601 12-10-2010 10:20

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

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

mr.Andrei wrote:

Как можно получить установленный тюнинг машины

096D: get_car 31@ car_component 0 on_slot 0@ // ковш на капот
096D: get_car 31@ car_component 1 on_slot 1@ // вентиляция
096D: get_car 31@ car_component 2 on_slot 2@ // спойлер
096D: get_car 31@ car_component 3 on_slot 3@ // боковая юбка
096D: get_car 31@ car_component 4 on_slot 4@ // передняя защитная рейка
096D: get_car 31@ car_component 5 on_slot 5@ // задняя защитная рейка 
096D: get_car 31@ car_component 6 on_slot 6@ // противотуманки
096D: get_car 31@ car_component 7 on_slot 7@ // воздухозаборник на крыше
096D: get_car 31@ car_component 8 on_slot 8@ // нитробалон
096D: get_car 31@ car_component 9 on_slot 9@ // гидравлика
096D: get_car 31@ car_component 10 on_slot 10@ // стерео
096D: get_car 31@ car_component 12 on_slot 12@ // колёса
096D: get_car 31@ car_component 13 on_slot 13@ // глушитель
096D: get_car 31@ car_component 14 on_slot 14@ // передний бампер
096D: get_car 31@ car_component 15 on_slot 15@ // задний бампер
mr.Andrei wrote:

Ну или легче, поставлю вопрос по другому. Есть машина с тюнингом, и рядом нужно создать такую же машину с таким же тюнингом

06E7: 29@ = add_car_component 0@ to_car 30@
06E7: 29@ = add_car_component 1@ to_car 30@
06E7: 29@ = add_car_component 2@ to_car 30@
........

Offline

#2602 12-10-2010 13:14

mr.Andrei
Registered: 03-07-2010
Posts: 38
Website

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

Огромное тебе спасибо!!!:clap::clap::clap::^:^:^


SNKillers.net - всё о взломе и защите социальных сетей

Offline

#2603 12-10-2010 14:59

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

Спасибо, Wire!

Назрел ещё один вопрос:
Как сделать разное поведение у педов, принадлежащих к одному педтипу? Например, как у гангстеров из Grove Streets - одни просто ходят, другие курят, третьи пьют из бутылки.

Offline

#2604 12-10-2010 17:17

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

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

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

Offline

#2605 12-10-2010 18:45

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

А как сделать, чтоб анимация повторялась не постонно, а через некоторые интервалы времени, например, чтоб актёр выпивал каждые 10 сек. Я вот так написал, но не получается: 0605: actor PedHandle perform_animation_sequence "DRNKBR_PRTL" from_file "GANGS" 4.0 loop 1 0 0 1 10000 ms

Чтобы актёр шатался как пьяный, я написал 0605: actor PedHandle perform_animation_sequence "WALK_DRUNK" from_file "PED" 4.0 loop 1 0 0 1 -1 ms, но через пару секунд игра намертво виснет без сообщения об ошибке. Не знаешь почему? Изменение параметров результатов не дало.

И ещё за что отвечает параметр 4.0 между "PED" и loop? (а то в справке SB не написано)

Offline

#2606 12-10-2010 19:08

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

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

но через пару секунд игра намертво виснет без сообщения об ошибке.

Такое может быть, если в скрипте есть цикл, не содержащий команды wait

Offline

#2607 12-10-2010 20:14

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

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

CraZZZy-GameRRR wrote:

А как сделать, чтоб анимация повторялась не постонно, а через некоторые интервалы времени, например, чтоб актёр выпивал каждые 10 сек.

Посмотри внимательно мой скрипт. Там перед выполнением анимации скрипт ждет рандумное количество мс - от 5000 до 15000.

0605: actor $PLAYER_ACTOR perform_animation_sequence "M_SMKLEAN_LOOP" IFP_file "LOWRIDER" 4.0 loop 1 0 0 0 time -1 // versionA

Параметр, стоящий после слова loop отвечает за повторение анимации, 1 - анимация будет повторяться, 0 - проиграется один раз. При одноразовом использовании параметр после time следует заменить на wait <время> (Последний параметр будет работать только в последовательности, объявлять которую нужно опкодом 0615: define_AS_pack_begin 15@ и завершать опкодом 0616: define_AS_pack_end 15@)
Только в последовательности вместо хендла актера указывай -1. А, присобачивать актера к указанной последовательности - 0618: assign_actor 2@ to_AS_pack 15@

Last edited by Wire (12-10-2010 20:15)

Offline

#2608 13-10-2010 16:11

fighter390
Registered: 15-09-2010
Posts: 4

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

Здравствуйте, пожскажите. можно-ли оружие которое на данным момент в руке актера из правой, скриптом переместить в левую руку. И как? заранее спасибо.

Offline

#2609 13-10-2010 17:53

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

Как можно вычислить место, куда выстрелил игрок? Такое например делал ryosuke, хотелось бы знать формулу.

Offline

#2610 13-10-2010 20:27

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

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

Помню я высчитывал координаты прицеленного места довольно рачным путем, я аттачил обьект к кисти игрока и увеличивал его координаты по прямой, пока он не натыкался на препятствие, и тогда высчитывал координаты обьекта.
Формулу сам ищу давно))

Offline

#2611 14-10-2010 09:34

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

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

listener в какой-то теме писал

формула не совсем точная, ибо там берутся координаты выстрела +- рандомная погрешность, зависящая от скилла оружия и ещё много чего о_О

Last edited by 3Doomer (14-10-2010 09:34)


GIMS developer

Offline

#2612 14-10-2010 13:03

Sergey81
Registered: 19-12-2008
Posts: 654

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

Как лучше реализовать не мгновенный старт машины? Пока сделал так:

{$CLEO .cs}
0000: NOP 
while true
wait 0  
if and  
0449:   actor $PLAYER_ACTOR in_a_car
847A:   not actor $PLAYER_ACTOR driving_bike
84A7:   not actor $PLAYER_ACTOR driving_boat 
84A9:   not actor $PLAYER_ACTOR driving_heli 
84AB:   not actor $PLAYER_ACTOR driving_plane 
86B9:   not cutscene_data_loaded  
5@ == 0
then
wait 0
03C0: 0@ = actor $PLAYER_ACTOR car
067F: set_car 0@ lights 1
0ABF: set_vehicle 0@ engine_state_to 0 
0AAC: 10@ = load_mp3 "CLEO\playlist\01.mp3" 
0AAD: set_mp3 10@ perform_action 1
wait 2500 
0ABF: set_vehicle 0@ engine_state_to 1
067F: set_car 0@ lights 2
5@ = 1
wait 2500
0AAE: release_mp3 10@
else
if and
5@ == 1
8449:   not actor $PLAYER_ACTOR in_a_car 
847A:   not actor $PLAYER_ACTOR driving_bike
84A7:   not actor $PLAYER_ACTOR driving_boat 
84A9:   not actor $PLAYER_ACTOR driving_heli 
84AB:   not actor $PLAYER_ACTOR driving_plane  
then
5@ = 0
//0ABF: set_vehicle 0@ engine_state_to 0
end
end
end

Если раскомментить 4-ю снизу строчку, то при выходе из машины двигатель будет заглушен. Но также будет вылет, если например в миссии машина уничтожается скриптом. Также нет проверок был ли двигатель уже заведён при входе. Можно ли как то запретить автостарт двигателя при входе в машину? А потом скриптом по нажатию кнопки или wait запускать его.
--
И ещё, как можно узнать текущие координаты $PLAYER_ACTOR на карте(которая в меню, 2d)?

Last edited by Sergey81 (14-10-2010 14:13)

Offline

#2613 14-10-2010 20:49

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

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

Народ, не мог бы кто-то написать на спп исходник-туториал по написанию библиотеки, содержащей функции чтения значения по статическому и динамическому адресам? Надеюсь, не слишком наглая просьба blush
Заранее спасибо.

Last edited by Wire (14-10-2010 20:51)

Offline

#2614 15-10-2010 14:09

mr.Andrei
Registered: 03-07-2010
Posts: 38
Website

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

Я как то пытался разобрать скрипт Ryosuke, и мне показалось, что основная часть расчётов выполнялась этими командами:

:PORTAL_1536
068D: get_camera_position_to 3@ 4@ 5@ 
0A96: 30@ = actor $PLAYER_ACTOR struct 
30@ += 1148 
0A8D: 30@ = read_memory 30@ size 4 virtual_protect 0 
30@ += 44 
0A8D: 30@ = read_memory 30@ size 4 virtual_protect 0 
if 
   not 30@ == 0 
else_jump @PORTAL_1706 
30@ += 8 
if 
   not 30@ == 0 
else_jump @PORTAL_1706 
0A8D: 30@ = read_memory 30@ size 4 virtual_protect 0 
30@ += 48 
0A8D: 0@ = read_memory 30@ size 4 virtual_protect 0 
30@ += 4 
0A8D: 1@ = read_memory 30@ size 4 virtual_protect 0 
30@ += 4 
0A8D: 2@ = read_memory 30@ size 4 virtual_protect 0 

:PORTAL_1706
0063: 0@ -= 3@ // (float) 
0063: 1@ -= 4@ // (float) 
0063: 2@ -= 5@ // (float) 
050A: 30@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 0.0 0.0 0.0 
0073: 0@ /= 30@ // (float) 
0073: 1@ /= 30@ // (float) 
0073: 2@ /= 30@ // (float) 
068D: get_camera_position_to 6@ 7@ 8@ 
Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
050A: 30@ = distance_between_XYZ 6@ 7@ 8@ and_XYZ 3@ 4@ 5@ 
30@ += 0.5 
0087: 3@ = 0@ // (float) 
0087: 4@ = 1@ // (float) 
0087: 5@ = 2@ // (float) 
006B: 3@ *= 30@ // (float) 
006B: 4@ *= 30@ // (float) 
006B: 5@ *= 30@ // (float) 
005B: 6@ += 3@ // (float) 
005B: 7@ += 4@ // (float) 
005B: 8@ += 5@ // (float)

Попробуйте их разобрать сами, но возможно я ошибся.

И ещё от меня вопросик. Эта тема как-то раз уже поднималась, но ответа на неё не дали. Как машине установить угол по оси X (x_angle)?


SNKillers.net - всё о взломе и защите социальных сетей

Offline

#2615 15-10-2010 20:21

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

Как сделать перевод строки при записи текста в файл опкодом 0AD9?

Offline

#2616 15-10-2010 20:52

Sanchez
Registered: 18-08-2006
Posts: 280

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

@CraZZZy-GameRRR -

0AD9: write_formatted_text "aaa%c%cbbb" in_file $hFile 13 10

Offline

#2617 15-10-2010 20:56

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

Sanchez wrote:

@CraZZZy-GameRRR -

0AD9: write_formatted_text "aaa%c%cbbb" in_file $hFile 13 10

@Sanchez - Спасибо!

Offline

#2618 16-10-2010 17:44

mr.Andrei
Registered: 03-07-2010
Posts: 38
Website

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

Дааа, а мой вопрос в пролёте, уже во второй раз...


SNKillers.net - всё о взломе и защите социальных сетей

Offline

#2619 16-10-2010 18:12

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

mr.Andrei wrote:

Дааа, а мой вопрос в пролёте, уже во второй раз...

Просто на часть своих вопросов ты можешь ответить сам себе, открыв санни билдер и нажав ctrl+alt+2.
В твоём случае - нужно ввести в поиске опкода "car y_angle".

Offline

#2620 16-10-2010 19:19

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

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

Как машине установить угол по оси X (x_angle)?

Через структуру авто. Смещения можно найти на http://gtamodding.ru/wiki/Адреса_Памяти_(SA), раздел Машины

Offline

#2621 17-10-2010 19:44

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

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

Кто нибудь кто разбиратеся в исходниках по Vice City скажите пожалуйста по какому смещению в структуре педа хранится его тип и сколько байт.
например тип 4 мужчина или тип 5 женщина или коп 6 итд.


I know everything and nothing...

Offline

#2622 17-10-2010 21:22

Alien
Registered: 12-10-2008
Posts: 564

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

000003D4 pedType         dd ?                    ; enum ePedType

FFFFFFFF ; enum ePedType
FFFFFFFF player1          = 0
FFFFFFFF player2          = 1
FFFFFFFF player3          = 2
FFFFFFFF player4          = 3
FFFFFFFF civmale          = 4
FFFFFFFF civfemale        = 5
FFFFFFFF cop              = 6
FFFFFFFF gang1            = 7
FFFFFFFF gang2            = 8
FFFFFFFF gang3            = 9
FFFFFFFF gang4            = 10
FFFFFFFF gang5            = 11
FFFFFFFF gang6            = 12
FFFFFFFF gang7            = 13
FFFFFFFF gang8            = 14
FFFFFFFF gang9            = 15
FFFFFFFF emergency        = 16
FFFFFFFF fireman          = 17
FFFFFFFF criminal         = 18
FFFFFFFF PROSTITUTE       = 20
FFFFFFFF special          = 21
FFFFFFFF unknown          = 23

Offline

#2623 18-10-2010 03:21

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

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

Большое спасибо!!!


I know everything and nothing...

Offline

#2624 18-10-2010 22:19

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

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

Как узнать хэндл педа, атакующего авто?

Last edited by CraZZZy-GameRRR (19-10-2010 00:28)

Offline

#2625 19-10-2010 00:36

Sergey81
Registered: 19-12-2008
Posts: 654

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

Если подредактировать экзешник, можно в одной папке держать SA/VC/LC, запуская нужный город своим экзешником, который грузит нужный img/dat и т.д. Я говорю о портированных версиях конечно же, типа SA-LC, SanVice и т.д. SCM к ним можно запускать в виде мишн паков, или опять же отредактировав путь в exe. Так вот, сам то экзешник например назову я gta_vc.exe, как с ним будет работать клео и asi/dll-плагины?

Last edited by Sergey81 (19-10-2010 01:04)

Offline

Board footer

Powered by FluxBB