Всем доброго времени суток. Сегодня я хотел бы описать вам первый урок, в котором вы научитесь ставить персонажа на карту, давать ему оружие и анимацию. Прочитав все мои уроки, вы станете отличным скриптером, и будете создавать отличные скрипты!
Часть 1
Итак, для первого урока нам потребуется:
Sanny Builder 3 (создание скриптов) и Ped Editor ( просмотр моделей персонажей )
Эти программы и не только вы можете скачать ... одним архивом. Позже я познакомлю вас с каждой из них.
Первым делом открываем Ped Editor и ищем нужного персонажа. В моем случае это будет
#ARMY
Первым делом пишем вот это:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
Это стандартное начало любого скрипта.
Потом нужно написать переход и проверку загрузки персонажа:
:NONAME_1
Model.Load(здесь указывается название модели персонажа после символа "#", в моём случае это: #ARMY
038B: load_requested_models
Далее пишем:
1@ = Actor.Create(CivMale, # ARMY ,координаты )
Actor.Angle(1@) =угол разворота
Теперь открываем gta san andreas и идем туда куда нужно поставить нашего персонажа. Как только нашли подходящее место, сворачиваем игру, открываем Sanny Builder. И в место где написано координаты вставляем координаты игрока(правая кнопка мыши/вставить/координаты игрока), а в месте угол разворота вставляем угол разворота игрока(правая кнопка мыши/вставить/угол разворота игрока)
Все нам осталось только завершить наш скрипт опкодом end_thread
Итак вот что у вас должно было получится
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#ARMY)
038B: load_requested_models
1@ = Actor.Create(CivMale, #AEMY, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
end_thread
------------------------------------------
ЧАСТЬ 2
Итак, вот мы и написали наш первый скрипт, который просто ставит персонажа на карту. Сейчас мы дадим ему анимацию!
Для этого нам потребуются программы:
программа Sanny Builder 3 (создание скриптов) и GTA Anim Manager (просмотр анимаций)
Скачать эти программы в полном наборе можно здесь одним архивом
Открываем Anim Manager.
После нужно нажать на Preview, Load Model. Появится окно, где нужно будет выбрать модель (файлы dff и txd) любого персонажа. Для этого можно вытащить его из GTA SA или просто скачать.
Когда нашли персонажа, кликайте по нему. Теперь он появился.
Слева, в списке папок нужно найти нашу директорию игры. Потом нужно найти в директории папку anim и открыть файл PED или anim (anim — это файл с расширением ifp, поэтому нужно будет указывать в скрипте место нахождения анимации, а PED — это пакет анимаций для обычных людей и самого персонажа, поэтому его не надо будет указывать в скрипте). В уроке я выбираю anim.
После того, как выбрали пакет анимаций, нужно найти саму анимацию. Я зашёл в anim, там мы видим ещё очень много пакетов анимаций. Заходим, например, в DANCING и нажимаем на любой файл.
Это сработала анимация, но она не идёт! Нажмите на ">" для того чтобы персонаж был анимирован.
Открываем наш прошлый скрипт, и перед Model.Load(#ARMY) написать следующее
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
А затем пишем перед строчкой end_thread пишете следующее:
wait 3000
0605: actor 1@ perform_animation_sequence "сюда название анимации" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
На этом вторая часть урока закончена!
------------------------------------------
ЧАСТЬ 3
Сейчас мы дадим ему хорошее оружие, но какое — решать вам! В моём случае это будет помповое ружьё Shotgun.
Далее сделаем так, чтобы когда к нашему персонажу приблизишься слишком близко, он начинал вас убивать! Мой скрипт ... создан именно так как я описываю вам в этом уроке!
Нам потребуется программа GGMM (GTA Garage Mod Manager) (она предназначена изначально для просмотра и замены автомобилей, но также позволяет просматривать оружие) и Sanny Builder 3 (создание скриптов).
Установив и запустив GGMM, нам нужно будет найти оружие и выяснить его числовой идентификатор (ID)
Нажимаем на кнопку Weapons.
Появился бронежилет. Но нам нужно другое, огнестрельное оружие. Перелистываем оружие с помощью стрелочек.
Название вы можете посмотреть чуть выше картинки. В моём случае это: CHROMEGUN. Название мы знаем, открываем наш созданный ранее скрипт в Sanny Builder и загружаем модель вот этой командой:
Model.Load(#CHROMEGUN)
Это нужно вписать в код, который мы уже делали в предыдущем уроке, назначая анимацию персонажу. Весь код смотрится вот так:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
end_thread
Всё, теперь осталось лишь узнать ID оружия которое, вы выбрали. Это нужно сделать не закрывая Sanny Builder 3. Просто нажмите на "Справка", потом на "Помощь". У вас откроется отдельное окно.
Нажмите на "Статьи" и найдите там "Пикапы". Здесь вы найдёте ID своего оружия. У меня это будет — 25. Всё, ID узнали, можно закрывать справку.
Далее пишем в скрипте после анимации следующее:
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this
Там, где написано weapon, нужно написать ID своего оружия, а после ammo — патроны, точнее количество патронов. Я поставил 1000.
Всё, это сделали, мы дали прописанному персонажу оружие. Теперь позлим его.
Для этого нам нужно снова вернуться к скрипту чтобы поставить в нем сферу вокруг нашего персонажа, и если Сиджей пересечёт её, персонаж будет гасить его из всех патронов, которые есть в дробаше!
Для этого прописываем следующее перед словом end_thread:
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
Это мы создали сферу. В конце нужно написать нужные координаты. В моём случае это 10.0 10.0 10.0
Далее, после слова jf @NONAME_2 нам надо прописать следующее:
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
Весь код после сделанных правок будет выглядеть так:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 0 0 0 0 time 0 // versionA
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
end_thread
На этом наш урок подошел к концу. Если есть вопросы по этому вы можете задать их в комментариях
Всем пока :)
Часть 1
Итак, для первого урока нам потребуется:
Sanny Builder 3 (создание скриптов) и Ped Editor ( просмотр моделей персонажей )
Эти программы и не только вы можете скачать ... одним архивом. Позже я познакомлю вас с каждой из них.
Первым делом открываем Ped Editor и ищем нужного персонажа. В моем случае это будет
#ARMY
Первым делом пишем вот это:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
Это стандартное начало любого скрипта.
Потом нужно написать переход и проверку загрузки персонажа:
:NONAME_1
Model.Load(здесь указывается название модели персонажа после символа "#", в моём случае это: #ARMY
038B: load_requested_models
Далее пишем:
1@ = Actor.Create(CivMale, # ARMY ,координаты )
Actor.Angle(1@) =угол разворота
Теперь открываем gta san andreas и идем туда куда нужно поставить нашего персонажа. Как только нашли подходящее место, сворачиваем игру, открываем Sanny Builder. И в место где написано координаты вставляем координаты игрока(правая кнопка мыши/вставить/координаты игрока), а в месте угол разворота вставляем угол разворота игрока(правая кнопка мыши/вставить/угол разворота игрока)
Все нам осталось только завершить наш скрипт опкодом end_thread
Итак вот что у вас должно было получится
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#ARMY)
038B: load_requested_models
1@ = Actor.Create(CivMale, #AEMY, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
end_thread
------------------------------------------
ЧАСТЬ 2
Итак, вот мы и написали наш первый скрипт, который просто ставит персонажа на карту. Сейчас мы дадим ему анимацию!
Для этого нам потребуются программы:
программа Sanny Builder 3 (создание скриптов) и GTA Anim Manager (просмотр анимаций)
Скачать эти программы в полном наборе можно здесь одним архивом
Открываем Anim Manager.
После нужно нажать на Preview, Load Model. Появится окно, где нужно будет выбрать модель (файлы dff и txd) любого персонажа. Для этого можно вытащить его из GTA SA или просто скачать.
Когда нашли персонажа, кликайте по нему. Теперь он появился.
Слева, в списке папок нужно найти нашу директорию игры. Потом нужно найти в директории папку anim и открыть файл PED или anim (anim — это файл с расширением ifp, поэтому нужно будет указывать в скрипте место нахождения анимации, а PED — это пакет анимаций для обычных людей и самого персонажа, поэтому его не надо будет указывать в скрипте). В уроке я выбираю anim.
После того, как выбрали пакет анимаций, нужно найти саму анимацию. Я зашёл в anim, там мы видим ещё очень много пакетов анимаций. Заходим, например, в DANCING и нажимаем на любой файл.
Это сработала анимация, но она не идёт! Нажмите на ">" для того чтобы персонаж был анимирован.
Открываем наш прошлый скрипт, и перед Model.Load(#ARMY) написать следующее
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
А затем пишем перед строчкой end_thread пишете следующее:
wait 3000
0605: actor 1@ perform_animation_sequence "сюда название анимации" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
На этом вторая часть урока закончена!
------------------------------------------
ЧАСТЬ 3
Сейчас мы дадим ему хорошее оружие, но какое — решать вам! В моём случае это будет помповое ружьё Shotgun.
Далее сделаем так, чтобы когда к нашему персонажу приблизишься слишком близко, он начинал вас убивать! Мой скрипт ... создан именно так как я описываю вам в этом уроке!
Нам потребуется программа GGMM (GTA Garage Mod Manager) (она предназначена изначально для просмотра и замены автомобилей, но также позволяет просматривать оружие) и Sanny Builder 3 (создание скриптов).
Установив и запустив GGMM, нам нужно будет найти оружие и выяснить его числовой идентификатор (ID)
Нажимаем на кнопку Weapons.
Появился бронежилет. Но нам нужно другое, огнестрельное оружие. Перелистываем оружие с помощью стрелочек.
Название вы можете посмотреть чуть выше картинки. В моём случае это: CHROMEGUN. Название мы знаем, открываем наш созданный ранее скрипт в Sanny Builder и загружаем модель вот этой командой:
Model.Load(#CHROMEGUN)
Это нужно вписать в код, который мы уже делали в предыдущем уроке, назначая анимацию персонажу. Весь код смотрится вот так:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
end_thread
Всё, теперь осталось лишь узнать ID оружия которое, вы выбрали. Это нужно сделать не закрывая Sanny Builder 3. Просто нажмите на "Справка", потом на "Помощь". У вас откроется отдельное окно.
Нажмите на "Статьи" и найдите там "Пикапы". Здесь вы найдёте ID своего оружия. У меня это будет — 25. Всё, ID узнали, можно закрывать справку.
Далее пишем в скрипте после анимации следующее:
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this
Там, где написано weapon, нужно написать ID своего оружия, а после ammo — патроны, точнее количество патронов. Я поставил 1000.
Всё, это сделали, мы дали прописанному персонажу оружие. Теперь позлим его.
Для этого нам нужно снова вернуться к скрипту чтобы поставить в нем сферу вокруг нашего персонажа, и если Сиджей пересечёт её, персонаж будет гасить его из всех патронов, которые есть в дробаше!
Для этого прописываем следующее перед словом end_thread:
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
Это мы создали сферу. В конце нужно написать нужные координаты. В моём случае это 10.0 10.0 10.0
Далее, после слова jf @NONAME_2 нам надо прописать следующее:
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
Весь код после сделанных правок будет выглядеть так:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 0 0 0 0 time 0 // versionA
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
end_thread
На этом наш урок подошел к концу. Если есть вопросы по этому вы можете задать их в комментариях
Всем пока :)
9 коммент.:
Респект тебе чувак
А как сделать чтобы педы были дружественными?
Просто не писать команду атаки гавного героя.
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
то есть будет так:
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 0 0 0 0 time 0 // versionA
end_thread
А у меня такая проблема. Я ставлю одни координаты, а после запуска скрипта персонаж появляется немного дальше от нужного мне места.
К примеру ставлю (1447.628, - 1431.592, 13.548)
А появляется на (1578.529, -1433,592, 13.548)
В чём проблема?
Никогда с таким не сталкивался... попробуй переустановить Sanny Builder, или поставь на другую gta. Если проблема не решена, пиши мне в вк http://vk.com/id92658680
Андрей, 25 не id оружия, а номер. ID твоего оружия- 349
у меня не работает че делать
Где-то ошибка. Скинь код в комменты плиз.
Привет, спасибо, всё получилось, но вот такой вопрос: как сделать так чтобы созданного педа можно было брать в свою банду?
Отправить комментарий