Мини-чат
Shaggy
22.10.2022 - 01:53
Да и ща пока не деды вроде
AriaMan
04.05.2022 - 20:47
Когда мы были молодыми...
Shaggy
14.04.2022 - 22:35
Хаю хай, с вами шаггай
Marsi4eg
14.04.2022 - 09:28
Smile
Shaggy
23.09.2019 - 06:02
Still there
Marsi4eg
17.11.2017 - 14:47
2004? Wink
AriaMan
19.10.2017 - 00:41
Привет из 2005ого... Думаю никто не переплюнет. Smile
Shaggy
04.08.2017 - 15:05
Привет из 2017
kostyanchik2009
07.08.2016 - 11:54
привет из 2016
SKV1991
12.10.2015 - 11:29
Дизайн сайта почти Material Grin Главно пашет так же стабильно, как раньше
SKV1991
12.10.2015 - 11:18
Аааа! Сайт жив!!!! Я последний раз тут лет 9 назад был, писал скрипты Grin
Shaggy
15.02.2015 - 14:45
Хай эврибади!
kostyanchik2009
13.09.2014 - 14:39
Всем привет! И в правду тухловато здесь Sad
VcSaJen
11.09.2014 - 21:19
Vital, ага.
Vital
27.08.2014 - 23:50
Эх, как тихо тут...
VcSaJen
20.11.2013 - 20:30
Привет, gcuman.
gcuman
15.11.2013 - 18:59
aasdas
cij
16.07.2013 - 14:28
Можно узнать условия размещения рекламы ?
Vital
05.07.2013 - 17:05
Жаль, отступы не сохраняются при публикации, было бы полезно.
Vital
05.07.2013 - 17:03
Спасибо! Раньше месяцами ждали, теперь через 5 минут всё готово. Smile
Архив чата

Вы должны авторизироваться, чтобы добавить сообщение.

Популярные статьи
  Статья Прочтений Опубликовал
» Ставим машины и педов в San Andreas !
Скриптинг в San Andreas
11012 igorok
10.07.2005 - 17:39
» Анимации
Помощь SA скриптеру...
6635 gta4d
24.12.2005 - 22:30
» Начинать новую игру не надо?
Скриптинг в San Andreas
5953 AriaMan
02.06.2006 - 13:57
» Эффектные аварии
Скриптинг в San Andreas
5821 Zibatop
13.07.2006 - 00:57
» Дрифт v2.0
Скриптинг в San Andreas
5394 Flash
01.12.2007 - 00:46
» Общие принципы создания миссии
Скриптинг в San Andreas
5320 RunAway
20.08.2005 - 14:44
» Общие принципы создания миссий
Скриптинг в Vice City
5033 RunAway
26.06.2005 - 02:16
» Тюнинг
Скриптинг в San Andreas
5031 RunAway
16.10.2005 - 16:36
» Эффект Most Wanted.
Создание новых возможностей
5008 Marsi4eg
26.12.2005 - 03:06
» Гоночная миссия собственными руками
Скриптинг в Vice City
4951 Crow
10.10.2005 - 10:47
Логин

Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 719
· Новый пользователь: Arseniymug


Голосование
Скриптинг мертв?

Да
Да
9% [4 Голосов]

Нет
Нет
23% [10 Голосов]

Он еще вернется :) После выхода ГТА4 например
Он еще вернется :) После выхода ГТА4 например
68% [30 Голосов]

Голосов: 44
Начат: 16.03.2008 - 01:40
Закончен: 14.04.2009 - 18:45

Архив опросов

Начинать новую игру не надо?
Эта статья взята с самого большого форума Grand Theft Auto - www.gtaforums.com и переведена мною на русский язык. Данная статья будет очень полезна опытным скриптёрам, в ней я расскажу, как делать скриптовые моды и при этом не начинать новую игру! Это действительно так, по началу мне то же в это не верилось, но после того, как я решился попробовать поставить запаркованную машину скриптом, предварительно зделав всё, что написано в статье, я был готов после загрузки игры увидеть это, уже ничем не способное удивить меня, сообщение об ошибке, но вместо этого игра спокойно загрузилась, я оказался в доме CJ'я на Grove Street и вышел во двор! И как вы думаете чего я увидел??? То самое авто, которое я поставил по середине площадки! Это действительно реально - написать скрипт и при этом не начинать новую игру!!!

Теперь попробуем разобраться, как сделать такую фичу к себе в игру. Комментировать особо все действия не буду так как на самом деле там нет ничего интересного, просто заменять или добавлять строки в main.scm, сначала нам следует изменить главный поток игры, так как он идёт до начала и начинает основную (вторую) миссию, поэтому мы должны поставить туда проверку, котрая будет препятствовать этому действию (начинать вторую миссию). Делается это так, сперва ищем 3 строки:
:MAIN_392
0001: wait 0 ms
00D6: if 0


Сразу после них, подчёркиваю СРАЗУ, независимо от того, что там идёт, добавляем вот эти четыре строки:
0038: $24 == 1 ;; integer values
004D: jump_if_false ЈЈMAIN_392
0417: start_mission 2 ; Originally:
0002: jump ЈЈMAIN_392

И следующее, что нам надо сделать, это закомментировать следующие 4 строчки (т.е. поставить символ ";" вначале строки).

Стандартный кусокОтредактированный кусок

