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

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

Опубликовано
Цитата
Незнаю у меня на windows 7 SP1 32- разрядная, TES Construction Set 1.2.0.404 работает практически идеально

Ну и к чему ты это написал? Если здесь отпишутся все, у кого на Win7 всё нормально с CS, то эта тема станет самой популярной. Человек помощи просит, помочь можешь? Не можешь - нефиг флудить :-D
Опубликовано
Попробуй так - сними флажок с "Головы", закрой окно редактирования НПС...
Открой снова этого НПС, поставь флажок "Все", перейди на закладку редактирования лица и поставь флажок "Голова" ...

Помнится, год назад такая проблема поднималась... но решения не нашли... :facepalm:
Опубликовано
'Umbakano сказал(-а):

Попробуй так - сними флажок с "Головы", закрой окно редактирования НПС...
Открой снова этого НПС, поставь флажок "Все", перейди на закладку редактирования лица и поставь флажок "Голова" ...

Помнится, год назад такая проблема поднималась... но решения не нашли... :facepalm:


Не получилось, редактор орет и вылетает :) Думаю к черту эти танцы с бубном, поставлю родную хр и ноу проблем =) Спасибо всем за внимание :)
Опубликовано
такс. кто подскажет, как создавать копии какого нибудь объекта и в последствии отмерять время жизни этого объекта? надо создать одиночную уникальную копию предмета и по прошествии времени преобразовать в стандартный.
  • 2 недели спустя...
Опубликовано
Каким способом привязать анимацию смерти вампира из StarX Vampire Deaths к главному герою?
Кто назвал подлым удар в спину? Если ты настолько беспечен, что позволил врагу его нанести, то виноват в этом только ты сам...
  • 2 недели спустя...
Опубликовано
И так, здравствуйте. Для начала откройте TesCS. Но откройте его вместе с Obse. Как это сделать? Очень просто. Если у вас нет программы Obse скачиваете, а если есть то копируете файл obse_loader.exe и вставляете ярлык файла. В свойствах ярлыка в поле Объект ничего не меняя дописываете сделав отступ с помощью пробела -editor. Пример: D:\Games\Oblivion\obse_loader.exe -editor
Затем запускаем программу через созданный нами ярлык, и вуаля! Откроется TesCS.
После, не загружая никаких плагинов(включая и oblivion.esm) сразу откройте окно глобальных переменных. Делаем это так. Во вкладке gameplay, выбираем Globals. В списке нажимаем new и вводим Mmovekey и нажимаем ok, так же опять создаем еще одну переменную - Mover. Откройте окно редактирования скриптов(увы не было времени создать картинки, поэтому буду описывать словами). Окно выглядит как карандашик, на верхней панели. Как только откроете окно редактирования скриптов, нажимаете в левом верхнем углу Script/New. Окно редактирования станет активным.....

Далее пишем скрипт:

scn Roberto

short key
short mes

float fquestdelaytime

begin gamemode

set fquestdelaytime to 0.0001

if(mes == 0)
set mess to 1
messageboxex"Выберите клавишу которую вы хотите использовать"
endif

if(mes == 2)
set Mmovekey to key
set mes to 3
endif


end

begin menumode

if(mes == 1)
set key to getkeypress 0

if(key < 65500 && key != 1)
CloseAllMenus
set mes to 2
MessageBoxEX "Вы назначили клавишу %k" key
endif

end

Поясню вкратце. Скрипт запрашивает вас нажать какую либо клавишу, клавиша, которую вы нажмете и будет той клавишей, которая будет игрока заставлять проигрывать анимацию. Теперь нажмите в поле script type в выпадающем списке выберите quest. Сохраняем скрипт. Теперь идем в окно редактирования квестов. Выглядит кнопочка как буква Q. Как откроете окно создаем новый скрипт. Для этого в левом списке нажимаем правую кнопку мыши и выбираем new. После вписываем id в появившемся окне и жмем ок. Правила написания id точно такие как и написание названия скрипта. Теперь в списке появился наш единственный квест. Тут много полей и кнопок, но нас интересует только поле script. В выпадающем списке выбираем наш только что созданный скрипт, и после нажимаем кнопку ок в самом нижнем правом углу окна квестов. Далее создаем еще один скрипт:

scn Movering

float fquestdelaytime

begin gamemode

set fquestdelaytime to 0.0001

if(iskeypressed3 Mmove)
set Mover to 1
player.pickdie 1
set mmover to 0
endif

end

Делаем со скриптом то же что и в первом скритпе, сохраняем. Создаем квест, приписываем туда скрипт, далее нас ждет работа с анимациями.

