<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://gravitywiki.ru/index.php?action=history&amp;feed=atom&amp;title=guides%2Fopencomputers%2Fhow_to_write_programs</id>
	<title>guides/opencomputers/how to write programs - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://gravitywiki.ru/index.php?action=history&amp;feed=atom&amp;title=guides%2Fopencomputers%2Fhow_to_write_programs"/>
	<link rel="alternate" type="text/html" href="https://gravitywiki.ru/index.php?title=guides/opencomputers/how_to_write_programs&amp;action=history"/>
	<updated>2026-04-23T16:23:02Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://gravitywiki.ru/index.php?title=guides/opencomputers/how_to_write_programs&amp;diff=14078&amp;oldid=prev</id>
		<title>Pryn1k: Новая страница: «Программирование в OpenComputers — это процесс создания Lua-скриптов, которые выполняются внутри операционной системы OpenOS и управляют компонентами компьютера, роботами и сетевыми системами. Любая автоматизация в моде, от простого вывода текста до сложных ло...»</title>
		<link rel="alternate" type="text/html" href="https://gravitywiki.ru/index.php?title=guides/opencomputers/how_to_write_programs&amp;diff=14078&amp;oldid=prev"/>
		<updated>2026-04-23T11:00:20Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Программирование в OpenComputers — это процесс создания Lua-скриптов, которые выполняются внутри операционной системы OpenOS и управляют компонентами компьютера, роботами и сетевыми системами. Любая автоматизация в моде, от простого вывода текста до сложных ло...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Программирование в OpenComputers — это процесс создания Lua-скриптов, которые выполняются внутри операционной системы OpenOS и управляют компонентами компьютера, роботами и сетевыми системами. Любая автоматизация в моде, от простого вывода текста до сложных логических систем, строится через написание программ.&lt;br /&gt;
&lt;br /&gt;
== Введение ==&lt;br /&gt;
Программы в OpenComputers — это текстовые файлы с кодом на Lua, которые выполняются внутри компьютера. Они могут взаимодействовать с железом через API и управлять всеми аспектами системы: экраном, редстоуном, сетью, файлами и событиями.&lt;br /&gt;
&lt;br /&gt;
В отличие от визуальных модов автоматизации, здесь игрок сам пишет логику поведения системы. Это делает OpenComputers мощным инструментом для создания сложных инженерных решений внутри Minecraft.&lt;br /&gt;
&lt;br /&gt;
Основная цель на старте — научиться создавать, сохранять и запускать простые программы.&lt;br /&gt;
&lt;br /&gt;
== Как работает ==&lt;br /&gt;
Программа в OpenComputers — это Lua-файл, который интерпретируется OpenOS.&lt;br /&gt;
&lt;br /&gt;
Процесс выполнения:&lt;br /&gt;
&lt;br /&gt;
пользователь создаёт файл через edit&lt;br /&gt;
&lt;br /&gt;
записывает Lua-код&lt;br /&gt;
&lt;br /&gt;
сохраняет файл&lt;br /&gt;
&lt;br /&gt;
запускает его через терминал&lt;br /&gt;
&lt;br /&gt;
После запуска система загружает файл в RAM и выполняет его через Lua-интерпретатор.&lt;br /&gt;
&lt;br /&gt;
Программы могут:&lt;br /&gt;
&lt;br /&gt;
выполняться один раз и завершаться&lt;br /&gt;
&lt;br /&gt;
работать в бесконечном цикле&lt;br /&gt;
&lt;br /&gt;
реагировать на события&lt;br /&gt;
&lt;br /&gt;
взаимодействовать с компонентами&lt;br /&gt;
&lt;br /&gt;
Каждая программа работает в рамках операционной системы OpenOS и имеет доступ к файловой системе и API.&lt;br /&gt;
&lt;br /&gt;
== Основные механики ==&lt;br /&gt;
Программирование в OpenComputers строится на нескольких ключевых механиках Lua.&lt;br /&gt;
&lt;br /&gt;
Переменные&lt;br /&gt;
&lt;br /&gt;
Используются для хранения данных:&lt;br /&gt;
&lt;br /&gt;
x = 10&lt;br /&gt;
&lt;br /&gt;
Типы данных&lt;br /&gt;
&lt;br /&gt;
числа&lt;br /&gt;
&lt;br /&gt;
строки&lt;br /&gt;
&lt;br /&gt;
булевы значения&lt;br /&gt;
&lt;br /&gt;
таблицы&lt;br /&gt;
&lt;br /&gt;
функции&lt;br /&gt;
&lt;br /&gt;
Условные операторы&lt;br /&gt;
&lt;br /&gt;
if x &amp;gt; 5 then&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;big&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Циклы&lt;br /&gt;
&lt;br /&gt;
while true do&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;loop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
os.sleep(1)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Функции&lt;br /&gt;
&lt;br /&gt;
function add(a, b)&lt;br /&gt;
&lt;br /&gt;
return a + b&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Модули&lt;br /&gt;
&lt;br /&gt;
local component = require(&amp;quot;component&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
API компонентов&lt;br /&gt;
&lt;br /&gt;
local rs = component.redstone&lt;br /&gt;
&lt;br /&gt;
rs.setOutput(1, 15)&lt;br /&gt;
&lt;br /&gt;
Работа с файлами&lt;br /&gt;
&lt;br /&gt;
edit program.lua&lt;br /&gt;
&lt;br /&gt;
program.lua&lt;br /&gt;
&lt;br /&gt;
События&lt;br /&gt;
&lt;br /&gt;
local event = require(&amp;quot;event&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
event.pull(&amp;quot;key_down&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Пошаговая инструкция ==&lt;br /&gt;
Создание программы&lt;br /&gt;
&lt;br /&gt;
В терминале введи:&lt;br /&gt;
&lt;br /&gt;
edit hello.lua&lt;br /&gt;
&lt;br /&gt;
Написание кода&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Hello OpenComputers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Сохранение&lt;br /&gt;
&lt;br /&gt;
Нажми CTRL + S и выйди из редактора.&lt;br /&gt;
&lt;br /&gt;
Запуск программы&lt;br /&gt;
&lt;br /&gt;
hello.lua&lt;br /&gt;
&lt;br /&gt;
Проверка вывода&lt;br /&gt;
&lt;br /&gt;
Убедись, что текст отображается в терминале.&lt;br /&gt;
&lt;br /&gt;
Использование переменных&lt;br /&gt;
&lt;br /&gt;
x = 5&lt;br /&gt;
&lt;br /&gt;
print(x)&lt;br /&gt;
&lt;br /&gt;
Добавление условий&lt;br /&gt;
&lt;br /&gt;
if x == 5 then&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;OK&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Использование цикла&lt;br /&gt;
&lt;br /&gt;
for i = 1, 3 do&lt;br /&gt;
&lt;br /&gt;
print(i)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Работа с компонентами&lt;br /&gt;
&lt;br /&gt;
local component = require(&amp;quot;component&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local gpu = component.gpu&lt;br /&gt;
&lt;br /&gt;
gpu.set(1, 1, &amp;quot;Text&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Сохранение и повторный запуск&lt;br /&gt;
&lt;br /&gt;
После изменений снова запусти файл.&lt;br /&gt;
&lt;br /&gt;
== Частые ошибки ==&lt;br /&gt;
Отсутствие сохранения файла&lt;br /&gt;
&lt;br /&gt;
Новички выходят из editor без сохранения.&lt;br /&gt;
&lt;br /&gt;
Синтаксические ошибки Lua&lt;br /&gt;
&lt;br /&gt;
Пропущенные end или неправильные скобки.&lt;br /&gt;
&lt;br /&gt;
Попытка запуска без расширения&lt;br /&gt;
&lt;br /&gt;
Файл должен иметь правильное имя.&lt;br /&gt;
&lt;br /&gt;
Ошибка require&lt;br /&gt;
&lt;br /&gt;
Не подключён component или event.&lt;br /&gt;
&lt;br /&gt;
Бесконечные циклы без os.sleep()&lt;br /&gt;
&lt;br /&gt;
Приводят к зависанию системы.&lt;br /&gt;
&lt;br /&gt;
Неправильная работа с таблицами&lt;br /&gt;
&lt;br /&gt;
Ошибки индексации или структуры.&lt;br /&gt;
&lt;br /&gt;
Попытка использовать несуществующий компонент&lt;br /&gt;
&lt;br /&gt;
Вызывает runtime error.&lt;br /&gt;
&lt;br /&gt;
== Советы для сервера GravityCraft ==&lt;br /&gt;
На серверах важно учитывать производительность:&lt;br /&gt;
&lt;br /&gt;
всегда добавляй os.sleep() в циклы&lt;br /&gt;
&lt;br /&gt;
избегай бесконечных пустых циклов&lt;br /&gt;
&lt;br /&gt;
проверяй код перед запуском&lt;br /&gt;
&lt;br /&gt;
не перегружай систему частыми вызовами компонентов&lt;br /&gt;
&lt;br /&gt;
разделяй большие программы на модули&lt;br /&gt;
&lt;br /&gt;
используй event вместо постоянного polling&lt;br /&gt;
&lt;br /&gt;
Плохо оптимизированные программы могут снижать TPS сервера.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
Программирование в OpenComputers — это основа всего мода. Через Lua-скрипты игрок управляет компьютерами, автоматизирует процессы и создаёт сложные системы внутри Minecraft. Освоение написания программ открывает доступ к полной функциональности OpenComputers.&lt;/div&gt;</summary>
		<author><name>Pryn1k</name></author>
	</entry>
</feed>