You are not logged in.
Как можно получить установленный тюнинг машины
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@ // задний бампер
Ну или легче, поставлю вопрос по другому. Есть машина с тюнингом, и рядом нужно создать такую же машину с таким же тюнингом
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
Огромное тебе спасибо!!!:clap::clap::clap::^:^:^
SNKillers.net - всё о взломе и защите социальных сетей
Offline
Спасибо, Wire!
Назрел ещё один вопрос:
Как сделать разное поведение у педов, принадлежащих к одному педтипу? Например, как у гангстеров из Grove Streets - одни просто ходят, другие курят, третьи пьют из бутылки.
Offline
Хмммм, ну можно создать другого актера по тому же алгоритму, только в руку ему воткнуть сигарету, а анимку бухания заменить на анимку курения.
Offline
А как сделать, чтоб анимация повторялась не постонно, а через некоторые интервалы времени, например, чтоб актёр выпивал каждые 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
А как сделать, чтоб анимация повторялась не постонно, а через некоторые интервалы времени, например, чтоб актёр выпивал каждые 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
Здравствуйте, пожскажите. можно-ли оружие которое на данным момент в руке актера из правой, скриптом переместить в левую руку. И как? заранее спасибо.
Offline
Как можно вычислить место, куда выстрелил игрок? Такое например делал ryosuke, хотелось бы знать формулу.
Offline
Помню я высчитывал координаты прицеленного места довольно рачным путем, я аттачил обьект к кисти игрока и увеличивал его координаты по прямой, пока он не натыкался на препятствие, и тогда высчитывал координаты обьекта.
Формулу сам ищу давно))
Offline
listener в какой-то теме писал
формула не совсем точная, ибо там берутся координаты выстрела +- рандомная погрешность, зависящая от скилла оружия и ещё много чего о_О
Last edited by 3Doomer (14-10-2010 09:34)
GIMS developer
Offline
Как лучше реализовать не мгновенный старт машины? Пока сделал так:
{$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
Народ, не мог бы кто-то написать на спп исходник-туториал по написанию библиотеки, содержащей функции чтения значения по статическому и динамическому адресам? Надеюсь, не слишком наглая просьба
Заранее спасибо.
Last edited by Wire (14-10-2010 20:51)
Offline
Я как то пытался разобрать скрипт 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
Как сделать перевод строки при записи текста в файл опкодом 0AD9?
Offline
@CraZZZy-GameRRR -
0AD9: write_formatted_text "aaa%c%cbbb" in_file $hFile 13 10
Offline
@CraZZZy-GameRRR -
0AD9: write_formatted_text "aaa%c%cbbb" in_file $hFile 13 10
@Sanchez - Спасибо!
Offline
Дааа, а мой вопрос в пролёте, уже во второй раз...
SNKillers.net - всё о взломе и защите социальных сетей
Offline
Дааа, а мой вопрос в пролёте, уже во второй раз...
Просто на часть своих вопросов ты можешь ответить сам себе, открыв санни билдер и нажав ctrl+alt+2.
В твоём случае - нужно ввести в поиске опкода "car y_angle".
Offline
Как машине установить угол по оси X (x_angle)?
Через структуру авто. Смещения можно найти на http://gtamodding.ru/wiki/Адреса_Памяти_(SA), раздел Машины
Offline
Кто нибудь кто разбиратеся в исходниках по Vice City скажите пожалуйста по какому смещению в структуре педа хранится его тип и сколько байт.
например тип 4 мужчина или тип 5 женщина или коп 6 итд.
I know everything and nothing...
Offline
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
Как узнать хэндл педа, атакующего авто?
Last edited by CraZZZy-GameRRR (19-10-2010 00:28)
Offline
Если подредактировать экзешник, можно в одной папке держать 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