Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 28.12.2018 во всех областях

  1. 3 балла
    Так, я хз как реализовать это все, но давайте жрать кушать слона по кусочкам. Для начала надо вытащить из файла ник игрока. Не очень люблю такие страшные конструкции Больше предпочитаю построчно считать и все. Но надо так надо. Смотрим справку на функцию: string.sub (s, i [, j]) Возвращает подстроку s, которая начинается от i и продолжается до j; i и j могут быть отрицательными. Если j отсутствует, то он считается равным -1 (что то же самое, что и длина строки). В частности, вызов string.sub(s,1,j) возвратит начало строки s длиной j, а string.sub(s, -i) возвратит окончание строки s длиной i. Если, после преобразования отрицательных индексов, i становится меньше 1, он корректируется до 1. Если j больше длины строки, он корректируется до этой длины. Если, после этих исправлений, i стал больше j, функция возвратит пустую строку. string.find (s, pattern [, init [, plain]]) Разыскивает первое совпадение с шаблоном pattern в строке s. Если совпадение найдено, то find возвращает индексы строки s, где место этого совпадения началось и закончилось; в противном случае, она возвращает значение nil. Третий, необязательный аргумент init определяет место, откуда нужно начинать поиск; его значение по умолчанию равно 1 и может быть отрицательным. Значение true в качестве четвертого, дополнительного аргумента plain отключает возможности поиска совпадения с шаблоном, так что функция делает простую операцию "поиска подстроки", как если бы в pattern не было символов, считающихся магическими. Обратите внимание, что если задан аргумент plain, то аргумент init также должен быть задан. string.len (s) Принимает строку и возвращает её длину. Пустая строка "" имеет длину 0. Вложенные нули считаются, так что длина строки "a\000bc\000" равна 5. Это все что нам надо! Добавим немного магии, и получим следующий код local file = io.open('config.txt', 'r') --открыть файл конфигурации local a = file:read() --считать 1 строчку a = string.sub(a, string.find(a, '"')+1, string.len(a)-1) --порезать и выкинуть лишнее, обновить данные file:close() --закрыть конфигурацию На выходе в получаем только твой ник. Первая часть решена. Поехали дальше. Я это не понимаю но похоже это сделано для проверки ника того кто нажал на экран. Тут все в разы проще, отлавливаем данные нажатия в массив и потом проверяем их из массива с данными. b = {event.pull('touch')} if b[6] == a then print('Нажатие разрешено!') else print('Ты кто такой еще?') end Как-то так. Конечно вариант предложенный ECS мне больше по душе, но почему бы и не попробовать сделать как-то иначе?
  2. 2 балла
    Чтобы не изобретать велосипедов, проще всего будет хранить конфиг в виде луа-таблицы: { player = "MisterSosister", age = 1488 } Затем загружай его в проге и используй эти данные как угодно. Вчера же писал тебе в чат аналогичный вариант: local serialization = require("serialization") local event = require("event") local file = io.open("/config.txt", "r") local config = serialization.unserialize(file:read("*a")) file:close() while true do local eventData = {event.pull("touch")} if eventData[6] == config.name then --Ник валиден end end
  3. 1 балл
    Я сам люблю поспорить предметно, но наблюдать километровые ленты цитат, летающие туда-сюда, довольно забавно.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...