You are not logged in.
Привет, подскажите, можно как-нибудь после уже прохождения части снова карту вернуть в "нулевое" состояние, чтобы она была засвечена полупрозрачным голубым, как и в самом начале игры? А еще лучше - засветить ее полностью, чтобы ничего не было видно)
Offline
DromeoStalker
Возьми код отсюда
https://sannybuilder.com/forums/viewtop … d=419#p419
только вместо 16843009 напиши 0
Offline
Как можно отключить пулемет у RCbaron? Опокоды use primary/secondary weapon не действуют.
Offline
Пара вопросов.
1. Можно ли отключить коллизию актёру, но чтоб он при этом мог двигаться? Я в адресах памяти находил такое свойство игрока, но проблема в том, что он при этом ещё и проваливается под землю, а это никуда не годится.
2. Можно ли отключить боксы, которые выводит сама игра? Например тот, который выходит при новой игре, когда в первый раз садишься в машину - "Чтобы не дать Карлу сесть в машину, нажмите то-то и то-то". Или такие - "Уровень владения М4 достигнут такой-то, теперь вы можете то-то и то-то". И тому подобные.
Offline
По второму вопросу: можно либо отключить все боксы вообще (в том числе и скриптовые), либо отключить конкретные сообщения. Например, для сообщения про машину
0A8C: write_memory 0xC0BC15 size 1 value 1 virtual_protect 0
Не вижу простого способа как это обойти, кроме хука процедуры показа бокса и опкода 03E5, чтобы процедуру можно было вызвать только опкодом.
Надо еще проверить, что будет если подменить GXT строку, которую выводит игра, например JCK_HLP на пустую строку или #0
Offline
про кол тоже был вопрос, так и не получилось нече.
Offline
А вот встречный вопрос про текст боксы.
Поч некоторые текстбоксы выводятся дольше(например тот же текст бокс при посадке в авто), чем текст бокс созданный клео скриптом
?
Offline
По второму вопросу: можно либо отключить все боксы вообще (в том числе и скриптовые), либо отключить конкретные сообщения. Например, для сообщения про машину
0A8C: write_memory 0xC0BC15 size 1 value 1 virtual_protect 0
Спасибо. А как отключить все боксы вообще? И если отключить, то будут ли выводиться те, которые я сам захочу вывести через скрипт? Если нет, то как боксы вернуть?
Offline
Можно записать 0xC3 (ret) в начало функции показа боксов 0x588BE0
Чтобы вернуть возможность показа бокса, записать туда же 0xA0 (оригинальное значение)
Offline
Можно записать 0xC3 (ret) в начало функции показа боксов 0x588BE0
Чтобы вернуть возможность показа бокса, записать туда же 0xA0 (оригинальное значение)
Я плохо разбираюсь в работе с памятью. Тут нужен опкод 0AA5: или 0A8C:? Или вообще какой-то другой?
Offline
0A8C: write_memory 0x588BE0 size 1 value 0xC3 virtual_protect 1
0A8C: write_memory 0x588BE0 size 1 value 0xA0 virtual_protect 1
Offline
Подскажите, как добавить саундтреки в гта са? (load soundtrack..), их там чуть более 10, а у меня 60 миссий, и хочу, чтобы для каждой было свое музыкальное сопровождение. Добавить просто треки в аудиофайл удалось, но игра их не видит, да и номера все перепутаны.
Также пытался использовать "load cutscene data", но тогда отключается управление, хоть и играет нужная музыка из кат-сцены.
Last edited by DromeoStalker (22-02-2016 15:46)
Offline
Ещё вот такие вопросы.
1. Можно ли перед тем, как загрузить специального актёра, сделать проверку, содержится ли такая модель в img архиве?
2. Допустим, я хочу добавить в игру новое оружие, не заменяя старого. Я знаю, в каких файлах папки data его нужно прописать. Но как узнать номер этого оружия, чтобы использовать его в скриптах?
Offline
Встретился с такой проблемой,
не как не остановить рандомного педа на тротуаре.
Получаю его корды
0AE1: 1@ = random_actor_near_point 2@ 3@ 4@ in_radius 20.0 find_next 1 pass_deads 0 //IF and SET
и пытаюсь как-то остановить, но он все равно продолжает идти.
Остановить пытался так 0687: clear_actor 0@ task
и применял аниму этому педу и тпшил - бесполезно
после окончания всех выше перечисленных действий, он все равно продолжал идти по своим путям.
Псц, не думл что так трудно остановить рандомного педа
Мб надо как-то сбивать task педа? или как еще можно заставить стоять его как памятник желательно без использования анимы ?
На уме ток удалять найденного педа и на его месте спавнит нового =/
Last edited by Goldfish (03-03-2016 13:08)
Offline
И еще один вопрос, поч этот скрипт некогда выложенный на этом форуме
{$CLEO} wait 2000 while true wait 0 if not player.Defined($player_char) then continue end actor.StorePos($player_actor 0@ 1@ 2@) 31@ = 0 for 30@ = 1 to 10 06F8: get_nearest_route_for 0@ 1@ 2@ in_direction 30@ store_to 6@ 7@ 8@ Z_angle_to 3@ 8@ += 1.0 016F: create_particle 3 rotation_factor 0.0 size 2.0 intensity 255 flags 31@ 0 255 at 6@ 7@ 8@ 0656: get_angle 3@ absolute_degrees_to 3@ 02F6: 4@ = sine 3@ // (float) 02F7: 5@ = cosine 3@ // (float) 4@ *= 2.0 5@ *= 2.0 005B: 7@ += 5@ // (float) 0063: 6@ -= 4@ // (float) 016F: create_particle 3 rotation_factor 0.0 size 1.0 intensity 255 flags 0 0 255 at 6@ 7@ 8@ 0092: 3@ = float 3@ to_integer 31@ += 25 end end
показывает, что точки расположены посередине дороги, когда машины едут по своим полосам, следовательно для каждой полосы должен быть свой путь? и точки в два ряда, я не один ряд посередине ?
Last edited by Goldfish (03-03-2016 19:37)
Offline
Тебе надо его из трафика удалить, он просто заскриптован обычным поведением, исключи его из трафика и будет тебе счастье
Оо
Спс за совет, это наверно надо какой-то флаг изменить?
Offline
Да, тот что функция reference делает, вернее опкод reference, он только наоборот делает - засовывает в трафик, а тебе надо найти в структуре актера это смещение и исправить на 2 -ку, там либо 1 либо 2, если 1 - значит трафик, если 2 - то значит держится в памяти и уже не в трафике.
I know everything and nothing...
Offline
Да, тот что функция reference делает, вернее опкод reference, он только наоборот делает - засовывает в трафик, а тебе надо найти в структуре актера это смещение и исправить на 2 -ку, там либо 1 либо 2, если 1 - значит трафик, если 2 - то значит держится в памяти и уже не в трафике.
мм нашел эту функу , к сожалению не получилось
0A96: 0@ = actor 0@ struct
0AA6: call_method 0x5E47E0 struct 0@ num_params 1 pop 0 new_ref 2
Last edited by Goldfish (06-03-2016 17:35)
Offline
= 0x484, вот оно.
почему то нету реакции
{$CLEO} 0000: while true wait 0 if 0AB0: key_pressed 49 then 04C4: store_coords_to 2@ 3@ 4@ from_actor $player_actor with_offset 0.0 0.0 0.0 if 0AE1: 1@ = random_actor_near_point 2@ 3@ 4@ in_radius 10.0 find_next 1 pass_deads 0 //IF and SET then 0A96: 2@ = actor 1@ struct 2@ += 1156 0A8D: 3@ = read_memory 2@ size 1 virtual_protect 0 0AD1: show_formatted_text_highpriority "do %i" time 2000 3@ 0A8C: write_memory 2@ size 1 value 2 virtual_protect 1 //0687: clear_actor 1@ task 05B9: AS_actor 1@ stay_idle 2000 ms Marker.CreateAboveActor(0@,1@) wait 1000 0A8D: 3@ = read_memory 2@ size 1 virtual_protect 0 0AD1: show_formatted_text_highpriority "posle %i" time 2000 3@ end end end
Offline
а как узнать "статус" действия педа, например: идет по тротуару или переходит дорогу?
все что нашел это в в CPed +0x4DF есь какойто id анимок , например когда оглядывается у перекрестка или осматривает витрину
Last edited by Goldfish (06-03-2016 23:42)
Offline
А у тебя точно нет скриптов, которые влияют на трафик? Возможно на них что-то воздействует извне. Смотри, есть всем известная миссия такси, там берется любой пед, стоящий возле дороги. Там ведь он слушается скрипта, возможно у тебя что то есть в папке клео, либо плагин какой.
I know everything and nothing...
Offline
А у тебя точно нет скриптов, которые влияют на трафик? Возможно на них что-то воздействует извне. Смотри, есть всем известная миссия такси, там берется любой пед, стоящий возле дороги. Там ведь он слушается скрипта, возможно у тебя что то есть в папке клео, либо плагин какой.
нет, скриптов таких точно нет, не подскажите ссылочку на такой скрипт?
а то я уже 2 скрипта таких пересмотрел, нече пока не нашел
Offline