Помогите упростить код LUA (говорят он не отличается от С) посмотрите плиз.
(Это игровой язык программирования LUA сайт справки: maurits точка tv)
Даётся условие: if self.RoundEnded then, когда оно наступает
то создаётсЯ, или увеличивается цифра в файле с сыграными играми: total.txt
выйгрынами: win.txt
проиграными: loss.txt
Чтобы не создавать для учёта: сыгранных игр, выйгрышей и проигрышей три файла,
Ведь это можно сделать в одном.
Пожалуйста подскажите как.
тоесть в единый файл писать:
01-29-13_10_4_6
знак_ будет к примеру разделителем.
10 это количество отыгранных игр
4 количество выйгранных раундов
6 это количество проигранных раундов.
if self.RoundEnded then
if file.Exists("total.txt", "DATA") then
local counttotal = file.Read("total.txt")
counttotal= counttotal + 1
file.Write("total.txt", counttotal)
else
file.Write("total.txt", "1")
end
if team.NumPlayers(TEAM_HUMAN) >= 1 then
if file.Exists("win.txt", "DATA") then
local counwin = file.Read("win.txt")
counwin = counwin + 1
file.Write("win.txt", counwin)
else
file.Write("win.txt", "1")
end
else
if file.Exists("loss.txt", "DATA") then
local countloss = file.Read("loss.txt")
countloss = countloss + 1
file.Write("loss.txt", countloss)
else
file.Write("loss.txt", "1")
end
end
01-29-13 это текущая дата.
Или просто напишите как в одном файле учитывать три переменных с разделителем "- "
10_4_6
Спасибо! ээто как раз что я хотел услышать!
я написал код (ниже) :
но он не работоспособен!
if file.Exists("all.txt", "DATA") then
local peremall{} = file.Read("all.txt") --Извлекаем файл в массив
counttotal = peremall[0] -- первый элемент массива
counwin = peremall[1] -- второй элемент массива
countloss = peremall[2] -- третий элемент массива
if self.RoundEnded then -- если наступил конец раунда то
counttotal = counttotal + 1 --увеличим общий счётчик количества сыгранных игр на единицу
if team.NumPlayers(TEAM_HUMAN) >= 1 then --Если в команде людей есть игроки
counwin = counwin + 1 --увеличим счётчик выйгрышей на единицу
else --иначе
countloss = countloss + 1 --увеличим счётчик проигрышей на единицу
end
local itog = {} --создаём новый массив
itog[0] = counttotal
itog[1] = counwin
itog[2] = countloss
file.Write("all.txt", %m-%d-%y .. itog{} .. "\n") --записываем данные в файл
end
else --иначе
local itog = {} --создаём новый массив
itog[0] = 2
itog[1] = 1
itog[2] = 1
file.Write("all.txt", %m-%d-%y .. itog{} .. "\n")
end
ПОСМОТРИТЕ ПОЖАЛУЙСТА ПРОФЕСЧСИОНАЛЬНЫМ ВЗГЛЯДОМ
это я дурь написал? или просто ошибка где-то закралась?
массив можно в файл писать?