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

Вопросы по TES Construction Set


Рекомендуемые сообщения

Как перевести плагин на английский язык? Нужно ли для этого иметь именно английскую версию игры или можно как-то обойтись русской?
Если переводить на русской - на наглийской будет выдаваться известное сообщение о несоответствии версии игры.

А так, если в текстовых полях не будет кириллицы - проблем быть не должно.

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 2.7 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

А так, если в текстовых полях не будет кириллицы - проблем быть не должно.
Для этого ж и переводят, или я не так понял ответ?
Ссылка на комментарий
Поделиться на другие сайты

Для этого ж и переводят, или я не так понял ответ?
Ну я имел в виду - главное не пропустить ничего.
Ссылка на комментарий
Поделиться на другие сайты

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

Для этого удобно пользоваться информационно-аналитическими утилитами, типа MWEdit и TESame

Ссылка на комментарий
Поделиться на другие сайты

Для этого удобно пользоваться информационно-аналитическими утилитами, типа MWEdit и TESame

Для перевода или чисто для того, чтобы не пропустить ничего?
Ссылка на комментарий
Поделиться на другие сайты

Для перевода или чисто для того, чтобы не пропустить ничего?

Тесаме очень удобно смотреть и грубо чистить (ГМСТ, например) - не нужно загружать мастер-файлы, только сам плагин, и всё содержимое показывается списком.

В МВЕДите нужно грузить мастер-файлы (если планируется править и сохранять), но есть волшебная галочка "view changed" и все записи из плагина выделены зелёным). Можно переводить и сохранять (даже автоматически делается бэкап исходного плагина), компилировать затронутые при переводе скрипты, если в них нет функций MenuTest или ToggleMenus. Собсно, скрипты с мвсе-командами вообще в CS не компилируются. Есть мнение, что при сохранении корёжатся диалоги, но я такого не наблюдал - они только непривычно отображаются. Удобно вычищать отдельные референсы из затронутых ячеек или сами ячейки, но учти, что даже если там значение числа референсов = 0, то могут быть затронуты маркеры - они почему-то не считаются за референсы.

Ссылка на комментарий
Поделиться на другие сайты

Есть программа GenMod, создает рандомные данжи с Нпц монстрами и т д. Так вот проблема что хочу создать массу врагов в данжах а выходит несколько едениц. Может кто подсказать в этом?
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
Как сделать esp зависимым от другого esp?
  • Превратить другой Esp в Esm;
  • Написать в ридми, что плагин зависит от такого-то плагина, и отсылать потом вопрошающих на форуме читать русский ридми глазами (да, ридми писать надо);
  • Можно попробовать, например, через Enchanted Editor вписать название Esp-файла в список мостеров для данного плагина, но что-то мне подсказывает, что работать не будет. Хотя с сейвами же работает, впрочем...

Изменено пользователем Dun Dram
Ссылка на комментарий
Поделиться на другие сайты

Написать в описании файла, что для работы требуется определенный плагин, либо объединить их и подавать в готовом виде как отдельную версию.
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
  • 1 месяц спустя...
Вопрос для знатоков - если я сделаю leveled creature, но вместо кричеров пропишу там мискитемы - будет ли отображаться? К примеру, случайные миски на столе.
Ссылка на комментарий
Поделиться на другие сайты

Вопрос для знатоков - если я сделаю leveled creature, но вместо кричеров пропишу там мискитемы - будет ли отображаться? К примеру, случайные миски на столе.

http://www.nexusmods.com/morrowind/mods/43245/?

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Мастера КСа и скриптов, поможите, чем можите. Хочу таки решить проблему со скриптом в плагине без использования костылищщ и костылей, а всего лишь используя маленькие костылики.

Есть значится такой скрипт:

 

Begin YourselfCONScript

 

 

if ( MenuMode == 1 )

return

endif

 

PlaceAtPC "Player"1,100,1

Player->SetFight 100

StopScript YourselfCONScript

StartScript DieYouCONScript

 

 

end

 

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

 

Пытаюсь сделать на данный момент решение таким образом. Создал реплику от имени самого себя (то есть перса, ID player), повесил ей условие Function Talked to PC 0, в результатах написал Goobbye, SetFight 100. Это работает, но не так, как нужно. То есть копия рождается, атакует после того, как с ней говоришь и вроде бы всё ОК, но по задумке автора копия должна нападать сразу, без разговоров и без промедлений. Пытался по всякому и везде заставить копию сделать ForceGreeting, чтобы появился диалог и отработал резалт, запускающий бой, но копия никаким образом не хочет этот форсгритинг делать. Как её заставить это сделать.

Разумеется копия персонажа в игре зовётся PlayerSaveGame - вот ID копии. Написание сего ID в резалтах или скрипте вызывает ошибку - скрипт не компилируется ибо нету такого объекта, проверка резалтов находит ошибку в строке такой-то (в этом случае не особо страшно, по ходу плагина такое встречается по задумке автора и всё работает, хотя и нет объекта (не стоит нигде в мире, но вызывается скриптом), что я изменил для пущей аккуратности и точности, заодно убрав тупняк при старте новой игры).

