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

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

 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...
(Полезно для мозговой деятельности)

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

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

Комментарии

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


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

Исправил
Danger : 682!
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 : 241!
2012-03-17 10:38:58

Я ЗАПАОИЛСЯ ЧИТАТЬ НО ЗА СТОРАНИЕ  
dimanok-tv : 127!
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 : 60!
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

Добавление комментария


Топ лучших
82.0
62.4
40.3
3.
raste
30.8
19.1
17.1
15.6
13.7
13.2
12.3
10.
Wolf66
 Опрос

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

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