Урок 1. Intro - Страница 2 - Форум
W4Tweaks
Меню сайта
Последние файлы
Последние темы


Вход



Мини-чат
 
500

Статистика
Онлайн:

Сегодня заходили: Joker, KaMiKaZe, 4erveR, Unaited, agent007, Argon


Друзья сайта

Если вы хотите увидеть в этом спиcке свой сайт загляните сюда

Наш баннер:



· Регистрация · Вход
[ Новые сообщения · Участники · Подписки · Поиск · RSS ]
Страница 2 из 2«12
Форум » Worms 4 Mayhem » 5.1. Уроки Lua » Урок 1. Intro (Что такое lua? Общий трёп)
Урок 1. Intro
Герыч
Дата: ВС, 13.09.2009, 00:13:38 | Сообщение # 1
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
Итак, начинаем наше обучение=)
Для начала надо разобраться с тем, что такое lua, в чём его "сила", что даст его знание. Ну и как работать с lua.

Lua - это язык программирования. Его создали какие-то студенты или профессора, что-то такое. Эти студенты были португальцами, поэтому они назвали свой язык Lua, что переводится как "луна".
Но это никому интересно, поэтому сразу о том, что такое lua в плане применения. Lua - язык для написания скриптов. Под скриптом понимается небольшая программка, которая исполняется другой программой. При этом скрипт расширяет функции основной программы, делает её более гибкой и динамичной.

В нашем случае основная программа - Worms. Разработчики Worms(дядьки, постоянно глотающие пиво и сидящие в Team17) захотели, чтобы каждую карту можно было описывать не в коде самой игры, а отдельно. Зачем? Много причин:
1) для того чтобы получить программу, её нужно скомпилировать. Компиляция - анализ каждой строчки файла, проверка синтаксиса и создание большого exe файла. Конечно это очень долго, поэтому разумно отделить такие мелочи, как карты от основной игры.
2) возможность описывать уровни на более удобном языке. Ведь сама игра написана на C++, а это, хотя и мощный и быстрый язык, но не оч гибкий(все переменные имеют точный тип, при любой ошибке C++ оч сильно на неё ругается). Короче нужно что-то более податливое для быстрого описания уровней.

Поэтому эти дядьки(а они умные программисты, хотя и пьют много пива) зашли на сайт lua.org взяли код lua интерпретатора(а он бесплатен, доступен и открыт) и присобачили к своей игре.

Естественно lua есть не только в Worms. Поглядите список игр на википедии, и это не полный список!

По lua есть хороши описания, есть много разработок(я нашёл на нём даже сервер-kepler называется если что).

Так вот все эти игры и программы объединяет то, что у них есть интерпретатор Lua. Это такая часть программы которая понимает lua и может его загружать и выполнять.

Мы будем пользоваться двумя интерпретаторами:
1) Стандартный интерпретатор Lua
2) Интерпрератор Worms

Стандартный интерпретатор Lua - это чёрное досовское окошко, в котором нет ничего лишнего, но есть всё что надо, поэтому он идеален для понимания lua. В нём мы будем пробовать всё, что изучаем. А поскольку язык один, то всё что мы научимся делать можно будет применять в worms(с некоторыми оговорками)

Теперь пару слов о том, что мы можем добиться от программы. Вообще, у всех часто возникают вопросы: "а можно ли?" "а это реально сделать?" - на такие вопросы сразу отвечаю - чудес не бывает. Поясню на таком маленьком диалоге(Васи и Пети):
Вася: Можно ли червя во время игры с помощью скрипта переместить в любую произвольную точку??
Петя: Нет
Вася: Почему??? Было бы классно!
Петя: Потому что интепретатор не даёт такой возможности
Вася: А если поковыряться в exe?
Петя: Ковыряйся!
Вася: Нууу!
Примерно то же я отвечу, если вы будете приставать ко мне с такими вопросами, поэтому объясняю сразу.
Интерпретатор-прослойка между игрой и скриптом. В игре можно многое. Т.е. там реально существует возможность переместить червя. НО! чтобы в скрипте была эта возможность интерпретатор должен её предоставить скрипту. Это означает, что ленивые дядьки, вовсю пьющие пиво в Team17 должны пошевелить ручками и добавить это в lua, НО! они ленивые и пьяные, поэтому:
1) чтобы сделать такую возможность надо было достаточно долго посидеть над кодом и они это не стали делать
2) если даже делать такую возможность, она может вызвать кучу ошибок, а ошибки это плохо
3) lua они добавили не для нас(людей, которые пытаются извращаться над игрой), а для себя- то есть чтобы быстро описывать карты и ничего кроме этого!

