Суббота, 20.04.2024, 04:05
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 28 из 28
  • «
  • 1
  • 2
  • 26
  • 27
  • 28
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Вопросы по созданию КЛЕО-скриптов 2
Den_spbДата: Пятница, 08.04.2022, 16:33 | Сообщение # 406
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
1.Проверки в скрипте медленно работают наверное потому, что у тебя много wait-ов. Каждый раз, когда выполнение скрипта наталкивается на wait, выполнение скрипта приостанавливается и игра выполняет отрисовку очередного кадра.

Если, предположим, выполняется проверка нахождения поезда в сфере, потом 5 wait-ов, потом опять проверка, за это время игра отрисует 5 кадров. Если поезд едет с большой скоростью, он за это время может проехать 10-20-30 метров и запросто проскочить сферу.

2.Вместо проверки нахождения в сфере можно использовать проверку, сколько поезд проехал метров от начала тракса.
Пройденное расстояние от начала тракса хранится в структуре локомотива или вагона по смещению 
Код
0x05A8 | float              distanceTravelled  // Расстояние, пройденное от начала маршрута в метрах
http://gtamodding.ru/wiki/%D0%90%D0%B4%D1%80%D0%B5%D1%81%D0%B0_%D0%9F%D0%B0%D0%BC%D1%8F%D1%82%D0%B8_(SA)
Получаем значение следующим образом:
Код
0A97: 1@ = vehicle 0@ struct
1@ += 0x05A8
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
if and
    2@  > 1000.0
    2@  < 1100.0
then
    06DD: set_train 0@ speed 0.0
end


3. Единицы для остановок работают только в tracks.dat, в других tracks-файлах простановка единицы ничего не даст, работать не будет.

4. Про опкод 06DA: reset_train_directions ничего не знаю, не пользовался им никогда.
 
laggthДата: Четверг, 26.01.2023, 17:22 | Сообщение # 407
Группа: Пользователи
Сообщений: 77
Статус: Offline
Подставил твой скрипт в свой для езды трамов'.
.............................................................
Но,как скриптом можно окрасить в нужные цвета прицепные вагоны?


Сообщение отредактировал laggth - Четверг, 26.01.2023, 19:18
 
Den_spbДата: Четверг, 26.01.2023, 23:21 | Сообщение # 408
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Есть такая команда:

0229: set_car $IMPORT_CAR primary_color_to 11 secondary_color_to 0

Устанавливает указанному транспортному средству первый и второй цвет с указанными номерами.
 
laggthДата: Пятница, 27.01.2023, 12:05 | Сообщение # 409
Группа: Пользователи
Сообщений: 77
Статус: Offline
цвет встаёт только у лок0мотивов . вагоны невозможно по моему окрасить через скрипт ... .
 можно(нужно ли) вставлять опкод enable_thread_saving в скрипты с автоездящим транспортом? Что это даст? Даст ли это автостарт транспорта не с точек старта,а с точек,в каких транспорт был во время сохранения?


Сообщение отредактировал laggth - Пятница, 27.01.2023, 12:28
 
Den_spbДата: Суббота, 28.01.2023, 23:00 | Сообщение # 410
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата laggth ()
вагоны невозможно по моему окрасить через скрипт ... .
078A: 43@ = get_train 40@ carriage 1 handle

С помощью этой команды можно получить указатель на вагон с указанным номером (0 - локомотив, 1 - первый вагон, 2 - второй вагон....)
После этого к вагону можно применить команду перекраски.

Цитата laggth ()
можно(нужно ли) вставлять опкод enable_thread_saving в скрипты с автоездящим транспортом? Что это даст? Даст ли это автостарт транспорта не с точек старта,а с точек,в каких транспорт был во время сохранения?
Применение команды enable_thread_saving включает сохранение значений переменных скрипта 0@...31@ при сохранении игры.
Чтобы транспорт появлялся в нужных координатах, надо в скрипте постоянно записывать координаты транспорта в какие-то переменные, а в начале скрипта прописать команду телепорта в эти координаты (если транспорт существует).
 
laggthДата: Среда, 28.06.2023, 18:02 | Сообщение # 411
Группа: Пользователи
Сообщений: 77
Статус: Offline
Тут с кусками кода из твоего скрипта трамы появляются,считывая id из памяти,но,если выкинуть водителя,то трамы останавливаются и дальше не едут,пока не перезапустишь их путём нажатия "2" субмисиия и сразу же после этого её отмены. (В моих скритптах трамы ездили даже если занять место водилы(без водил).Хотя это получилось случайно,тк мне водилы особо не нужны были тогда)).

https://pastebin.com/TiZ9iMuc

Как заставить трамы ездить даже без водил с остановками по плану скрипта?


Сообщение отредактировал laggth - Среда, 28.06.2023, 18:04
 
Den_spbДата: Суббота, 01.07.2023, 00:45 | Сообщение # 412
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата laggth ()
Как заставить трамы ездить даже без водил с остановками по плану скрипта?

После того, как водитель покинет поезд, надо применить к поезду команду 06DD (плавно разогнаться до указанной скорости и двигаться с этой скоростью).
Можно применять эту команду в цикле (постоянно).


Код
if
    056E:   car 0@ defined
then
    06DD: set_train 0@ speed 15.0
end
 
laggthДата: Суббота, 01.07.2023, 16:28 | Сообщение # 413
Группа: Пользователи
Сообщений: 77
Статус: Offline
:VYGRUZKA_MODELEI
if
&0(7@,1i) <> 0
jf @KONEC_SKRIPTA
Model.Destroy(&0(7@,1i))
7@ += 1
jump @VYGRUZKA_MODELEI