Полностью сохраните плагин. Для этого нажмите в верхнем углу вообще всей программы кнопочку сохранения.

Выходим из конструктора. Опять заходим в него, тем способом, который я описал. Теперь жмем на вкладку gameplay и выбираем idle animations. Откроется окно. В левой стороне окна, там еще где написано
Characters\_male\idleanims нажимаем на эту писанину правой кнопкой мыши и выбираем insert child. Далее вводим id анимации в верхнее прямоугольное поле. Около него еще написано id. Далее жмем кнопку рядом с полем и выбираем анимацию. После прописываем условия:
Для начала необходимо создать новую локацию(чтобы условия видели игрока).
Для этого заходим во вкладку наверху World и выбераем Cell. В списке нажимаешь правой кнопкой мыши(ПКМ) и выбираем new. Опять идем в анимации, условия и нажимаем ПКМ. Далее, выбераем new. после в низу в выпадающем списке выбираем getisreference. Жмем рядом кнопку target. Жмем ок в появившемся окне. Дадее опять создаем новое условие, выбираем Getglobalvalue и далее выбираем нажав кнопку рядом с выпадающим списком Mover. Жмем ок. Закрываем окно анимаций.....
Все! Сохраняем плагин. Подключаем его в разделе подключения плагинов. Запускаем игру через obse_loader.exe и наслаждаемся своим трудом.
  • Нравится 2
Опубликовано
Возник вопрос.
Как можно поменять расы всем НПС (на аналогичные, почти), массово, так сказать, не колупая каждого непися отдельно?
Заходите в мой инстаграм @argunov.ceramic, я там посудку делаю  :heart:
 
 
Опубликовано
&#39;Death сказал(-а):

Возник вопрос.
Как можно поменять расы всем НПС (на аналогичные, почти), массово, так сказать, не колупая каждого непися отдельно?

Подменив модели и текстуры в соответствующих папках...
Опубликовано (изменено)
&#39;Umbakano сказал(-а):

Подменив модели и текстуры в соответствующих папках...
Все далеко не так просто...Нужно продублировать ванильные расы (м и ж, соотвественно), причем ваниль оставить без изменения. Или ка-то в ванильной расе сделать различные текстуры лиц для м и ж, что вроде бы невозможно оО)
И вот уже для продублированных рас, к примеру, BretonM и BretonF, сделать так, чтоб женщины использовали BretonF, а мужчины - BretonM.
Но массово...Не хотелось бы вручную исправлять каждому неписю расу. Можно ли сделать это через теги врай баш?

Ну, как в ХЕО...Там расы мужские и женские отдельно, неужто их вручную переназначали?? read.gif

Изменено пользователем Death The Kid
Заходите в мой инстаграм @argunov.ceramic, я там посудку делаю  :heart:
 
 
Опубликовано
Сегодня я сделаю конечные пояснения по самим скриптам. Во первых, вы все наверняка заметили, что в обоих вкриптах присутствует переменная fquestdelaytime. Казалось бы она не нужна, но если ее не вписать в скрипт, то скрипт будет работать очень медленно(примерно реакция скрипта на ваше движение будет через пять секунд, что очень много поверьте). Далее идет команда iskeypressed3. Впрочем эта команда реагирующая именно на нажатие клавиши или кнопок мыши, выбранных нами. Впрочем тут и подойдет команда iskeypressed2 только уже скрипт не будет реагировать на нажатия кнопок мыши. Есть еще команда iskeypressed но она не работает(не понятно почему). Далее messageboxex это новый вид выводимых сообщений, где могут быть использованный переменные любого типа(текстовые, числовые) в отличие от простой команды messagebox где могут быть использованны переменные только числовые. К тому же очень важно учесть следующий фактор, это кнопки выбора вариантов в командах mesagebox и messageboxex.
Просто приведу пример:

messageboxex"Открыть дверь?|Да|Нет не стоит"

messagebox"Открыть дверь", "Да", "Нет не стоит"

Как видите в messageboxex кнопки разделяются знаком | тем более первая кнопка отделяется от прочего предложения тоже знаком |. В messagebox кнопки отделяются кавычками с запятой после предложения и каждой кнопки(не включая последней.)

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

Есть некоторые правила написания скриптов, которые могут облегчить вам их написание:
1. Всегда используйте в названии переменных в названии самого скритпа имена, которые вам понятны, и которые отображают суть переменной или названия скрипта.
2. Делайте пометки, и пояснения. Пояснения делаются на одной строке после знака ; переход на новую строку означает написание новой команды.
3. Старайтесь избегать повторения команд. Лучше одну команду вписать в какую-нибудь переменную, и далее использовать эту переменную. Пример:

