Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)

Помощь по моддингу
КсюXa  Offline  Сообщение №1 написано: 9 июля 2010, 18:51


Гид по Мастерской




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

Ой, всё...
JupiterJour  Offline  Сообщение №541 написано: 2 сентября 2012, 16:29


_


Вис, я очень не люблю говорить кому-то что ему делать, а что нет, но тут всё же дам такой совет: не реализуй этот способ. Лучше отслеживай потихоньку в квестовом скрипте GetPCMiscStat и фиг с ним с уровнем сложности.
Во-первых, неизбежны баги. Баги с ключами/паролями, баги с дверьми, либо исключение дверных замков из подсчёта, кто его знает какие ещё баги из-за скриптов, потому что придётся изменять их десятками, а внимание притупляется... Честное слово, простой незабагованный мод лучше сложного забагованного. Лучше для игроков, красивее при взгляде изнутри.
Во-вторых, менять какие-то оригинальные объекты, скрипты и т.п., не понимая чётко что ты делаешь, не нужно. Причём понимать придётся тебе самому, потому что переписывать за тебя кучу игровых скриптов вряд ли кто возьмётся. Я, например, не возьмусь. Пошаговую инструкцию по совмещению скриптов писать тоже не стану, поскольку совсем не уверен, что она подойдет ко всем случаям, а понимания, которое требуется, чтобы сманеврировать в нужном месте, механическое выполнение кем-то написанных пунктов не прибавит ни на грош.

Вис  Offline  Сообщение №542 написано: 3 сентября 2012, 16:29



298
Joopeeter, ясно, спасибо.

Добавлено (03.09.2012, 20:29)
---------------------------------------------
Я, конечно, извиняюсь, но можете переписать скрипт для меня (я в нескольких строках запутался)?


Xospis  Offline  Сообщение №543 написано: 6 сентября 2012, 17:33



171
Ребят подскажите плз как сделать так чтоб когда запускаешь игру вылазило сообщение с моим текстом и можно было только нажать "Ок" Как сделать своё сообщение я знаю а как привязать скрипт и какой сам скрипт я незнаю. Помогите плз smile2

Galko  Offline  Сообщение №544 написано: 6 сентября 2012, 18:45 | Отредактировано: Galko - 7 сентября 2012, 03:19


GALAктическая мартышка


Цитата Vita$

как сделать так чтоб когда запускаешь игру вылазило сообщение с моим текстом и можно было только нажать "Ок"


Для начала надо создать само сообщение. В ГЕКК это - окно объектов, раздел Miscellaneous строчка Message. Переходишь на эту строчку и в правом поле, где перечислены все мессаджи игры, делаешь клик ПКМ и выбираешь - New. Появится окно создания нового сообщения. Прописываешь ему ID (только английскими буквами и без пробелов! Например: aaVitasStartMessage) А в поле Message Text пишешь по-русски свой текст сообщения, которое должен увидеть игрок. И не забудь отметить вверху чек-бокс Message Box, иначе твой текст не покажется в игре в отдельном окне, а просто мелькнет в левом верхнем углу экрана. Создал сообщение - сохрани его.
Затем перейди в раздел скриптов (окно объектов, раздел Miscellaneous строчка Script) и создай новый скрипт, ну вот примерно такого вида:
scn aaVitasQuestStartSCRIPT

short DoOnce

BEGIN GameMode
if DoOnce == 0
ShowMessage aaVitasStartMessage ; показать твое сообщение
set DoOnce to 1
endif
END

Тип скрипта отмечаешь - квестовый. Сохраняешь скрипт.
Идешь в раздел квестов (окно объектов, раздел Actor Data строчка Quest) и создаешь новый квест. На первой вкладке настроек этого квеста так же прописываешь ему ID( например: aaVitasStartModQuest) и отмечаешь чек-бокс Start Game Enabled (запускать при старте игры) Не переходя ни на какие другие влладки этого квеста, жмешь кнопку ОК для сохранения. Потом открываешь заново этот квест и в поле Script выбираешь из выпадающего списка свой созданный скрипт aaVitasQuestStartSCRIPT. Сохраняешь квест.
Теперь при старте игры у тебя выскочит твое сообщение. А уж чтоб квест заработал дальше и что-то происходило - это читай туториалы по созданию квестов... ;)
ЗЫ. можно вместо переменной DoOnce ввести в скрипт плавающую переменнуюTimer и немного изменить скрипт, так, чтобы сообщение появлялось не моментально при старте игры, а с задержкой.

