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

Totoro

Гуру
  • Публикации

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

  • Посещение

  • Победитель дней

    289

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

  1. Вау. Дорога смахивает на хребет какого-то сильно здорового пресмыкающегося. =)
  2. А есть какое-нибудь сообщение об ошибке? Или просто молча вылетает?
  3. Значит надо искать подопытного с Windows. =) Я могу только для Debian сказать.
  4. На Android ты его запустить не сможешь. А под Windows - вполне. Вот тут есть бинарники и под 32 и под 64-битную версии. А дальше есть только один способ узнать, будет ли он у тебя запускаться. Это запустить его.
  5. Приведи пример кода. А вообще если ты задаёшь окружение при выполнении файла, то для кода внутри файла это будет обычное глобальное окружение. Он сможет взять оттуда какие-то переменные просто по именам.
  6. Totoro

    fallout Петиция

    У нас нет отдельного раздела под бред-топики, так что можно, я думаю. Почему бы и не поноркоманить иногда.
  7. Totoro

    fallout Петиция

    Ты можешь использовать семь пробелов для идентации, называть переменные транслитом, писать весь код в одной большой функции и перемещаться по ней исключительно с помощью goto. Два пробела - это просто стайлгайд, правило хорошего тона и немного стандартизации для разношёрстной компании Lua-программистов. Не вижу тут ничего плохого. :P
  8. Что за "дисковый мегабит" и "обычный мегабит"? И почему они равны 125 и 125 килобит? Можно ссылочку куда-нибудь на вики?
  9. Если функция возвращает несколько значений: function f() return 1, 2, 3, "Hello", "world" end То можно сохранить возвращаемые значения в несколько переменных, просто приравняв их к возвращаемому значению функции: local number1, number2, number3, greetings1, greetings2 = f() Или можно засунуть их в таблицу: local result = { f() } В таблице они расположатся по порядку под числовыми индексами, начиная с 1. То есть result[1] будет равен 1, result[4] будет равен "Hello" и т.п.
  10. Учитывая, что у карточек есть название, мне кажется наиболее логичным записать имя файла и номер "чанка" в него. Допустим карточка называется cote.png [1/22]. Ну и тут как бы всё понятно. Название остаётся человекочитаемым, но при этом программа чтения карточек может распарсить из него всё что нужно для того, чтобы собрать файл обратно.
  11. Под номерами банкнот я как раз и имел ввиду "айди бумажки" :P
  12. Мне что-то кажется, в этом аспекте на ещё долго можно не беспокоиться Пока сотню-другую юзеров одновременно онлайн не накопим.
  13. Да, с дюпом предметов придётся бороться как раньше. Ну можно только дополнительно в админ-магазине статистику вести - кто там что сбывает крупными партиями. База данных то без проблем выдержит нашу нагрузку. Для современных баз данных это смешные показатели. =) Тут главное чтобы сетевой канал ОС не подкачал. Но если там будет висеть какой-нибудь TCP сокет, один на банкомат, мне кажется это тоже будет фигня.
  14. На самом деле тут есть простое решение. Надо использовать не простые айтемы-купюры, а купюры с номерами (зашитыми в NBT-теги, например). Банкомат, выдающий деньги, должен генерить эти номера и запоминать их в БД. При совершении каждой операции, банк должен сверяться с БД и проверять актуальность номера. И после завершения операции затирать его в БД. Таким образом, надюпать банкнот будет вполне реально, но воспользоваться ими - нет. А если банк будет запоминать, кому выдал банкноту, можно будет примерно отсделить цепочку, ведущую к "фальшивомонетчику". Конечно тут тоже могут быть накладки, но это уже будет достаточно прикольный экономический механизм, имхо.
  15. Там по сути надо не банк сделать. А маленькую программку, которая будет только обналичивать виртуальную валюту на айтем-банкноты, и обратно. Остальная система готова и надо сделать только "банкомат".
  16. Уже обращались (в ирке) =) Тотора занят, и запилить новый банк не может.
  17. Totoro

    Program Downloader (v0.1)

    Нравится мне, когда темы заканчиваются такими фразами
  18. Алекс, это будет в любом случае интереснее чем полное отсутствие серверов :P А что там было сложного на Прометее? Там всё как раз изи-бризи. Никакие терминалы не должны нигде стоять и бояться ребутов, чтобы не сломаться. Все программы контролирутся игроками - они сами за ними следят. Безопасный тесный посёлок окружённый стенами. А за ними - суровая пустошь, где ходят табунами зверские монстры. Кучи руин по всей карте, минимум ресурсов. Майн-миры по расписанию. На спавне майн мира - клетка из обсидиана с дырами для роботов. Первые ресурсы покупать в админшопе, в обмен на связки шкур от всяких монстров и т.п. Красота же.
  19. Да, прошу прощения, твой вариант тоже нормальный. Это я просто давно на Луа не писал. Показалось что там массив объявляется.
  20. А что это за наркомания вообще? Просто local wlist = { Gaap = true } На несколько человек, соответственно, будет так: local wlist = { A = true, B = true, C = true }. Сложные имена можно отдельно добавлять: wlist["Сложное имя, очень сложное"] = true.
  21. Там тревога была реализована через мод Nuclear Control. То есть у тебя где-то стоит сирена, и ждёт сигнала редстоуна. А программа lock при возникновении тревоги шлёт этот сигнал. Управляет сигналом редстоуна красный контроллер (блок из OC который выдает сигналы редстоуна - Redstone I/O в англ. версии). А чтобы настроить где он находится и на какую сторону выдавать сигнал в программе есть команда alarm. Вот тут про неё немного. Там у команды всего несколько параметров - название триггера, параметр который обозначает разницу в уровнях того кто позвонил, и уровня двери (типа если нехватает уровня на сколько-то единиц - то тревога), адрес контроллера редстоуна, и сторона куда выдавать сигнал. Там вроде справка есть в программе по командам. Например: alarm ? выдаст подсказку по команде alarm.
  22. Ты меня не слушаешь. blink - это не эвент. Это переменная с флагом. Она сохраняет своё состояние. Пока в переменной находится значение true - лампа будет мигать. Потому что главный цикл повторяется снова и снова. А чтобы главный цикл повторялся без задержек - тебе надо модифицировать вызов event.pull() и добавить туда ограничение на время. Тогда функция будет ждать эвентов пару десятых секунды, затем завершаться, потом будет мигать лампа (один раз), потом снова будет пара десятых секунды ожидания эвентов - а потом снова одно мигание. И так пока ты не сменишь значение флага.
×
×
  • Создать...