set weapout to player.isweaponout

if(weapout == 0)
message"Игрок не обнажил оружие"
else
message"Игрок обнажил оружие"
endif

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

4.Не пользуйтесь всегда глобальными скриптами(скрипты квестов). Если есть возможность используйте скрипты на предметах одежде и т.д. Потому что глобальные скрипты огромных размеров тратят очень много памяти.

5. И лично мое правило. Никогда не сидите за написанием скриптов и созданием мода более 2- х часов. Всегда делайте перерывы не менее получаса. Так обеспечите себе и здоровье и сохраните свежесть ума.

В следующий раз я объясню новую команду getiscrosshairref и объясню как задействовать в скрипте много NPC, чтобы проходя рядом они смотрели на игрока во время его совершения анимации и хлопали.
Опубликовано
&#39;Umbakano сказал(-а):

Отдельно не получится... собственно, да, вручную каждый НПС!
Ниче ж себе...Ну, главное, что хотя бы так можно.
Заходите в мой инстаграм @argunov.ceramic, я там посудку делаю  :heart:
 
 
  • 2 недели спустя...
Опубликовано
&quot;che_guevaro&quot;, , ищешь самый первый квест, потом место в начале игры, а потом меняешь всё подряд: скрипты, маркеры, привязки etc.
  • Нравится 1
Опубликовано
Привет. Я знаю, Только слушай внимательно а то ничего не поймешь. Вот запускаешь редактор, в окне Object window(там где еще списки доспехов, оружия, активаторов, NPC и т.д.) в левой колонке(а окно разделено на 2 колонки) есть списки. Вот находишь список Miscellaneous. Раскрываешь список, а там находится категория AnimObject. Нажимаешь на нее. Вот здесь и создаются новые объекты в анимациях. Теперь в правом колонке окна объектов(Object Window) нажимаешь ПКМ и выбераешь new. Появится окошко в котором кнопка Add Nif File это путь к модели объекта, список ниже это путь к папке анимаций, а самый нижний список, это название idle анимации, которую ты создал. Надеюсь помог.
Опубликовано
Люди я на днях понял еще один факт. Если создать огромный триггер, таких размеров, что равен почти сиродилу, то зависания не будет. Потом можно сделать определитель, что все кто сталкивается с триггером кроме игрока, являются теми или теми. Короче, данным способом можно создать скрипт, который будет обрабатывать всех без исключения, когда игрок с ними. Только триггер должен всегда быть вместе с игроком, а это уже не проблема.
Опубликовано
Не понятно зачем так делать?

Вед есть целых два нормальных способа обработать нпс(которые в одной локации с игроком) с ипользованием массива, без таких извращений и тормозов.
Опубликовано
wtf1q.jpg
Создал новый terrain. Во время редактирования вот эта зона никак не закрывалась, а в игре вообще обрезало весь ландшафт.
oblivion201209140854544.jpg
Красным выделен тот же самый участок.
Как это можно исправить?
dc88b5255934.png.png
Опубликовано
Как вариант, можно задать ссылку на назначаемую "горячую клавишу" не через условие в скрипте, а методом создания так называемого внешнего BatchScript. Это отдельный скриптовый файл в формате ini, который располагается в папке с игрой (обычно для этого создается отдельная папка INI), и содержит в себе информацию, которая будут использоваться определенным модом (на подобие этого работает Papyrus Script в Skyrim).

Например, тело скрипта может содержать такую информацию:

scn ScriptName

long Key

Begin GameMode

if getgamerestarted
RunBatchScript "Data\Ini\ModName.ini" ; запуск внешнего скрипта с указанием пути к нему
endif
if ( IsKeyPressed key )
; здесь обычно выполняется нужное действие
endif
end

В таком случае в баш-скрипте ModName.ini указывается информация о назначении клавиши:

set QuestScript.key to 71 ; где QuestScript это QuestID, а 71 кодировка клавиши G (по таблице скан-кодов можно выбрать любую другую)

********
Возможно создание внешнего скрипта это не самый лучший вариант, но определенно заметно, что значительное количество скриптеров используют именно его. Тем более, что во внешнем скрипте можно задать далеко не только назначение "горячей клавиши".


Цитата
Есть еще команда iskeypressed но она не работает(не понятно почему)


Она работает, просто для этой команды используются скан-коды клавиш Windows (Virtual-Key Codes), а для iskeypressed2 и 3 используются коды DirectX. Клавиши те же, но разная нумерация.

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...