[ Новые сообщения · Участники · Правила форума · Поиск · 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)

kubensk0019
Пользователи
16.02.16 18:36
Offline
я подобным образом пробовал, но вроде не сработало. ладно пробну ещё раз спс

Slivkin-Sergey
Модераторы
22.02.16 19:35
Offline
Всем привет, снова я. Такой вопрос: вот в начале оригинального мейна есть длинный список из трёхсот с чем-то строк: DEFINE OBJECT IMYA_OBJEKTA. Правильно ли я понимаю, что все модели, объявленные в этом списке, будут загружаться вместе с игрой, автоматически, и загружать их опкодом не нужно?

mfisto
Друзья
22.02.16 20:54
Offline
Эти модели в мейне образуют список быстрого вызова и все, грузить их нужно, но смотря каким опкодом.

Slivkin-Sergey
Модераторы
22.02.16 21:06
Offline
Ну вот я смотрел на примере внешнего скрипта VENDING, там используется модель CJ_JUICE_CAN. Она есть в списке, но при этом в самом скрипте нигде не загружается.

mfisto
Друзья
22.02.16 21:40
Offline
Вероятно она не загружается поскольку ничего не создается, а используется существующий объект.

wmysterio
Администраторы
Скриптер
22.02.16 22:42
Offline
Цитата Slivkin-Sergey ()
Ну вот я смотрел на примере внешнего скрипта VENDING, там используется модель CJ_JUICE_CAN. Она есть в списке, но при этом в самом скрипте нигде не загружается.
Вообще-то, для создания объекта, грузить модель не обязательно, поскольку он загружается со временем. Если уже нужно мгновенно создать объект без "fade-эффекта", тогда нужно загружать модель.

Кстати, будет скоро новый урок.

К тому же, я делаю свой чистый мейн - без миссий но с возможностями. Нужно будет для проекта "Неизвестный" )

Slivkin-Sergey
Модераторы
23.02.16 18:57
Offline
Цитата wmysterio ()
Вообще-то, для создания объекта, грузить модель не обязательно, поскольку он загружается со временем. Если уже нужно мгновенно создать объект без "fade-эффекта", тогда нужно загружать модель.

Не понимаю, что такое "fade-эффект", но в том скрипте было так:
Код
0@ = Object.Init(#CJ_JUICE_CAN, 0.0, 0.0, 0.0)

Я не знаю, правда, чем отличается.Init от .Create, может, дело в этом.

Добавлено (23.02.16, 12:25)
---------------------------------------------

Цитата wmysterio ()
К тому же, я делаю свой чистый мейн - без миссий но с возможностями. Нужно будет для проекта "Неизвестный" )

Такой ведь вроде есть уже? По-моему, даже здесь же.

Добавлено (23.02.16, 17:57)
---------------------------------------------
Кстати, если кто-нибудь знает, хотелось бы узнать про опкод 07E4 (get_model_dimensions). Что он вообще делает, какие измерения и углы получает? На gtag просто описания параметров, что делает сам опкод, не написано.


wmysterio
Администраторы
Скриптер
23.02.16 20:21
Offline
Цитата Slivkin-Sergey ()
Не понимаю, что такое "fade-эффект", но в том скрипте было так:
Есть такой опкод для актёра:
Actor.DestroyWithFade($ACTOR), в котором есть этот эффект. Он медленно исчезает. В случаи с объектом - он медленно появляется, как бы делает переход от прозрачного объекта к обычному.
Цитата Slivkin-Sergey ()
Я не знаю, правда, чем отличается.Init от .Create, может, дело в этом.
Способом размещения объекта. Init устанавливает объект без смещения и зависит от размера самого объекта.
Цитата Slivkin-Sergey ()
Такой ведь вроде есть уже? По-моему, даже здесь же.
Тот крайне не стабилен. Во многих случаях игра вылетает при использовании внешних скриптов. Свой мейн я делаю скорее для разработчиков, чтобы в нём легко было разобраться, а в том куча ненужного мусора в коде, который я убрал. Сам мейн очень стабилен получился. Я его отредактировал как следует.
Цитата Slivkin-Sergey ()
Кстати, если кто-нибудь знает, хотелось бы узнать про опкод 07E4 (get_model_dimensions). Что он вообще делает, какие измерения и углы получает? На gtag просто описания параметров, что делает сам опкод, не написано.
Получает размер(значения левого заднего и нижнего угла и правого переднего и верхнего угла относительно центра) модели. Использовался в скрипте "Импорт-Экспорт" для правильного размещения автомобиля на палубе корабля.

mfisto
Друзья
24.02.16 04:37
Offline
Короче говоря, суть не в том загружается модель или нет. В main объекты, перечисленные вначале, просто нужны для быстрого вызова и на этом все.

Slivkin-Sergey
Модераторы
29.02.16 19:34
Offline
Цитата wmysterio ()
В случаи с объектом - он медленно появляется, как бы делает переход от прозрачного объекта к обычному.

Никогда до этого не видал такого опкода. А какой это?

Кстати, вот ещё один вопрос вдруг возник, я даже удивился, почему раньше им не задался: в чём преимущества внешних скриптов перед обычными потоковыми?

wmysterio
Администраторы
Скриптер
01.03.16 05:35
Offline
Цитата Slivkin-Sergey ()
Никогда до этого не видал такого опкода. А какой это?
Это когда создавать объект, предварительно не загрузив модель.
Цитата Slivkin-Sergey ()
в чём преимущества внешних скриптов перед обычными потоковыми?
Ну, самое очевидное - нельзя запускать один и тот-же поток несколько раз одновременно, в то время как внешние скрипты имеют один поток, но могут одновременно выполнятся. К примеру, поток ИИ парашюта можно одновременно выполнять без каких либо последствий. Внешние скрипты могут "жить сами по себе". Те же автоматы с едой вовсе не требуют загружать скрипт. Просто он привязан к конкретной модели и выполняется при нахождении игрока в определённом радиусе от неё.

Slivkin-Sergey
Модераторы
02.03.16 19:48
Offline
Цитата wmysterio ()
Это когда создавать объект, предварительно не загрузив модель.

Не знал, что так можно.

Спасибо за разъяснения. Правда, у меня тут ещё одна проблема возникла (как обычно, блин), может, ты тоже что-то знаешь: конкретный кусок карты не загружается. Вот просто, тупо ни в какую. Загружаются просто лоды, текстуры и коллизия - только в мечтах. Причём я помещаю туда игрока, делаю refresh_game_renderer, - нет, игре всё по-барабану. Персонаж перемещается туда и начинает бесконечно падать. Упал вниз - телепортировался назад, а коллизии и текстур нет, падай ещё. И радар при этом при всём тоже не работает, то есть он весь прозрачный, кроме метки игрока, как будто я в интерьере, хотя происходит это на улице (select_interior 0 я делал). Я уже голову сломал в попытках разобраться - ни в какую...

wmysterio
Администраторы
Скриптер
03.03.16 07:03
Offline
Slivkin-Sergey, для камер тоже освежал местность?

Slivkin-Sergey
Модераторы
03.03.16 16:15
Offline
wmysterio, я там намеренно убрал все скриптовые камеры, сделал Restore_WithJumpCut - всё равно ни в какую. Вот сейчас ещё экспериментальным путём выяснил, что область прогружается лишь тогда, когда поблизости есть скриптовый актёр (с хэндлом, не пешеход). Переустановка игры и CLEО не помогает. А самое интересное, при копировании кода в обычный .cs скрипт (я-то в scr.scm пишу) всё шустренько прогружается без единого актёра.

GoldFish
Пользователи
03.03.16 20:57
Offline
Прив всем, вопрос по точкам путей.
Как они работают?
Поч они посередине дороги когда машины едут по двум полосам дороги?

wmysterio
Администраторы
Скриптер
04.03.16 08:20
Offline
Цитата GoldFish ()
Прив всем, вопрос по точкам путей.
Как они работают?
Поч они посередине дороги когда машины едут по двум полосам дороги?
Потому, что путь имеет тип - для 1-й машины, для 2-х машин и для 4-х машин (одностороннее движение, двустороннее движение, магистрали с 4-мя полосами, до две полосы на каждый участок дороги ). Сам путь имеет точку и находится по центру дороги(обычно так). В зависимости от типа дороги идёт вычисление точки для соответствующей стороны дороги - так сказать ведётся поиск центра каждой полосы дороги. Игра автоматически указывает транспорту по какой стороне дороги или её участка ехать.

GoldFish
Пользователи
05.03.16 01:28
Offline
Цитата wmysterio ()
Потому, что путь имеет тип - для 1-й машины, для 2-х машин и для 4-х машин (одностороннее движение, двустороннее движение, магистрали с 4-мя полосами, до две полосы на каждый участок дороги ). Сам путь имеет точку и находится по центру дороги(обычно так). В зависимости от типа дороги идёт вычисление точки для соответствующей стороны дороги - так сказать ведётся поиск центра каждой полосы дороги. Игра автоматически указывает транспорту по какой стороне дороги или её участка ехать.
мм а как узнать или где найти этот флаг указывающий тип движения по дороги?

wmysterio
Администраторы
Скриптер
05.03.16 10:23
Offline
Цитата GoldFish ()
мм а как узнать или где найти этот флаг указывающий тип движения по дороги?
Я только знаю, что через память можно узнать какая полоса используется, на форуме СБ кто-то писал. В структуре авто вроде можно подучить флаг. Если нужно вплоть до миллиметра указать маршрут, то лучше всего использовать RRR-пути, как я это делал в проекте "Неизвестный". Вот видео:

Другой вариант - по-очереди указывать точки.

KiLLeR96
Друзья
Модератор
05.03.16 13:50
Offline
Как сделать это же, только через память?
Код
009A: 2@ = create_actor_pedtype 4 model #MALE01 at 0.0 0.0 0.0



Slivkin-Sergey
Модераторы
06.03.16 20:20
Offline
Так что, есть ли варианты по моей проблеме? Я до сих пор в растерянности.

Добавлено (06.03.16, 12:47)
---------------------------------------------
Так, я, кажется, понял, в чём дело... Это действительно связано с интерьерами. Сейчас протестирую и, если всё пройдёт успешно, сообщу, чтоб другие не повторяли моей ошибки.

Добавлено (06.03.16, 12:53)
---------------------------------------------
Так точно. Дело в том, что до этого я помещал игрока в другой интерьер, и после возврата в 0 интерьер (на улицу) сделал select_interior 0, но забыл сослать игрока в него опкодом 0860: link_actor $PLAYER_ACTOR to_interior 0. Поэтому-то была прозрачная мини-карта и возникали аномалии с загрузкой - карта загружалась из 0 интерьера, а игрок был в 3.

Добавлено (06.03.16, 19:20)
---------------------------------------------
А вот теперь возникла другая проблема. Недавно я понял, что время, за которое текст будет рисоваться на экране (033E: set_draw_text_position 500.0 300.0 GXT 'TEST'), зависит от мощностей компьютера: чем быстрее он обработает все опкоды стилизации, рассчитает физику, выведет картинку на экран и т.д., тем меньше времени пробудет на экране текст. Я пробовал в CLEo скрипте с помощью переменной-счётчика 33@ замерить длительность выполнения одного и того же цикла вывода текста - результаты каждый раз были разные. В связи с этим вопрос - как сделать, чтобы текст выводился именно столько, сколько нужно, чтобы не зависел от конфигурации и загруженности компа? Может, есть какой-то аналог счётчиков 32@ и 33@ для миссий?


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