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

или

Также указывайте полный код скрипта, иначе причина ошибок может быть и не выявлена.

Внимание! От этого момента тема предназначена ещё и для заказов скриптов и миссий. Я это сделал по одной причине - пользователи постоянно путают/или не ищут темы и приводят заказ здесь. Теперь этой путаницы не будет. Здесь можно проводить заказы, но Вы должны указать в начале поста текст "НА ЗАКАЗ". Постарайтесь как можно детальнее объяснить суть скрипта.
Прикрепления: 0248203.png(1Kb) · 9085525.png(0Kb)

wmysterio
Администраторы
Скриптер
24.06.14 18:04
Offline
Цитата Sweeper ()
То это должно быть название файла такое "FARM_01.cm"?
Да, файл должен иметь такое название. Этот файл должен находится в папке "CLEO".

Sweeper
Проверенные
24.06.14 21:05
Offline
Ничего не понимаю: только что скрипт работал, теперь снова не работает.
Вот посмотри:




Вроде работал, потом вдруг перестал, после того как я подправил координаты и всякие мелочи. Ну что опять не так?

Добавлено (24.06.14, 20:05)
---------------------------------------------
Название миссии выводится, которое в стартере


wmysterio
Администраторы
Скриптер
24.06.14 22:15
Offline
Цитата Sweeper ()
Ничего не понимаю: только что скрипт работал, теперь снова не работает.
Ошибки:
1) нужно убрать символ _ в слове "not_actor":
Код
8741: not_actor $PLAYER_ACTOR busted
Варианты решения:
1) Файл FARM_01 не находится в папке Cleo или не имеет расширение *.cm
2) Судя по-коду, идёт затемнение в стартере, но в миссии обратного процесса нет. Нужно добавить в миссию:
actor.PutAt($PLAYER_ACTOR, -90.9006, -16.2871, 3.1094)     
actor.Angle($PLAYER_ACTOR) = 295.0139150     
camera.SetPosition(-86.9811, -22.5311, 3.1172, 0.0, 0.0, 0.0)    
camera.PointAt(-88.701, -14.8265, 3.1094, 2)    
fade 1 1000 // ЭТО
wait 1000 // И ЭТО

BoPoH
Друзья
24.06.14 23:47
Offline
Цитата wmysterio ()
1) нужно убрать символ _ в слове "not_actor":

Ну, нельзя назвать это ошибкой. Всё-таки SB учитывает сам опкод, а не его описание.

Sweeper
Проверенные
25.06.14 00:09
Offline
wmysterio, да ты чёртов гений, скрипт снова работает smile
У меня ещё буквы отображает неправильно. там какие-то крючки в диалоге.
Вот когда я написал "старый друг" через rus2gxtcoder, то мне выдало вот это "C¦apЁќ љpy™" в игре тоже так выдает, а когда сам написал "CTAPSN DPYF", то и в игре написало нормально. Что тут не так?
GxtHook.cleo у меня есть, я его кинул в папку в CLEO/CLEO_TEXT, туда вроде надо?
Отредактировал Sweeper - Среда, 25.06.14, 00:23

wmysterio
Администраторы
Скриптер
25.06.14 00:13
Offline
Цитата Sweeper ()
У меня ещё буквы отображает неправильно. там какие-то крючки в диалоге.
Смените шрифты от Smarte`s Localization. Или настройте кодировку в rus2gxtcoder(я не знаю точно как это делается, так как пользовался исключительно русификатором от SL )

Sweeper
Проверенные
25.06.14 12:45
Offline
Цитата wmysterio ()
настройте кодировку в rus2gxtcoder
Я читал справку - это дело сложное

Добавлено (24.06.14, 23:34)
---------------------------------------------

Цитата Sweeper ()
Смените шрифты от Smarte`s Localization.
Большущее спасибо  happy , чтобы только я делал без твоего сайта.

Добавлено (25.06.14, 11:33)
---------------------------------------------
Кстати, кто-нибудь использовал этот опкод?

Код
0823: AS_actor 1@ greet_actor $PLAYER_ACTOR 1.0 5
Последняя цифра 5 означает вариант приветствия.