Таким образом вы должны понять, как отвечать себе на многие такие вопросы. Но не огорчайтесь, к концу обучения вы найдёте массу полезных и интересных фич, да и сами научитесь делать скрипты, и искать инфу по ним.

По тексту выше уже немного понятно, что интерпретатор даёт функции скрипту. К примеру даёт скрипту возможность узнать, сколько червей на карте, к какой команде каждый принадлежит, какое у него оружие.
Но сам скрипт даёт интерпретатору кое-какую инфу, к примеру он может сказать интерпретатору "Слушай парниш, если тут червяк подохнет, ты мне об этом скажи, ага". Это называется событием. То есть если на карте что-то важное произошло, то об этом можно узнать в скрипте.

Кроме того скрипт может менять объекты в игре. К примеру он может взять и оживить червя, добавить ему здоровье, убрать у него оружие, кинуть ящик, ещё кучу всего.

Вот так.

Ну о червях достаточно, более детально поговорим ближе к концу обучения. Для того, чтобы всё это понять нам нужны базовые знания по луа, так что будем их получать!

Для того, чтобы их опробовать - надо будет установить стандартный интерпретатор, но о том, как это сделать - позже, в следующем уроке.

А сейчас жду мнений и отзывов. Что непонятно?



[Список уроков]|[Следующий урок]


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
firsacho
Дата: СБ, 20.11.2010, 10:19:09 | Сообщение # 16
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3636
Репутация: 71
Статус: Offline
хыхы) почитал от скуки статью... В Герыче оказывается похрапывает талант писателя)
Quote (Герыч)
ленивые дядьки, вовсю пьющие пиво в Team17
по-любому в мемориз)





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w4mod.tk - моя модификация для worms4

www.fir-st.narod.ru - моя домашняя творческая страничка

www.botarena.by.ru - мой сайт об игре robot arena 2 (битвы роботов)
 
Jhonny_old
Дата: СБ, 19.11.2011, 14:57:29 | Сообщение # 17
Jhonny_old
Завсегдатай
Группа: Заблокированные
Сообщений: 355
Репутация: 57
Статус: Offline
разве скриптинг это очень сложное занятие?
Мне казалось, что 3D моделирование сложнее.
 
PROFILE
Дата: СБ, 19.11.2011, 15:13:01 | Сообщение # 18
PROFILE
Капитан Профайлосса
Группа: Модераторы
Сообщений: 1018
Репутация: 107
Статус: Offline
Quote (Jhonny)
разве скриптинг это очень сложное занятие?

Конечно, сложное. Чтобы понять это, достаточно взглянуть на кол-во скриптов на сайте)
Quote (Jhonny)
Мне казалось, что 3D моделирование сложнее.

И 3д моделирование сложное) Но кому-то проще делать модельки, кому-то - писать скрипты.




Сообщение отредактировал PROFILE - СБ, 19.11.2011, 15:14:00
 
alex_2910
Дата: ВС, 20.11.2011, 17:34:09 | Сообщение # 19
alex_2910
Прошел обучение
Группа: Проверенные
Сообщений: 24
Репутация: 17
Статус: Offline
PROFILE, согласен, но для кого как, я в скриптах вообще не смыслю, но знаю мапперство и 3Д модели, у меня хад не получается
 
Охотник
Дата: ПН, 13.05.2013, 16:37:31 | Сообщение # 20
Охотник
Только что регнулся
Группа: Новички
Сообщений: 17
Репутация: 1
Статус: Offline
понятно!
 
firsacho
Дата: ПН, 13.05.2013, 18:44:13 | Сообщение # 21
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3636
Репутация: 71
Статус: Offline
Цитата (Охотник)
понятно!

мне тоже :D





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w4mod.tk - моя модификация для worms4

www.fir-st.narod.ru - моя домашняя творческая страничка

www.botarena.by.ru - мой сайт об игре robot arena 2 (битвы роботов)
 
agent007_old
Дата: ПН, 13.05.2013, 19:19:54 | Сообщение # 22
agent007_old
Позитивный чел
Группа: Заблокированные
Сообщений: 135
Репутация: 20
Статус: Offline
мне кажется,охотник хочет получить медаль "главный флудер" :D

 
Форум » Worms 4 Mayhem » 5.1. Уроки Lua » Урок 1. Intro (Что такое lua? Общий трёп)
Страница 2 из 2«12
Поиск:

Copyright W4Tweaks™ 2008-2016 Хостинг от uCoz