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

MelnikovSM

Пользователи
  • Публикации

    24
  • Зарегистрирован

  • Посещение

Все публикации пользователя MelnikovSM

  1. В 2000-ном году компанией Bioware была выпущена игра MDK2 - продолжение игры MDK от Shiny Entertaiment. Сюжет и геймплей этих обеих игр весьма интересен: Действие игры начинается на околоземной орбите. Главные герои празднуют победу, Курт Хектик хочет вернуться к своим обязаностям уборщика, но на землю нападает новый майнкравлер, и доктор снова посылает Курта остановить его. Убив управляющего Курт собирается вернуться на станцию, но его захватывает Шванг Швинг. Доктор пытается его предупредить, но связь глушилась с корабля находящегося рядом на орбите, поэтому Доктор Хокинс посылает Макса разобраться с проблемой. Когда Макс пробивается с боем по кораблю его тоже берут в плен, а в это время на «Джим Денди» высаживаются инопланетяне. Доктор отважно сражается с инопланетянами, побеждает, присылает себе Курта, Курт без костюма, а доктор Хокинс даёт ему новый и отправляет спасти Макса. Курт прорывается на корабль, спасает Макса и побеждает Шванга Швинга. После битвы герои связались с Доктором, но услышали голос инопланетян и поняли, что их предводитель взят в плен. Шванг минирует корабль, а Курт устремляется за ним в открывшийся портал. Макс отправляется на челноке на "Джим Денди", чтобы спасти Доктора. Там же он уничтожает злого "собрата" - Робо-Пса и спасает своего изобретателя. Доктор отправляет его в портал, подразумевая, что оттуда и идут все инопланетные налёты, и продолжает очищать корабль от пришельцев во главе с конкурентом по интеллекту - Би Эф Би. В это время Курт попадает в инопланетный мегаполис - Свиззл Фирму - и преследует корабль, в котором находится Шванг Швинг. После взрыва корабля Шванг говорит, что нападать на людей - не его прихоть, а всего лишь исполнение приказов от инопланетного императора Зиззи Балубы. Курт улетает в его дворец. Макс тоже попадает в Свиззл Фирму, но на нижние районы; он попадает на склад боеприпасов и подслушал, что инопланетяне собрались уничтожить Землю ракетой. Шестиногий робот-пёс отправляется в ангар запуска, уничтожает Шванга Швинга в инвалидном кресле (видимо, тот оказался в нём после взрыва корабля), улетает на ракете во дворец, изменив её курс и встречается с Куртом. Они ловят связь с Доктором, и сообщают ему своё местонахождение, но тот по ошибке телепортируется на небоскрёбы Свиззл Фирмы, в переговорный пункт. Там он находит локатор, позитрон и дестабилизатор, устанавливает всё это в телефонную будку и улетает во дворец. Друзья теперь снова вместе. Они врываются во дворец и находят императора Зиззи Балубу. Оказывается, что жабоподобный инопланетный король устраивает нападения на Землю ради увеселения. Герои уничтожают императора, отомстив за родную планету. Итак, в очередной раз Курт, Макс и Доктор Хокинс прославились на всю вселенную! Они спасли тысячи жизней на планете Земля, не дав инопланетянам поработить человечество! Игроку предстоит играть за трёх героев: Курта Хектика, Доктора Флюка Хокинса и пса Макса. В зависимости от героя игровой процесс различается: Курт часто использует снайперскую винтовку для решения головоломок и борьбы с противниками, Макс может использовать одновременно до четырёх единиц оружия, а Доктор,комбинируя разные части найденные по дороге может собирать новые устройства. Но еще интереснее вот что: покопавшись в файлах игры(MDK2 - первая часть к Lua не имеет никакого отношения) я нашел zip архив с файлами *.lua. Немного покопавшись в самойвс игре я обнаружил командный интерпретатор Lua запускаемый кнопкой Ё или ~. В файлах игры я также нашел Debug функции (скачки между уровнями, god-mode и т.д.). В чем суть: в игре весь логический процесс - это Lua скрипты, которые подгружает движок Omen Engine. Что-ж, разрабы из BioWare добились такой плюшки как отсутствие необходимости перекомпиляции при любом изменении. P.S. В игры MDK и MDK2 я играл с 8 лет и все-еще люблю их перепроходить...
  2. Ну я в принципе прога то уже есть, но время она проверя5т все теми-же нагромождениями и выдача призов в праздники существует как куча if ... then ... end. В общем прогу я понемногу пилю но проверить нормально AMI всееще не получается и пишу я вслепую в том-же gedit'е... Пока реализовано: Основная функция Выдача по праздникам Информирование игрока о выйгрыше (пока только на инглише) В общем все еще сыро и нужна критика со стороны. P.S. Прикрепил сорц чтобы виден был текущий этап развития и для критики окружающих. gifter.txt
  3. Я благополучно прилетел из Египта.... А че конкурс заморозили?
  4. Syabro, если хочешь - можем работать в команде. У меня уже что-то понаписано, осталось добавить выдачу ресов по праздникам и дебажить...
  5. Ну а я решил сделать так, результат же будет такой-же - тока привязка идет не к часам с момента последнего входа, а к дате.
  6. Хмм... Я думаю, что добиться решения недочетов с переходом дат 30-1, 31-1, 29-1 можно добавив 5 дополнительных проверок в механизме проверки выполнения. Механизм вроде должен выглядеть так: if tonumber(lastlogin)+1==tonumber(getDate()) then count=totalDays+1 giftDaily(player) writeAccountData(player, tonumber(getDate()), count) elseif tonumber(string.sub(tostring(lastlogin))), 7,8)))==30 and tonumber(string.sub(tostring(getDate(), 7, 7))==1 then --заплатка для случая перехода дат с 30 по 1, где длинна номера месяца больше 10(числа вроде 08 tonumber превращает в 8) count=totalDays+1 giftDaily(player) writeAccountData(player, tonumber(getDate()), count) elseif tonumber(string.sub(tostring(lastlogin))), 7,8)))==31 and tonumber(string.sub(tostring(getDate(), 7, 7))==1 then --заплатка для случая перехода дат с 31 по 1, где длинна номера месяца больше 10(числа вроде 08 tonumber превращает в 8) count=totalDays+1 giftDaily(player) writeAccountData(player, tonumber(getDate()), count) elseif tonumber(string.sub(tostring(lastlogin))), 6,7)))==30 and tonumber(string.sub(tostring(getDate(), 6, 6))==1 then --заплатка для случая перехода дат с 30 по 1, где длинна номера месяца не больше 10(числа вроде 08 tonumber превращает в 8) count=totalDays+1 giftDaily(player) writeAccountData(player, tonumber(getDate()), count) elseif tonumber(string.sub(tostring(lastlogin))), 6,7)))==31 and tonumber(string.sub(tostring(getDate(), 6, 6))==1 then --заплатка для случая перехода дат с 31 по 1, где длинна номера месяца небольше 10(числа вроде 08 tonumber превращает в 8) count=totalDays+1 giftDaily(player) writeAccountData(player, tonumber(getDate()), count) elseif tonumber(string.sub(tostring(lastlogin))), 5,5)))==2 and tonumber(string.sub(tostring(lastlogin))), 6,7)))==29 and tonumber(string.sub(tostring(getDate(), 6, 6))==1 then --заплатка для случая перехода дат с 29 по 1 (февраль-март), где длинна номера месяца больше 10(числа вроде 08 tonumber превращает в 8) count=totalDays+1 giftDaily(player) writeAccountData(player, tonumber(getDate()), count) else sayChat("[Gifter] " .. player .. "'s account reset: he not joined game yesterday!") makeAccount(player) end Осталось тока пофиксить что я не нашел, добавить логирование, сообщения с помощью, которые бы писались после чьего-то захода, отправка инфы(скока дней осталось, скоко дней заходил итд) в ЛС игроку ну и конечно вывод лога на экран. P.S. Выкладываю сорц для теста ибо у самого нет возможности тестить. Напишите если че не так - постараюсь исправить. Gifter.txt
  7. Ну ладно, постараюсь.... Ток до 2го не закрывайте конкурс плз... Я в Египте по вечерам в кафешке с WiFi-ем буду скидывать наработки и общаться.. Кстате AMI эт из какого мода? Мне над сделать сборку... P.S. Я не играю на сервере (из-за безбожных лагов на моем железе) и приз мне не нужен...
  8. Ну до вылета написать это все не успею скорее всего - а до 2 августа никто ждать наверно не будет и пока я на море плаваю все уже сделают проги и победителя обявят... В общем сдаю позиции(((
  9. Как и .jar ) Я вчера в 3 часа ночи сидел и соображал не очень - даже string.sub потерял))) Я юзаю клавиатуру для ведроида Hacker's Keyboard - в ней с эмулем все норм, есть куча клавиш(даже SysRq))...
  10. Ну я хз че жт за мод, я прогу написал, там можно изменять призы - массивы в начале функций gift. AlexCC, протести плз - а дни с выдачей суперпризов я могу добавить, а вот фикс с 30 по первое число нет. А победитель будет обьявлен по функционалу или по скорости написания? Ну тогда квантовый генератор буднт впервые выигран через 600 лет
  11. Я тоже думаю как это сделать и это в прогу не включил((
  12. Вот выкладываю, исправил что нашел... В 1.5.2 функция playerLoginDetect не реагирует на вход. Ну думаю это из-за версии. Gifter.txt
  13. Угу, тока как из love файла достать файлы если порт тока их принимает?
  14. AlexCC, спс - я прост чтот уже подзабыл так как изучал компкрафт полтора года назад. Сябро, в таком случае у тя прога выдаст призы если изменится дата, так в 11 зашел, получил, в час ночи зашел - еще получил.
  15. Окай, в египте по вечерам думать буду(18ого лечу)... Вопрос у меня пока лишь как из текста на выводе получить понятнуюю информацию(дата ДДММГГГГ и время в виде 1415 где 14 это часы а 15 это минуты). Ответьте плз. Ну или как выловить из стринга текст с одного до другого символа. Вот кусок кода с переводом времени на понятный язык где я "ниасилил": worldTime=getWorldTime() function cfs(string, first, last) -- функция, возвращающая текст из стринга с одного смвола до другого .... -- тут я незнаю че писать(( end date=toNumber(cfs(worldTime,1,4) .. cfs(worldTime, 5,6) .. cfs(worldTime, 8, 9)) time=toNumber(cfs(worldTime, 12, 13) .. cfs(worldTime, 15, 16)) P. S. Если функция cfs существует, дайте ее код, а если есть в апи компкрафта - пинок в описание апи где я не заметил.
  16. Спс за инфу, Сябро. У меня к счастью планшет поддерживает подклучение перифирии по USB). Завтра протестирую... Хотя я пробовал вызвать вирт. клавиатуру через дыру в одной проге. Пишу - love2d пофиг(( Ну надеюсь клава работать будет..
  17. Наверное каждый начинающий программист ComputerCraft хотел тестировать свои программки без запуска Minecraft. Был когда-то эмулятор CCEmu, но проект закрылся и не у кого не осталось рабочей версии эмулятора. Но появился новый, кроссплатформенный (работает на винде, линуксе и маке) эмулятор на основе движка Love 2D(движок на том-же Lua). Для чего нужен эмулятор думаю всем понятно, напишу что эмулятор умеет а чего не умеет. Умеет он: * Работать на Windows, MacOSX и Linux * Работать с HTTP-API * Работать как цветной компьютер НЕ умеет он: * Менять размер экрана (хотя в конфиге есть такой пункт) * Работать как обычный компьютер (хотя этот пункт есть в конфиге) * Мульти-компьютерность (чтобы было много компьютеров) * Эмуляции редстоуна Скриншот с офф. сайта: https://camo.githubusercontent.com/23b40f9eea15d07ec64b72250451bd8578b4bf59/68747470733a2f2f646c2e64726f70626f7875736572636f6e74656e742e636f6d2f752f35333733303231322f63636c6f76655f64656d6f2e706e67 Офф. страница на GitHub: https://github.com/Sorroko/cclite Версии для скачивания: https://github.com/Sorroko/cclite/releases
  18. Портируем OpenWrt на Lua?))))))))))))))))))))))))))))))))))))
  19. OpenComputers добавит красноглазие в minecraft) хотя.. хотел бы я посмотреть на сборку юниксового ядра на lua) а интерфейс похож на голый линукс(ну или юникс) - комманд промт sh(хотя даже в ведроиде уже стоит bash), струуктура фс тоже похожа. Автор мода явно линуксоид или бсдишник) Когда мод перестанет глючить то станет лучше cc( а может кого и на линукс переведет)). Разрешение экрана у моника тут лучше - может геймдев будет с юзаньем ascii псевдо графики. Я вот сам подобие линукса пописываю под компкрафт если честно( и ридав видел 0.3.1 релиз вроде). В общем слово open в названии как-бы намекает на опенсорц.
×
×
  • Создать...