MelnikovSM 2 Опубликовано: 5 августа, 2014 А, ок. Лучше-бы сборку облегчили а не моды сували... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex Автор темы 4 683 Опубликовано: 5 августа, 2014 А, ок. Лучше-бы сборку облегчили а не моды сували... Ты видимо иронии не понял про "мороз". Моды никому не надо, мне по крайней мере точно. Ты пишешь программу или нет? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MelnikovSM 2 Опубликовано: 6 августа, 2014 Ну я в принципе прога то уже есть, но время она проверя5т все теми-же нагромождениями и выдача призов в праздники существует как куча if ... then ... end. В общем прогу я понемногу пилю но проверить нормально AMI всееще не получается и пишу я вслепую в том-же gedit'е... Пока реализовано: Основная функция Выдача по праздникам Информирование игрока о выйгрыше (пока только на инглише) В общем все еще сыро и нужна критика со стороны. P.S. Прикрепил сорц чтобы виден был текущий этап развития и для критики окружающих. gifter.txt Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex Автор темы 4 683 Опубликовано: 12 августа, 2014 В общем все еще сыро и нужна критика со стороны. P.S. Прикрепил сорц чтобы виден был текущий этап развития и для критики окружающих. Время конкурса подошло к концу. И так дал еще 12 дней. Спасибо всем, кто принял участие.Так, как работ не много, а точнее одна, рассмотрим ее. Что можно сказать, работа сыровата, и находится на начальной стадии проектирования. Вот как я в своей программке для Локи определял разницу во времени: function getWorldTime() if not http then error("Set enable API_http in ComputerCraft.cfg") end local response = http.get("http://www.timeapi.org/pdt/in+11+hours") --change args if response then local time_mess = response.readAll() response.close() return time_mess else return "not time" end end function differenceDates(date0, date1) local response = http.post("http://computercraft.ru/scr/days.php?d0="..date0.."&d1="..date1) if response then difference_of_dates = response.readAll() response.close() return difference_of_dates else return "not calculate time" end end function deltaTimeLastVisitPlayer(name_user)--2014-07-13T21:39:45-07:00 local current_time = getWorldTime() if current_time == "not time" then return "error get time" end if fs.exists(UsersPath..name_user) then array_user = readFromFile(UsersPath..name_user) last_visit_user_time = array_user[1] if last_visit_user_time == "not time" then return "error get time user" end else return "not found file of player" end date0 = string.sub(last_visit_user_time, 1,10).."%20"..string.sub(last_visit_user_time, 12,19) date1 = string.sub(current_time, 1,10).."%20"..string.sub(current_time, 12,19) diff = differenceDates(date0, date1) result_diff_time = tonumber(diff) if result_diff_time ~= nil then return result_diff_time else return "not calculate time" end end function sayVisitLongAgo() while true do sleep(math.random(300, 700)) --600 3600 10 мин - 60 мин local array_user = getUserNames() if #array_user >= 1 then local target_user = array_user[math.random(1,#array_user)] result_info_visit = deltaTimeLastVisitPlayer(target_user) if result_info_visit == "not found file of player" then -- вы ни разу не посещали божество commandBlock.setCommand("/say "..target_user.."!"..getMsg("special", "79")) commandBlock.runCommand() end result_info_visit = tonumber(result_info_visit) if result_info_visit~=nil then hours = math.floor(result_info_visit/3600) minutes = math.floor((result_info_visit - hours*3600)/60) sec = result_info_visit - hours*3600 - minutes*60 commandBlock.setCommand("/say "..target_user.."!"..getMsg("special", "80").." ("..hours..")"..getMsg("special", "81")..", ".."("..minutes..")"..getMsg("special", "82")..", ".."("..sec..")"..getMsg("special", "83")..getMsg("special", "84").."!") commandBlock.runCommand() end end end endТак и даты удобнее хранить, и время получаешь с точностью до секунды между двумя любыми датами. За старания, учитывая возраст, и то, что в одиночку сражался с программой, получаешь статус победителя "Конкурса № 1". Приз назначу сам, не так как планировалось рандомно при поморщи труб, а именно, комлект нано-костюма, и золотой префикс в чате [Winner] Получишь костюм на новом сервере Computers & Science II, Аpocalypse. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
1Ridav 1 049 Опубликовано: 1 сентября, 2014 С AlexCC на пару сделали то, что не смогли игроки... Времени ушло ровно 1 вечер Лог в файл и на монитор Выдача призов каждые сутки. После 48 часов отсутствия счетчик сбрасывается до 1 Ну и тд и тд... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex Автор темы 4 683 Опубликовано: 1 сентября, 2014 Самая крутая штучка, это буфер по обработке потоков данных, на обработку которых требуется разное время. Надо будет с подробными комментариями выложить исходник, как это все работает. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
1Ridav 1 049 Опубликовано: 29 сентября, 2014 https://github.com/1Ridav/DailyGift/blob/master/core Выложил исходник на гитхаб Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro 80 Опубликовано: 29 сентября, 2014 С AlexCC на пару сделали то, что не смогли игроки... Времени ушло ровно 1 вечер Лог в файл и на монитор Выдача призов каждые сутки. После 48 часов отсутствия счетчик сбрасывается до 1 Ну и тд и тд... Был бы рабочий лаунчер и время я б тоже сделал! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах