[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder (Вы можете получить ответы на вопросы по SB)
Вопросы по скриптингу Sanny Builder
wmysterio
Администраторы
Скриптер
22.11.11 21:52
Offline
Если у вас возник вопрос по скриптингу Sanny Builder, обращайтесь! Мы постараемся решить вашу проблему wink Это ещё не значит, что все прям бросятся решать во чтобы то не стало, но ответ вы сможете вы получить как вариант решения или как невозможность или сложность решения.
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ! ПРОСЬБА КОД СКРИПТОВ ПОМЕЩАТЬ В КОНСТРУКЦИЮ КОДА:

или

Также указывайте полный код скрипта, иначе причина ошибок может быть и не выявлена.
Прикрепления: 0248203.png(0.9 Kb) · 9085525.png(0.2 Kb)

Slivkin-Sergey
Модераторы
30.12.17 20:56
Offline
У меня ещё одна проблема, а именно - не получается создать толпу людей. Когда создаю много актёров, некоторые из них начинают сворачиваться в шарики - ну вы наверняка знаете, такой обёрнутый текстурами комок, висящий на уровне живота. Когда уменьшаю кол-во людей, актёры выправляются. В итоге пришлось большую часть толпы убрать. Получается, у игры есть какое-то ограничение на количество актёров в кадре? Есть ли способы его устранить?

wmysterio
Администраторы
Скриптер
31.12.17 02:39
Offline
Цитата Slivkin-Sergey ()
ну вы наверняка знаете, такой обёрнутый текстурами комок
Знаю о такой штуке, но у меня как-то ни разу такого эффекта не наблюдалось. Может со скриптом что-то не так, или игра реагирует так на скрипт.

Цитата Slivkin-Sergey ()
Есть ли способы его устранить?
"Когда уменьшаю кол-во людей, актёры выправляются." © Slivkin-Sergey

Slivkin-Sergey
Модераторы
08.01.18 11:32
Offline
Ну ладно, я просто думал, может, это какая-то известная проблема и уже придумали, как её обойти, чтоб создавать толпы в миссиях.

DromeoStalker
Проверенные
15.02.18 12:36
Offline
Ребят, как можно измерить расстояние между игроком и заданной точкой? Хочу расстояние вывести на экран

Добавлено (15.02.18, 12:36)
---------------------------------------------
И еще вопрос - скриптом можно загрузить объекты и части карты, но как скриптом можно сделать лод? Суть в том, что надо в одной миссии на фоне прорисовать остров вдалеке, и даже прописывая самому объекту большое расстояние прорисовки, как у лода, он все равно не прорисовывается...


wmysterio
Администраторы
Скриптер
15.02.18 15:04
Offline
Цитата DromeoStalker ()
Ребят, как можно измерить расстояние между игроком и заданной точкой?
Есть 2 основных способа:
00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
0509: $dist = distance_between_XY 0@ 1@ and_XY 0.0 0.0
// или
050A: $dist = distance_between_XYZ 0@ 1@ 2@ and_XYZ 0.0 0.0 0.0
Цитата DromeoStalker ()
И еще вопрос - скриптом можно загрузить объекты и части карты, но как скриптом можно сделать лод?
лод - это тот же объект, так что можно загрузить его как обычный объект. Далее нормальному объекту нужно присвоить статус лода:
$obj_Normal = Object.Create($Model, 0.0, 0.0, 0.0)
$obj_LOD = Object.Create($LOD_Model, 0.0, 0.0, 0.0)
0827: assign_object $obj_Normal to_lod_object $obj_LOD

// включаем нормальный объект и отключаем лод:
0750: set_object $obj_Normal visibility 1
0382: set_object $obj_Normal collision_detection 1
0750: set_object $obj_LOD visibility 0
0382: set_object $obj_LOD collision_detection 0

// включаем лод и отключаем нормальный объект:
0750: set_object $obj_Normal visibility 0
0382: set_object $obj_Normal collision_detection 0
0750: set_object $obj_LOD visibility 1
0382: set_object $obj_LOD collision_detection 1


Есть ещё способы изменения одного объекта на другой, но работал он у меня только в оригинальной игре:
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #CRACKFACT_SFS visibility 1
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #CRACKFACT_SFS visibility 1

0363: create_static_object_at -2185.49 -215.55 34.31 radius 40.0 model #CF_EXT_DEM_SFS visibility 0
0363: create_static_object_at -2185.49 -215.55 34.31 radius 40.0 model #LODEXT_DEM_SFS visibility 0
Цитата DromeoStalker ()
он все равно не прорисовывается...
Нужно грамотно модельку сделать или как-то в generic-ах её прописать, чтобы её было видно всегда, как бочки и другие мелкие объекты.

DromeoStalker
Проверенные
15.02.18 22:22
Offline
Спасибо большое, попробую)

