Невнимательный платит дважды
Всем привет! Прошёл очередной год, а, значит, пришло время очередного отчёта. Сегодня хотел бы поднять две темы, лишь косвенно связанные с Каньоном. Кстати, забавно вышло. В прошлый раз писал, что защитился и вновь поступил. А сейчас выходит так, что скоро вновь защищаться буду. Ну да ладно, сейчас не об этом.
Начнём, пожалуй, с темы поста. Ребята, делайте бекапы. Терять прогресс, и делать что-то заново - невероятно больно. Первый раз у меня случился, когда я решил закинуть обновление от товарищей по команде. А так как у нас всё идёт архивом, я благополучно перезаписал свои наработки старой версией файла. И это было очень неприятно, т.к. это был файл интерфейса. А править эти .xml файлы - то ещё удовольствие. Пришлось вспоминать, что я там наваял, и делать заново. Я даже не уверен, что ничего не забыл. Состояние такое, будто я разобрал что-то, затем собрал заново, а у меня остались лишние детали. Но вроде работает, так что не всё так печально. Второй раз случился, когда я переставлял винду. Старая была явно чем-то заражена, поэтому я, не раздумывая, снёс абсолютно всё, что было на дисках. Естественно, перед этим я сохранил самую ценную инфу. Стоит ли говорить, что про моды на Fallout я забыл? Благо в этот раз потери были не такие большие - только плагин. Да и в том лишь диалоги, которые имеются в виде Word-овского документа. Так что это восстановить было несложно. Но муторно, не люблю монотонную работу . И собственно встаёт вопрос - а как бекапить? Очевидно, надо на какой-то внешний ресурс. Создавать git-репозиторий не хочется, звучит как оверкилл. С другой стороны, всякие .xml файлы там бы хорошо зашли, ибо можно будет отследить все изменения и историю. Может какой-нибудь onedrive? Но тут всю директорию с модами пихать не вариант, слишком тяжёлая. Значит, нужен механизм синхронизации... Не знаю, в общем! Если есть какие-то практики - пишите, очень интересно! Не хочу наступать на грабли в третий раз.
Переходим ко второй теме. Ребята, идите в ногу со временем. NVSE до сих пор развивается, не стесняйтесь переходить на новые фичи, ибо они зачастую сделаны лучше, чем оригинал. Я сейчас даже не говорю про лямбда-выражения и прочие продвинутые штуки. Возьму самый банальный пример. Стандартный set .. to и let из NVSE. Мало того, что возможностей у последней функции куда больше, так ещё и читаемость повышается в разы. Вот вам пример:
set MyVeryLongNamedQuest.SomeVariable to MyVeryLongNamedQuest.SomeVariable + 1
let MyVeryLongNamedQuest.SomeVariable += 1
Строка получилась в 2 раза короче! А с выходом xNVSE 6.1.0 можно даже так:
MyVeryLongNamedQuest.SomeVariable += 1
Если вам в скрипте потребуются строки или массивы, от let никуда не уйти. Так используйте эту функцию везде. Более того, ещё один огромный плюс, указанный в вики:
ЦитатаWhen an assignment fails, a runtime error message is printed to the console, naming the guilty mod and script, and the script will continue to run. By comparison, set will cause the script to fail silently, and so is harder to debug.
Если возникает ошибка (во время игры), то в консоль будет выведено сообщение, содержащее мод и скрипт, в котором возникла ошибка! Это очень круто, ибо помогает ловить ошибки, которые set просто молча игнорирует. В общем, не стесняйтесь развиваться вместе с NVSE. Может, однажды найдёте что-то, что давно искали. Однако я ни в коем случае не призываю бежать и переписывать старый, уже проверенный код. В этом может быть резон только, если удастся его оптимизировать и снизить нагрузку с игры. В остальных случаях - двигайтесь дальше.
Всем спасибо за внимание и с Наступающим!
- 7
2 Комментария
Рекомендуемые комментарии
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти