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

Totoro

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

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

  • Посещение

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

    289

Сообщения, опубликованные пользователем Totoro


  1. тут надо четко знать=) А вдруг человек сейчас в сервисе покупает ПК с предустановленной ОS win. Тут надо наверняка знать, подойдет ли купленный ПК для эмуля, и не будут ли зря потрачены сотни долларов :giggle:

     

    Значит надо искать подопытного с Windows. =)

    Я могу только для Debian сказать.


  2. На Android ты его запустить не сможешь.

     

    А под Windows - вполне. Вот тут есть бинарники и под 32 и под 64-битную версии.

    А дальше есть только один способ узнать, будет ли он у тебя запускаться. Это запустить его.


  3. Приведи пример кода.

    А вообще если ты задаёшь окружение при выполнении файла, то для кода внутри файла это будет обычное глобальное окружение. Он сможет взять оттуда какие-то переменные просто по именам.

    • Нравится 1

  4. Ты можешь использовать семь пробелов для идентации, называть переменные транслитом, писать весь код в одной большой функции и перемещаться по ней исключительно с помощью goto.

     

    Два пробела - это просто стайлгайд, правило хорошего тона и немного стандартизации для разношёрстной компании Lua-программистов. Не вижу тут ничего плохого. :P


  5. Если функция возвращает несколько значений:
     

    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" и т.п.


  6. Учитывая, что у карточек есть название, мне кажется наиболее логичным записать имя файла и номер "чанка" в него.

     

    Допустим карточка называется cote.png [1/22]. Ну и тут как бы всё понятно.

    Название остаётся человекочитаемым, но при этом программа чтения карточек может распарсить из него всё что нужно для того, чтобы собрать файл обратно.


  7. Можно добавить в nbt ещё и айди бумажки(уникальный, разумеется), и если этот айди при конвертации бумажка -> циферка на бэкенде встречается второй раз, то не считать бумажку хорошей. А если дать игрокам доступ к просмотру использованных айди, а так-же к чтению нбт предметов, то игроки смогу делать свои торговые станции.

     

    Под номерами банкнот я как раз и имел ввиду "айди бумажки" :P


  8. в нашем случае, конечно, о нагрузке речи и идти не может, когда играет на серве полтора землекопа))) Да и база находится на том же хосте, что и игровой сервак, как правило. Это в глобальной перспективе я систему оцениваю) 

     

    Мне что-то кажется, в этом аспекте на ещё долго можно не беспокоиться  :D

    Пока сотню-другую юзеров одновременно онлайн не накопим.


  9. вариант хороший, и от дюпа купюр это защитит, но не от дюпа предметов, при продаже которых можно получить лярды легальных купюр. Да и нагрузку это повысит нехило, проверять все операции с налом на предмет подлинности(уникальности) купюр, очень много будет запросов к базе, наверно. Как вариант, серийники можно хранить только локально в майнКомПуктере.

     

    Да, с дюпом предметов придётся бороться как раньше.

    Ну можно только дополнительно в админ-магазине статистику вести - кто там что сбывает крупными партиями.

     

    База данных то без проблем выдержит нашу нагрузку. Для современных баз данных это смешные показатели. =)

    Тут главное чтобы сетевой канал ОС не подкачал. Но если там будет висеть какой-нибудь TCP сокет, один на банкомат, мне кажется это тоже будет фигня.


  10.  

     

    Вообще, хранить деньги, в виде предметов в игре - не разумно. Дюпы есть на всех серверах, чем больше модов, тем больше дюпов. Например: игрок задонатил пять червонцев, купил на них игровые монетки, нашел дюп, надюпал. В итоге - сервер откатывается, банятся все донатеры, убирается донат и сервер умирает (либо все чинится/запрещается, дюпающие механизмы продаются за донат).
     

     

    На самом деле тут есть простое решение. Надо использовать не простые айтемы-купюры, а купюры с номерами (зашитыми в NBT-теги, например).
    Банкомат, выдающий деньги, должен генерить эти номера и запоминать их в БД.

    При совершении каждой операции, банк должен сверяться с БД и проверять актуальность номера. И после завершения операции затирать его в БД.

     

    Таким образом, надюпать банкнот будет вполне реально, но воспользоваться ими - нет.

    А если банк будет запоминать, кому выдал банкноту, можно будет примерно отсделить цепочку, ведущую к "фальшивомонетчику".

    Конечно тут тоже могут быть накладки, но это уже будет достаточно прикольный экономический механизм, имхо.

    • Нравится 1

  11. скорее всего это слишком сложно и нудно будет для большинства игроков.  :)

    ...

     

    Алекс, это будет в любом случае интереснее чем полное отсутствие серверов :P

     

    А что там было сложного на Прометее? Там всё как раз изи-бризи.

    Никакие терминалы не должны нигде стоять и бояться ребутов, чтобы не сломаться. Все программы контролирутся игроками - они сами за ними следят.

     

    Безопасный тесный посёлок окружённый стенами. А за ними - суровая пустошь, где ходят табунами зверские монстры. Кучи руин по всей карте, минимум ресурсов.

    Майн-миры по расписанию. На спавне майн мира - клетка из обсидиана с дырами для роботов.

    Первые ресурсы покупать в админшопе, в обмен на связки шкур от всяких монстров и т.п.

    Красота же.

    :D

    • Нравится 2

  12. Ребята, спасибо! Работают оба варианта но у Тоторо по симпатичнее.

     

    Да, прошу прощения, твой вариант тоже нормальный.

    Это я просто давно на Луа не писал. Показалось что там массив объявляется.  :D

×
×
  • Создать...