Поиск по сайту
Результаты поиска по тегам 'программирование'.
Найдено 50 результатов
-
На днях я рассказывал об интересном языке для OpenComputers (и не только). MoonScript Но одно дело - прочитать об языке где-то. А совсем другое - попробовать язык самому. Именно этим я и предлагаю заняться. Для разогрева, начнем с чего-нибудь несложного. Например "Угадай число". Думаю все знают эту игру. Компьютер загадывает число, мы пытаемся угадать. На каждую нашу попытку, компьютер злорадно сообщает - "больше!", "меньше!" или "у вас закончились попытки!" и "вы проиграли!". Немного модифицируем исходную идею, и перенесем ее на 2d поле. Просто, чтобы не было скучно. ТЗ Что нам потребуется? 1) Отрисовать сетку Тут мы просто возьмем текущий размер дисплея, и разметим его на клеточки. 2) Загадать число 3) Слушать команды пользователя Юзер будет тыкать на клеточки. Нам надо будет слушать эвент touch. 4) Обновлять игровое поле в ответ Собственно после тыка, будем открывать клетку. Если это не та клетка - рисовать на ней стрелочку. Если та - рисовать победный баннер. Если закончились ходы - рисовать что-нибудь обидное. За дело Первым делом надо подключить все, что мы будем использовать. В Lua обычно мы при помощи команды require пишем все в локальные переменные. В MoonScript все переменные по дефолту локальны. Поэтому использовать ключевое слово local нет необходимости. Для подключения же, используется ключевое слово import: import getResolution setForeground setBackground set fill from require('component').gpuimport pull from require 'event'import ceil, random from mathimport rep from string Мы вытащили из нужных библиотек нужные функции. Ничего лишнего. Теперь объявим переменные, которые будут использоваться в коде. - Размеры экранаwidth, height = getResolution()width /= 2 -- потому что по горизонтали наши клетки займут 2 символаheight -= 1 -- потому что внизу будет статус-- Цветаwhite = 0xFFFFFFblack = 0x000000gray = 0x222222green = 0x00BB33yellow = 0xFFC04Cred = 0xFF0000pink = 0xFF0074violet = 0xD600FFblue = 0x4E5AFFcyan = 0x4ED7FFteal = 0x00CC99-- Заготовка для сетки - один ряд клетокgrid_line = rep("▒▒ ", ceil(width / 2))-- Наша цельtarget = { x: 0, y: 0 }-- Количество попытокmaxAttemts = ceil(width * height / 150) -- 150 - магический коэффициент сложности, больше - сложнее, меньше - легчеattempts = maxAttemts Тут тоже присутствует несколько новых фич MoonScript. Во-первых - это сдвоенные операции. Конструкции a /= b или a -= b означают тоже самое, что a = a / b и a = a - b. Во-вторых это новый синтаксис создания таблиц. Названия полей и их значения отделены двоеточиями. (Такое обозначение будет знакомо тем, кто владеет JavaScript). Для реализации геймплея и отрисовки всякой всячины, потребуется определить несколько функций. Тут мы столкнемся еще с несколькими новшествами, по сравнению с Луа. Первое, в MoonScript нету ключевого слова end. Блоки кода обозначаются отступом разной величины. Так что вам придется тщательно следить за тем, на каком уровне вы пишете команды. (Это чертовски полезно, и вырабатывает красивый стиль написания кода =), а не эти кошмарные простыни, где нельзя разобрать начал и хвостов.) Второе, функции объявляются конструкцией вида (a, b, c) -> .... Тут слева - набор аргументов, потом стрелочка - разделитель и блок кода, который собственно является телом функции. -- Очищаем экранclear = () -> setForeground white setBackground black fill 1, 1, width * 2, height + 1, ' '-- Рисуем сеткуgrid = -> setForeground gray setBackground black for y = 1, height set (if y % 2 == 0 then 1 else 3), y, grid_line Пустой набор аргументов можно опустить, как в функции grid. Кроме того, как несложно заметить, MoonScript позволяет вызывать функции, не используя скобочки. Продолжим. -- Открываем одну клеткуsign = (x, y) -> if x == target.x and y == target.y then black, white, "[]" elseif x == target.x and y < target.y then white, green, "▼▼" -- по неведомой мне причине, стрелки вниз в новом шрифте ОС 1.6 нету =) elseif x == target.x and y > target.y then white, violet, "↑↑" elseif x < target.x and y < target.y then white, teal, "↘↘" elseif x < target.x and y == target.y then white, cyan, "→→" elseif x < target.x and y > target.y then white, blue, "↗↗" elseif x > target.x and y < target.y then white, yellow, "↙↙" elseif x > target.x and y == target.y then white, red, "←←" elseif x > target.x and y > target.y then white, pink, "↖↖"cell = (x, y) -> fore, back, text = sign x, y setForeground fore setBackground back set x * 2 - 1, y, text Здесь функция sign сконструирована так, чтобы отдавать три переменных разом. Следует заметить, что в MoonScript можно не пользоваться оператором return. Функция автоматически вернет значение последнего оператора в теле. Кроме функций, значения умеют возвращать и условия. Поэтому в данном случае, функция возвращает значение условия, а условие возвращает три значения из той ветки, которая выполнится. Функция cell просто берет эти значения и отрисовывает в нужном месте клетку. Далее. -- Рисуем статусstatus = (state) -> setForeground white setBackground black fill 1, height + 1, width * 2, height + 1, ' ' set 2, height + 1, "[Угадай, где клад!]" switch state when 'win' setForeground green set 24, height + 1, "Вы победили!" when 'lose' setForeground red set 24, height + 1, "Вы проиграли!" else set 24, height + 1, "Попыток осталось: #{attempts}" set width * 2 - 10, height + 1, "[R] [Q]" Здесь тоже используются две новые конструкции. Первая - это switch. Наверняка многие уже знакомы с ним. По сути, это просто удобный вариант длинных условий, со множеством elseif. Свитч получает значение, а потом сравнивает с ним все ветки when. Какая совпадет - та и выполнится. Вторая - это интерполяция строк. В строку в двойных кавычках можно встраивать значения перменных (или даже кусочки кода), используя диез и фигурные скобки, как в функции выше. Последние приготовления: -- Генерируем цельsetTarget = -> target = { x: random(1, width), y: random(1, height) }-- Инициализируем игруnewGame = -> attempts = maxAttemts setTarget! clear! grid! status! Функция newGame использует специальный синтаксис для вызова функции, которой не нужны аргументы. Вместо того, чтобы писать setTarget(), MoonScript советует использовать восклицательный знак. setTarget!. Это довольно весело смотрится в коде. =) Ну чтож, все готово. Давайте соберем все написанное, и запилим немного игровой логики! -- Поехали!newGame!while true -- Ждем события event, _, x, y = pull! -- Обрабатываем его switch event when 'touch' -- Если был клик -- Открываем клетку, если остались попытки if attempts > 0 x = ceil(x / 2) cell x, y attempts -= 1 -- Обновляем инфу if x == target.x and y == target.y attempts = 0 status('win') elseif attempts == 0 status('lose') else status! when 'key_down' switch x when 113 -- Q: выход из игры break when 114 -- R: перезапуск newGame!clear! Вуаля! Оно работает. И даже можно поиграть. И даже победить =) Круто, правда? Не надо делать такое выражение лица, я знаю что на самом деле, вы со мной согласны. =) А вы, да-да, вы! - на задних рядах, хватит кидаться тапками! Полный код игрушки доступен тут: http://pastebin.com/M0sxk1QH Enjoy!
- 6 комментариев
-
- 12
-
-
- программирование
- lua
-
(и ещё 1 )
Теги:
-
Добрый день, игроки. У меня появилась идея на счёт улучшения чатбоксов. Я предлагаю сделать им слот улучшения куда можно будет включить следующие улучшения: Улучшение "Сканирование" Улучшение "Невидимость" Улучшение "Позвони мне" Улучшение "Беспредел" О улучшениях: Улучшение "Сканирование" помимо всего что выводит в событиях позволит узнавать дистанцию до игрока. То есть события будут возвращать {"имя события", "адрес чатбокса", "имя игрока", "сообщение", "дистанция до игрока"} Это позволит сделать примитивный не очень точный сканер координат игроков (когда они пишут в чат (в лс не считается)) Таким образом я надеюсь что флудеры будут меньше флудить, и больше играть. Ибо любишь поговорить - люби и наказание получить от неравнодушных игроков. Это не каким образом не читерно. Дистанция будет вычисляться по формуле Пифагора для трёхмерной системы координат. То есть значение будет выдаваться просто 500 метров например. А дальше сам думай в каком направлении, на какой высоте, пиши прогу для скана и так далее. Флудер не хочет чтобы знали его местоположение - будет меньше в чат писать. Всё достаточно интересно и полезно. Это вам не читерный SGSC: scan который можно было когда хочешь, сколько хочешь раз использовать. Да и к тому же, в реальности у нас нет чата, мы для связи используем телефон. Было бы более реалистично если бы это улучшение было. Улучшение "Невидимость" позволит чатбоксу с улучшение "Сканирование" не обнаружить откуда исходит сигнал. То есть не даёт отследить местоположение твоего чатбокса. Улучшение "Позвони мне" позволит отправлять сообщения определённому игроку (как в админском чатблоке) Улучшение "Беспредел" будет очень дорого стоить в крафте, тратить много энергии и позволит с кулдауном около минуты отправлять сообщения в неограниченном радиусе. Свои предложения и критику оставляйте в комментариях.
-
Предлагаю конкурс по созданию лучшей программки по рекламе магазинчиков на сервере. Например: компьютер на спавне игрок должен прийти, заполнить поле (возможно тип выдачи его куда-то) и оставить платное объявление (только одно на одного игрока, макс. два) оплата за монеты или пару ЮЮ-шек объявление хранится в базе какое-то время, потом старые удаляются по дате есть менюшка " начать работу", "помощь". Далее подменю => добавить объявление, редактировать мои обявления, смотреть объявления, выход и пр. пример рекламки: Ник: Petya Варп: Petya_shop Описание: большой выбор товаров ИК, АЕ, ОС, есть набалдаши, иридий, титан. Комп нельзя ребутнуть, при нажатии кнопки "Начать работу" комп переходит под управление игрока, чтобы там ссади никто не тыкал в кнопки и не мешал и прочее. Чтение объявлений можно реализовать как в компе, так и в чате, так и на очки например. Хоть бегущая строка на спавне на мониторе, хоть таблицы, как угодно. Это на ваше усмотрение. Можно вообще удалено сделать добавление рекламы в базу с очков, а на спавне на билборде они принтятся постоянно и там их кто-то читает. Или в очки они летят или в чат раз в 10-15 минут. Естественно, чем больше срок действия объявления, тем оно дороже, или же делать все объявления время жизни 7 дней и их удалять. Игрок вновь должен прийти и его подать. И в чат с админчатбокса принт рекламы периодический естественно дороже, чем на билборд на спавне или очки. Можно реализовать поиск, категории, игроку дать возможность установить галочки (или аргументами, если реализация подачи объявления только с очков), куда оно будет принтится (чат, очки или билборд, или то и то вместе) Естественно цена дороже итоговая. И так далее и тому подобное. Полет фантазии ограничен только возможностями программиста Главное, чтобы оно работало и было более менее удобно рекламировать варп на свой магаз круглосуточно. Примечание: магазины должны быть оформлены красиво, огорожены, освещены, ПвП выкл. и т.д. перед подачей рекламы. Срок действия конкурса не ограничен. Лучшая по функционалу и удобству программка будет размещена на сервере.
-
Все добрый день. Эта тема создана чтобы обсудить турели. Пишите в комментарии свои идеи использования турелей. У меня такая идея: Берём entitydetector из opensecurity (возможно несколько штук), подключаем к компу для того чтобы их сообщить и получать более большую карту с координатами игроков и мобов. В прошлой версии я использовал сканер из OpenPeripheral, который выдавал относительные координаты, но несколько таких сканеров согласовать намного сложнее чем один и это минус (а так же там радиус поменьше) Далее с базой данных мобов и игроков мы проводим фильтрацию, заносим в таблицу тех кого можно убить. А далее идут интересные куски кода. Вместо того чтобы как в первой версии закрепиться за одной целью, турель будет поворачиваться к той цели к которой ей ближе повернуться что повысит её эффективность. Второй же кусок кода будет смотреть, есть ли на пути выстрела мирные мобы/игроки. Если есть - стрелять не будет. Ибо таким образом можно встать сзади афкашника-хозяина привата и убить его. Эта часть кода не позволит убить тех кого не нужно убивать, заставляя турель соблюдать 3 закона робототехники Айзека Азимова. Другие крутые части кода можете понакидать в комментарии, было бы интересно посмотреть что вы придумаете. А так в принципе и всё что хотел сказать. 1 комп - управляющий несколькими турелями, у каждой турели свой сектор (комната за которой он не целиться) и один или несколько детекторов для обнаружения игроков. Хоть такая система и будет лагодромить, но увы красота требует жертв. Придётся не выкладывать на форум в случае успеха написанную программу, чтобы игроки не залагодромили сервер.
-
Добрый день народ. Вот Нео и исправил баг чатбоксов из нашего любимого мода OT, а значит самое время написать программу прослушки чата. Сама программа представляет из себя станцию прослушки чата, где можно как отлавливать все сообщения подряд, так и отлавливать через фильтр игроков. Команды управления вводить через чат: #exit - выход из программы #clear - очистка экрана #add <ник игрока 1> <ник игрока 2> <ник игрока 3> ... - добавление в фильтр прослушки игроков #del <ник игрока 1> <ник игрока 2> <ник игрока 3> ... - удаление нужных игроков из списка прослушки #del all - удаление всех игроков из списка прослушки (перейти на прослушку всех игроков без фильтра) #list - показать всех игроков которые находятся в списке фильтра Скрины: Программа: http://pastebin.com/vd4jZDmv А с вами был qwertyMAN, все пожелание по улучшению программы оставляйте в комментариях, удачи!
-
Добрый день, игроки. Предлагаю подумать над системой пожаротушения в майнкрафте. Я понимаю что огонь в принципе на сервере отключён, но зачем же программы затачивать только под сервер? Вдруг кто то захотел поиграть в одиночной игре и ему станет полезна такая система. Выдвигаем свои идеи по данному поводу, что и как вы бы сделали. Моя идея: Отсканировать комнату и при обнаружении добавления/исчезания блока расценивать это как пожар - открывать сверху поршень откуда потечёт вода и потушит огонь.
-
Добрый день игроки. Я хотел бы узнать, как опытные игроки проводят эксперименты по определению какой кусок кода работает лучше. А ещё хотел бы узнать, какой оператор будет работать быстрее: > или >= Например: y = x>13 and x<17 и y = x>=14 and x<=16 А может ещё быстрее работает оператор == ? Например: y = x==14 or y==15 or y==16
-
Добрый день, игроки. Сегодня, вашему вниманию представляю игру, написанную под OpenOS - Open Clicker v0.1 Что есть в игре: Печенька по кторой можно кликать и зарабатывать деньги Покупка разного рода "рабочих" которые автоматически добывают печеньки Учёт заработка и текущих денежных средств По всем правилам кликеров здесь цена за "рабочих" с каждым разом покупки увеличивается Типичный кликер, наверное первый под OpenOS Выход из игры по нажатию кнопки "exit" или по достижению 10^2 денежных средств Возможность легко отрегулировать настройки игры (но не даю гарантии что с другими настройками будет всё адекватно работать) Защита от сочетания клавиш Ctrl+Alt+C Адекватная работа на компах 2 и 3 уровня (игра подгоняет экран под разрешение компа 2 уровня, а при выходе восстанавливает прежнее разрешение экрана) Возможность перезагрузить игру Сам жанр игры (поставил прокачиваться и ушёл по своим делам) Переключатель on/off (если включена, то игра сама завершится при 10^2 $ и более на счету) Скрины: Видео обзор: Чего нет в игре: Сохранений (при выходе все данные стираются. При выигрыше тоже) Учёта какой ник у игрока и прочей личной инфы о игроке Поддержки компов 1 уровня (из-за разрешения экрана) Установка игры: pastebin get -f bvxyh7fX OpenClicker.lua Код игры: http://pastebin.com/bvxyh7fX Если вы не полезете в настройки и код игры что то менять, думаю игра будет работать как надо. По крайне мере баланс мне кажется я настроил достаточно удачно, он практически такой же как и в других кликерах. С вами был qwertyMAN, удачной игры!
-
Добрый день, игроки. Игра Cube, практически портирована с OpenOS на полноценный движок love2d. Осталось лишь генерацию комнат прикрутить и будет готова. Далее можно будет заниматься созданием предметов и прочего дополнительного материала. Вот вам для сравнения скрины игры на OpenOS и на love2d: Нововведения: Игра с плавным управлением (уже нет той пошаговости и пиксельности Возможность бега зажатием шифта Двери которые открываются на кнопку E (они со всех 4 сторон есть, но отрисовку для теста сделал только у верхней - фиолетового цвета) Гибкие настройки, такие как: ширина стен комнат, ширина прохода, размер комнат, скорость игрока, ускорение при беге и прочие переменные. То есть в случае чего можно легко настроить под себя игру. Скажу по секрету. Возможно даже будет в будущем когда нибудь добавлена прицельная стрельба мышкой и вражеские ИИ. Движок позволяет многое. И не смотрите на то что все соседние комнаты отображаются одновременно. Так происходит пока я не внедрил генерацию мира. Есть идеи по улучшению игры - пишите в комментарии. А с вами был qwertyMAN, удачи в программировании.
-
- 2
-
-
- программирование
- lua
- (и ещё 5 )
-
Добрый день. Сегодня наткнулся вот на какую мысль. У меня ведь есть игра Cube. Идея моя, реализация тоже. А почему бы не сделать полноценную игру из того что есть. Для тех кто не знает о чём игра, вот пояснения правил игры: И тут я стал перебирать, что я могу сделать для продвижения разработки игры. Пути развития игры я для себя нашёл 3: Продолжать разрабатывать как игру под OpenOS (майнкрафт), где слабая графика, низкие возможности, 2D графика. Написать мод-мини-игру под майнтест, где будет уже 3D графика, больше простора для реализации (ловушки всякие и прочее), а так же дополнительные выходы из комнаты вверх и вниз (то есть 6 выходов из комнаты вместо 4 как в оригинале) Написать нечто большее с нормальной 2D графикой, без ограничений и сделать самостоятельную игру на движке love2D (если знаете другой хороший lua движок сообщите мне пожалуйста) Из этого мне понравился последний вариант и я решил набросать идеи для геймплея. Вот что из этого получилось: Игрок имеет показатели голода, здоровья, кислорода, давления и температуры Игрок имеет инвентарь на 10 вещей (примерно) Игрок двигается не попиксельно, а полноценно, как и всё что будет в игре отображаться В комнатах расставлены ловушки (турели, комнаты без воздуха, комнаты с большим атмосферным давлением, радиоактивные вещи и прочее) По комнатам разбросаны вещи (но некоторые могут быть заражены и вы об этом не узнаете напрямую) Вы можете разливать краску (разных цветов) в качестве меток, если найдёте её (ограниченное использование) Вы можете писать на стенах мелом (разных цветов) что угодно, если найдёте мел (ограниченное использование) Вы можете так же найти осколок и писать им на стенах, но будет тратится сила (неограниченное использование) Вы можете найти еду и восполнить сытость (еда может быть отравлена или заражена радиацией) Вы можете найти дозиметр который проверяет вещи на радиоактивность (радиоактивные вещи медленно уменьшают жизнь) Вы можете найти барометр который позволит проверить давление в комнате, а так же термометр (там где эти показатели ниже или выше нормы долго находится нельзя, а без этих инструментов вы не узнаете давление и температуру комнаты) Вы можете найти палку, которая позволит измерительные приборы пускать в комнату не заходя в неё (например пустить детектор кислотности в комнату где распылена кислота и таким образом не умереть от неё) Вы можете найти анализаторы газа, они показывают из чего состоит атмосфера комнаты (содержание кислот, щелочей и прочее в процентах) Вы можете найти спички (которые при активизации могут взорвать комнату с гремучим газом), а так же полезны в тёмных комнатах В игре можно найти листок/тетрадь и карандаш (по отдельности) которые позволят ввести ограниченное количество символов и вести записи. В игре можно будет найти клубок ниток, которым можно будет прокладывать из комнаты в комнату видимый путь (длинна клубка выражается в максимальном числе комнат) (следует помнить что двери меняют своё местоположение и вернуться назад не так просто как вам могло бы показаться без клубка) Вот в принципе и всё, я рассказал о возникших идеях и возможно как будет время примусь их осуществлять. А пока предлагаю вам, оценить данную задумку и высказать своё мнение по этому поводу. Что вам нравится, что нет, что я забыл перечислить и что нужно ввести в игру.
-
Добрый день, игроки и администрация. Эту тему я создал чтобы обсудить 2 вопроса: правила предъявляемые к турелям и идеи для улучшения турелей. Мне, как и многим игрокам интересны правила эксплуатации турелей, а именно: Можно ли убивать с помощью турелей на нейтральной земле, в приватах и админприватах Можно ли ставить турели на нейтральные земли? Рядом с приватами и админприватами? В каких случаях турели будут считаться ловушками, а в каких средством самообороны? Как предотвратить жалобы связанные с турелями? Имеет ли вообще смысл под них писать ПО, автонаведение или может их собираются запретить и это всё зря. Требования предъявляемые к ПО турелек. Нужно ли делать слипы в циклах? Если да, то они будут медленно работать. Если нет, то насколько это скажется на нагрузке на сервер? Нужно ли дописывать фильтры игроков/мобов для турелек? Писать ГУИ? Свои предложения по поводу ПО... Вторая тема, которую я хотел бы обсудить, это нововведения. Мы знаем что у этого мода открытый исходный код, а значит могут найтись игроки, которые этот код смогут улучшить. Предлагаю следующие нововведения: Улучшить то что имеем сейчас: Увеличить скорость поворота башни по вертикали и горизонтали Увеличить скорость стрельбы снаряда Сделать адекватное вращение по кругу (сейчас турель не проходит через южную точку, давая огромное преимущество цели) Добавить нововведения: Общие нововведения: В lua можно будет выбрать скорость снаряда В lua можно будет выбрать массу снаряда В lua выставляем урон от снаряда Всё это будет делаться для того, чтобы можно было вести огонь по кривой траектории. Потребляемая энергия при этом будет зависеть от этих трёх параметров. Расширенные нововведения: Предлагаю ввести виды вооружения турелей. Их можно выбирать программно из турели, либо делать несколько типов турели. В любом случае у нас будет выбор чем стрелять. Виды боеприпасов: Патроны (пулемёт): средняя скорость, низкое потребление энергии, небольшая масса снаряда отклоняющая снаряды вниз, (постоянная масса, скорость снаряда и урон), средний урон, разброс Снаряд (тяжёлая артиллерия): низкая скорость, среднее потребление энергии, большая масса снаряда сильно отклоняющая снаряды вниз, регулируемая в ПО масса и скорость снаряда [для ведение огня по кривой траектории], статичный урон - высокий урон по радиусу поражения, нет разброса Луч энергии (лазер): высокое потребление энергии, нет массы которая бы отклоняла снаряды, высокая скорость снаряда, высокий максимальный урон, нет разброса, в настройках lua можно указать скорость снаряда и урон, перезарядка зависит от потребления энергии, а та в свою очередь от настроек Типы боеприпасов: Зажигательные: наносит урон в радиусе, поджигает цель и спавнит огонь в радиусе (для артиллерии) Подрывные: наносит урон в радиусе и подрывает местность как TNT (для артиллерии) Ослепляющие: наносит эффект ослепления (для лазера) Охлаждающие: наносит эффект медленного хождения (для лазера) Перегревающие: наносит эффект иссушения (для лазера) Деморализующие: наносит эффект тошноты, которая мешает игроку уклонятся от снарядов других турелей (для лазера) Отравленные: наносит эффект отравления (для пулемётной турели) Любая турель делает выстрел частично опустошая свой внутренний буфер энергии. Турели могут сделать столько выстрелов залпом, сколько позволит внутренний буфер. Если энергии на выстрел нет, то он не производится. Так же было бы неплохо добавить улучшения объёма внутреннего буфера энергии и скорости его заполнения. Вот таким я вижу будущее этого мода. Если найдётся человек который в силах осуществить эти нововведения, будет очень хорошо.
- 4 ответа
-
- 1
-
-
- турели
- OpenSecurity
- (и ещё 4 )
-
Здравствуйте, игроки. Сейчас мы будем разбирать устройство и преимущества моего лаунчера. Устройство: Вы запускаете данный лаунчер и видите список установленных игр Игры версией v1.0 и выше выделяются зелёным Игры ниже версии v1.0 (бета версии) выделяются жёлтым Игры который загружены с ошибкой выделяются красным Игра на которой мы стоим отображается синим Управление: Управление стрелками выделяет нужную строку Enter запускает программу, либо говорит что файл игры не найден. При нажатии на "V", включается и выключается отображение версий При нажатии "Q", игроком из белого списка, игра закрывается При нажатии "I", отображается информация о игре Как подключить игру: Скидываем файл игры в папку lib, или в корневую папку. Далее заходим в код лаунчера и в строке "-- загружаем игры" добавляем строку add_game("имя файла") Игра подключена и будет отображаться в списке, осталось лишь внедрить небольшие изменения в сам файл игры. Открываем код игры и пишем вот такую конструкцию: local output = { name = "<<Имя которое будет отображаться в списке>>", version = "<<Версия>>" autors = {"<<Ники авторов через запятую>>"} info = "<<Инфа о игре, правила игры и прочее описываем здесь>>"}output.func = function(input)<<Вся игра [либо любая другая прога], полностью, вставляется её код здесь>>return output Всё! Игра подключена и работает. Возможности файла лаунчера: Заходим в файл загрузчика и находи строку "-- настройки", там мы можем легко менять нужные нам параметры: Белый список определяющий кто может закрыть программу Чёрный список определяет кого лаунчер будет игнорировать Настройка цветов Настройка отступов от краёв экрана Настройка, отображаются ли изначально версии игр в списке Возможности подключенных игр: В функции игры мы получаем таблицу input, сейчас рассмотрим её возможности: input.name возвращает название игры input.version возвращает версию input.autors возвращает таблицу с списком авторов input.info возвращает информацию о игре input.Black_List возвращает список игроков из чёрного списка input.White_List возвращает список игроков из белого списка input.colors возвращает цвета использованные в лаунчере input.border возвращает отступы от краёв экрана из лаунчера Преимущества: Простой лаунчер Легко настроить Большая функциональность Защита от сочетания клавишь Alt + Ctrl + C [в том числе и во всех играх] (то есть вам не нужно больше беспокоится о безопасности игр) Недостатки: Не графонистый лаунчер Скрины: Установка лаунчера: pastebin get -f 7YB3qvxE Launcher.lua С вами был qwertyMAN, спасибо за внимание!
- 6 комментариев
-
- 3
-
-
- программирование
- программы
-
(и ещё 3 )
Теги:
-
Добрый день, игроки. Вот я начал делать шашки под ОС, уже сделал генерацию поля. В будущем сделаю кнопки "Ничья", "Сдаться" и индикатор чей сейчас ход. А так же займусь написанием алгоритма управления шашек. Пользуясь случаям хотел бы попросить совета. Какие 2 символа лучше использовать для отрисовки шашек? То что есть сейчас, вот это: Что думаете про этот символ? Какой вместо него предложите?
-
Здравствуйте, программисты и гости данного форума. Сегодня я бы хотел вам продемонстрировать, в каких условиях я пишу программы, чего я добился и что для себя подметил. Сначала я создал новый мир и поселился в уже отстроенном доме деревни. По ходу написания программ жители сильно раздражали и я их всех перерезал. Вот собственно моя лаборатория: Вот я написал и тестирую игру Cube v1.0: Там же я и тестировал свою библиотеку "Converter". Но через время я решил написать серверную версию игры Cube и сделал более удобную тестовую комнату: Вид сзади: По идее комната имеет удобно расположенные 2 компа и 1 сервер. Чтобы тестировать игру за двух игроков. Но пока ещё до этого как то не дошло. Вместо этого мы имеем 1 сервер, для написания "сердца" программы (которая на данный момент принимает и принтит запросы, а затем отправляет ответ обратно): Один комп, который программируем на отправку-принятие запросов и отображение происходящего в игре: (На первом скрине мы нашли 4 работающих сервера, их имена, и показали их порты. На втором попытались подсоединиться к несуществующему серверу и получили ошибку) А также есть один комп, который в цикле показывает какую клавишу мы набираем и ник игрока который нажал клавишу: (Мне очень удобно иметь такой комп на своём рабочем месте. Так как при написании я ориентируюсь на компы 1 и 2 уровня, я не делаю кнопочек. Вместо этого я использую только текстовый интерфейс, только консоль. А чтобы делать текстовый интерфейс, нужно знать номер клавиши. Этот комп как раз позволяет за секунды найти номер нажатой клавиши) Что же касается разработки "Cube online", я над ней работаю, по крайне мере основу которая находит сервера уже сделал. Возможно эти наработки буду использовать в другой серверной игре, так как меня пугает сложность переписывания кода игры Cube. Она заточена под одиночную игру. А тут надо пол кода сносить и писать заново, чтобы поддерживались несколько игроков. Впрочем, удручает и следующий фактор: не кто не станет готовую серверную версию игры ставить на сервер IT. По этому и не спешу разбираться с кодом и переписывать. Скорее уж что нибудь по проще сделаю на основе этих наработок. С вами был qwertyMAN, увидимся позже. Ссылки: Игра Cube v1.0 Библиотека "Converter"
-
С выпиливанием вайтлиста стало как-то скучно. В общем имеем код "сжималки" с рабочим названием "Popoff2" local data = require('data') local function compress(str) local list = '' for i = 1, #str do if string.find(list, string.sub(str, i, i)) == nil then list = list .. string.sub(str, i, i) end end local lhex = string.format('%x', #str) for j = 1, 8-#lhex do lhex = '0' .. lhex end return data.md5(str) .. data.fromHex(lhex) .. list end Суть алгоритма: К примеру, закодируем строку 'helloworld' (строка короткая, сжатия нет, зато перебор быстрый) Получаем хеш и размер строки в двоичном виде (для примера размер указываем в четырех байтах), в конец добавляем используемые символы [FC5E038D38A57032085441E7FE7010B0] [0000000A] [lowerdh] = 24 байта из 10, но это всего-лишь пример (вообще, можно указать количество повторений для каждого символа, тогда на пермутациях можно выиграть очень много времени, а исходные данные предварительно жать через deflate) Чтобы вернуть исходные данные, надо перебором генерировать из указанных символов последовательность, указанной длинны. Очень неэффективно, но не в этом суть. Нужен алгоритм, при помощи которого можно подбирать исходные данные на нескольких устройствах несвязанных во времени и пространстве, т. е. чтобы диапазоны перебора предварительно разбивались на блоки, которые алгоритм будет обрабатывать отдельно. Какие есть предложения?
- 8 ответов
-
- lua
- параллельные вычисления
- (и ещё 1 )
-
COROUTINE В Lua Что? Данный мини-гайд посвящен потокам (англ. thread) в Lua. Потоки - вещи нужные, очень активно используются во многих языках, в том числе и Lua. При чем здесь coroutine? А при том что в Lua именно этот модуль отвечает за потоки. Зачем? Потоки широко используются в OpenComputers, он может вам очень хорошо пригодиться, к примеру вы можете организовать чтение из файла основанное на потоках. Перейдем к делу. Как? Как я и писал до этого, в Lua для использования потоков существует модуль coroutine. Начнем со скучной и непонятной теорией - методами этого модуля. coroutine.create(func, ...) -- создает поток из функции, возвращает, как ни странно, поток. coroutine.resume(thread, ...) -- продолжает (или запускает впервые) поток, возвращает инофрмацию "получилось или нет" и то что возвратила функция-поток (либо yield). Кроме потока принимает аргументы coroutine.yield(...) -- вызывается внутри функции-потока. Ставит поток на "паузу", поток можно продолжить методом resume. Принимает значения которые необхзодимо вернуть coroutine.status(thread) -- выдает статус потока, статуса бывает два: suspended (приостановлено) и dead (мертво) А теперь, проверим это на практике, в opencomputers. Начнем с открытия интерпретатора Lua: Теперь созадим функцию, в которой мы сначала напишем FIRST, потом затормозим поток, а потом напишем SECOND: Создадим поток из нашей функции: Убеждаемся что мы получили именно то что нам нужно - поток: Хорошо, поток есть. Теперь давайте получим статус этого потока: Приостановлен. Хорошо, давайте запустим его: Мы увидели надпись FIRST, но где-же надпись SECOND? А все потому, что мы притормозили поток после написания первого сообщения. Мы можем убедиться в этом, узнав его статус: Наш поток приостановлен, а это значит что мы его можем продолжить: Отлично. Поток закончен и дальше продолжать мы его не сможем. Можно убедиться в этом: Что-ж, так и работает наш coroutine. Спасибо за внимание.
-
Поскольку мы (особенно я и @NEO ), как настоящие граммар-наци в программировании (назовем это явление "кодер-наци"), скрестили зубочистки, скатываясь в оффтопик в разных темах - предлагаю перенести эти вялотекущие холливарчики сюда, учинить здесь кровавую расправу и окончательно решить чем отличается теплое от мягкого, и чьей мордочкой нужно тыкать в лужу. История вопроса: Вначале была тема CC bios-net для централизованного управления сетью контроллеров/дронов/роботов/компьютеров, в которой на фрагмент моего поста: Дополнительные примеры: 1. broadcast(7, 'bebebe') 2. broadcast(7, 'bebebe()') ... 1,2 покажут обработку ошибок на стадии компиляции и выполнения; было получено утверждение: Lua интерпретируемый язык. И хотя, сам факт столь очевидного высказывания у меня вызвал удивление, я поспешил с ним согласиться целиком и полностью, написав в ответ: true~=nil -- в смысле - очевидная истина, как дважды два - четыре. (false~=nil - тоже истина, но менее очевидная) Насколько я понимаю, NEO увидев слово "компиляция" в моем посте, поспешил уличить другого в "невежестве" и, блеснув "знаниями", немножко самоутвердиться указав простому смертному на "ошибку". Остановлюсь на этом моменте, чтобы прояснить термины. Тезисно: 1. Трансляция из языка высокого уровня в язык более низкого уровня называется компиляцией. 2. Вызов f=load('lua code',, 't',) компилирует (транслирует) исходный луа-код в байт-код 3. Вызов pcall(f, ...) запускает выполнение (интерпретацию) байт-кода 4. Языки, интерпретация (выполнение) которых происходит в специальной программе (интерпретаторе) называются интерпретируемыми языками. 5. Языки, которые интерпретируются аппаратным устройством (процессором) называются компилируемыми языками. 6. Луа - интерпретируемый язык. Первый фрагмент текста означает именно то, что там написано: "(примеры) 1,2 покажут обработку ошибок на стадии компиляции и выполнения;" т.е. load() и pcall() соответственно. Каким боком в фрагменте можно узреть утверждение того что "луа компилируемый язык" мне непонятно. Продолжение истории: Ололоканье продолжилось в другой теме: bibi или удобство разработки eeprom-кода и операционных систем, в которой есть фрагмент: ... Ошибки компиляции нашего кода будут выглядеть так: ... Ошибки выполнения так: ... Здесь уже другой пионер решил повторить опыт первопроходца и выдал: Lua - интерпретируемый язык, компиляции там нет. В твоём случае это ошибка синтаксиса. Тех кто называет Lua компилируемым языком нужно сжигать на костре. На что наш мэтр снисходительно, заметил: Видимо человек так себе это представляет, хотя и не правильно. В итоге оба пионера были посланы учиться, с подкреплением посыла цитатами и выдержками из первоисточников. К моему сожалению посыл привел к обратному результату. Главный пионер, вместо того чтобы успокоиться и заняться самообразованием, начал обиженно, сбивчиво но при этом высокомерно кому-то что-то доказывать. Обижать людей (даже заносчивых) - нехорошо. Поэтому я принес свои извинения за грубость и понадеялся на исчерпание конфликта. Видно мои извинения были восприняты как слабость, потому что, как оказалось в последствии, конфликт не исчерпался и, беспокоя модераторов, волнительно брызжет оффтопиком в разных темах. Предлагаю: - Читать вышеуказанные тезисы, до просветления и последующего приобщения к вере в bibi. или - Опровергать их, учинив в этой теме веселый холиварчик с крестовыми походами и кострами. или - Быть мимопрокодящим бегемотом.
- 23 ответа
-
- 2
-
-
- холливар
- терминология
- (и ещё 1 )
-
Доброго времени суток. Задача 3го конкурса состоит в том, чтобы построить красивый домик для нашего спам бота- Байта. Домик должен быть оригинальным и в то же время скромным. Байт представляет собой Робота из OpenComputers, так что ему надо жить в этом домике. Для этого необходимо, чтобы он мог в своем домике делать какие нибудь дела. Обжигать что либо, жарить в печи, заниматься сельским хозяйством, и все, что вам придет в голову. Чтобы данный домик использовался им на всю катушку. Для этого конкурса игроки могут объединиться в команды по 3 человека максимум. Один игрок может принимать участие в конкурсе только от 1 команды. Победители будут выбираться по 2 критериям: 1 - Оригинальность и красота домика 2 - Возможности ИИ робота, а так же сама программа(стилистика, читабельность, гибкость, простота в модификации) Свои работы выкладывать в этой теме со списком ников команды. Конкурс рассчитан на 45 дней. Спустя это время будут объявлены победители Победившей команде будет выдан VIP статус, квантовый сет, а так же ценные ресурсы.
-
Вот простенькая малюсенькая программулька для чата. Простая как лопата, но работает стабильно и надежно. Бокс расширяется и сужается по высоте в зависимости от количества сообщений. Жизнь сообщения 15 секунд. Если сообщений нет, долгое время, они потихоньку все очистятся и пропадут с экрана вообще. Длина строки ограничена 140 символов. Нет никаких банов, управления чатом, админов и префиксов, прав и очистки чата. Это самая простая реализация, какая может только быть. Уже с друзьями можете уединится в этом чатике и общаться. Подключите блок моста через адаптер к ПК, запустите программу, кликните ПКМ по мосту, наденьте очки и пишите собщения в чат игровой в виде $$ Привет, Петя. В чат сообщение не отобразиться, но его увидят все, кто в очках, прилинкованных к данному блоку. Мощный и управяемый чат делает игрок FingerComp. Там будет и система администрирования и очистки чата, префиксы и права, баны и прочее.
- 5 ответов
-
- 5
-
-
- чат
- программирование
- (и ещё 3 )
-
Порезвившись вдоволь на гриф-атаках за солнечными панельками,Байт решил еще себя испробовать в качестве барыги-менялы. Обитает он в Банке сейчас. Меняет из под полы "запрещенку" а так же всякий хлам Монстрик так и не захотел доделать на роботе нормально до конца лотерею менялку-не глядя. Программа сначала мне показалась непрактичной, интересной только в плане написания минимального кодика, а не огромной схемы на компараторах и раздатчиках. Думаю, мол, ну что там игроки будут пихать туда. Мусор, ведь так? Какой смысл. Но в админ, целях ее можно даже очень применить. Вот и решил набросать прототипчик первичный простенький. Автор идеи: Asummonster Принцип работы: СЛОТ-НА-СЛОТ Время работы: круглосуточно (отдыхает после одной операции обмена, 15 -60 мин!) Ассортимент: Что у него в инвентаре, одному криперу известно (и Алексу) В чем фича? А в Силе Великого Рандома. Время между тактами довольно большое. Можно и сдохнуть от скуки. Перерыв в тактах от 15 минут до часа!!! Случайный. Сколько раз бросишь какашку крипера и получишь ее обратно или листик с яблочком, который бросил игрок Вася, одному черту известно. Может и 100 попыток нужно, а может и одна! То есть - пробегаешь мимо, а ну, вдруг удача, кинул, алмаз - получил кактус, побежал дальше=) Кинул кирпич - ПОЛУЧИЛ ТЕЛЕПОРТАЦИОННЫЙ СИНГУЛЯРНЫЙ РЕЛОКАТОР, позволяющий тэпэшиться в любую точку по своим варпам! Или стак иридия! Уже сейчас у Байта по секретным данным есть Релокатор и Гравичест. Я оговорку сделал выше, что прога имеет только смысл админский. Так как именно админ может туда, пробегая мимо, закинуть МЕГА-ПРИЗ и ценные ресы. Как часто игрокам повезет их вытащить - это удача каждого. Инвентарь большой, таймаут между тактами тоже. Кинул ли Алекс сегодня призы, фиг его знает, или там только картофан и палки. На все воля ВЕЛИКОГО РАНДОМА Не упускайте свой шанс. Кому-то не надо перышко или папке не жаль кинуть нубасам кусочек иридия, а кто-то кинул листик и выиграл перышко, которое ему и было надо на данный момент и согрело душу и т.п. Что планируется еще добавить, так как программка сейчас только "меняшка" (железо): более сложный процесс таймаута не на os.sleep, со своими фунциями ( случайное катание по банку, кидание какашками, бухтелка в чат всякой ерунды, через внешний сервер с ком.блоком или чатбоксом КТ) принт в чат, есть ли релокатор в пузе и другие некоторые ценные призы из списка или нет с малым шансом обмана озвучка через серверные команды от Байта на ПК с КБ, когда я добавлю библы звуковые в access для /playsound на сервер (озвучка для банка, ТП, приветствие новых игроков, бухтелка тетки о каких-то событиях) и др. фичи Меняла Байт: А вот толпа искателей удачи: Программка:
- 21 ответ
-
- 4
-
-
- opencomputers
- роботы
- (и ещё 2 )
-
Уважаемые игроки. У нас на проекте хоть мы и постарались запретить как можно меньше предметов (только грифтуллс), но все же есть некоторые ограничения. В частности для снижения нагрузки на сервер чанклоадер, помпу и карьер можно получить за голоса на TopCraft и MonitoringMinecraft, MCTop. Нам нужна популярность и посетители, так как именно за посещаемость и банер мы получили бесплатный ВДС. Доната у нас нет. Поэтому набрав определенное количество голосов вы можете получить эти вещи. 1 голос = 20 UU-тугриков Чанклоадер – 800 UU-тугриков 3 шт. Улучшенных солнечных панелей (мод ASP. Генерация - 16 EU/t, макс. выход - 32 EU/t, Емкость - 32 000) - 70 UU-тугриков 1шт. Гибридная СП (мод ASP. Генерация - 128 EU/t, макс. выход - 128 EU/t, Емкость - 100 000) - 140 UU-тугриков Молекулярный преобразователь (мод ASP) - 280 UU-тугриков временно выведен из-за бага с энергией, можно продать в банке и вернуть UU Продвинутый алмазный бур (мод ASP) - 30 UU-тугриков (можно скрафтить и самому) Реактивный ранец 30K ИК-E - 20 UU-тугриков (можно скрафтить и самому) Виртуальное облачное хранилище ресурсов - 120 UU-тугриков Апгрейд +9 на все хранилища - 300 UU-тугриков Автосборщик урожая (будет в банке за UU) Сонариум (будет в банке за игровые деньги) Квантовые панели (крафт отключен, в банке за UU) Наберите в чате с учетом регистра: Сервер дай чанклоадер Cервер дай УСП Сервер дай гибридку Сервер дай молекулярник (программа выведет сообщение, что МТ выведен из игры) Сервер дай бур Сервер дай джетпак Подарки - статус программы в чат Команды - команды и цены в чат Сервер дай тугрики - сервер выдает 1000 тугриков (но не всем ) Сервер дай хранилище - Вам будет выдано разрешение на еще одно хранилище подробнее Хранилище +9 - все виртуальные хранилища увеличатся на +9 слотов подробнее Мои тугрики - программа выведет в чат остаток Ваших тугриков. Мой баланс - программа выведет в чат Ваш текущий баланс на банковском счете Вы получите выбранный предмет и указанное количество тугриков будет списано с вашего имени. Нам популярность, Вам призы . Голосовать на TopCraft и MonitoringMinecraft и MCTop можно раз в сутки через авторизацию соц. Сети ВКонтакте или на сайте TopCraft и MonitoringMinecraft, MCTop. Просто введите свой ник в игре на нашем сервере при голосовании. Программа работает на моде computercraft. ПК, ком.блок, АМИ. Все ваши голоса сайт TopCraft и MonitoringMinecraft пересылает нам на наш скрипт и они записываются в нашу базу SQL и отображаются на нашем сайте http://computercraft.ru/tops/ ( МЕНЮ САЙТА -->ИНФО-->ТОПы ...) Игровой ПК в Майнкррафт перехватывает чат, и если видит указанное сообщение, получает ник и осуществляет проверку во внешней базеSQL GET запросом. Если голосов хватает, выдает Вам приз, про что извещает в чате, и так же изменяет данные на сайте. Если голосов недостаточно, Вы будете извещены об этом. Программка пишет все в лог по каждому игроку в отдельный одноименный файлик , что и когда (астрономаческое реальное время ) игрок получил. Огромную благодарность выражаю игроку cyber01 за работу над PHP скриптами. Не успел я программку сделать раньше. Бедный игрок с ником ПРЕВЕД-МЕДВЕД орал, что не может жить без карьеров и чанклоадеров и куда-то пропал, так их и не дождавшись, проголосовал он правда всего раз, но требовал чанклоадер очень настойчиво. Видно ушел на проект, где его можно купить за $ Вам же платить не нужно ни за что. Просто поддержите нас голосованием. Это все, что мы просим! СМОТРЕТЬ ТУТОРИАЛ
- 8 ответов
-
- 4
-
-
- программирование
- Луа
- (и ещё 4 )
-
Вот набросал макетик. В чем фича? Чтобы игроки не задавали миллион однотипных вопросов в чате, на спавне необходима Инфо-панель (мод ОС) Новый игрок, попадая в игру, действительно понимает, что он попал на компьютерный сервер. Потыкал, посмотрел, почитал, и не задает больше глупых вопросов (ну по краней мере их будет в разы меньше) и игрокам станет удобнее и интереснее. Понятно, что есть форум, инфоплагины, деревянные таблички и прочее. Но зачем они, если у нас еть компы. Да и игроки в 50% случаев форум не читают, как посмотрю, так как в чате каждый второй новый игрок задает вопрос, почему у меня деревянный топорик ничего не приватит. Дизайн можно допилить, но цветовую схему аля-виндовс прошу оставить. Оранжевые и салатовые цвета не нужны. Все попросы в личку или в топик. Сроки - чем быстрее - тем лучше! Сенсорный экран: 3х5 блоков (но будет лучше, если текст и графические элементы будут масштабируемые в зависимости от размера экрана) Так же если будет прокрутка подраздела, будет выдан суперприз.(квантовая панель с х4 характеристиками и ПК 3 уровня со всей периферией и начинкой, мод ОС) Призы за инфо-панель: ЧАНКЛОАДЕР, ПОЧЕТНАЯ МЕДАЛЬ "ПОМОЩНИК АДМИНИСТРАЦИИ" или МЕДАЛЬ "НА КРАЛЬЯХ СЛАВЫ", а также 5 карьеров. Что я хочу получить? В конфиге я должен, например, для 5-й кнопки ввести название кнопки и имя файла, из которого подгрузиться инфа при клике на кнопку. Я не должен переписывать половину кода программы, чтобы поменять новость на сайте, а просто на ФТП поправить файлик и перезагрузить комп ОС. Программа должна быть как можно гибче, но главное это требуемый функционал. Более сложная и тонкая модернизация программы пока не нужна (бегущая строка, получение каких-то переменных на экран, типа время, сколько онлайн сейчас игрокови т.п.) Будет желание, предусмотрите использование сразу нескольких мониторов, которые могут стоять например на разных этажах спавна, или на второй длинный высотой в один блок выводиться бегущая строка и т.п. Но это пока не так сильно нужно. То что нужно сейчас - видно на скрине. Программка не сложная, но нужно это все аккууратно сделать и потратить некоторое время. Очень прошу помочь и подключиться в общую работу над нашим проектом. Только вместе мы сможем сделать наш сайт, сервер и проект в целом играбельнее, познавательнее, веселее и интереснее! Успехов в программировании. Призы ждут Вас. Администрация.
-
Суть почти понятна из рисунка, я думаю. Радарчик пока прилепил для понта(можно сделать отслеживание для полиции ТП игроков), на него не обращайте внимание он будет спрятан в земле с ПК и КБ. Напомню, то на новом игровом сервере не будет всяких tp, multihome, spawn и прочей ерунды из любой точки, только реальные телепорты и реальное физическое перемещение. Так же мечта понерфить джеты (как-то уменьшить время полета или заряд немного) И так. Задача - нужен телепортик на новый сервер. Игрок щелкает по сенсорному мониторчику, выбирает место, куда ему нужно и при нажатии на кнопочку GO телепортируется на место назначения. Исполнительным элементом является командный блок. Список станций и их координаты хранятся в таблице. Есть платный вариант, когда нет кнопочки GO. Тогда игрок, выбрав станцию, кидает индастриаловскую монетку в хопер. Дальше принцип тот же, ред.сиг. на КБ (какой-то простенький фильтр из БК и подача импульса при пролете монетки). Я думаю вы понимаете, что команда /tppos @p x y z и есть ключевой, где x y z - координаты станции. Должна быть цикличность(то есть промотка по кругу). Номер i-го элемента списка вверху, две три строки для названия станции. Допускаю и приветствую размер монитора в 2 или максимум три блока, в ширину, но только один в высоту, если будет реализована система кнопок фильтров для более быстрого поиска по списку(например острова, сервисы, или просто латинский алфавит, как придумаете сами). Большим плюсом будет функция для обновления всех телепортов по сети Крафтнет , например, новой единой изменившейся таблицей(пока в отключенном состоянии, опционально) Эх, если бы были админ-частоты RedNet в КК, которые запрещены игрокам, мечты мои мечты. Хакеров с этой сетью CraftNet и планшетами чувствую, разведется не мало. И так, призы 2 из 6 на выбор (сразу при открытии нового сервера): 1. 5 машин из ИК и 3 машины из ГТ на выбор (кроме запрещенных) 2. Пистолет из АЕ (заряд 100% , в магазине 512 голдовых нагитов) 3. Подтверждение нового клана сразу при создании 4. Двойной размер привата. 5. Личный (вечный при желании) префикс на выбор. 6. Админ якорь, замурованный в бэдрок в любом месте. Срок выполнения - не ограничен (разве что сам уже напишу, когда остальное доделаю) Но сервер не откроется, пока не будет выполнен минимальный пакет программ для него, который я указал в теме по новому серверу П.С. Если сделаете, что телепорты будут слушать эфир на предмет события добавления новых станций, подумайте, как сделать так, чтобы хакер потом чёрти какие координаты не забил во все компы, если перехватит сообщение с апдейтом станций и узнает частоту приема телепортов. Пешком будете потом по миру бегать:cool: Нужно всего 512 ПК, чтобы на каждом слушать по 128 каналов одновременно, ведь всего-то 65536 каналов. Хотя если на каждый ПК прилепить по 4 модема и на каждом слушать эфир, то нужно всего 128 ПК - в маленькую хакерскую комнатку они влезут, я думаю))) Это для статической сниффер-системы. С динамикой и отсевом - еще меньше.
-
https://www.youtube.com/watch?v=kkH49U7PDRQ Описание и условия конкурса: Программа должна отслеживать регулярность посещений игроками сервера игры, игроки за регулярное посещение (каждый день игрок хотя бы раз зашел на сервер) получают приз, который с каждым днем немного увеличиваеться, а на седьмой день регулярных посещений получает уже весомый хороший приз (случайный из таблицы) Установка рекомендуемая (админ. комплектация) ПК командный блок glasses bridge adventure map interface Конкурсные требования к программе: выполнение основной функции - 70 баллов меню - 25 баллов лог (в файл) - 20 баллов чистка старых логов - 15 баллов принтинг событий на внешний экран (англ. яз, со скроллингом вверх) - 25 баллов доступ к меню и работе с таблицами на ПК не прерывая работы программы - 10 баллов чистка ненужных файлов пользователей (которых давно нет в игре и прочее) - 15 баллов принтинг событий в чат (русск. яз, сообщения для чата хранить в тхт файлах UTF-8 и подгружать нужную строчку) - 25 баллов подарки к календарным праздникам - 40 баллов удобная структура таблиц айтемов (а лучше в файле хранить списки ИД, и их русское название), чтобы игрок при получении приза видел что-то типа: Привет, Vika18! Вы зашли сегодня (5) день подряд. Вы получаете (15) алмазов. Проверьте инвентарь. И т.п. - 20 баллов принт основных событий на очки админу (логин и выдача призов) - 30 баллов удаленный останов программы через очки - 10 баллов автостарт программ, при старте проверка файлов, устройств и чистка старых логов или огромного размера(>2Mb) файлов. Рекомендую логи писать в отдельную папочку, имена файла лога привязывать ко времени майна. При старте создавать новый логфайл. Но админ должен почитать лог как минимум за 2-3 дня последних. Остальное можно чистить. Надо прикинуть, сколько места под СС ПК выделено, по моему 2 или 4 Mb HDD - 20 баллов игроки в отдельной папке, где файлы имеют имя игрока. Файл хранит последнюю дату посещения, количество текущих каждодневных посещений подряд и возможно еще какую-то инфу. (эти файлы тоже надо чистить, то есть удалять ненужные) - 20 баллов возможно отслеживание лидера по самой длинной серии посещений подряд (по желанию) - 60 баллов резерв резерв Победителя определим по количеству набранных баллов. Выполнение первого пункта обязательно!
-
Доброго времени суток. Вот и очередной конкурс на строительство. Задача построить музей, в котором будут выставляться программки и механизмы победителей конкурсов. Музей должен быть живописным и в то же время функциональным(функционал будет добавлен позже) Свои работы со скринами выкладывайте в этой теме. Окончание конкурса через 30 дней Победитель конкурса получит VIP статус, а так же в дополнение Квантовый сет с ресурсами
