Garry's Mod

Garry's Mod

Not enough ratings
Полный гайд по E2 (ЧАСТЬ 1)
By pakohbadajoz
ГРУППА ИЗА КОТОРОГО СДЕЛАНО РУКОВОДСТВО
https://gtm.steamproxy.vip/groups/deleteshitrp
BY Arseh9 И ГУГЛ
   
Award
Favorite
Favorited
Unfavorite
Синтаксис
# #this is comment Все, что находится за знаком # считается комментарием и не будет учитываться при обработке кода (оно будет проигнорировано при запуске чипа)
#[Comment]# #[This is a multi-line
comment]#

Все, что находится между знаками #[ и ]# считается комментарием и не будет учитываться при обработке кода (оно будет проигнорировано при запуске чипа)
if () {} if (A) {B=C} if (A) {D=B} Если значение (выражение) между круглыми скобками - "истина" то выполняются операции внутри фигурных скобок.
else {} else {A=B} Должен следовать за if () {} или elseif () {}. Если предыдущее условие было ложным, то выполняются операции в фигурных скобках.
Оператор не обязателен.

elseif () {} elseif (A) {B = C} Должен следовать за if () {} или elseif () {}. Если предыдущее условие было ложным и условие в круглых скобках истинно, то выполняются операции в фигурных скобках.
Оператор не обязателен.

