Меню
GTA 5
Red Dead Redemption 2 GTA San Andreas
GTA Online GTA 6 GTA 4 GTA Vice City GTA 3 GTA CTW GTA VC Stories GTA LC Stories Rockstar Classics Модмейкерам
Ads
Платим 💰 авторам крутых модов
1Сделай свой мод и выложи его на сайте
2Получи как можно больше плюсов от VIP-пользователей
3Войди в пятерку лучших модмейкеров месяца и забирай свои 💰
Прочее
Топ коммент за вчера
Artemis_Miron
вчера, 03:33
К файлу
Porok / Порок
Третий по счету DYOM-проект Leon_Crain, рассказывает нам о демонической сущности по имени Темный, который изменяет психику людей и заставляет их убивать все живое, а сам Темный находит своих новых жертв и превращает их в рабов. Рабами Темного не посчастливилось стать главному герою Дарену вместе со своими друзьями по работе. Дарен, понимая что он стал невольным рабом сил зла, пытается освободится от влияния темных сил, освободить от такого же влияния своих друзей и остановить Темного. Вот такой вот, простенький сюжетец криминально-мистического триллера, поданный хорошо.

Исполнение как с предыдущими проектами Leon_Crain получилось на хорошем уровне, но были местами и отрицательные моменты. И как ни странно, данные проект почему-то не сторилайн.

Оценки:
Сюжет: 4 из 5
Исполнение: 4 из 5
Итого: 8 из 10

Этот проект заслуживает плюса и ваше время на прохождение, а Leon_Crain я пожелаю ему удачи в творческих работах и всего хорошего что будет в его жизни, а также набираться вдохновения и ещё более оригинальных идей, и что самое главное не лениться и не сдавать обороты.
Подписывайся!

Введение в скриптинг MTA Lua


Введение в скриптинг MTA Lua    
Здравствуйте. В этом уроке мы познакомимся с таким программированием, как Lua. Данный учебник будет написан на простом и понятном языке, чтобы не усложнять жизнь начинающим скриптерам. В введении в курс Lua я буду сравнивать аналогичные функции с SA-MP Pawn.


Введение в скриптинг MTA Lua


Содержание:

1) Client’n’Server Sides (2 стороны сервера – C-Сторона и S-Сторона) – Введение
2) Иерархическое строение сервера (meta.xml)
3) Администрирование (ACL)
4) Аргументы игрока (source, thePlayer, getLocalPlayer())
5) Вывод (Окончание учебника)
6) Дополнительный материал


Введение

Наша статья прямо связана с сетевой игрой для GTA San Andreas – Multi Theft Auto. Начну с того, что в MTA Lua вам предоставлены 2 стороны – Server (связана с функциями и действиями в основном с игроками и игровым миром) и Client (связана с функциями и действиями, не связанными с игроком). На S-Стороне пишут в основном системы, которые непосредственно связаны с игроком, например система команд. На C-Стороне пишут диалоговые окна (GUI), изображения на экран (dxDraw). Про dxDraw могу сказать то, что он немного похож на TextDraw из SA-MP, но имеет функцию загрузки любого выбранного вами изображения (на примере рабочего стола в моей системе Lunix OS).


Иерархическое строение сервера (meta.xml)

Сервер МТА имеет иерархическое строение, а именно один каталог принадлежит другому, а тот в свою очередь принадлежит третьему. Главным каталогом является папка или архив с названием ресурса (не имеет значения, как её назвать) в папке /MTA San Andreas Ver/server/mods/deathmatch/resources/

в котором в свою очередь обязательно должен находится файл meta.xml, где хранятся данные о ресурсе (тип, название ресурса, автор, версия, дочерние файлы (изображения, модели, текстуры, lua файлы ресурса, и другое)).
В МТА присутствует функция отделения карты/ресурса от главного запущенного (им является ресурс с пометкой «Gamemode» в файле meta.xml), следовательно, можно выгружать и загружать ресурс или карту прямо на сервер, не перезагружая при этом сервер.

Так-же тут присутствует возможность использовать функции из других ресурсов, например есть 2 ресурса – «admin» (система администрирования) и «TvoyRes». Вашим ресурсом является «TvoyRes». Вы можете прямо использовать функции из ресурса «admin», ничего не подгружая (кроме директории ресурса в meta.xml)


Администрирование (ACL)

Поговорим об администрировании сервера MTA.

В МТА администратор ресурса зовётся resourceRoot (некоторая связь с администрированием систем Linux). Главными resourceRoot’ами являются командная строка запуска сервера, и игровая консоль (вызывающаяся на символ «~» при английской раскладке, или клавишей F8). Игровая консоль от командной строки сервера отличаются тем, что в консоли можно вводить команды ресурсов (в командной строке нельзя), и входить в режим resourceRoot в консоли не нужно.

Давайте сравним типы администрирования Rcon (SA-MP) и resourceRoot, или просто Root (MTA):

- В SA-MP Rcon может войти любой игрок, зная определённый единственный пароль для входа.
- В МТА Root могут войти только зарегистрированные на сервере пользователи, имеющие привилегии, указанные в специальном файле.

Это показывает то, что в МТА по стандартным установкам сервера последних версий уже имеется система аккаунтов, нежели в SA-MP, которую, если нужно, можно написать.

В МТА так же имеется система уровней администрирования:

- Everyone (Default) – зарегистрированные аккаунты, они сюда после регистрации не попадают, их нужно записывать самому.
- Moderator – модератор, с ограниченным набором команд.
- SuperModerator – модератор, имеющий больше привилегий.
- Admin – администратор, который имеет доступные привилегии модератора и супер-модератора с добавлением некоторых полномочий.
- RPC – связан с доступом в интернет, имеет только функцию callRemote, которая связана с загрузкой деталей из интернета.
- MapEditor – имеющий доступ к редактированию карты (если загружен скрипт редактирования (с сервера, не имеющий отношения к Map Editor в меню игры))
- raceACLGroup – многие знают, что МТА с начала существования начинала с серверов, связанных с гонками (нежели SA-MP был полон DM серверов), эта группа связана с администрированием Race ресурсов (думаю данная группа не важна).
- Console – resourceRoot всего сервера, имеющий все полномочия вместе взятых групп.

По сравнению с SA-MP, в МТА в сервер встроены команды для администраторов.

Использование функций ACL (администрирования) в скриптинге выглядит не так просто, потому что для того, чтобы найти администратора на сервере через скрипт, нужно ввести поиск полномочий пользователя. Например, функция поиска объекта, имеющего доступ к чему-либо (только S-Сторона):

hasObjectPermissionTo(object, what_is_to, bool)


И функция поиска объекта в ACL группах (поиск по группам администрирования) (только S-Сторона):

isObjectInACLGroup(object, acl_group)


Рассмотрим эти функции на примере:

if hasObjectPermissionTo(source, “function.addBan”, true) then ВАШ КОД end


Эта функция проверит, доступна ли у игрока source доступ к функции addBan (доступен администраторам и выше)

if isObjectInACLGroup(“user.”..getPlayerName(source), aclGetGroup(“Admin”)) then ВАШ КОД end


Данный код найдёт пользователя в группе Admins. Так как в файле администраторов игрок прописывается через user.name, то и поиск его тоже надо сделать через user. Функция getPlayerName покажет имя игрока, и, следовательно, исходный запрос будет выглядеть как user.name. Функция aclGetGroup ищет по группе администрирования, указанной в аргументе. Важно вводить группу такой, какая она есть (Admin, SuperModerator, Console, MapEditor), соблюдая регистр.

Это конечно выглядит и понимается сложней, чем то же самое в SA-MP:

if IsPlayerAdmin(playerid){ КОД }
return 1;



Аргументы игрока (source, thePlayer, getLocalPlayer())

Раз дело пошло о аргументе Source, расскажу о нём.