Теперь нам следует добавить проверку в поток второй миссии. Зачем? Он будет проверят равна ли та переменная нулю, если не равна, то игра пойдёт обычным путём, т.е. будет загружать стандартный файл main.scm, с которым вы играли раньше, а если равна, то пойдёт чтетиние нашего скрипта, а потом загрузка стандартного кода. Поэтому ищем самое начало миссии 2:
;-------------Mission 2---------------
; Originally:

:INTRO_1
03A4: name_thread 'INTRO'


И сразу после этих строчек добавляем следующий код:
00D6: if 0
8038: NOT $24 == 0
004D: jump_if_false ЈNEWGAMECONTINUE
008B: @0 = $59
0004: $59 = 8650752
0004: $60 = 48929538
0004: $61 = 5329828
0006: @1 = 236
0004: $5353 = 134349398
0050: gosub @1
0008: $60 += 1024
0004: $5353 = 16796928
0050: gosub @1
0008: $60 += 1024
0004: $5353 = 61784
0050: gosub @1
0008: $60 += 1024
0004: $5353 = -1409153154
0050: gosub @1
0008: $60 += 1024
0004: $5353 = 84300288
0050: gosub @1
0008: $60 += 1024
0004: $5353 = 1677852853
0050: gosub @1
008A: $59 = @0
008B: @0 = $120
0012: @0 *= -8
000A: @0 += ЈDARKPACTOR
0050: gosub @0
004E: end_thread

:DARKPACTOR
004F: create_thread ЈЈNAME_THREAD
0004: $120 = 1
0051: return

:NEWGAMECONTINUE


Таким образом мы создали один поток под названием NAME_THREAD, с этим названием и будет наш поток на mission 0, т.е. наш мод! Просто всё отличие в том, что мы создали поток в этой части мэйна, а не там где обычно (в верхней части, где идёт перечисление всех потоков). Чтобы создать не один а больше потоков, надо прибавить к переменной $120 единицу и создать ещё один thread, смотрите изображение.

Создание одного потокаСоздание трёх потоков

Следующим шагом в процесса является добавление нашего мода над строкой mission 0, я думаю все знают как это делается, только название потока, как я говорил уже должно совпадать! Скажу чесно я пробовал создать только один поток, сначала я здел просто запаркуованный авто, а потом решил впихнуть туда спидомет! И что вы думаете? На моё удивление всё работает! Скрин в конце. Но есть одно "НО", все переходы (jump) должны быть в пределах вашего мода! Т.е. если где-нибудь вы напишите скрипт и в нём будет команда 0002: jump JJMAIN_414 то будет ошибка, так как лэйбл MAIN_414 находится в стандартной ветке файла, которую трогать нельзя (если вы конечно хотите чтобы ваш сейф загрузился), поэтому ещё раз говорю, ВСЕ переходы должны быть внутри вашего потока!

Один потокТри потока

И послдняя часть работы заключается в том чтобы перенести одну строчку чуть выше, чем она была, ищем строку :INTRO_924 и переносим прыжок, который написан в конце, в самое начало блока! Смотрите изображение:

До редактированияПосле редактирования

На этом всё! Что касается создания таким способом миссии, не знаю но вполне возможно, что работать будет! Последнее что хочу сказать, для редактирования мэйна таким способом, нужен свежий, чистый main.scm от игры! Т.е. установили игру, раскомпилировали main, отредактировали, закомпилировали и запустили игру! Только так! Редактируйте, эксперементируйте, творите!

Скрин спидометра


------
Автор: Demarest
Перевод: ~AriaMan~[ARIA]~
E-mail: ariaman91@mail.ru
ICQ: 290821130

Комментарии
#1 | Yegorchic 06.06.2006 - 13:56:11
Ну что сказать! Хорошая работа!
#2 | AriaMan 06.06.2006 - 15:40:53
Спасибо! Только половина пишет, что нефига не работает! Хотя у меня всё нормально идёт!Wink
#3 | Seemann 06.06.2006 - 17:48:57
думаю, есть смысл дать линк на оригинал.

DARKPACT III SA
http://www.gtaforums.com/index.php?showtopic=217813
#4 | VcSaJen 08.06.2006 - 09:27:14
Мэйн грузится, но мода как не бывало! И в последнем действии у меня лэйбл по-другому называется. Что делать?
#5 | LINK 10.06.2006 - 09:56:39
Немного бредово, но работает! Я поставил тачку, закомпилил, всё работает. Потом решил поставить ещё тачек в тот же поток, закомпилил и не работает ни фига. Вообщем надо сразу всё делать.
А миссию - это вряд ли, она ж не из одного потока состоит.
#6 | AriaMan 12.06.2006 - 13:41:16
Ещё один минус: нельзя повышать DEFINE MEMORY
#7 | LINK 14.06.2006 - 05:40:52
А для Sanny Byilder'a вместо MAIN_392 ищем MAIN_4075, вместо INTRO_924 - INTRO_9205. Ну и надо немного подкоректировать скрипты.
#8 | LINK 14.06.2006 - 05:44:22
Также со стороны авторов статей хотелось бы видеть два варианта:для SB и для SAMB.
#9 | 4-Life 25.06.2006 - 11:29:22
пожалуй это самая классная статья, когда либо существовавшая на этом сайте. Автору пять с плюсом!!!!
#10 | Olegator 28.06.2006 - 11:32:45
Слушайте, а как быть с DEFINE MEMORY ?
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Отлично! Отлично! 100% [4 Голоса]
Очень хорошо Очень хорошо 0% [Нет голосов]
Хорошо Хорошо 0% [Нет голосов]
Удовлетворительно Удовлетворительно 0% [Нет голосов]
Плохо Плохо 0% [Нет голосов]