Ваше счастье, что я не ваше счастье
Рыба  Offline  Сообщение №545 написано: 7 сентября 2012, 12:03


faceless


693
А почему таймер выставлен на "меньше 6"? Может, лучше бы изначально выставить ''Set Timer to 0'', а затем чтобы через,например, 6 минут ИВ появлялось сообщение?
If Timer>=6
Showmessage BlaBla
Или у меня от местных кнедликов крыша едет?

Galko  Offline  Сообщение №546 написано: 7 сентября 2012, 13:21 | Отредактировано: Galko - 7 сентября 2012, 14:22


GALAктическая мартышка


Sazans_Theme, Потому что этот скрипт взят из одного мода (правда - из Вегаса) и там так было :)
Сообщение о запуске квеста появлялось через 5 секунд

Ваше счастье, что я не ваше счастье
Вис  Offline  Сообщение №547 написано: 8 сентября 2012, 12:38



298
Эх, похоже мой вопрос не заметили, ну что же переспрошу: как я уже сказал я запутался в этом скрипте (если что неправильно поправьте)
Code

short Sandman
short DoOnce

Begin GameMode

if DoOnce==0   ;если DoOnce=1
set Sandman to GetPCMiscStat "Sandman Kills" ; Сделать Sandman равным GetPCMiscStat "Sandman Kills"
set DoOnce to 1 ; сделать DoOnce =1
endif

if GetPCMiscStat "Sandman Kills" - Sandman >=5  ; если GetPCMiscStat "Sandman Kills" минус Sandman больше или равно 5
player.ModAV sneak 1 ; скрытность + 1
set Sandman to GetPCMiscStat "Sandman Kills" ; Сделать Sandman равным GetPCMiscStat "Sandman Kills"
endif

End

А вот как его поменять так, чтобы при взломе 5 терминалов добавлялась наука + 1? Вот так?
Code
short Terminal
short DoOnce

Begin GameMode

if DoOnce==0   ;если DoOnce=1
set Terminal to GetPCMiscStat "Computers Hacked"  
set DoOnce to 1 ; сделать DoOnce =1
endif

if GetPCMiscStat "Computers Hacked" - Terminal >=5  
player.ModAV sneak 1 ; скрытность + 1
set terminal to GetPCMiscStat "Computers Hacked"  
endif

End

Ipatow  Offline  Сообщение №548 написано: 8 сентября 2012, 13:41



Цитата Вис

так, чтобы при взломе 5 терминалов добавлялась наука + 1?

Вот скрипт, который за каждые 10 баллов суммарной сложности взломаных терминалов добавляет науку:
Code
SCRIPTNAME HackExpQuestScript

REF HackTarget
SHORT HackLevel
SHORT OldStat
SHORT CurrentStat
SHORT HackExp

BEGIN MenuMode 1055
SET HackTarget TO GetCrosshairRef
SET HackLevel TO HackTarget.GetLockLevel
END

BEGIN GameMode
IF HackLevel
SET CurrentStat TO GetPCMiscStat "Computers Hacked"
IF CurrentStat > OldStat
SET OldStat TO CurrentStat
SET HackExp TO HackExp + HackLevel
IF HackExp > 9
SET HackExp TO HackExp - 10
Player.ModActorValue Science 1
ENDIF
ENDIF
SET HackLevel TO 0
ENDIF
END

Вис  Offline  Сообщение №549 написано: 8 сентября 2012, 14:41



298
Цитата Ipatow

GetCrosshairRef


А что это за реф ссылка?

JupiterJour  Offline  Сообщение №550 написано: 8 сентября 2012, 15:23 | Отредактировано: Joopeeter - 8 сентября 2012, 15:48


_


Цитата Joopeeter

во что именно сейчас тычет отвёрткой/пальцами игрок.


Вис  Offline  Сообщение №551 написано: 8 сентября 2012, 16:33



298
Цитата Joopeeter

Это функция ФОСЕ, позволяет узнать


То есть с Фосе всё же можно отследить сложность или я не прав?