:KONEC_SKRIPTA
-----------------------...--------------
&0(7@,1i) <> 0  -что это означает?

У меня нет там конца скрипта,но если начинается миссия,арестован,или сдох ,-то car 0@ исчезает .

https://pastebin.com/D2GVmzV4

Исправь пожалуста этот скрипт,чтобы было правильно(движение с остановками в сферах с водителями или без).,если можно.


Сообщение отредактировал laggth - Воскресенье, 02.07.2023, 03:37
 
Den_spbДата: Суббота, 01.07.2023, 19:58 | Сообщение # 414
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата laggth ()
&0(7@,1i) <> 0  -что это означает?
Мы последовательно проверяем адреса памяти, в которых записаны ИД моделей локомотива, 1 вагона, 2 вагона.
Если записан 0, то этого вагона нет - мы достигли конца состава.
Подробно можно почитать тут: https://sannybuilder.com/forums/viewtopic.php?id=18

Цитата laggth ()
движение с остановками в сферах с водителями или без
А может проще не переделывать скрипт, а вообще водителей не создавать в твоих трамваях?
Но надо знать ИД модели трамвая.
Например, ИД 537.
Тогда убираем водителей так:


Код
0A8C: write_memory 0x6F7863 size 2 value 537 virtual_protect 1
После этой команды в поездах, локомотив которого имеет модель 537, водители создаваться не будут.
 
laggthДата: Воскресенье, 02.07.2023, 12:46 | Сообщение # 415
Группа: Пользователи
Сообщений: 77
Статус: Offline
Пошло вроде.Но трам витязь не перекрашивается. команды не сработали-

:SOZDANIE_POEZDA
jump @NONAME_79

:NONAME_79
wait 0
06D8: 0@ = create_train_at 2850.5901 -1120.7035 24.7013 type 21@ direction 1   //las kalinas hotel1
0229: set_car 0@ primary_color_to 6 secondary_color_to 1
0186: 2@ = create_marker_above_car 0@
0165: set_marker 2@ color_to 4
078A: 22@ = get_train 0@ carriage 1 handle
0229: set_car 22@ primary_color_to 6 secondary_color_to 1
078A: 23@ = get_train 0@ carriage 2 handle
0229: set_car 23@ primary_color_to 6 secondary_color_to 1
06DC: set_train 0@ acc 10.0
06DD: set_train 0@ speed 16.0
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
jump @VYGRUZKA_MODELEI

:VYGRUZKA_MODELEI
wait 0
if
&0(7@,1i) <> 0
jf @prov_1
Model.Destroy(&0(7@,1i))
7@ += 1
jf @VYGRUZKA_MODELEI

=========================
Надо ли на train-овые скрипты добавлять команду "enable_thread_saving" ??

=========================================

В скрипте на загрузку id из памяти поезд не появляется если стоит тип 0 на загрузке -
https://pastebin.com/2hVisxt5


Сообщение отредактировал laggth - Вторник, 04.07.2023, 04:23
 
Den_spbДата: Вторник, 04.07.2023, 20:17 | Сообщение # 416
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline

Цитата laggth ()
Пошло вроде.Но трам витязь не перекрашивается. команды не сработали-
Так эти трамваи вроде текстурами покрашены. Тогда цвет командой не поменять.

Цитата laggth ()
Надо ли на train-овые скрипты добавлять команду "enable_thread_saving" ??
Эту команду надо использовать, если нужно сохранить значения переменных скрипта при сохранении игры. Например, можно создать скрипт, создающий несколько банковских счетов для игрока. Тогда при сохранении игры будет сохраняться количество денег на этих счетах. Или можно сделать скрипт бензина и сохранять количество бензина в автомобиле игрока. И т.д.

Цитата laggth ()
В скрипте на загрузку id из памяти поезд не появляется если стоит тип 0 на загрузке -https://pastebin.com/2hVisxt5
Я не вижу в коде ничего такого, что изменило бы его работу, если тип поезда 0.
Попробуй протестировать скрипт.
Например, с помощью команд добавления денег игроку.
После блока загрузки моделей добавляем игроку 10$.
0109: player $PLAYER_CHAR money += 10
После выгрузки 100$
0109: player $PLAYER_CHAR money += 100
После создания поезда 1000$.
0109: player $PLAYER_CHAR money += 1000
Если счет увеличится, например на 110$, значит загрузка и выгрузка сработала, а создание поезда - нет. Определив, какой блок не работает, можно дальше изучить его и найти причину.
 
laggthДата: Суббота, 08.07.2023, 14:48 | Сообщение # 417
Группа: Пользователи
Сообщений: 77
Статус: Offline
Cкольмо может быть пассажирских мест в freight freibox fraiflat ,и в моделях,поставленных на новые id ,с их настройками Vehicles.ide ? Можно ли в этих вагонах создавать пассажиров,не вылетит ли игра?

Сообщение отредактировал laggth - Суббота, 08.07.2023, 14:49
 
Den_spbДата: Вторник, 11.07.2023, 22:12 | Сообщение # 418
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата laggth ()
Cкольмо может быть пассажирских мест в freight freibox fraiflat

Не знаю. Я думаю что в вагон влезет столько же людей, сколько помещается в другие виды транспорта.
Можно поставить эксперимент.
С помощью программы SATL или скрипта подменить модель локомотива или вагона моделью какого-то четырехместного легкового автомобиля.
Затем скриптом создать поезд, в котором локомотивом или вагоном будет четырехместный автомобиль.
Далее скриптом создать водителя и пассажиров и посадить их внутрь - если получится, то четыре человека получается в вагоне могут быть.
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
  • Страница 28 из 28
  • «
  • 1
  • 2
  • 26
  • 27
  • 28
Поиск: