Категория: Туториалы

И так, давайте приступим.
Для начала нам потребуются несколько вещей:
1 - г-мод или гта4 (советую гмод по скольку в гта4 функции совсем другие)
2 - луапад для гмода ( http://www.garrysmod.org/downloads/?a=view&id=78199 )
3 - Notepad++ - как луапад только внешний (http://download.tuxfamily.org/notepad....ler.exe)
4 - функции для Notepad++ (https://sites.google.com/a....rects=0
5 - кой-нить музончик чтобы не упасть в депрессию.

Для начала давайте изучим базы луа, синтаксис и циклы. Также возможно вам понадобится помощь с функциями, для этого есть luasearch.

Давайте изучим для начала if then else и т.д.
Открываем Gmod, запускаем синг и пишем в консоль luapad
чтобы запустить скрипт нужно нажать 1 кнопку вверху и выбрать тип запуска, в нашем случае будет "shared".

Мал. Словарик: стринг - строка


if SERVER then Msg( "nHELLO WORLDn" ) end


теперь разбираем все по частям.
в стринге вы видите 2 символа: \n - это перенос строки. Как тогда, когда мы жмем ENTER.
if - лог. оператор "если".
т.е. в нашем случае "если SERVER - истинна затем..."
SERVER - переменная для shared (sh_*.lua) скриптов, возвращает "true" - истинна когда
скрипт проганяется по серверской стороне.
then - разделяет инструкцию ( то что будет выполнятся ) со сравнением ( то что стоит в if-е )
Msg - текстовое сообщение в консоль, как комманда "echo"
и end - завершает if .

давайте продолжим дальше...


if CLIENT then chat.AddText( Color( 255, 0, 0 ), "HELLO", Color( 255, 255, 0 ), "WORLD!" ) end


if then и end вы уже знаете.
как видите, этот скрипт очень напоминает 1, но тут при прогоне скрипта на клиенте CLIENT возвращает true.
chat - библиотека функций, из таких библиотек состоит множество функций, таких как timer. ; ents. ; player. и т.д.
AddText - подфункция библиотеки chat. которая выводит сообщение в чат.
Color - функция для создания цвета как RGB и RGBA.
после идет текст который перекрашивается в цвет написанный в Color().

Добавлено (26.02.2012, 19:56)
---------------------------------------------
дальше давайте сделаем пару циклов, они довольно простые.

for k, v in pairs( player.GetAll() ) do Msg( "n"..tostring( k ).." has been pushed up!" ) v:SetVel( Vector( 0, 0, 1000 ) ) end


этот цикл нужно запустить на СЕРВЕРСКОЙ стороне ( server )!
for - оператор цикла. k, v - 2 переменные: k - возвращает номер в таблице который сейчас был затронут, v - основная переменная, в нашем случае ентити игрока.
in pairs( ) - перевод таблицы в 2 переменные. также можно использовать ipairs. Разница между ними - ipairs сортирует все по порядку ( там свои факторы ) а pairs в случайном порядке. do - как в if-е then.
.. - соединяет между собой 2 стринга.
tostring() - функция которая переводит номер - в нашем случае в стринг.
SetVel - функция которая применяет скорость к предмету - в нашем случае ко ВСЕМ игрокам. (НЕ ПУТАТЬ С ApplyForce)
Vector - создает 3д вектор из 3 чисел.
end - заканчивает цикл.

также есть еще 2 for цикл.

for i=1, 10 do Msg( "n"..tostring( i ) ) end


это тот-же цикл только численный.
i - переменная, как в 1 была k
а 10 - кол-во раз сколько цикл будет погонятся.

идем далее...


function explode( ply ) if not ply:IsValid() or not ply:IsPlayed() then return end ply:EmitSound( "ambient/explosions/explode_2.wav" ) ply:SetVel( Vector( 0, 0, 500 ) ) ply:Kill() end


это пользовательская функция.
function - ее начало, explode - ее название, а то что в скобках переменные для выполнения функции. end - заканчивает функцию.
if not ply:IsValid() or not ply:IsPlayer() then return end - давайте я вам не буду все разжевывать, я вам это переведу.
если ply не существует или ply не игрок тогда вернуть (ничего)
т.е. return end останавливает функцию.
EmitSound - проиграть звук зависящий от какого-либо енититя
SetVel - мы уже знакомы, а
Kill() - убивает игрока.

чтобы ее запустить нужно запустить сначала этот-же скрипт, а затем новый

for _, pl in pairs( player.GetAll() ) do explode( pl ) end


но учтите! функция у нас глобальная, если вам надо чтобы функция была расчитана только на 1 скрипт нужно написать local перед функцией. тоже дело и с переменными
к примеру

if true then local B = 1 end Msg( "n"..tostring( B ) )

будет ошибочным скриптом, а


if true then B = 1 end Msg( "n"..tostring( B ) )


будет правильным.




Комментарии:

TraX
Долгожители
26 февраля 2014 09:03
Ух. Пили дальше, мб и научусь чему-нибудь тогда :3

Войдите или зарегистрируйтесь, чтобы оставить комментарий.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Информация

Привет, Mingebag!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!



Активные пользователи

Nuke
Материалов: 304
Комментариев: 1
De12344
Материалов: 52
Комментариев: 172
ololoev_93
Материалов: 44
Комментариев: 29
gmodorg
Материалов: 41
Комментариев: 0
Andreyn
Материалов: 25
Комментариев: 5
EginKama
Материалов: 16
Комментариев: 1

Мини-чат

blackfireYT blackfireYT
Сегодня в 18:04:37

как у вас дела ?
blackfireYT blackfireYT
Сегодня в 18:03:54

всем привет
vladevos vladevos
21 января 2017

fukk uuuuu
Garrysmanman Garrysmanman
20 января 2017

Обажаю garry' mod love
DOnald duck DOnald duck
18 января 2017

привет
nikita loginob nikita loginob
17 января 2017

чё за belay
кек11 кек11
16 января 2017

а есть аддон на кс го
soplya soplya
16 января 2017

плиз сделайте аддон про аниме nps сестра попросила
horror sans horror sans
13 января 2017

belay чё????
nikita loginob nikita loginob
13 января 2017

я щас так замочу combine автоматом am bully
MistarCraft12344545 MistarCraft12344545
12 января 2017

у меня стрела забло recourse кирована
кисть кисть
11 января 2017

дам совет что бы установить мод нужно скачать гаррис мод 13 там как раз всё что надо а другой вариант нужно скачать тоже самое только гаррис мод 10!
кисть кисть
11 января 2017

WoFeR_Pro У меня тоже проблема с этим у меня гаррис мод 13 версия видимо что бы установить гаррис мод 10
azaza2134 azaza2134
10 января 2017

ребятт дайте ссылку на Neuro Tec нормальную версию
Pardinosnik Pardinosnik
8 января 2017

кто знает какойто очень крутой мод на гаррис мод 13? lol

Только зарегистрированные пользователи могут писать в чате.

Голосование

У вас уже есть лицензия Garry's Mod?
Да, доволен покупкой
Нет, мне хватает пиратской версии
Нет, но хотел бы приобрести

Голосовать Результаты

Последние темы

ПРОБЛЕМА

Последний ответ: Сегодня, 11:46
от Spidermania-2016

Rust – клон майнкрафта или что-то больше...

Последний ответ: 04:01, 20.01.2017
от Travisgenn

Предложения по улучшению сайта

Последний ответ: 00:39, 05.01.2017
от Podharochnia

Лицензия или Пиратка?

Последний ответ: 20:03, 26.12.2016
от GTAmensnnj

ТОП-100 самых дешевых авиабилетов на Нов...

Последний ответ: 20:21, 10.12.2016
от sir-ivansn

Пользователи

Всего онлайн: 51
Гостей: 42
Пользователей: 9

Celiaartell, RobbySamix, araqanap, ayumaigado, anifnjswat, Josephvig, afukojuteqove, ayubifuwowa, robbiegx2

Мы ВКонтакте