Задать вопрос
  • CharacterController не содержит в себе .Move и .isGrounded. Что не так?

    Поле Character у тебя имеет тип CharacterController.
    Если ты сюда приложил весь код, то такого метода там действительно нет.

    Либо тебе нужен какой-то другой класс, либо тебе нужно такой метод дописать.
    Ответ написан
  • Как игровые движки понимают инородные языки?

    Интерпретатор lua (в случае Love2D и Cocos), и Mono (в случае Unity) можно подключить, как обычную сишную библиотеку.
    В этом случае C++ не нужно "понимать" чужой язык, достаточно лишь понимать, какие сишные функции надо вызывать, чтобы запустить код на "чужом" языке, и как туда передать доступ к функциям движка (это делается, обычно, путём передачи указателей на функции)
    Ответ написан
    Комментировать
  • В чем разница static в разных языках?

    В жаве - для доступа к этим элементам не нужно создавать экземпляр объекта (например для вызова метода).
    В си - переменная (если static у переменной в функции), сохраняет своё значение между разными вызовами функции, либо что переменная доступна только из того файла, где она объявлена (если это переменная в файле, а не в функции)

    А вообще ответ легко ищется по двум запросам "что значит static в java" и "что значит static в си"
    Ответ написан
    Комментировать
  • Почему выходят ошибки "modifier 'private' is not valid for this item"?

    Не закрыл фигурную скобку у Update, и получилось так, что функция Shoot и другие стали локальными (внутри Update).
    У локальных функций нет модификатора доступа, тк они и так доступны только внутри тех методов, в которых они объявлены.
    Ответ написан
  • Как подключить пакеты в Node.js?

    Копия моего комментария, с попыткой воспроизвести

    Вот с таким package.json
    {
      "name": "node_test",
      "version": "1.0.0",
      "main": "index.js",
      "dependencies": {
        "spotify-web-api-js": "^1.5.2"
      },
      "type": "module"
    }

    и вот таким index.js:
    import SpotifyWebApi from "spotify-web-api-js";
    // const SpotifyWebApi = require("spotify-web-api-js");
    const spotify = new SpotifyWebApi();
    spotify.getGeneric("???", () => console.log("callback"));

    Всё работает.
    Если убрать type: module, то тогда вместо import можно (и нужно) будет использовать require.

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

    Мне кажется, вы просто забыли вызвать npm install, чтобы скачать зависимости.

    PS: в ноде эту библиотеку использовать нельзя.
    Для ноды следует брать эту:https://www.npmjs.com/package/spotify-web-api-node
    Ответ написан
  • Торрент тихий убийца ссд?

    Помогает ли "раздача" убивать диск?

    При раздаче на диск ничего не пишется. Чтение диск не убивает.

    З.Ы. И в чем разница TBW и DWPD

    Ну блин гуглится же легко :)

    TBW (total bytes written / всего байт записано) - сколько всего можно байт по кругу записать на диск (общий ресурс)

    TWPD (total writes per day / полных записей в день) = TBW / (Capacity * 365 days * 5 years) - тобишь то, сколько полных перезаписей в день может выдержать диск в течение 5 лет.
    Ответ написан
    5 комментариев
  • Как лучше хранить уровень в 2D платформере?

    Не пойму как лучше хранить все объекты и существ в памяти, ведь все это многообразие будет разных размеров.

    А что не так с размерами?

    Вообще есть достаточно неплохая методика - ECS.
    Каждый объект - это Entity, по сути просто уникальный идентификатор, чтобы можно было отличать одну entity от другой.
    Для каждого "атрибута" создаётся component - это может быть, например, текстура, размеры, координаты на карте, хитбокс, и так далее. Для персонажей это может быть hp и отношение к "стороне" (друг к игроку или враг, например).
    А для всей игровой логики создаются system - они должны будут реагировать на события, которые посылают другие системы или отрабатывать каждый условный кадр, например.
    В них как раз определяется и отрисовка всех текстур/спрайтов, проверяется, нужно ли нанести урон игроку, и так далее.

    Советую поискать готовые ECS-фреймворки для вашего языка, чтобы не велосипедить с нуля.
    Ответ написан
    Комментировать
  • Как восстановить потерянный коммит в bitbucket?

    Ну чел стёр историю коммитов, так что никак не восстановить, если не было бэкапов или копии репы, например, локально.
    Ответ написан
  • Возможно ли реализовать несколько ботов в одном?

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

    Можно ещё один проект добавить с общим кодом, если он будет
    Ответ написан
    Комментировать
  • Как задавать структуру XML?

    Как вариант: ты можешь сгенерить XSD - это общепринятый способ для описания структуры xml-документа.

    Причём XSD - это тоже XML-документ, который ты можешь программно проанализировать и по каким-то своим алгоритмам сформировать новый валидный документ.

    XSLT - это вроде бы про шаблоны, да, и в теории можно написать трансформер, который на вход получит схему, а на выходе даст валидный документ, но я не уверен, что это будет проще, чем с языком общего назначения.
    Ответ написан
    Комментировать
  • Как происходит деплой небольших веб-сервисов на ASP.NET Core на Linux VPS?

    Самый простой вариант - это на компе разработчика выполнить:
    dotnet publish -c Release -r linux-x64 --self-contained true /p:PublishReadyToRun=true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true

    Закинуть получившийся бинарь на сервер (через scp например)
    Настроить systemd

    А дальше уже можно накручивать что хочешь.
    Ответ написан
    Комментировать
  • Как добавить такую опцию - Discord.js?


    И как сделать, чтобы по истечению срока юзер разбанился - даже если бот перезапускался итд?

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


    Как сделать такую опцию?

    Для этого нужно использовать Application Command:
    https://ptb.discord.com/developers/docs/interactio...

    Предварительно её нужно зарегистрировать:
    https://ptb.discord.com/developers/docs/interactio...

    Вот так это делается через discord js:
    https://discordjs.guide/interactions/slash-command...

    Для того чтобы сделать выбор из вариантов, как сделано для duration - тебе нужен тип NUMBER или STRING и заполнить поле choices
    Ответ написан
  • Безопасно ли хранить такие данные в localStorage?

    Вопрос только к полю password, если это настоящий пароль.

    В остальном проблем нет - только учитывайте, что к этим данным имеет доступ пользователь (и он может их легко изменить), а также все скрипты на вашем домене и различные расширения, которые вносят изменения в html.
    Ответ написан
    Комментировать
  • Подводные камни удаленной работы на организацию в другом регионе РФ (с оформлением в штат)?

    Также оформлялся. Отправляли DHL-ем без проблем.
    Потом перешёл на электронную трудовую и также DHL-ем прислали старую.

    Так что теоретически никаких сложностей нет.
    Все вопросы к вашему работодателю.

    UPD: С первого сентября можно все кадровые документы оформлять через ЭДО.
    Если вы устраиваетесь на работу впервые или у вас уже есть электронная трудовая - никаких проблем быть не должно.
    Ответ написан
    Комментировать
  • Нужно ли шифровать траффик web приложения?

    vabka
    @vabka Куратор тега Веб-разработка
    Если нужно, то только в каком-то очень узком наборе случаев.
    Даже Vault в своём UI не заморачивается с дополнительным шифрованием.
    Даже банки и прочие PCI dss сертифицированные системы не добавляют второй слой шифрования.

    Единственный случай, когда я наблюдал шифрование поверх https - это EDI over HTTPS.
    Но там шифрование не само по себе "для дополнительной безопасности", а как часть EDI, который обычно по нешифрованным каналам типа SMTP или FTP передаётся.
    Ответ написан
    Комментировать
  • Как начать программировать на паскале?

    Free Pascal либо Delphi community edition.

    Turbo Pascal - устаревшая штука, пригодная лишь для школы.
    Pascal.ABC - не устаревшая, но изначально для школы и созданная.
    Object Pascal - это что-то более менее актуальное, которое существует в виде Free Pascal и delphi
    Ответ написан
    Комментировать
  • Файл .sln visual code как используеться?


    Visual Code

    Что это вообще такое? Впервые слышу.
    Может Visual Studio?

    Вообще по моему опыту - sln сейчас используется исключительно в dotnet - там он позволяет с группировать несколько единиц компиляции (проектов) в одном "решении".
    Сами проекты могут быть написаны на C#, F#, VB.NET, или C++/CLI (не путать с обычным C++), и в теории могут быть прикручены любые проекты, которые собираются через msbuild.

    Ну и в контексте дотнета такой sln файл может потребляться не только большой студией, но и Rider-ом и VSC (с соответствующим плагином), и различными инструментами командной строки (в частности - dotnet SDK)
    Ответ написан
    9 комментариев
  • Почему зависает консоль?

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

    Развёртывайте своих ботов как виндовые сервисы без окон и тогда проблема исчезнет.
    А лучше вообще с винды уходите, если в ней нет определённой нужды
    Ответ написан
    4 комментария
  • Как разблокировать высоту dji?

    Официально можно тут: https://fly-safe.dji.com/unlock/unlock-request/list
    "Нарисовать" и "официально" - это взаимоисключающие параметры.
    ИМХО, если вы задумываетесь над подделкой документов - не заморачивайтесь и просто разблокируйте это на уровне софта.
    Ответ написан
  • Можно ли сравнивать через переопределенный GetHashCode() в C#?

    GetHashCode - это не про сравнение, а про генерацию хэша для объекта.
    Хэши могут пересекаться, тк количество хэшэй принципиально меньше количества уникальных объектов.
    По тому, если тебе нужно ответить на вопрос "равен ли объект А объекту Б", то обязательно нужно проверить на Equals.
    Чтобы при разных типах у тебя не было ложного совпадения - просто сравнивай ещё и тип в Equals (через GetType)

    Если тебе нужно сравнить объекты по принципу больше/меньше/равно, то тут к тебе на помощь приходит интерфейс IComparable.
    Ответ написан
    2 комментария