Добавлено (15.02.18, 21:57)
---------------------------------------------
С лодами не вышло( Суть была в том, что я пытался прорисовать остров за картой в океане, и он выступал лишь в качестве недоступного ноге игрока фона (скрипт не давал туда добраться), на карту поставить не вариант, но уж надеялся, что так прорисует... есть ли какие-то варианты решения проблемы?

Добавлено (15.02.18, 22:22)
---------------------------------------------
Лоды как бы рисуются, нормально, но только в рамках карты. С расстоянием тоже траблы. Вывести на экран удалось, но цифры просто огромные... это не те единицы, которые мы знаем по игре. там в районе миллиона. Пробовал вычитать, делить, чето пока никак...


wmysterio
Администраторы
Скриптер
16.02.18 00:14
Offline
Цитата DromeoStalker ()
пытался прорисовать остров за картой в океане
Нужно
Цитата wmysterio ()
как-то в generic-ах её прописать
Если делать через обычный IPL или создавать скриптом, то объект не будет виден, как и должно. Знаю, что способ есть, прописав объект как "общий". Вот только нормальных статей на эту тему не находил.
Цитата DromeoStalker ()
но цифры просто огромные
Нужно либо конвертировать значения в тип int (008C, 008E, 0090, 0092), либо выводить через специальные опкоды, поддерживающие float. Таких, как 07FC.

DromeoStalker
Проверенные
24.02.18 13:29
Offline
В общем, извращаться приходится всячески... Прописал создание объекта скриптом, но проблем миллионы. Первая - коллизия, которая из-за таких размеров лагает. Центр объекта на краю карты, и иначе не сделать. Как сделать объект без коллизии, но чтобы был виден? Если кол будет пустой, то объект не будет прорисовываться, плотность вообще не нужна. И когда улетаешь дальше в море за 300 метров от центра кола - объект пропадает. Бить объект на части бессмысленно.

wmysterio
Администраторы
Скриптер
24.02.18 19:01
Offline
Цитата DromeoStalker ()
Как сделать объект, чтобы был виден?
Разрезать объект на несколько частей. Слишком большие объекты тоже не надо делать.
Цитата DromeoStalker ()
Как сделать объект без коллизии
В ColEditor-е есть опция пустого кола.

DromeoStalker
Проверенные
26.02.18 13:01
Offline
Цитата wmysterio ()
В ColEditor-е есть опция пустого кола.

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

Добавлено (26.02.18, 13:01)
---------------------------------------------
Следующий вопрос - как заморозить игрока по одной из осей? Чтобы он ходил только влево-вправо? Или какой-нибудь другой персонаж, может, можно ему простенькое управление построить. Суть в том, что хочу 2д сделать на движке, как в марио)


nfsmaster01
Пользователи
12.03.18 10:47
Offline
В общем у меня возникла необходимость поменять на мини-карте значок квадратика на значок капельки, как у гг. Я нашёл опкод 075B: zoom_radar и поставил 1. Получилось то, что я хотел, но до использования транспорта. Как только гг садиться в машину, то "капельки" опять становятся "квадратиками". Существует ли способ отобразить "капельки" вместо "квадратиков", когда гг находится в транспорте?