В МТА есть несколько аргументов на поиск игрока. Самым основным является source – он доступен для обеих сторон (S- и C- сторон), и определяет любого «раздражителя» (например, если объект выполняет действие с source, то в выполнении source’ом является именно этот объект, но не какой-либо левый игрок). Так же присутствует аргумент thePlayer, определяющий игрока, работает в S-Стороне. Ещё присутствует функция getLocalPlayer(), определяющая игрока в пределах C-Стороны.


Вывод (Окончание учебника)

На этом я заканчиваю данный урок. В заключении я добавлю, что МТА Lua является упрощённым языком, и пишется проще, чем SA-MP Pawn, но данный язык усложнён своими функциями, но именно они упрощают вид языка.


Дополнительный материал

Для тех кто думает переходить с Pawn в Lua (я всеми руками за) я могу предложить переменную, которая оставит вам привычный playerid.

Для S-Стороны:

playerid = source


Для C-Стороны:

playerid = getLocalPlayer()


Данный код можно писать в начале ресурса

Как редактор ресурсов, советую вам использовать MTA Script Editor.
Понравилась статья?
, · Написать статью


Проголосовать за статью "Введение в скриптинг MTA Lua"
Голосов
 ПлохоПриемлемоСреднеХорошоОтлично 
Рейтинг
5650%

Патч 1.0.3.0 (EN)

21 марта 2009 GTA 4
Патч 1.0.3.0 для английской версии GTA 4 исправляет множество различных проблем, включая проблемы с графикой, мультиплеером и системой управления. Кроме того, увеличена производительность игры.Полный список изменений:GRAPHICS:Interior Lights for ATI ...

Shadow Mapper

15 апреля 2010 GTA 4
Редактор карт для GTA IV.В архиве имеются версии для x64 и x86 разрядных систем. Кроме всего, в архиве есть пакет .bat файлов.Требования- Установленная Java.- Установленный Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File...

GTA San Andreas - Camera Hack v1.2 для windows 7

13 мая 2010 GTA San Andreas
GTA San Andreas - Camera Hack v1.2 для windows 7Наверное многие столкнулись с проблемой что, очень хорошая программа GTA San Andreas - Camera Hack, не работает под windows 7.Проблема в том что из 7-ки зачем то, по удаляли необходимые библиотеки.Но эт...

Phone Service

5 октября 2010 GTA San Andreas
С этим модом ваш телефон больше не будет пылиться у вас в кармане, а станет для вас самым незаменимым предметом в игровом процессе!!! Этот мод даёт возможность использовать различные телефонные сервисы! Сам скрипт состоит из двух частей - это телефон...

San Andreas HRT Pack (v1.3 SF)

29 ноября 2010 GTA San Andreas
San Andreas HRT Pack — глобальная модификация для GTA: San Andreas, которая существенно улучшает качество графики, заменяя большую часть старых текстур высококачественными аналогами в высоком разрешении. Тысячи текстур местности были переработаны и о...

Autumn Mod 2.0 HRT

2 декабря 2010 GTA San Andreas
Autumn Mod — осенняя модификация для GTA: San Andreas, которую можно устанавливать как поверх оригинальной игры, так и поверх глобального мода HRT Pack (в таком случае будет больше нововведений). Autumn Mod меняет спрайты травы, текстуры травы на нек...

Вторжение пришельцев

5 декабря 2010 GTA San Andreas
К Сан-Андреасу движутся огромные инопланетные корабли! ФОТО.Три гигантских неопознанных летающих объекта, длина которых составляет десятки километров, движутся по направлению к штату Сан-Андреас, сообщил журналистам некто Истина (The Truth), кашляя, ...

GreenEffects Mod (v1.0)

8 декабря 2010 GTA San Andreas
Green Effects Mod (v.1)-глобальная модификация которая включает:Полностью переработанный файл grass (трава в GTA).Встроенную библиотеку ENBSeries благодаря ей в игре появятся реалистичные отражения на автомобилях, станет более реальной вода и другие ...


Информация
Чтобы оставлять комментарии, необходимо зарегистрироваться на сайте.

