Перейти к содержанию

mintmike

Граждане
  • Постов

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

  • Посещение

Весь контент mintmike

  1. Урок 8: "Как создать / прочитать текстовый файл" --=== Функции Lua для работы с файлами ===-- io.input() -- задаём файл для чтения io.output() -- задаём файл для записи io.read() -- читаем строку из файла io.write() -- пишем строку в файл Для примера посчитаем количество строк и слов в интересующем нас файле, пусть он называется inp.txt Запускать программу будем на компиляторе lua53.exe (последняя версия). 1. Скачаем, если у вас его нет. Скачать можно тут: http://luabinaries.s...t/download.html 2. Создаём в одном каталоге с lua53.exe новый текстовый файл с текстом программы, например "prog.lua": io.output('out.txt') -- задаём файл с результатом io.input('inp.txt') -- откуда будем читать local str = io.read() -- читаем первую строку из файла local snum = 0 -- количество строк local wnum = 0 -- количество слов while str do -- цикл исполняется пока str не равно nil snum = snum + 1 -- увеличиваем счётчик строк на 1 for s in str:gmatch("[%w'-]+") do -- для каждой найденной в строке цепочки цифро-букв, "'" и "-" if s:find("%a") then -- если цепочка имеет хотя бы одну букву wnum = wnum + 1 -- увеличиваем счётчик слов на 1 end end str = io.read() -- читаем следующую строку end io.write('Всего строк в файле ',snum,'\n') -- выводим результат в файл io.write('Bсего слов в файле ',wnum,'\n') -- \n -- служебный символ перехода на новую строку print('Всего строк в файле',snum,' всего слов в файле',wnum)Замечание: все файлы должны лежать в одной папке. 3. Перетаскиваем мышкой нашу программу "prog.lua" на lua53.exe и отпускаем, рядом появляется наш файл с результатом "res.txt". 4. Для повторных запусков можно создать prog.bat файл, и запускать нашу програму нажатием на него lua53 prog.lua cmd
  2. На Луа очень просто делается Создаешь текстовый файл с текстом программы, например "prog.lua": io.output('script.txt') -- задаём файл с результатом for i = 1, 400 do -- цикл 400 повторений -- пишем строки в файл io.write('(if ( player->GetItemCount, "ID_'..i..'")\n') -- вставляем номер i в стоку io.write(' player->drop, "ID_1" 1\n') io.write('endif\n') io.write('\n') -- \n - новая строка endПеретаскиваешь мышкой файл на lua53.exe и отпускаешь, тут же появляется твой готовый script.txt Скачать lua53.exe можно тут: http://luabinaries.sourceforge.net/download.html Больше про Луа для Морровинд в этой теме: https://www.fullrest.ru/forum/topic/41708-mwse-21-uroki-po-lua-skriptam/?do=findComment&comment=997434
  3. Просмотрел общий объём дополнения. Tamriel Rebuilt уже на сегодняшний день сравним с Morrowind + Tribunal + Bloodmoon. И даже формально превосходит по количественным значениям. Экспортировал некоторую статистику и сам не ожидал, честно сказать, такого количества: Экстерьеры (внешние ячейки) TR: 3156 M+T+B: 1559 Интерьеры (внутренние ячейки) TR: 1881 M+T+B: 1324 Регионы (включают Skyrim) TR: 51 M+T+B: 16 Персонажи TR: 3800+ M+T+B: ~3050 Классы TR: 159 M+T+B: 83 Фракции TR: 42 M+T+B: 27 Книги и записки: TR: 1400+ M+T+B: 600+ Записи диалогов: TR: 33+тыс M+T+B: 32+тыс Подвиды существ TR: 631 M+T+B: 396 Ингредиенты: TR: 405 M+T+B: 126 ... Также добавлены 8 новых разновидностей рас, фракции дублируются с морровиндовскими, около 20 новых. Для сравнения Skyrim - Home of The Nords добавляет всего около 500 персонажей и ~200 интерьеров Перевел обзорную статью с их сайта https://www.tamriel-rebuilt.org/about/about-our-lore
  4. Для морровинда ахрененно атмосферно. Темноту можно погуще, чтобы без факела или заклинания не обойтись было? Ловушки понравились, особенна плиты падающие. В скайриме таких не видел, правда по подземьям я там не бегал долго.
  5. Драугр-простолюдин Драугр отступник Драугр-зомби Оголтелый драугр (к 3 варианту) Драгур-страж Драгугр-ополченец Иссохший драугр Мёртвый бригадир Злой воевода Вельможа-драугр Можно наподобие исковерконнаго драконего наречия: Ансулташ драуг Дрен-сашай Типун галсош А можно и переводимое. см. http://elderscrolls.fandom.com/ru/wiki/Драконий_язык_(словарь) Например: Дав Варукив (Драконий Служитель) Вир Зан (Мёртвый Крик) Квот Валок (Страж Гробницы) Кэндов Вотх Бром (Воин с Севера) Можно много интересного насочинять, например что-то вроде рангов ввести
  6. Хорошие стихи. Слышны личные мысли и сомнения. Только мыслящий человек способен сомневаться, задавать верные вопросы. Нам всем не хватает творческого общения и позитива в мире, где создан дефицит энергии. Но попробуй вложить стихи в маленький рассказ, в уста персонажу, или кому-то адресовать. А так скопом плохо воспринимается.
  7. По первому ощущению как будо в Скайрим попал, или Морискалион :) Все смешалось... Но звук что надо! Успехов в поплощении всех закоулков, пенат и чертогов"
  8. Здорово! А пддержка луа планируется уже после 1.0 ?
  9. По описанию это здание из мода Clothiers of Vvardenfell by Korana. Её моды на Нексусе в одном месте: https://www.nexusmods.com/morrowind/mods/27167?tab=files
  10. https://www.youtube.com/watch?v=YUa-71Mp7ko Что меня удивило это не скрипты, а новые анимации. Если обратить внимание на пошатывающегося орка в начале видео... Хотел бы я так же, в смысле уметь работать с анимацией. А это отличная идея, и именно подобного всегда не хватало. Сегодня благодаря МВСЕ 2.1 есть возможности реализовывать такие вещи на несколько уровней выше...
  11. Можно не отключать, а уменьшить глобальные переменные fCorpseRespawnDelay = 72 iMonthsToRespawn = 4Респаун есть у контейнеров, скричеров и нпс, клонов, можно одних отключить других оставить tes3container, tes3creature, tes3creatureInstance, tes3npc, tes3npcInstance
  12. Если последний MWSE стоит, то можно так. Создать текстовый main.lua файл: ..\Data Files\MWSE\mods\respOff\main.lua local function scanCell() local creatute_count = 0 local cell = tes3.getPlayerCell() for ref in cell:iterateReferences() do if (ref.object) then if (ref.object.objectType == tes3.objectType.creature) then creatute_count = creatute_count + 1 ref.object.respawns = false end end end mwse.log("%s найдено существ %d респаун отключен", tes3.getPlayerCell().id, creatute_count) end event.register("loaded", scanCell) event.register("cellChanged", scanCell)Логи можно почитать в mwse.log
  13. Спасибо! Добавил ссылку на последнюю версию уроков, а также более удобно рассортированную документацию по TES3 классам в txt виде. https://www.fullrest.ru/forum/topic/3105-prosby-o-perevode-plaginov-ili-perevedite-po/?p=997387 Очень интересный плагин про маг эффекты. Добавлят заклинания управления погодой, призыва существ из Tamriel Rebuilt, телепортации в города за пределами Вварденфелла, просмотр состояния противника, а также функции для добавления собственных эффектов и заклинаний. Использует недокументированную (ещё) функцию addMagicEffect, которая позволяет добавлять новые эффекты. Примеры использования можно посмотреть в скриптах мода. tes3.addMagicEffect { name, -- string, id, -- number, EffectID description, -- string, описние lighting -- vector3, цвет свечения, RGB icon, -- string, путь к иконке particleTexture , -- string, путь к текстуре частиц baseCost, -- 1.0f по умолчанию school, -- 0 по умолчанию size, -- 1.0f по умолчанию sizeCap, -- 1.0f по умолчанию speed, -- 1.0f по умолчанию castSound, -- string, звуки boltSound hitSound, areaSound, castVFX, -- сами эффекты, PhysicalObject boltVFX, hitVFX, areaVFX, allowEnchanting, -- дальше идут флаги (true/false) allowSpellmaking, appliesOnce, canCastSelf, canCastTarget, canCastTouch, casterLinked, hasContinuousVFX, hasNoDuration, hasNoMagnitude, illegalDaedra, isHarmful, nonRecastable, targetsAttributes, targetsSkills, unreflectable, usesNegativeLighting onTick, onCollision } Можно надеяться, что появится и функция типа addNewSkill ...
  14. У кого вопросы по lua-базовым вещам читайте в руководстве вот эти разделы: 3.4 – Выражения, все виды операторов 3.4.9 – Конструкторы таблиц (как создавать {...} таблицы) 3.4.8 – Приоритет операторов (что быстрее выполнится + или >= и т.п) 3.5 – Правила видимости (создание/удаление локальных переменных)
  15. MWSE - "расширитель скриптов Мирровинда" Описание функций MWSE: https://mwse.github.io/MWSE/apis/tes3/ Настройки игры, Game Settings (глобальные переменные): GMST List https://mwse.github.io/MWSE/references/gmst/ MWSE, начиная с версии 2.1, поддерживает простой и быстрый скриптовый язык Lua. Уроки задумывались как справочник, идут в целом по усложнению, но читать можно с любого места. Самая лучшая книга по Lua от его создателя: Р.Иерусалимски, Программирование на языке Lua Руководство на русском языке: https://lua.org.ru/contents_ru.html Сокращенное руководство: https://lua.org.ru/m...little-lua-book *** Урок 1: Сообщения *** *** Урок 2: События *** *** Урок 3: Клавиши *** Ну что, готовы к чему-то побольше, навроде циклов? *** Урок 4: Казначей в локации *** ***Урок 5 Кровати-Двери-Сундуки *** Кого создать? *** Урок 6: Bторой муж для Тойвалэ Отрален*** Типы tes3объектов (tes3.objectType) ***Урок 7: Что от чего происходит в мире tes3 *** Тут последняя версия уроков, а также рассортированное описание TES3 классов: https://yadi.sk/d/pNaDhws2m1-6AA См.ниже в теме: Урок 8: "Как создать / прочитать текстовый файл" Урок 9: "Как создавать окна, меню, кнопки в Морровинд" Урок 10: "Разговоры"
  16. Вот это уже что-то. Например, удар с зажатым Alt оглушает, а без - пробивает. Несмертельное воздейтвие. Оглушить и захватить - целая механика для отыгрыша. Удары, поднимающее уровень flee противника также интересны. Можно добавить скрипт для захвата в плен (рабство): принудительный спутник. В модах на Скайрим были попытки реализовать нечто подобное, но до ума их кажется так и не довели. На самом деле тут большое поле для фантазии. Это тебе понятно, что за система. Но если ты делаешь мод для кого-то, то объясни, сочетается ли он с другими подобными, и с какими гармонично совмещается, а с какими нет
  17. Приготовил для вас несколько забавных уроков по Lua. Думаю как назвать тему? Просто "Уроки по Lua скриптам" ... https://www.fullrest.ru/forum/topic/41708-mwse-21-uroki-po-lua-skriptam/ *UPD количество уроков увеличено до шести
  18. Надеюсь, кулаки ударяют х6 по запасу сил, как задумано? А вообще подобные плагины интересны в системе с другими подобными, чтобы воплощать какую-то единую понятную идею
  19. Ну вот сколько нас, а на соседних сайтах ждут фуллрест-каюк :) Всем вдохновения в новом году!
  20. Кто интересуется lua скриптами. Кому-нибудь нужен гайд по скриптингу, например использованию системы типов mwse 2.1 в lua ?
×
×
  • Создать...