Среда, 04.12.2024, 21:58
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Вопросы по созданию модификаций к ГТА СА
Den_spbДата: Суббота, 26.03.2011, 16:46 | Сообщение # 61
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Quote (ILYALION)
А если я скачал 2 скрипта с файлами колизии col, то их уже не объединить в один col архив?
Объединить архивы можно. Открой с помощью Collision Editor один col-архив, затем добавь в него модели из второго архива (нажми Edit - Add и выбери второй col-архив).
 
WallFuckДата: Воскресенье, 27.03.2011, 14:17 | Сообщение # 62
Группа: Проверенные
Сообщений: 56
Статус: Offline
Нет, денис ты не так понял) как их вообще создать?) вот смотри строчку:
Quote
actor.create($MyAct,4,#FAM1,-2400.0,500.8,24.2)

Вот это можеш обьяснить? а то я непонимаю что обозначает $MyAct и #FAM1 и где взять #FAM1(модель) я не понимаю... когда нажимаю на # там этих моделек нету....
 
Den_spbДата: Воскресенье, 27.03.2011, 19:48 | Сообщение # 63
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Quote (WallFuck)
как их вообще создать?
Актёр, транспорт или объект создаются по одному и тому же сценарию (отличаться будут только команды создания):
1.загружаем модель
2.ждём, пока модель не загрузится
3.создаём актёра
4.выгружаем модель
Параметры команды создания актёра:
$MyAct - имя переменной (ячейки памяти), в которую будет записан указатель на созданного актёра.
В клео-скриптах глобальные переменные (со знаком $) не употребляются (исключения: $PLAYER_ACTOR, $PLAYER_CHAR, $ONMISSION и некоторые другие стандартные переменные), вместо них следует использовать локальные переменные: 0@, 1@, 2@ ... 31@.
#FAM1 - название модели (dff-файла). Вместо названия модели с решёткой можно ввести ID номер модели (см. файл peds.ide)
Quote (WallFuck)
когда нажимаю на # там этих моделек нету....
В списке, появляющемся при нажатии # перечислены не все модели.
 
WallFuckДата: Вторник, 29.03.2011, 22:22 | Сообщение # 64
Группа: Проверенные
Сообщений: 56
Статус: Offline
а вот переменные можно использовать только до 31@?
 
Den_spbДата: Среда, 30.03.2011, 01:38 | Сообщение # 65
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Quote (WallFuck)
а вот переменные можно использовать только до 31@?
Да, для каждого скрипта выделен блок в 32 локальные переменные. Есть ещё переменные-таймеры: 32@ и 33@ - значения, записанные в них, автоматически увеличиваются с каждой миллисекундой прошедшего времени на 1.
 
slavig_95Дата: Среда, 30.03.2011, 17:35 | Сообщение # 66
Группа: Пользователи
Сообщений: 3
Статус: Offline
Den_spb, Возможно ли в СА сделать автоинформатор?К примеру к автобусам: при подъезде к остановке нажать клавишу или комбинацию клавиш и начинает проигрываться аудио файл с названием остановки
 
Den_spbДата: Среда, 30.03.2011, 19:01 | Сообщение # 67
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Quote (slavig_95)
Den_spb, Возможно ли в СА сделать автоинформатор?К примеру к автобусам: при подъезде к остановке нажать клавишу или комбинацию клавиш и начинает проигрываться аудио файл с названием остановки
Возможно. Для проверки нажатия клавиш надо использовать опкод 0AB0, а опкоды для воспроизведения собственных звуков можно найти в справке CLEO4.
 
WallFuckДата: Среда, 30.03.2011, 21:56 | Сообщение # 68
Группа: Проверенные
Сообщений: 56
Статус: Offline
Den_spb, а можно ли сделать скрипт чтобы машины на большой скорости не влетали друг в друга? если да то как?

Добавлено (30.03.2011, 21:56)
---------------------------------------------
да и еще можно ли делать переменую с любым названием? например $polmansf

 
Den_spbДата: Среда, 30.03.2011, 22:08 | Сообщение # 69
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Quote (WallFuck)
Den_spb, а можно ли сделать скрипт чтобы машины на большой скорости не влетали друг в друга? если да то как?
Самого интересует этот вопрос, так что возможно такой скрипт появится.

Quote (WallFuck)
да и еще можно ли делать переменую с любым названием? например $polmansf
Как я уже говорил, в CLEO-скриптах глобальные переменные не применяются. При скриптинге в main.scm глобальные переменные использовать можно, в этом случае добавленным переменным можно давать любые названия.
 
WallFuckДата: Среда, 30.03.2011, 22:37 | Сообщение # 70
Группа: Проверенные
Сообщений: 56
Статус: Offline
у меня такой скрипт который раставляет по всему штату посты дпс и там не хватит 31 переменых
 
Den_spbДата: Среда, 30.03.2011, 23:38 | Сообщение # 71
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Quote (WallFuck)
у меня такой скрипт который раставляет по всему штату посты дпс и там не хватит 31 переменых
Так не надо сразу создавать актёров по всему штату. Нужно проверить, к какой из точек игрок ближе всего, и в ней создать актёров. Если игрок переместится к другой точке, то актёров в старом месте нужно удалить, а в новом создать. Из-за этого скрипт немного усложнится, но зато будут рационально использованы ресурсы игры и не возникнет нехватки переменных.
 
WallFuckДата: Четверг, 31.03.2011, 20:58 | Сообщение # 72
Группа: Проверенные
Сообщений: 56
Статус: Offline
Den_spb, если не трудно напиши пример smile а то на словах я то понял но как это сделать незнаю)
 
Den_spbДата: Четверг, 31.03.2011, 22:11 | Сообщение # 73
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Что конкретно непонятно?
 
WallFuckДата: Пятница, 01.04.2011, 13:21 | Сообщение # 74
Группа: Проверенные
Сообщений: 56
Статус: Offline
ну мне не понятно как сделать чтобы актер появлялся если он в зоне видимости игрока и исчезал когда игрок его не видит... Ну а остальное более менее понял.
 
Den_spbДата: Пятница, 01.04.2011, 19:07 | Сообщение # 75
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
Вот пример для двух точек:
Code
{$CLEO}
wait 0
while true
      wait 50
      if
          not player.Defined($player_char)
      then
          continue
      end
      if
          00EC:   actor $PLAYER_ACTOR 0 near_point 1812.369 -1929.922 radius 300.0 300.0
      then
          0@ = 0
          3@ = 1812.369
          4@ = -1929.922
          5@ = 28.7
      end
      if
          00EC:   actor $PLAYER_ACTOR 0 near_point 452.818 1182.5 radius 300.0 300.0
      then
          0@ = 1
          3@ = 452.818
          4@ = 1182.5
          5@ = 22.4
      end   
      if
          803B:   not  0@ == 1@ // (int)   
      then
          0085: 1@ = 0@ // (int)
          if
              056D:   actor 2@ defined   
          then
              009B: destroy_actor 2@   
          end
          model.Load(#FAM1)
          repeat
              wait 0
          until model.Available(#FAM1)
          actor.Create(2@ 4 #FAM1 3@ 4@ 5@)   
          model.Destroy(#FAM1)
      end
end
В переменную 0@ записывается номер ближайшей точки, а в переменной 1@ хранится старый номер ближайшей точки. Если старый и новый номер не равны, то старый актёр удаляется и создаётся новый.
 
Поиск: