Регистрация Забыли пароль?

Как создать пикап сохранения

 2011-11-22 11:47:17
Здравствуйте в этом уроке я расскажу как создать пикап СОХРАНЕНИЯ.
Этого в мануале нет такое знание прийдёт лишь с опытом ,но кому лень ждать ,
тому всё подробно опишу .Итак ,мы будем делать наш внешний скрипт с помощью Sanny Builder 3 ,а
в дальнейшем просто SB (скачать можете с SANNYBUILDER.COM)
Итак откроем его и нажмём создать новый Файл (Есле же вы открываете его первый раз, то вам нужно будет его настроить ,указать главную дирректорию игры и т.д )
и увидим там пустые строчки которые нам предстоить заполнить опкодами (специальными командами которые воспринимает игра)
Раз мы пишем внешний скрипт то в первую очередь зададим формат будущего файла .
Делается это директивой {$CLEO .cs} (она указывает что компилируемый файл получит расширение custom script что в сокращении и есть CS)
Пишем на первой строчке её (учтите на одной строке одна команда т.е один опкод)
{$CLEO .cs}
Затем нам нужно загрузить в память игры значок сохранения ,делается это командами
model.load(#модель ) //там где написано модель нужно написать модель в нашем случае это #PICKUPSAVE ,но учтите этот файл не имеет заголовка поэтому нужно написать так
model.load(1277) // 1277 это id обьекта #PICKUPSAVE т.е написать числовой номер этого обьекта.
Но этим опкодом мы только обьявили те модели которые будем загружать так что нужно написать на следущей строчке
038B: load_requested_models // а вот эти кодом мы загрузили модель в память .Учтите вы можете обьявить больше моделей (каждое обьявление на новой строчке !) но загрузить их нужно будет только один раз ,поэтому этот опкод пишется один раз ,да и знайте что" //" это начало коментария и компилятор (это такя вещь которая все наши опкоды переводит на понятный игре язык ) не обратит на него внимания ,поскольку они служат для удобного ореинтирования в скрипте ,коментарий это что то наподобии заметки на рабочем столе
Затем нужно проверить модели на загруженность иначе если модели не загрузились а мы уже что то с ними делаем то произойдёт вылет .Для начала сделаем метку
:NONAME_10 // это и есть метка чтобы её создать пишем двоеточие а затем имя метки
Метки скриптеры создают чаще всего для проверок, как в нашем случае.
После метки напишим команду
wait 0 ms //это задержка в 0 милли секунд т.е задержки нет но писать это команду после меток обязательно(если не напишете ,то ждите вылета) и иногда нужно писать wait 100 ms т.е давать задержку чтобы игра передохнула .Затем напишем
if and // это обьявление количества условий у нас их два поэтому пишем if and (скрипт не начнёт выполнятся дальше пока все условия не станут положительными),но если условие одно то нужно написать просто if а если условий ну допустим три и для дальнейшего выполнения скрипта нужно чтобы выполнилось хоть одно из них то напишем if or
Итак, далее пишем что нам нужно проверять ,а проверять мы будем обьект на загруженность и игрока на существование
для этого пишем
model.available(1277)//это и есть проверка на загруженность модели
0256: player $PLAYER_CHAR defined //проверка игрок существует
else_jump @noname_10 //т.е это будет звучать так :если модель загруженна и игрок существует то выполнение скрипта пойдёт дальше если же нет то перепрыгнем на метку
@noname_10 и с неё начнём повторное выполнение команд model.available(1277) и player $PLAYER_CHAR defined короче данный цикл будет происходить до тех пор пока условие модель загруженна и игрок существует не станет правдой .
ВОт что у нас пока получилось :
{$CLEO .cs}
wait 100 //задержка для большей безопасности
model.load(1277)
038B: load_requested_models
:NONAME_10
wait 0 ms
if and
0256: player $PLAYER_CHAR defined
model.available(1277)
else_jump @noname_10
И ПРИСТУПИМ К ДАЛЬНЕЙШЕМУ ИЗУЧЕНИЮ ...
Раз мы загрузили и проверили модель то сейчас можно её создать
делается это командой
0213: $BUY_ASSET_PICKUPS = create_pickup 1277 type 15 at 1182.986 -1324.592
13.5783 // писать на одной строчке
1277 - это модель создоваемого обьекта (пикапа сохранения)
$BUY_ASSET_PICKUPS это глобальная переменная(вообще их не желательно применять т.к это может вызвать ошибку ,НО эта переменная исключение!) в которую будет записанна созданная модель т.е в дальнейших своих действиях мы можем не писать 1277 а вместо этого написать $BUY_ASSET_PICKUPS
во многих случаях это будет очень удобно
1182.986, -1324.592, 13.5783 -это координаты создаваемого пикапа .Их можно узнать с помощью любого телепортера а так же sb имеет в наличии встроенный редактор координат(сервис/инструменты /редактор координат - гта должна быть включенна
там также есть галочка внизу 1.1 есле её нажать то вы получите телепортер для версии игры 1.1)
Type - это тип пикапа, есть следующие типы:
1 - за деньги, регенерируется почти сразу
2 - бесплатно, регенерация за 30 минут игрового времени, надо отойти недалеко
3 - бесплатно, одноразовый
9,11 - бомба
15 - регенерируется за 6 часов игрового времени или за 6 минут
мы выбрали тип 15 т.к в игре после сохранения проходит 6 часов

ну вот у нас есть пикап сохраннения ,НО пока нерабочий .
Для того чтобы он стал полноценным ,нужно добавить ещё одну проверку
на поднятость пикапа .
Создаём ещё одну метку к примеру с названием
:noname_11
wait 100 // пишем задержку иначе может вылететь
if //обьявляем количество условий т.е у нас оно одно
0214: pickup $BUY_ASSET_PICKUPS[0] picked_up //проверка на поднятость пикапа
else_jump @noname_11//если игрок не поднял пикап т.е условие не выполнено то выполнение скрипта начнётся с метки @noname_11 и это будет повторятся до тех пор условие не будет выполнено т.е пикап станет поднятым
Если всё прошло успешно то нужно показать экран сохранения .Делается это командой
03D8: show_save_screen //это то самое меню откуда вы сохраняетесь
ну и чтобы память игры не загрязнить нужно сделать обязательно удаление этого пикапа .Сделаем это так
model.Destroy( $BUY_ASSET_PICKUPS)//надеюсь вы не забыли что $BUY_ASSET_PICKUPS это и есть модель 1277
0215: destroy_pickup $BUY_ASSET_PICKUPS//ну и уничтожение самого пикапа
ну и как бы чтобы можно опять было сохранится то начнём заново выполнение скрипта с метки @noname_10 т.е напишем
jump @noname_10
ВОТ КОД который должен был у вас получится :
{$CLEO .cs}
wait 100
0247: load_model 1277
038B: load_requested_models
:NONAME_10
wait 0
00D6: if and
0248: model 1277 available
0256: player $PLAYER_CHAR defined
004D: jump_if_false @NONAME_10
0213: $BUY_ASSET_PICKUPS = create_pickup 1277 type 15 at 1182.986 -1324.592 13.5783
:noname_11
wait 100
if
0214: pickup $BUY_ASSET_PICKUPS[0] picked_up
else_jump @noname_11
00A1: put_actor $PLAYER_ACTOR at 1187.1106 -1323.4843 13.559//Раннее я это не написал но вы лучше этот опкод напишите ,чтобы игрок не оставался на месте сохраннения и всегда не поднимал пикап (этот опкод телепортирует)и помните что // это коментарий .
03D8: show_save_screen
model.Destroy(1277)
0215: destroy_pickup $BUY_ASSET_PICKUPS
jump @noname_10
Сравните этот код и тот который получился у вас.Если у вас что нибудь не так то исправте .Когда всё проверели то нажмите заветную кнопку "компилировать"(вверху, напоминает зелёного бегущего человечка)
Задайте любое имя вашему Файлу .
Сохраните этот скрипт в папке клео (находится должна в директории игры)
Запускайте игру и наслаждайтесь СВОИМ творением.
Удачи в скриптинге !Да и читайте мануал который идёт вместе с Sanny Builder...
(Полезно для мозговой деятельности)

 Просмотров: 15588

Читайте также

Комментарии

Здравствуйте в этом уроке я расскажу как создать пикап СОХРАНЕНИЯ.
Этого в мануале нет такое знание прийдёт лишь с опытом ,но кому лень ждать ,
тому всё подробно опишу .Здравствуйте в этом уроке я расскажу как создать пикап СОХРАНЕНИЯ.
Этого в мануале нет такое знание прийдёт лишь с опытом ,но кому лень ждать ,
тому всё подробно опишу .


Круто но ты 2 раза повторился в начале
Diabox : 0!
2011-11-22 14:29:26

Исправил
Danger : 668!
2011-11-22 14:59:36

ни фига.......!!!!!!
noizefan : 0!
2012-01-18 10:53:27

ПОЧЕМУ ОН ПИШЕТ ( ОЖИДАЛОСЬ 6 ПАРАМЕТРОВ)
2012-01-31 23:01:13

Привет
2012-03-03 13:40:52





многовато
Smexof : 0!
2012-03-06 01:34:26

вот именно заебёшся и если другой транспорт делать как непонятно вообще
2012-03-10 17:18:17

Огромное спасибо а то карту почистил и постоянно на самолете появлятся достало
kollekcioner7 : 237!
2012-03-17 10:38:58

Я ЗАПАОИЛСЯ ЧИТАТЬ НО ЗА СТОРАНИЕ  
dimanok-tv : 125!
2012-03-26 21:02:28

Оч.помогло спс
Lexada : 0!
2012-04-10 09:13:20

Ололошечька хуйня это всё пошли нахуй пидоры
2012-04-14 17:26:50

а нафиг это нужно,можно же сохраниться в домебв Doherty.В казино. а Это все ерунда лучше размести статью как ченибудь интересное делать а не хрень какуита
CoolKuid : 0!
2012-07-12 15:05:07

а нафиг это нужно,можно же сохраниться в домебв Doherty.В казино. а Это все ерунда лучше размести статью как ченибудь интересное делать а не хрень какуита
А это для тех кто делает свой город вместо этих и надо ведь сохранения
2012-08-08 17:30:31

Спасибо за урок! Единственный который у меня пока что получился)  

Спасибо за урок! Единственный который у меня пока что получился)  
Royce_96 : 0!
2012-08-17 13:34:42

Спасиб))
2012-09-17 14:17:13

молодец автор у меня все уже почти получилось это же надо столько терпения иметь чтоб написать эту статью!и еще я как раз создаю глобал мод на Россию я уже село сделал  а пикапов сохранения до сех пор нет с помощью этой статьи уже почти есть!

меня все наконецто получилось!!!!
modogta : 23!
2012-09-20 12:32:59

ты бы лучше описал,как несколько сохранялок в один скрипт засунуть,а одну сохранялку,это и ребёнок освои
bura22 : 36!
2012-09-22 04:59:55

А на какую кнопку его создовать ?

А на какую кнопку его создовать ?
2012-11-16 11:11:56

Скрипт не работает у меня. Вылетает на последнем "ок! Что делать?

Скрипт не работает у меня. Вылетает на последнем "ок! Что делать?
GameMan : 0!
2013-04-14 14:41:05

Вроде все нормально, сохраняюсь, закрываю окно, и вылет!
2014-01-29 18:26:07

Топ лучших
103.7
89.3
2.
KINOman
61.5
55.3
41.7 +0.2
35.3
6.
Gerlop
34.7
33.7
28.3
25.7
10.
Art29
 Опрос

Для какой игры стоит добавлять больше всего новых модов?

Спасибо! Ваш голос учтён!
  • GTA San Andreas
  • GTA San Andreas Android
  • GTA 4
  • GTA Vice City
  • GTA 5