Здравствуйте!Мы рады вас приветствовать на нашем игровом портавле LP-GameHell!Здесь вы найдёте самые свежие новости игрового мира.Чувствуйте себя как дома)
Приветствую Вас, Гость | RSS
Четверг, 23.01.2025, 22:34
Главная » Статьи » Про игры

Модификации в GTA:SA - Урок 2 - Теория и практика

В прошлой статье я рассказывал, как следует расставлять пикапы в редакторе скриптов игры Grand Theft Auto: San Andreas. В этой статье я покажу, как просто работать в Sanny Builder и постараюсь подробно описать процесс редактора синтаксиса main.scm. Наверное, у вас возник вопрос: что такое «скрипт» в San Andreas?

Скрипт – особый язык, понимаемый определенной программой, игрой. Русский язык в определенном смысле тоже скрипт. В GTA скрипт – изменение или создание новых миссий, крупных и мелких возможностей. Как вы уже догадались, в GTA возможности, миссии хранятся в папке script. Если вы откроете эту папку, то увидите файлы main.scm и script.img. Вообще для редактирования скриптов в игре используются программы:

Mission Builder© (Автор программы - Barton Waterduck) – очень известная программа, созданная автором еще во времена GTA III. Программа прогрессировала до версии 0.33 для San Andreas, создатель Mission Builder’а решил прекратить разработку новых версий! Официальная причина:

«Чтобы не поощрять малолетних преступников, которые, наигравшись в жестокие игры, идут в школы и расстреливают своих одноклассников (такой инцидент произошел в США в марте 2005 года)»

Программа не сильно отличается удобством: 
1.В ней нет подсветки синтаксиса, 
2.«ID» номеруются цифрами. 
3.И вообще содержит много недостатков.

Несмотря ни на что Mission Builder – раньше считался лучшей программой для создания «скриптовых» модов.

Sanny Builder© (Автор программы Seemann – русский!!!) – мощнейшее средство для создания новых миссий в линейке трехмерных игр GTA (GTA3, VC, SA). В комплект входит декомпилятор, позволяющий раскомпилировать файлы MAIN.SCM и SCRIPT.IMG (SA), содержащие игровые скрипты; компилятор, и удобный редактор со множеством вспомогательных функций, таких как подсветка синтаксиса, чтение координат игрока в игре, быстрое перемещение по участкам кода и многое другое. Добавьте к этому быструю скорость работы и настраиваемый синтаксис кода (через классы и ключевые слова) и Вы получите представление о программе. Так что лучше?

Эти программы можно скачать на многих сайтах, посвященных GTA.

Давайте откроем Sanny Builder. Вот список основных команд, используемых при создании потока в Sanny Builder:

1. create_thread – команда означает «начать поток» или «построить поток», используется для объявления потока. Пример: 
create_thread @BeGamer 
create_thread – команда, @... – метка, таким значком объявляют название потока, в данном случае – BeGamer, команда выделяется зеленым цветом. ВНИМАНИЕ!!! Следует знать, что @ нужно ставить перед названием объявляемого потока, а не после (получится локальная переменная, которая выделяется синим цветом).

2. Любой поток начинается со строчки «:BeGamer». 
: - обязательный знак перед уникальным именем потока. 
BeGamer – уникальное имя потока, взятое для примера. Внимание!!! имя, указанное в опкоде «create_thread @....» всегда должно совпадать с именем, указанным в «:…..» (вместо …….ваше название) и быть уникальным (неповторяемым!). Пример: 
:MOD 
и потом снова 
:MOD 
Нельзя! 
Можно только так: 
:MOD 
потом :MOD
2 – можно! 
В противном случае – при повторении имен потоков Sanny Builder будет выдавать ошибку при компиляции: 
Error (33): Label «имя потока» redeclared 
С этим разобрались.

3. 
wait 0 - команда задержки, используется для того, что бы дать игре «передохнуть», в противном случае игра может зависнуть. 
wait - команда. 
0 – число миллисекунд задержки. 
1 секунда = 1000 миллисекунд. 
Советую использовать числа 10, 20, 30,...., 100. 
20 – оптимальный вариант, но если игра будет продолжать виснуть, то увеличьте число.

4. 
jump @BeGamer – команда для «прыжка» к потоку, в данном случае – BeGamer. 
Используется «jump» для перехода действия. 
Пример: 
….. 
jump @BeGamer 

:MOD 
…. 

: BeGamer 
…. 
В этом случае действие переходит от «jump @BeGamer» до «: BeGamer» с пропуском потока «:MOD».

5. 
gosub @BeGamer – команда, используемая при переходе на другой поток с последующим возвращением (команда «return») и продолжением действия. 
Пример: 
….. 
gosub @BeGamer 

:MOD 
…. 

: BeGamer 
…. 
return 
В этом случае действие переходит к потоку «BeGamer» с последующим возвращением к потоку «MOD».

6. 
end_thread – команда объявит окончание потока. 
Пример: 

:MOD 
…. 
end_thread 

: BeGamer 
В этом примере действие закончится в потоке «MOD», и не перейдет на поток «BeGamer» 
Попробуем потоки в «деле»: 
1.Найдем строку «create_thread». 
2.Вставим между таких же строчек (create_thread) команду create_thread @BeGamer. 
3. Найдем строку 
-------Mission 0---------- 
Выше этой строки ставятся все потоки, которые запускаются с начала игры. 
4. Выше -------Mission 0----------, 
но ниже других потоков вставим: 
:BeGamer 
wait 20 
end_thread 
5. Комплируем (F6 или F7) 
6. Запускаем игру. 
Эта команда ни чего в игру не внесет. 
Вы можете это исправить, если вставить какой-нибудь скрипт, например: пикап оружия, беспредел и война банд. 
:BeGamer 
wait 20 
032B: $AK47 = create_weapon_pickup #AK47 15 ammo 9990 at 2471.265 -1679.808 13.44 
06C8: toggle_riot 1 //беспредел 1-вкл. 0 -выкл 
0879: toggle_gang_wars 1 //война банд 1-вкл. 0 -выкл. 
end_threadend_thread

Мы разобрали действия с потоками.


Категория: Про игры | Добавил: OlegN (24.07.2011)
Просмотров: 525 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
LP-GameHell © 2025 | Бесплатный конструктор сайтов - uCoz