Так, я хз как реализовать это все, но давайте жрать кушать слона по кусочкам.
Для начала надо вытащить из файла ник игрока. Не очень люблю такие страшные конструкции
Больше предпочитаю построчно считать и все. Но надо так надо. Смотрим справку на функцию:
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 мне больше по душе, но почему бы и не попробовать сделать как-то иначе?