Строка 121: |
Строка 121: |
| | | |
| Тип переменной объявлять не нужно. По умолчанию любая переменная, которой не было присвоено значение, содержит пустую строку. Тип переменной не фиксирован, одной и той же переменной можно присваивать значения разных типов. | | Тип переменной объявлять не нужно. По умолчанию любая переменная, которой не было присвоено значение, содержит пустую строку. Тип переменной не фиксирован, одной и той же переменной можно присваивать значения разных типов. |
| + | == NT Deluxe Namespaces == |
| + | |
| + | Nanotrasen will constantly add new universal functions and features to NTSL, here are a few of them: |
| + | |
| + | |
| + | === Number === |
| + | |
| + | :{|style="background:#999999" |
| + | !align="left" width="200"| Syntax |
| + | !align="left" width="100"| Returns |
| + | !align="left" width="800"| Description |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | prob(number) || number || Returns nonzero is the probability succeeded. Returns zero if the probability failed. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | sqrt(number) || number || Квадратный корень |
| + | |- |
| + | | abs(number) || number || Модуль |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | floor(number) || number ||Округляет в меньшую сторону. |
| + | |- |
| + | | ceil(number) || number || Округляет в большую сторону. |
| + | |- |
| + | | round(number) || number || Округляет по стандартным правилам. 1.5->2, 1.49->1. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | clamp(number, number, number) || number || Вычисляет значение Arg.1 между min(Arg.2) и max(Arg.3). clamp(30, -30, 25) = 25 |
| + | |- |
| + | | inrange(number, number, number) || number || Возвращает 1, если Arg.1 между min(Arg.2) и max(Arg.3). |
| + | |- |
| + | |- |
| + | | tostring(number) || string || Возвращает значение переменной типа number в виде string. |
| + | |- |
| + | |- |
| + | | rand(number, number) || number || Возвращает случайное число между min(Arg.1) и max(Arg.2). |
| + | |- |
| + | |} |
| + | |
| + | === String === |
| + | |
| + | Строка(String) --- это последовательность символов. Строка обозначается кавычками с обоих сторон.<br> |
| + | "Hello world!" --- строка. <br> |
| + | Длина строки это количество содержащихся в ней символов и пробелов.<br> |
| + | |
| + | :{|style="background:#999999" |
| + | !align="left" width="200"| Syntax |
| + | !align="left" width="100"| Returns |
| + | !align="left" width="800"| Description |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | find(string, string) || string || Ищет в строке Arg.1 строку Arg.2, возвращает 0 если не найдено |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | length(string) || number || Возвращает длину строки. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | substr(string, number, number) || string || Возвращает подстроку из Arg.1 начиная с символа №(Arg.2) до символа №(Arg.3). |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | replace(string, string, string) || string || Возвращает вариант строки(Arg.1) где все вхождения строки Arg.2 заменены на Arg.3. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | lower(string) || string || Переводит все символы в строчные. |
| + | |- |
| + | | upper(string) || string || Переводит все символы в прописные. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | explode(string, string) || vector || Разделит строку(Arg.1) в каждом месте совпадающем с разделителем(Arg.2) в вектор. explode("Hello there young friend", " "), создаст вектор с 4 указателями, "Hello", "there", "young", "friend". это очень полезно для чат-команд: if(at(explode($content, " "),1)=="/bot"){dostuff} сделает так, чтобы dostuff выполнялось только если первое слово было /bot. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | repeat(string, number) || string || Повторяет строку(Arg.1) n(Arg.2) раз. |
| + | |- |
| + | | reverse(string) || string || Записывает строку в обратном порядке. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | tonum(string) || number || Переводит строку в тип number. |
| + | |- |
| + | |} |
| + | |
| + | === Vector === |
| + | |
| + | Вектор - массив с переменной длиной, в его ячейках могут храниться любые типы. They are very useful for serving as lists; their members can be instantly accessed provided you have an appropriate position. |
| + | Индексы вектора в NTSL начинаются с 1, в отличие от других языков. |
| + | |
| + | :{|style="background:#999999" |
| + | !align="left" width="200"| Syntax |
| + | !align="left" width="100"| Returns |
| + | !align="left" width="800"| Description |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | vector(...) || vector || Returns a vector with a given number of entities. You can add an infinite number of entries, or no entries at all. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | at(vector, number, var) || var || Sets the cell at Arg.2 index in the Arg.1 vector to Arg.3 if Arg.3 is supplied, otherwise, returns the value located at Arg.2. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | copy(vector, number, number) || vector || Returns a new vector based on Arg.1, ranging from minimum index Arg.2 to Arg.3. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | push_back(vector, ...) || || Adds Arg.2 (and every item after) to the end of the vector. Deprecated by the += operator. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | remove(vector, ...) || || Loops through the vector and deletes the items matching the Args. |
| + | |- |
| + | | cut(vector, number, number) || || Cuts out entries from Arg.2 to Arg.3 in the Arg.1 vector. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | swap(vector, number, number) || || Swaps the entries's position at Arg.2 and Arg.3 in the Arg.1 vector. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | insert(vector, number, var) || || Inserts Arg.3 into Arg.1 at index Arg.2. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | find(vector, var) || var || Searches the Arg.1 vector for Arg.2, returns 0 if not found. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | length(vector) || number || Returns the length of the vector. (amount of indices) |
| + | |- |
| + | |} |
| + | |
| + | === Miscellaneous Definitions === |
| + | |
| + | :{|style="background:#999999" |
| + | !align="left" width="200"| Syntax |
| + | !align="left" width="100"| Returns |
| + | !align="left" width="800"| Description |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | pick(...) || var || Возвращает случайно выбранную запись из параметров. Note: vector parameters will add their entries into the "raffle". Функция никогда не вернет вектор. |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | time() || number || Возвращает реальное время сервера в виде number. Вы можете использовать ее чтобы узнать как давно код исполнялся последний раз via mem(). |
| + | |- |
| + | | bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | || bgcolor="#AAAAAA" | |
| + | |- |
| + | | timestamp(format) || string || Возвращает время в виде строки, отформатированной по параметру. E.g: "DDD MMM DD hh:mm:ss YYYY" or "hh:mm:ss" or "DD MM YY". |
| + | |} |
| + | |
| + | === Prefab Variables === |
| + | |
| + | '''PI''' = 3.141592653; |
| + | '''E''' = 2.718281828; |
| + | '''SQURT2''' = 1.414213562; |
| + | '''FALSE''' = 0; // true/false are just Boolean shortcuts to 0 and 1 |
| + | '''TRUE''' = 1; |
| + | '''NORTH''' = 1; |
| + | '''SOUTH''' = 2; |
| + | '''EAST''' = 4; |
| + | '''WEST''' = 8; |
| + | |
| + | '''$common''' = 1459 |
| + | '''$science''' = 1351 |
| + | '''$command''' = 1353 |
| + | '''$medical''' = 1355 |
| + | '''$engineering''' = 1357 |
| + | '''$security''' = 1359 |
| + | '''$supply''' = 1347 |
| | | |
| == Traffic Control Systems Implementation == | | == Traffic Control Systems Implementation == |