Добавлено (25.06.14, 11:45)
---------------------------------------------
Как мне через стартер запустить миссию из папки под названием MIS_FARM?


wmysterio
Администраторы
Скриптер
25.06.14 13:25
Offline
Цитата Sweeper ()
Как мне через стартер запустить миссию из папки под названием MIS_FARM?
Код
0A94: start_custom_mission "MIS_FARM\Название Вашей миссии"
Но эта папка должна находится в Папке Cleo:
Прикрепления: 3409867.png(1Kb)

Sweeper
Проверенные
25.06.14 13:50
Offline
Цитата wmysterio ()
Но эта папка должна находится в Папке Cleo:
Спасибо.

Ещё вопрос: я создаю актеров на складе. они там что-то делают, болтают и всё-такое. Как мне сделать, чтобы с 22-00 по 6-00 их там не было? Как бы рабочее время сделать хочу.

wmysterio
Администраторы
Скриптер
25.06.14 14:07
Offline
Цитата Sweeper ()
Как мне сделать, чтобы с 22-00 по 6-00 их там не было? Как бы рабочее время сделать хочу.
самый простой способ - очистить местность от актёров в той зоне:
Код
:START

//
00BF: 0@ = current_time_hours, 1@ = current_time_minutes
if OR
0@ > 21
6 > 0@
then
0395: clear_area 0 at 681.8004 -474.1063 15.5363 radius 30.0
end
// здесь уже нужно проверить когда нужно создавать актёров заново

jump @START

Sweeper
Проверенные
25.06.14 16:15
Offline
А можно через while?
Код
00BF: 0@ = current_time_hours
while 0@>21 and 0@<6
0605: actor 203@ perform_animation "IDLE_CHAT" IFP "PED" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1    
0967: actor 203@ move_mouth -1 ms
wait 800
0605: actor 204@ perform_animation "IDLE_CHAT" IFP "PED" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1    
0967: actor 204@ move_mouth -1 ms
wait 700
0605: actor 205@ perform_animation "IDLE_CHAT" IFP "PED" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1    
0967: actor 205@ move_mouth -1 ms
      if and
          actor.dead(203@)
          actor.dead(204@)
          actor.dead(205@)
      then
          break
      end
end
// действия, если актеры мертвы

А если я вставлю ещё код, чтобы актеры ходили, это тоже будет зацикливаться?
И как прекратить анимацию, которую делает актер?
Отредактировал Sweeper - Среда, 25.06.14, 16:32

BoPoH
Друзья
25.06.14 20:55
Offline
Цитата Sweeper ()
А если я вставлю ещё код, чтобы актеры ходили, это тоже будет зацикливаться?

Да.
Цитата Sweeper ()
И как прекратить анимацию, которую делает актер?

Возможно, подойдёт опкод:
Код
0687: clear_actor $PLAYER_ACTOR task

Sweeper
Проверенные
26.06.14 13:05
Offline
А можно сделать локальные переменные больше 33@? Я в мейне видел, а в скрипте почему-то нельзя.

Yurko_UA
Модераторы
Модератор
26.06.14 15:27
Offline
Как в клео-скрипте проверить, сфотографировал ли ГГ машину/обьект?

Добавлено (26.06.14, 14:27)
---------------------------------------------

Цитата Sweeper ()
А можно сделать локальные переменные больше 33@? Я в мейне видел, а в скрипте почему-то нельзя.
В клео-миссиях/мэйновских миссиях можно вроде от 0 до 1024 (32, 33 таймеры).
В клео-скриптах только 0 - 33 (32, 33 таймеры)
В клео-скриптах под мобильную версию СА можно 0 - 41 (40, 41 - таймеры).

А в тройке только до 16-ти.

Slivkin-Sergey
Модераторы
26.06.14 18:23
Offline
Цитата Yurko_UA ()
Как в клео-скрипте проверить, сфотографировал ли ГГ машину/обьект?