JupiterJour  Offline  Сообщение №552 написано: 8 сентября 2012, 20:18 | Отредактировано: Joopeeter - 8 сентября 2012, 20:18


_


Сложность можно отследить и без ФОСЕ. Экстендер, как теперь выяснилось, позволяет получить реф-ссылку, на которой потом применяется функция GetLockLevel. То есть, не навешивая скрипт на базовый объект, можно определить, сложность чего именно отслеживается в данный момент.
Правда, как я уже упоминал, ГЭКК-вики не упоминает менюмод хака (MenuMode 1055) в числе всегда корректно работающих, но сам я это не проверял, а не верить Ipatow'у нет никаких оснований. Так что если у тебя нет предубеждений против ФОСЕ...
Можно переиначить и под контейнеры с дверьми, но двери-телепорты всё равно не будут отслеживаться правильно.

Xospis  Offline  Сообщение №553 написано: 9 сентября 2012, 11:05 | Отредактировано: Vita$ - 9 сентября 2012, 11:08



171
Ребят хелп smile2 Не получается создать свой мир, делаю всё по тутору но когда открываю мир то воды очень много то её вообще нет,то просто черное окно. smile2 Что делать? (п.с Гекк знаю хорошо)

А и ещё. Хочу научится скриптингу. С чего лучше начать? Есть туторы которые уходят в сами подробности скриптинга?

Вис  Offline  Сообщение №554 написано: 9 сентября 2012, 11:50



298
Цитата Vita$

А и ещё. Хочу научится скриптингу. С чего лучше начать? Есть туторы которые уходят в сами подробности скриптинга?


Не знаю есть ли туторы, но могу сказать вот что, я в первый раз, когда зашёл сюда вообще не знал ничего о скриптах, а теперь просто спрашивая что мне нужно и пытаясь анализировать каждую строчку понемногу продвинулся в этих невозможных (как мне казалось раньше) скриптах. Например, раньше я не знал что такое short, begin GameMode, как показать сообщение сделав что-то, а теперь я понемногу это понимаю. Так что я могу посоветовать GECK Wiki и этот форум, если что-то непонятно.

Xospis  Offline  Сообщение №555 написано: 9 сентября 2012, 12:16



171
C офф сайта гекка мне точно ни чего не понятно :D А вот насчёт как я понял (Основы скриптинга) : я не знал что такое short, begin GameMode, можно поподробней?

tundruck73  Offline  Сообщение №556 написано: 9 сентября 2012, 12:38



Vita$, что касается создания мира:
http://rumor.ru/wiki/Fallout3:Руководство_по_созданию_мира
по скриптингу, вот, к примеру:
http://modder.ucoz.ru/news....2-20-95

Мосье, же не манж па сис жур...
Умер 23.04.2019
Xospis  Offline  Сообщение №557 написано: 9 сентября 2012, 16:27



171
tundruck73, Это всё есть) Но всё равно спасибо) Ещё вопросс к скриптёрам. Ребят как составить скрипт (к активатору) Когда нажимаешь на активатор тебе даётся допустим пистолет любой. Помогите плз.

rizys-mod  Offline  Сообщение №558 написано: 9 сентября 2012, 16:35 | Отредактировано: rizys-mod - 9 сентября 2012, 16:38


Команда "Rizys-Mod"


250
Скрипт будет таким:
Code

begin onactivate
player.additem idpistol 1
end

Из обучения скриптинга я понял, что лучше и быстрее всего может обучить человек имевший дело со скрипрами около года. Желательно чтобы мог показать свой рабочий стол и объяснять писав скрипт что к чему.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Xospis  Offline  Сообщение №559 написано: 9 сентября 2012, 16:38



171
rizys-mod, Очень сильно тебе благодарен) Когда возможность будет + поставить обязательно поставлю ok good

JupiterJour  Offline  Сообщение №560 написано: 11 сентября 2012, 07:34


_


Цитата Vita$

Есть туторы которые уходят в сами подробности скриптинга?


На том же modder.ucoz.ru, который посоветовал tundruck73, есть учебник OSFM. Он по Обливиону, но общие принципы насчёт шортов, бегин-гейммодов и прочего те же самые. Большинство функций тоже остались как были, но и отличаются многие, так что на ГЭКК-вики ходить всё равно придётся, как ни крути, больше информацию взять просто негде.