Так как же заставить копию игрока атаковать сразу и без вопрос, всегда и гарантированно? Есть ли способ, хоть какой изощрённый, кроме того, что я в своей теме придумал?

Ссылка на комментарий
Поделиться на другие сайты

Хгмм, дело, видимо, в том, что все команды написаны в один фрейм? То есть, ведь скриптовые команды отрабатываются не мгновенно, а только в следующем фрейме.

То есть, получается что: скрипт дает команду поставить копию игрока, которая создается с дефолтным значением Fight, потом модифицирует SetFight до ста, но на копию это уже не срабатывает, так как в том фрейме, когда она создавалась, значение было еще дефолтное, а в следующем фрейме скрипт уже прибил сам себя.

 

Возможно, можно просто поменять местами

PlaceAtPC "Player"1,100,1

и

Player->SetFight 100

 

Но, наверное, лучше по уму сделать, и добавить отсчет стадий выполнения:

Begin YourselfCONScript

Short State

If ( MenuMode == 1 )
Return
EndIf

If ( State == 0 )
PlaceAtPC "Player"1,100,1
Set State to 1
Return
EndIf

If ( State == 1 )
Player->SetFight 100
Set State to 2
Return
EndIf

If ( State == 2 )
StopScript YourselfCONScript
StartScript DieYouCONScript
EndIf

End

Ссылка на комментарий
Поделиться на другие сайты

Хгмм, дело, видимо, в том, что все команды написаны в один фрейм? То есть, ведь скриптовые команды отрабатываются не мгновенно, а только в следующем фрейме.

То есть, получается что: скрипт дает команду поставить копию игрока, которая создается с дефолтным значением Fight, потом модифицирует SetFight до ста, но на копию это уже не срабатывает, так как в том фрейме, когда она создавалась, значение было еще дефолтное, а в следующем фрейме скрипт уже прибил сам себя.

 

Возможно, можно просто поменять местами

PlaceAtPC "Player"1,100,1

и

Player->SetFight 100

 

Но, наверное, лучше по уму сделать, и добавить отсчет стадий выполнения:

Begin YourselfCONScript

Short State

If ( MenuMode == 1 )
Return
EndIf

If ( State == 0 )
PlaceAtPC "Player"1,100,1
Set State to 1
Return
EndIf

If ( State == 1 )
Player->SetFight 100
Set State to 2
Return
EndIf

If ( State == 2 )
StopScript YourselfCONScript
StartScript DieYouCONScript
EndIf

End

Не сработает. На появление нужно время больше одного фрейма. Таймер сделать в секунду и всё будет работать.
Ссылка на комментарий
Поделиться на другие сайты

Не сработало :) Так что там с таймером, как его правильно написать?

Так заработает?

 

 

Begin YourselfCONScript

 

Short State

float timer

 

If ( MenuMode == 1 )

Return

EndIf

 

If ( State == 0 )

PlaceAtPC "Player"1,100,1

Set State to 1

Return

EndIf

 

 

set timer to timer + GetSecondsPassed

 

if ( timer >= 2 )

set timer to 0

endif

 

If ( State == 1 )

Player->SetFight 100

Set State to 2

Return

EndIf

 

If ( State == 2 )

StopScript YourselfCONScript

StartScript DieYouCONScript

EndIf

 

End

Ссылка на комментарий
Поделиться на другие сайты

Begin YourselfCONScript

 

float timer

short doonce

If ( MenuMode == 1 )

Return

EndIf

if doonce == 0

PlaceAtPC "Player"1,100,1

set doonce to 1

endif

set timer to timer + GetSecondsPassed

if ( timer < 1 )

Return

endif

Player->SetFight 100

StopScript YourselfCONScript

StartScript DieYouCONScript

End

Поправил кое-что.

Изменено пользователем mortuus
Ссылка на комментарий
Поделиться на другие сайты

Хмм, а всё равно не нападает, не работает. Интересно, станет ли работать, если туда форсгритинг засунуть при котором зафорсится фраза копии, роезалтами которой является команда на атаку (рабочая), то есть, если я говорю с копией - она начинает атаковать, это часть моей идеи, которую я сделал, но так и не заставил копию делать форстритинг.
Ссылка на комментарий
Поделиться на другие сайты

Может локальный скрипт нужен, либо действительно из форсгритинга. Ещё стоит попробовать Startcombat, player Изменено пользователем mortuus
Ссылка на комментарий
Поделиться на другие сайты

Пробовал - не работает. Приводит только к тому, что исчезающий непись говорит фразу, которая должна начать бой. Форсгритинг также заставляет говорить со мной именно его, исчезающего непися, он тогда зацикливается на первой своей фразе и вылезти оттуда никак нельзя. Лучше всего с этим моментом будет понятно, если вы сами скачаете плагин, который я выложил в виде беты и посмотрите, что там и как происходит. Дети Ночи Часть 2 имею в виду. А чтобы попасть в нужное место, где скрипт должен работать можно в консоли ввести команду coc "Испытания, Сувениры из Балморы" Изменено пользователем Stranger
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...