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

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


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

Всем привет!

 

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

 

Спасибо заранее)

Видимо, непосредственно движком, переносит в ближайший пункт, только в экстерьер. Не настраивается.

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

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

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

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

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

Всем привет!

 

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

 

Спасибо заранее)

На вот, покури скрипт. Думаешь будет просто?

 

;а теперь самое прикольное - вычисление нужного храма/алтаря.
;Вычисляем расстояние до каждого ( их id ни разу не уникальны, но их координаты-то известны)
;вспоминаем теорему Пифагора...
if ( teleportflag == 2 )
	set teleportflag to 0
	; AIWander 0 0 0
	set app_waiting to 1
	;он в трибунале?
	if ( exx == 0 )
		if ( exy == 0 )
			PositionCell -920 -8 3819 0 "Mournhold, Royal Palace: Courtyard"
			return
		endif
	endif
	;считаем distance1, Wolverine hall
	set ex to ( exx - 148882 ) ;расстояние по x
	set ey to ( exy - 28454 ) ;расстояние по y
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance1 to ( ex2 + ey2 )	;а-квадрат плюс бэ-квадрат равно цэ-квадрат, ага?
	;считаем distance2, Pelagiad
	set ex to ( exx - 5738 )
	set ey to ( exy + 56059 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance2 to ( ex2 + ey2 )
	;считаем distance3, Moonmoth
	set ex to ( exx + 5075 )
	set ey to ( exy + 18578 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance3 to ( ex2 + ey2 )
	;считаем distance4, Frostmoth
	set ex to ( exx + 174584 )
	set ey to ( exy - 143875 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance4 to ( ex2 + ey2 )
	;считаем distance5, Ebonheart
	set ex to ( exx - 8703 )
	set ey to ( exy + 100602 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance5 to ( ex2 + ey2 )
	;считаем distance6, Buckmoth
	set ex to ( exx + 13360 )
	set ey to ( exy - 43071 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance6 to ( ex2 + ey2 )
	;теперь сравним расстояния... берем по очереди каждое, меньшее из любых двух присваиваем least
	if ( distance1 < distance2 )
		set least to distance1
	else
		set least to distance2
	endif
	if ( least > distance3 )
		set least to distance3
	endif
	if ( least > distance4 )
		set least to distance4
	endif
	if ( least > distance5 )
		set least to distance5
	endif
	if ( least > distance6 )
		set least to distance6
	endif
	;теперь сравниваем значение least и distance и при совпадении портаем туда
	if ( distance1 == least )
		positioncell 148832, 28454, 1496, 0, "Wolverine Hall"
	elseif ( distance2 == least )
		positioncell 5718, -56059, 1796, 0, "Pelagiad"
	elseif ( distance3 == least )
		positioncell -5075, -18528, 1074, 0, "Moonmoth Legion Fort"
	elseif ( distance4 == least )
		positioncell -174534, 143875, 1175, 0, "Fort Frostmoth"
	elseif ( distance5 == least )
		positioncell 8703, -100652, 1385, 0, "Ebonheart"
	elseif ( distance6 == least )
		positioncell -13360, 43021, 2616, 0, "Buckmoth Legion Fort"
	endif
	;messagebox "Расстояния: %g, %g, %g, %g, %g, %g", distance1, distance2, distance3, distance4, distance5, distance6 ;для отладки
endif

;а теперь то же самое для teleportflag == 3
if ( teleportflag == 3 )
	set teleportflag to 0
	; AIWander 0 0 0
	set app_waiting to 1
	if ( exx == 0 )
		if ( exy == 0 )
			PositionCell -69 -1880 552 0 "Mournhold, Temple Courtyard"
			return
		endif
	endif
	;считаем distance1, vivec
	set ex to ( exx - 32879 )
	set ey to ( exy + 99093 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance1 to ( ex2 + ey2 )
	;считаем distance2, molag mar
	set ex to ( exx - 110666 )
	set ey to ( exy + 61665 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance2 to ( ex2 + ey2 )
	;считаем distance3, gnisis
	set ex to ( exx + 86657 )
	set ey to ( exy - 93694 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance3 to ( ex2 + ey2 )
	;считаем distance4, balmora
	set ex to ( exx + 22131 )
	set ey to ( exy + 8583 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance4 to ( ex2 + ey2 )
	;считаем distance5, ald-ruhn
	set ex to ( exx + 8578 )
	set ey to ( exy - 55162 )
	set ex2 to ( ex * ex )
	set ey2 to ( ey * ey )
	set distance5 to ( ex2 + ey2 )
	if ( distance1 < distance2 )
		set least to distance1
	else
		set least to distance2
	endif
	if ( least > distance3 )
		set least to distance3
	endif
	if ( least > distance4 )
		set least to distance4
	endif
	if ( least > distance5 )
		set least to distance5
	endif
	if ( distance1 == least )
			positioncell 32879, -99043, 1169, 0, "Vivec, Temple"
	elseif ( distance2 == least )
			positioncell 110666, -61615, 2179, 0, "Molag Mar"
	elseif ( distance3 == least )
			positioncell -86657, 93644, 1131, 0, "Gnisis"
	elseif ( distance4 == least )
			positioncell -22181, -8583, 891, 0, "Balmora"
	elseif ( distance5 == least )
			positioncell -8528, 55162, 2883, 0, "Ald-Ruhn"
	endif
	;messagebox "Расстояния: %g, %g, %g, %g, %g", distance1, distance2, distance3, distance4, distance5 ;для отладки
endif ;это от IF ( teleporting == 2 )
Изменено пользователем Larkin
Ссылка на комментарий
Поделиться на другие сайты

Как сделать так, чтобы в игре название локации писалось по-русски, а в списке ячеек CS оно было бы латиницей? Вот ровно так, как сделано в локализации от 1С: в CS видим "Caldera, Ghorak Manor", а в игре наводишь мышку на дверь, и там будет "Поместье Гораков"?

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

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

Нужно смотреть .cel файлы. Но такие файлы подгружаются лишь для esm'ов. Если не планируете конвертить свой плагин в .esm, то, думаю, лучше переименовать ячейку сразу в CS. Переключать языки в консоли можно через Scroll Lock, если в angel.ini EnableConsole равно 1.  Либо добавить в Morrowind.cel строку такого вида ID_Имя ячейки. Вместо подчеркивания -- табуляцию.

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

Нужно смотреть .cel файлы. Но такие файлы подгружаются лишь для esm'ов. Если не планируете конвертить свой плагин в .esm, то, думаю, лучше переименовать ячейку сразу в CS. Переключать языки в консоли можно через Scroll Lock, если в angel.ini EnableConsole равно 1.  Либо добавить в Morrowind.cel строку такого вида ID_Имя ячейки. Вместо подчеркивания -- табуляцию.

Спасибо.

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

Хочу сделать более аутентичных погонщиков силт-страйдеров, и с первым уже поехала проблема. Сейда Нин, изменил слегка местоположение и одел в другую одежду, в creation kit'е все хорошо, вот только при запуске игры выходит лишь ванильный погонщик, на том же месте, в той же одежде. В чем проблема и как её решить? Прошу без лишней агрессии, буквально первый плагин.

 

Стимовская версия, openMW присутствует.  

 


Обнов. С проблемой разобрался. Нужно было всего лишь новую игру начать.

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

Уровень непися-то почему 0? Лучше ванильный оставить. Гондольерское что-то не отображается из-за плохого навыка доспехов. А изменение непися перезаписывается каким-то другим плагином.
Ссылка на комментарий
Поделиться на другие сайты

Всем привет. Возник вопрос. Делаю развернутую систему ответов в диалогах. Как сделать так, чтобы, при определенном выборе ответа, сначала, выводился месседжбокс с каким-то текстом (слова ГГ), а потом текст нпц?

Заранее спасибо

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

А

 

Всем привет. Возник вопрос. Делаю развернутую систему ответов в диалогах. Как сделать так, чтобы, при определенном выборе ответа, сначала, выводился месседжбокс с каким-то текстом (слова ГГ), а потом текст нпц?

Заранее спас

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

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

Всем привет. Возник вопрос. Делаю развернутую систему ответов в диалогах. Как сделать так, чтобы, при определенном выборе ответа, сначала, выводился месседжбокс с каким-то текстом (слова ГГ), а потом текст нпц?

Ну разве что переделывать всю игру в подобие диалога с Сокуциусом при генерёжке персонажа, но:

а) Нахрена это надо?

б) Где взять десяток-другой людей, которым нечем заняться кроме как переделывать под такой гемор всю игру?

Задача это явно не для одного человека.

 

Или речь о том, как вообще подобное реализуется? Тогда у того же Сокуциуса и надо подсмотреть.

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

Это мне и нужно. Но как это сделать так, чтобы это выводилось до текста нпц. Сейчас попробую это объяснить.

если месседжбокс выводится во время диалога, то он будет белым шрифтом прямо в окне диалога


<=====[ ]======>

 

Окно диалога 1:

 

[Текст нпц 1]

[Выбор 1]

[Выбор 2]

[Выбор 3]

 

Окно диалога 2:

 

[Текст нпц 1]

[Развернутый текст выбора 1]

[Ответ на реплику гг]

 

<=====[ ]======>

 

Собственно, как-то так. Но, насколько известно, если использовать месседжбокс, то будет так:

 

<=====[ ]======>

 

[Текст нпц 1]

[Ответ на реплику гг]

[Развернутый текст выбора 1]

 

<=====[ ]======>

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

Сделайте промежуточный ответ, в котором есть MessageBox, но нет слов непися. Но будет это все равно очень коряво, а сделать так, как вы хотите, по-моему, невозможно.

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

Всем привет. Возник вопрос. Делаю развернутую систему ответов в диалогах. Как сделать так, чтобы, при определенном выборе ответа, сначала, выводился месседжбокс с каким-то текстом (слова ГГ), а потом текст нпц?

Заранее спасибо

Чё за дела, разве уже не так? В моем моде про крысинный подвал, месаджбоксом выводилось кол-во денег, данное за крыс, оно выводилось перед фразой непися, поэтому я наоборот, голову ломал как обменять их. И нашел решение, емнип.
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Ребят, подскажите. ModPrepare работает с символами "0x7f"? А-то fix4all не работает, пишет "Программа ... не выполнена".

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

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

Ребят, подскажите. ModPrepare работает с символами "0x7f"? А-то fix4all не работает, пишет "Программа ... не выполнена".

Что значит работает?

Она меняет теги '@' и '#' на '{' и '}', а '0x7f' не трогает.

Всегда ей пользовался и ни разу проблем не было.

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

Что значит работает?

Она меняет теги '@' и '#' на '{' и '}', а '0x7f' не трогает.

Всегда ей пользовался и ни разу проблем не было.

 

fix4all требовал замены "0x7f" на "*", чтобы не слетали некоторые топики. В описании ModPrepare этого не указано. Поэтому у меня и возник вопрос.

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

топики слетают потому, что редактор удаляет символы @ и # из текста.

в старых описаниях GFM то же упоминается про '0x7F', однако...

* - используется в top-файле вместо '0x7F', но редактор их не удаляет и нет смысла в этой замене.
 
тем более, что в текстах иногда используется * и после такой замены они исчезнут из диалога.
Изменено пользователем olol
Ссылка на комментарий
Поделиться на другие сайты

 

топики слетают потому, что редактор удаляет символы @ и # из текста.

в старых описаниях GFM то же упоминается про '0x7F', однако...

* - используется в top-файле вместо '0x7F', но редактор их не удаляет и нет смысла в этой замене.
 
тем более, что в текстах иногда используется * и после такой замены они исчезнут из диалога.

 

 

Благодарю. А-то описание сбивало с толку.

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

  • 1 месяц спустя...

Всем доброго дня.

Очень давно не делал плагины под компаньонов под себя. Сейчас захотел слепить мод на наемника (по аналогу Калвуса Горатуса) для Вварденфелла + торговца, который продает вьючного гуара. Насколько я помню, как мне говорили несколько лет назад, после создания плагина с диалогами, его надо через что-то там "прогонять" + ключевые слова для топиков надо как-то кавычить по-особому. Напомните, пожалуйста, какие там тонкости?

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

https://www.fullrest.ru/files/modprepare

сначала переводишь мод в редактирование, а в конце обратно для игры.

когда меняешь стандартные диалоги, то в них сам должен заменять @# на {}.

когда добавляешь диалоги, то цепляются соседние (появляются на них звездочки, признак редактирования)

проверяй, и заменяй в них все @# на {}.

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

https://www.fullrest.ru/files/modprepare

сначала переводишь мод в редактирование, а в конце обратно для игры.

когда меняешь стандартные диалоги, то в них сам должен заменять @# на {}.

когда добавляешь диалоги, то цепляются соседние (появляются на них звездочки, признак редактирования)

проверяй, и заменяй в них все @# на {}.

С таким алгоритмом ты кучу 7f случайно снесешь. Вообще то эти символы не видно из редактора, но тем не менее они там есть, и они крайне важны. Я уже говорил, что мод препаре нужно удалить к чертям, юзать нужно любую другую, которая переводит 7f. Я хз как ты с таким алгоритмом gfm делаешь.
Ссылка на комментарий
Поделиться на другие сайты

С таким алгоритмом ты кучу 7f случайно снесешь. Вообще то эти символы не видно из редактора, но тем не менее они там есть, и они крайне важны. Я уже говорил, что мод препаре нужно удалить к чертям, юзать нужно любую другую, которая переводит 7f. Я хз как ты с таким алгоритмом gfm делаешь.

О, сделай ещё свой форк GFM.

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

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

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



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

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