Поищи по слову photographed, найдёшь пару опкодов.
---
У меня проблема. Есть скрипт:
Код
{$CLEO}
0000:
repeat
wait 0
until 0AB0: 80
04ED: "EXAMPLE"
wait 500
0812: AS_actor $PLAYER_ACTOR perform_animation "ABSEIL" IFP_file "EXAMPLE" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 time -1 // versionB
wait 15000
0A93:

И есть файл example.ifp (скопированный ped.ifp в той же папке). Заголовок в Anim Manager'е сменил. При нажатии на кнопку не вылетает, но и анимация не воспроизводится почему-то.

Добавлено (26.06.14, 17:19)
---------------------------------------------
А если пытаюсь добавить .ифп файл в гта3.имг, то после нажатия вылетает.

Добавлено (26.06.14, 17:23)
---------------------------------------------
А вот такой скрипт:

Код
{$CLEO}
0000:
repeat
wait 0
until 0AB0: 80
04ED: "EXAMPLE"
repeat
wait 0
until 04EE: "EXAMPLE"
Player.Money($PLAYER_CHAR) += 100000
0A93:

вызывает зависание и исключение по адресу 2196.

wmysterio
Администраторы
Скриптер
26.06.14 19:22
Offline
Цитата Sweeper ()
И как прекратить анимацию, которую делает актер?
Можно заставить выполнять ту же анимацию, но указав время - 0:
Код
0605: actor 204@ perform_animation "IDLE_CHAT" IFP "PED" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 0
Другой метод - переместить актёра на 1 единицу вверх и заставить упасть тем самым.
Цитата Yurko_UA ()
Как в клео-скрипте проверить, сфотографировал ли ГГ машину/обьект?
Код
0833:   object 107@ photographed
На транспорт пока не нашел.
Цитата Slivkin-Sergey ()
А если пытаюсь добавить .ифп файл в гта3.имг, то после нажатия вылетает.
если ifp в img-архиве, то нужно ещё и загружать анимацию. Также нужно следить, чтобы анимации имели разные имена(были уникальные)

BoPoH
Друзья
26.06.14 20:48
Offline
Цитата wmysterio ()
Можно заставить выполнять ту же анимацию, но указав время

Повторное воспроизведение анимации не работает, если эта анимация уже воспроизводится, насколько мне известно.
Цитата wmysterio ()
Другой метод - переместить актёра на 1 единицу вверх и заставить упасть тем самым.

Только при условии использования опкода 0605. Другие версии воспроизведения анимации не реагируют на это.
Цитата wmysterio ()
На транспорт пока не нашел.

Можно, наверное, прикрепить к машине какой-нибудь объект и сделать его невидимым, а затем применить тот же опкод, для прикреплённого объекта.

wmysterio
Администраторы
Скриптер
26.06.14 21:28
Offline
Цитата BoPoH ()
Повторное воспроизведение анимации не работает, если эта анимация уже воспроизводится, насколько мне известно.
Я был не прав, когда говорил, что нужно устанавливать 0. Нужно указывать в time 1, чтобы прекратить анимацию. Также нужно во все параметры после фрейм-дельты все параметры установить на 0.

Я делал тесты:
Код
{$CLEO }
wait 3000
0812: AS_actor $PLAYER_ACTOR perform_animation "IDLE_chat" IFP "PED" framedelta 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time 6670  // versionB
wait 1500
0812: AS_actor $PLAYER_ACTOR perform_animation "IDLE_chat" IFP "PED" framedelta 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time 1  // versionB
0A93: end_custom_thread
Срабатывало для опкодов 0812, 0A1A и 0605.

Также работает и
Код
0687: clear_actor $PLAYER_ACTOR task
Так что есть 2 варианта решения, которые в 99.9% прекращают воспроизведение анимации.
Цитата BoPoH ()
Можно, наверное, прикрепить к машине какой-нибудь объект и сделать его невидимым, а затем применить тот же опкод, для прикреплённого объекта.
Хорошее решение. Нужно потестить.

Sweeper
Проверенные
27.06.14 12:59
Offline

Игра работает секунд 5-7 потом вылетает, что тут не так может быть?

Slivkin-Sergey
Модераторы
27.06.14 14:49
Offline
Метка внутри высокоуровневой конструкции?.. Оригинально.

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