Xospis  Offline  Сообщение №561 написано: 11 сентября 2012, 09:27



171
Joopeeter, На этом сайте нашёл тутор по скриптингу написал Artem1 вроде) Тутор оч помог)

Вис  Offline  Сообщение №562 написано: 11 сентября 2012, 17:47



298
Цитата Joopeeter

поменять номер менюмода


А где его посмотреть?

Galko  Offline  Сообщение №563 написано: 11 сентября 2012, 19:39 | Отредактировано: Galko - 11 сентября 2012, 19:42


GALAктическая мартышка


Цитата Вис

А где его посмотреть?


В уже упоминавшемся учебнике по скриптингу от Artem13 :) Полезная вещь ;)


Ваше счастье, что я не ваше счастье
Игрец  Offline  Сообщение №564 написано: 11 сентября 2012, 23:51 | Отредактировано: Игрец - 11 сентября 2012, 23:52



20
Нужно уменьшить расстояние уховосприятия оружия (потрошитель...), так как играть сложно из-за обилия выданных на руки экземпляров. Кто скажет?
Радиус обнаружения уменьшать негоже, сам звук тоже, неплохо-бы скрипт на оружие, дабы оно включалось только в десяти метрах...

Смотри без глупостей, я слежу за тобой...
JupiterJour  Offline  Сообщение №565 написано: 12 сентября 2012, 07:39


_


Цитата Игрец

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


Не понял, не нравится жужжание в своих руках или в чужих? И где это там, интересно, "обилие"?
В чужих - меняй звук. Гоже там или нет, но расстояние, с которого начинается затухание и расстояние, на котором затухает полностью, задаются именно в настройках звука.
В своих - хм, можно, наверное, нагромоздить скрипт, заменяющий озвученное оружие на беззвучное в зависимости, скажем, от того... Но надо ли оно? Есть клавиша "R", что ещё надо?

Игрец  Offline  Сообщение №566 написано: 12 сентября 2012, 10:14



20
Цитата Joopeeter

расстояние, с которого начинается затухание и расстояние, на котором затухает полностью, задаются именно в настройках звука

Тогда укажи, пожалуйста - где здесь обозначено "расстояние, с которого начинается затухание и расстояние, на котором затухает полностью"?...
Единственное, что мне пришло в голову, это изменить "Normal" на "Silent" в "Detection Sound Level", но что-то мне подсказывает, что это неверное решение поставленной задачи. Как только возникает подозрение, что игрок где-то рядом, начинается жужжание, как будто то, что жужжит - у игрока в руках. Я могу, конечно, полностью убрать звук, или убрать само оружие из игры, но ведь это тоже будет неверное решение.

Смотри без глупостей, я слежу за тобой...
JupiterJour  Offline  Сообщение №567 написано: 12 сентября 2012, 12:59


_


Звук Idle Sound. В данном случае WPNRipperIdleLPM. Здесь только выбор какой звук, сам он в Miscellaneous -> Sound. Дистанции в его настройках.

Игрец  Offline  Сообщение №568 написано: 12 сентября 2012, 14:31



20
Цитата Joopeeter

Звук Idle Sound. В данном случае WPNRipperIdleLPM. Здесь только выбор какой звук, сам он в Miscellaneous -> Sound. Дистанции в его настройках.


Да, что-то я про сам звук и не вспомнил... благодарю за указание.

Смотри без глупостей, я слежу за тобой...
Вис  Offline  Сообщение №569 написано: 15 сентября 2012, 17:28 | Отредактировано: Вис - 16 сентября 2012, 15:45



298
Galko, спасибо!
Также хотелось бы узнать что эта за реф ссылка GetCrosshairRef?
Итак, попробовал засунуть взлом терминалов со взломом замков. В итоге всё получилось, спасибо! Даже при взломе двери телепортера всё получилось! Теперь такая задача: возможно ли отследить, что игрок что-то купил или продал торговцу? Например, продал пистолет - переменная повысилась на 1.

JupiterJour  Offline  Сообщение №570 написано: 18 сентября 2012, 02:36


_


Цитата Вис

Даже при взломе двери телепортера всё получилось!


А теперь попробуй взломать её с другой стороны.

Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)
Поиск:





Ответ на жалобу смотрите в разделе жалоб