Jump to content

Search the Community

Showing results for tags 'get'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • MCSkill.ru - MineCraft сервера
    • Список администрации проекта
    • Правила форума
    • Голосовой сервер в Discord'e
    • Подать жалобу/Задать вопрос по поводу бана
    • Подать заявку на пост модератора
  • Основной раздел
    • Новости\Конкурсы\Акции
    • Идеи\Отзывы\Обсуждения
    • Слив багов/дюпов 
    • Wiki - гайды по модам
    • Флуд/Общение
  • Игровые сервера
  • Прочее

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Мой ВК


Discord


Skype


Игровой сервер


Чем люблю заниматься в игре

Found 1 result

  1. Привет мир, очень мало гайдов по OpenComputers но я попробую, это моя первая стата о всякой цифровой нечести в Minecraft. Для понимания деталей происходящего прежде всего нужно освоить такой вот материал. Многие хейтят эту оболочку, но в ней проще отлаживать наш код +очень легко вылаживать наш код в VK документы и скачивать файлы по ссылке, но в целом "операционная система" MineOS может быть в дальнейшем заменена на библиотеку GUI из MineOS в OpenOS. GitHub MineOS Еще не плохо бы было знание в SQL: sql-ex оно вам пригодится и вне маинкрафта если вы захотите стать программистом (на изучение примерно месяц уделите, есть ютюб уроки по этому сайту) Так же php и разметку JSON (будем использовать их в этой теме) В общем, вы знаете что на спавне установлены банкоматы и в них можно вносить деньки, только там используются отладочные карты и командный блок (моё мнение). В этом гайде мы рассмотрим альтернативные методы, которые дадут возможность реализовать свой собственный сайт, который мы подключим к OpenComputers на нашем сервере из McSkill, а дальше только воображение (отзывы для варпа, онлайн валютообменники, системы пропусков из OpenSecurity по сайту), но помните что вы не должны нарушать правила сервера и его экономику. Приступим, для начала мы должны оформить свой хостинг PHP (потом можете после освоения выбрать другой), я выбрал бесплатный 000webhost, регистрируемся и создаём свой сайт PHP, в управлении сайтом мы выбираем раздел Инструменты > Менеджер Баз Данных, кликаем на Новая база данных, создаём нашу базу данных, и запоминаем ИМЯ БД, ПОЛЬЗОВАТЕЛЬ БД, и ХОСТ БД, и ПАРОЛЬ БД > готово. Формируем нашу базу данных исходя из того что мы собираемся делать: я хочу сделать отправку заявок на заказы (к примеру). На странице хостинга с базами данных выбираем нашу базу данных и кликаем на Управлять > phpmyadmin Переходим в базу которую мы создали Создаём таблицу pay, с колвом столбцов: 3, нажимаем (вперед, продолжить, записать или как там переведёт Google Translate) имя первого поля id, тип INT дальше поле с именем nick, тип VARCHAR далее поле msg, тип VARCHAR, длина максимальная 535. создать сохранить или что-то там Далее появится созданная таблица, мы нажимаем на галочку id и делаем эту строку первичной. Далее, нажимаем снова на галочку id, жмякаем изменить, и ставим галочку A_I (Auto Increment), это нужно чтобы каждому сообщению задавлся свой id уникальный Это будет наша функциональная таблица, где будут храниться данные, в нашем случае заказы. Это конечная созданная таблица. Выглядит менно так. Можем с облегчением вздохнуть, наша простая база данных создана, переходим к созданию Бэкенда сайта. Скачиваем из тырнетов программу FileZilla, обновляем её если потребуется и приступаем к подключению сайта к программе. На сайте хостинга переходим в раздел Настройки сайта > Общее > Подробная информация FTP, на этой странице показаны данные подключения FTP. В программе FileZilla Там 1 создаём сайт, 2 указываем любое имя например "OPENCOMPUTERSSITE", 3 4 5 6 Берём эти данные из хостинга, которые перед этим открыли выше Если всё гуд нажимаем ОК, далее соединяемся тут находятся файлы нашего сайта В папке "public_html", создаём наш файл PHP У меня на сайте уже есть готовые файлы, не обращайте внимания, создаём файл "message.php" далее нажимаем по нему ПКМ > правка/изменить открываем через любой редактор кода? тут нужно установить в $link данные своей базы данных которые мы запомнили в самом начале статьи <?php $link = mysqli_connect("localhost", "ИМЯ ПОЛЬЗОВАТЕЛЯ БАЗЫ ДАННЫХ", "ПАРОЛЬ БАЗЫ ДАННЫХ", "ИМЯ базы данных"); $login = $_GET['nick']; $mess = $_GET['message']; $data = array( 'request' => 'bad' ); if (mysqli_query($link, "INSERT INTO `pay` SET `id`=null, `nick`='" . $login . "', `msg`='" . $mess . "' ") === TRUE) { $data = ['request' => 'good', 'message' => 'sended']; } else { $data = ['request' => 'bad', 'error' => 'da']; } header('Content-type: application/json'); echo json_encode($data); ?> Этот файл сайта будет выводить JSON данные, которые мы уже можем обработать в OpenComputers. В принципе, бэкэнд (внутренность) сайта который соединяется с Minecraft готов. Можно его проверить перейдя на сайт www.твой-сайт.domain.com/message.php, в идеале сайт должен выдать: всё правильно, но в файле php прописан GET запрос, который принимает данные когда мы переходим по ссылке типа: www.levshx.ml/message.php?nick=levshx&message=НАШЕ_СООБЩЕНИЕ Данные синим и красным цветом заносятся в файл PHP а дальше заносятся в базу данных. Настало время крафтить компьютер и устанавливать MineOS, в ней мы будем работать. Создаём приложение Для этого заходим в MineOS по рабочему столу ПКМ > Создать приложение Открываем MineIDE, переходим к расположению нашего приложения и выбираем Main.lua для начала удалим всё что написано в файле изначально Ctrl+A, Delete, добавляем все библиотеки с которыми мы будем работать, я добавляю все, чтобы потом не париться и удалить не нужные. local text = require("Text") local number = require("Number") local internet = require("Internet") local json = require("JSON") local fs = require("Filesystem") local bigLetters = require("bigLetters") local screen = require("Screen") local image = require("Image") local GUI = require("GUI") local system = require("System") local filesystem = require("Filesystem") local paths = require("Paths") сразу после этого пропишем команду с помощью которой нашу программу нельзя будет закрыть, ОЧЕНЬ ВАЖНАЯ КОМАНДА, тк как все программы можно закрыть сочетанием клавиш Ctrl+Alt+C, но во время разработки и тестирования программы она будет нам мешать, чтобы закрыть программу в таком случае нужно перезагрузить компьютер. require("event").interruptingEnabled = false Кстати в тырнетах этого не нашёл и узнавал это лично у создателя MineOS спс Игорю не забудьте потом этот кусок кода в начало вставить. Программа будет без окна на весь экран, для этого далее прописываем --------------------------------------------------------------------------------- local workspace = GUI.workspace() workspace:addChild(GUI.panel(1, 1, workspace.width, workspace.height, 0x2D2D2D)) -- добавим кнопку отправки сообщения КООРДИНАТЫ РАЗМЕР ЦВЕТОВАЯ СХЕМА Текст кнопки local sendButton = workspace:addChild(GUI.framedButton(50, 8, 30, 3, 0xFFFFFF, 0xFFFFFF, 0x880000, 0x880000, "Отправить")) -- добавим поле для ввода сообщения local messageInput = workspace:addChild(GUI.input(2, 2, 30, 3, 0xEEEEEE, 0x555555, 0x999999, 0xFFFFFF, 0x2D2D2D, "", "Поле для ввода")) -------------------------------------------------------------------------------- Далее, Главная функция которая будет отправлять сообщение на сервер (Входные параметры НИК и Сообщение) --Это маленькое описание, код ниже local result, reason = internet.request("http://levshx.ml/message.php?nick=" .. nick_f .. "&message=" .. message_f) if result then result = json.decode(result) --Пребразовывает наш ответ сервера JSON в переменную result result.message result.request -------------------------------------------------------------------------------- local function getLoader(nick_f, message_f) local result, reason = internet.request("http://levshx.ml/message.php?nick=" .. nick_f .. "&message=" .. message_f) if result then result = json.decode(result) if result.request == "good" then GUI.alert("Всё чётко, сообщение отправлено, ответ сервера: "..result.message) else GUI.alert("БЭД РЕКВЕСТ!!!! Возможно сервер лагнул") end else GUI.alert("Всё хуйня. Давай по новой. FATALITY ERROR") end end -------------------------------------------------------------------------------- Функция вызываемая при нажатии на кнопку, пишем её далее. При нажатии срабатывает ивент который передаёт параметры нажатия, и тут "e6" является ником того кто нажал на кнопку, internet.encode(messageInput) --ПРЕОБРАЗУЕТ ПРОБЕЛЫ В СПЕЦСИМВОЛЫ, КОТОРЫЕ ЧИТАЕТ НАШ САЙТ -------------------------------------------------------------------------------- sendButton.onTouch = function(workspace, object, e1, e2, e3, e4, e5, e6) local message_encoded = internet.encode(messageInput) getLoader(e6, message_encoded) end -------------------------------------------------------------------------------- и в конце обязательно нужно добавить ---------------- КОНЕЦ -------------------------- -- Отрисовка воркспэйса workspace:draw() workspace:start() На этом всё смотри что у нас получилось: и посмотрим что у нас в базе данных: ВОТ И ВСЯ ИНТЕГРАЦИЯ)
×
×
  • Create New...