10
комментарий написан, 13 июня 2017, 17:23
#
Dinar1998
Пользователь
Статус:
Комментариев:36
Друзей:0
Репутация: 0
Деньги: 0$
Награды:: 2
#
0
Source указывает не игрока, а то, что вызвало событие.
Например при срабатывании события onVehicleDamage source'ом будет не игрок, а машина, которая вызвала это событие(в данном случае та, которая повредилась).
А, например, при вызове события onPlayerWasted Source'ом будет игрок, который вызвал это события(в данном случае тот, который умер).
thePlayer - нет такой функции, это лишь один из вариантов названия переменной.
Ребят, лучше читайте Mta Wiki, там больше полезного, хоть и большинство на английском.

Dinar1998 22.06.2017, 15:15:44

--------------------

9
комментарий написан, 18 июня 2015, 20:48
#
Pacr656
Пользователь
Статус:
Комментариев:2
Друзей:0
Репутация: 0
Деньги: 0$
#
0
Мдаа.. Много объяснил

--------------------

8
комментарий написан, 26 января 2014, 20:09
#
Mr.Konstantinos
Пользователь
Статус:
Комментариев:223
Друзей:3
Репутация: 5
Деньги: 0$
Награды:: 7
GForums: Mr.Konstantinos

Karma: 1250
#
0
Я тоже почитаю как-нибудь.[6](хотя неа)

--------------------

7
комментарий написан, 23 января 2014, 10:24
#
S7en
Пользователь
Статус:
Комментариев:33
Друзей:7
Репутация: 0
Деньги: 0$
Награды:: 1
GForums: S7en

Karma: 13
#
0
Очень интересно. Почитаю как-нибудь. [5]

--------------------


--------------------

6
комментарий написан, 16 января 2014, 16:47
#
TheInsaneKiller
VIP-пользователь
Проверяющий
Статус:
Комментариев:460
Друзей:94
Репутация: 226
Деньги: 16$
Награды:: 9


Karma: 792
#
0
Новичкам пригодится)

--------------------


--------------------

5
комментарий написан, 6 января 2014, 16:44
#
bmynik
Пользователь
Статус:
Комментариев:58
Друзей:3
Репутация: 0
Деньги: 0$
#
0
Очень интересно. Почитаю как-нибудь. [4]

--------------------

4
комментарий написан, 20 декабря 2013, 17:00
#
AriosJentu
Пользователь
Статус:
Комментариев:1945
Друзей:14
Репутация: 71
Деньги: 0$
Награды:: 7
GForums: Arios Jentu

Karma: 1562
#
0
Я тут немного ошибся - в консоли обязательно нужно входить в root, а в командной строке сервера не надо; еще информация про гонки недостоверна, с самой первой версии - мта являлся дм и так и назывался - Multi Theft Auto Deathmatch

Сообщение отредактировал DarthPoezd 20.12.2013 в 17:01:50

--------------------


--------------------

3
комментарий написан, 19 декабря 2013, 18:54
#
Rockstar_man
Пользователь
Статус:
Комментариев:76
Друзей:10
Репутация: 1
Деньги: 0$

Karma: 123
#
0
Очень интересно. Почитаю как-нибудь. [3]

--------------------

2
комментарий написан, 18 декабря 2013, 16:02
#
Monyka_mouse
Пользователь
Статус:
Комментариев:137
Друзей:31
Репутация: 11
Деньги: 0$
Награды:: 2
GForums: Monyka_mouse

Karma: 121
#
-1
Очень интересно. Почитаю как-нибудь.(2)


--------------------


--------------------

1
комментарий написан, 17 декабря 2013, 22:49
#
iTz_XG4М3R
Забанен
Статус:
Комментариев:2294
Друзей:363
Репутация: 0
Деньги: 0$
Награды:: 13
GForums: iTz_XG4M3R

Karma: 4753
#
-2
Очень интересно. Почитаю как-нибудь.

--------------------


--------------------

Ad
Опрос
Играете ли вы в GTA Online?
Играю
Не играю совсем

Подсчет GTAшников

Рейтинг@Mail.ru





Change language


Помогите нам перевести LibertyCity на другой язык!


Ad