~ if(~Time & Time == 0) {DO stuff} Изменялось ли значение на входе между выполнениями?
$ Opitch = Pitch + ($Pitch *3) Возвращает разницу между выполнениями в виде числа. (Работает только с переменными типа number, vector2, vector, vector4, angle)
++ if(Count == 2 {Count++} Count = Count + 1 Прибавляет 1 к заданной переменной.
-- if(Count == 3){Count--} Count = Count - 1 Вычитает 1 из заданной переменной.
+= if(Count == 4){Count += 2} Count = Count + 2 Прибавляет число после += к заданной переменной.
-= if(Count == 5) {Count -= 2} Count = Count - 2 Вычитает число после -= из заданной переменной.
( ? : ) D = (A ? B : C) Если A истина то возвращает B иначе C. Замечание: конструкция A ?: B аналогична конструкции A ? A : B
I if (A I B) {C = 1} Если A или B истина C=1.
& if (A & B) {C = 1} Если A и B истина C=1.
! if (!A) {B = 1} Должно предшествовать число. Возвращает 1 если A ложно (эквивалентно "A == 0").
Должно предшествовать число.
-> ->Input or ->Output Если вы используете его на входе, он возвращает 1, когда вход подсоединяется к чему либо. Если вы используете его на выходе, он возвращает количество входов присоединённых на выход.
#ifdef #ifdef entity():setAlpha(number) Проверяет может ли данная функция выполняться на сервере.
#else #else entity():setModel(string) Должно предшествовать #ifdef. Если данная функция не может использоваться на сервере запустится код после #else...
#endif #endif Должно предшествовать #ifdef или #else .Закрывает выражение #ifdef.
Переменные
@persist variable Это не будет работать потому, что переменная "variable" не будет прочитана как переменная, так как она объявлена со строчной буквы, а в Expression 2 переменные нужно обозначать с заглавной буквы.
@persist Variable Это будет работать, так как переменная "Variable" начинается с заглавной буквы.
Выражении
Выражение @trigger может выборочно разрешать и запрещать входам вызывать выполнение кода.Возможные значения: all/none, или список разрешенных входов.
@trigger all Всё по старому, изменение значения на входах всегда вызывает выполнение кода
@trigger none Изменение значения на входах никогда не вызывает выполнение кода, его вызывает только таймер, и.т.п. функции
@trigger Time Button Выполнение кода вызывается только при изменении значений на входах Time и Button
---------------------
Выражение @model устанавливает модель чипа при его первом создании.

Пример: @model models/bull/gates/processor.mdl
Циклы

while () {} Пример while (A) {B++} Любые инструкции в фигурных скобках будет повторяться, пока условие в круглых скобках истинно. Если условие ложно, инструкции будут пропущены и E2 будет продолжаться с конца цикла. Заметим, что условие проверяется только в самом начале каждого цикла.
for () {} Пример for (I = A, B[, C]) {} Добавляет значение C переменной для каждой итерации, пока она равна значению B. Если шаг C не указан, то он будет установлен на единицу. Обратите внимание, что А и В вычисляются только один раз - если они рассчитываются из переменных, что цикл устанавливает новые значения, это не изменит число итераций.
foreach () {} Пример foreach(K,V:type=Table) {} Проверяет каждый элемент указанного типа в таблице. Назначает ключ к К и значение V. Элементы, которые не имеют определенного типа будут пропущены. Элементы могут быть добавлены, удалены или изменены, однако добавляемые элементы не будут обрабатываться в текущем цикле. Только цикл по строке индексов при использовании таблицы.
continue Пример if (A) {continue} Может быть использовано только в while/for/foreach цикле. Эта команда позволяет немедленно вернуться к началу цикла, пропуская следующие инструкции.
break Пример if (A) {break} Может быть использовано только в while/for/foreach цикле. Эта команда позволяет немедленно вернуться к выходу из цикла, пропуская следующие инструкции.
Команды
Создает строку из помещенной в кавычки, например,"text goes here" Доступны операторы равенства (==) и неравенства, также как и конкатенации(+), для объединения строк и чисел в любом порядке. Операция конкатенации возвращает строку. Первый символ строки имеет номер 1. Отрицательные индексы отсчитываются от конца строки, в которой последний символ -1. Положительные индексы привязаны к длине строки.
S:index(N) S Возвращает N-нный символ из строки
S:length() N Возвращает длину строки
S:upper() S Делает все буквы у строки большими
S:lower() S Делает все буквы у строки маленькими
S:sub(N,N) S Возвращает подстроку, начиная с первого аргумента и заканчивая вторым
S:left(N) S Возвращает первые N символов строки
S:right(N) S Возвращает последние N символов строки
S:find(S) N Возвращает 1 если в строке найдена подстрока S, или 0 если не найдена
S:find(S, N) N Возвращает 1 если в строке найдена подстрока S начиная с Nого символа, или 0 если не найдена
S:explode(S) R Разбивает строку через разделитель S и записывает результат в массив. Подробнее string.Explode
S:repeat(N) S Повторяет N раз, возвращает S
trim(S) S Убирает пробелы в начале и в конце строки
S:trimLeft() S Убирает пробелы в начале строки
S:trimRight() S Убирает пробелы в конце строки
S:replace(1S,2S) S В строке S, находит все 1S, и заменяет их на 2S
S:reverse() S Возвращает перевернутую строку S
S:toNumber() N Переводит строку в числа
toString(N) S Переводит число N в строку. (Числа могут быть преобразованы в строку без этой функции)
toChar(N) S Возвращает ASCII-код из N, при условии что там помещен один знак.
toByte(S) N Возвращает ASCII-код от первого знака в начале строки.
toByte(S,N) N Возвращает ASCII-код знака из S, на позиции N
S:match(S2,N) R Запускает функцию string.match(S, S2, N) garrysmod и возвращает в виде массива.
S:match(S2) R Запускает функцию string.match(S, S2) garrysmod и возвращает в виде массива.
S:matchFirst(S2,N) S Запускает функцию string.match(S, S2, N) garrysmod и первое совпадение или пустую строку в случае ошибки.
S:matchFirst(S2) S Запускает функцию string.match(S, S2) garrysmod и первое совпадение или пустую строку в случае ошибки.
P.S Буквы после комманды возвращает это
S:index(N) S Возвращает N-нный символ из строки
S:length() N Возвращает длину строки
S:upper() S Делает все буквы у строки большими
S:lower() S Делает все буквы у строки маленькими
S:sub(N,N) S Возвращает подстроку, начиная с первого аргумента и заканчивая вторым
S:left(N) S Возвращает первые N символов строки
S:right(N) S Возвращает последние N символов строки
S:find(S) N Возвращает 1 если в строке найдена подстрока S, или 0 если не найдена
S:find(S, N) N Возвращает 1 если в строке найдена подстрока S начиная с Nого символа, или 0 если не найдена
S:explode(S) R Разбивает строку через разделитель S и записывает результат в массив. Подробнее string.Explode
S:repeat(N) S Повторяет N раз, возвращает S
trim(S) S Убирает пробелы в начале и в конце строки
S:trimLeft() S Убирает пробелы в начале строки
S:trimRight() S Убирает пробелы в конце строки
S:replace(1S,2S) S В строке S, находит все 1S, и заменяет их на 2S
S:reverse() S Возвращает перевернутую строку S
S:toNumber() N Переводит строку в числа
toString(N) S Переводит число N в строку. (Числа могут быть преобразованы в строку без этой функции)
toChar(N) S Возвращает ASCII-код из N, при условии что там помещен один знак.
toByte(S) N Возвращает ASCII-код от первого знака в начале строки.
toByte(S,N) N Возвращает ASCII-код знака из S, на позиции N
S:match(S2,N) R Запускает функцию string.match(S, S2, N) garrysmod и возвращает в виде массива.
S:match(S2) R Запускает функцию string.match(S, S2) garrysmod и возвращает в виде массива.
S:matchFirst(S2,N) S Запускает функцию string.match(S, S2, N) garrysmod и первое совпадение или пустую строку в случае ошибки.
S:matchFirst(S2) S Запускает функцию string.match(S, S2) garrysmod и первое совпадение или пустую строку в случае ошибки.
2 Comments
Hiro 20 Oct, 2021 @ 8:25pm 
Кажется ты не написал как открыть вообще эту фигню
s0m31 30 May, 2019 @ 10:51pm 
нихера не понятно