Dyabda
Пользователи
11.05.18 08:36
Offline
Здравствуйте. В SB есть такой опкод 05E2: Он заставляет актёра атаковать другого актёра. Как можно заставить актёра перестать атаковать?

Vital
Модераторы
Скриптер
13.05.18 16:59
Offline
Цитата Dyabda ()
Как можно заставить актёра перестать атаковать?


Если не ошибаюсь, например вот так:
Код
0687: clear_char_tasks $PLAYER_ACTOR


В SB опкод выглядит так:
Код
0687: clear_actor $PLAYER_ACTOR task


Это для очистки текущей задачи. Для очищения и изменения типа отношений к актёру/типу актёров есть другие опкоды.
2109: create_special_actor $VITAL in_front_of_computer

cybergev
Пользователи
12.06.18 15:34
Offline
Здарова модеры и скриптеры(если это не одно и тоже cheesygrin )! Я - самоучка копавшийся в коде с помощью блокнота(звучит не очень но блокнот вещь) и мне нужна ваша помощь. Я заметил что у Тес и узи имеют общий навык владения и я понял, что один навык может использоваться несколькими оружиями. Я хочу сделать общий навык пистолета и пистолета с глушаком, общий навык ракетниц, и Общий навык винтовки и св(там даже база для этого есть, но разработчики ее отключили). Также хотелось бы создать навыки для метального(Ростом навыка дальше кидаешь) и ближнего (Растет урон и скорость), если конечно же это возможно. Я облазил всю датку и не нашел ничего отвечающего за распределение навыков(только ускорители роста со стартовыми скилами и сообщения о повышении уровня). Я перерыл весь нет в поисках инфы, но нигде про навыки не говорят ВООБЩЕ!. Я надеюсь вы мне поможете cry

Ps. Я угробил на это месяц! cry
Отредактировал cybergev - Вторник, 12.06.18, 15:38

etwnp
Пользователи
12.06.18 19:15
Offline
Простой вопрос, почему опкод не работает?

Код
05D1: AS_actor 8@ drive_car 10@ to 21@ 22@ 23@ speed 15.0 0 0 0


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

wmysterio
Администраторы
Скриптер
13.06.18 10:58
Offline
Цитата cybergev ()
и ближнего (Растет урон и скорость), если конечно же это возможно.
В файле такое настроить скорее-всего нельзя. Параметры рассчитываются отдельно от огнестрельного и метательного оружия. Эксперименты с ними вряд ли что-то дадут.
Цитата etwnp ()
Простой вопрос, почему опкод не работает?
А как Вы его используете?

cybergev
Пользователи
14.06.18 17:39
Offline
wmysterio, а что насчёт общих навыков и где это настраивать?

wmysterio
Администраторы
Скриптер
15.06.18 21:25
Offline
Цитата cybergev ()
а что насчёт общих навыков и где это настраивать?
Нет общих навыков для них. Это совсем разные оружия. Можно скриптом что-то похожее сделать:
Код
{$CLEO}
0000: NOP

while true
wait 0
    0653: 0@ = float_stat 69 // Pistol Skill
    0653: 1@ = float_stat 70 // Silenced Pistol Skill
    if
    8045:   not 0@ == 1@ // float
    then  
        if
        0025:   1@ > 0@ // float
        then
        0087: 0@ = 1@ // float
        end
    062A: change_float_stat 69 to 0@ // Pistol Skill
    062A: change_float_stat 70 to 0@ // Silenced Pistol Skill
    end
end

Dyabda
Пользователи
25.06.18 12:03
Offline
Здравствуйте. Есть вопрос по поводу массивов, а именно: Можно ли как-нибудь установить размер массива при помощи переменной? Например: $Var($Var_index, 0@ i)?

wmysterio
Администраторы
Скриптер
25.06.18 18:05
Offline
Цитата Dyabda ()
Можно ли как-нибудь установить размер массива при помощи переменной?
Нет, нельзя. Нужно всегда точно знать какой размер массива и его тип.

Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder (Вы можете получить ответы на вопросы по SB)
Поиск: