Вис, я очень не люблю говорить кому-то что ему делать, а что нет, но тут всё же дам такой совет: не реализуй этот способ. Лучше отслеживай потихоньку в квестовом скрипте GetPCMiscStat и фиг с ним с уровнем сложности. Во-первых, неизбежны баги. Баги с ключами/паролями, баги с дверьми, либо исключение дверных замков из подсчёта, кто его знает какие ещё баги из-за скриптов, потому что придётся изменять их десятками, а внимание притупляется... Честное слово, простой незабагованный мод лучше сложного забагованного. Лучше для игроков, красивее при взгляде изнутри. Во-вторых, менять какие-то оригинальные объекты, скрипты и т.п., не понимая чётко что ты делаешь, не нужно. Причём понимать придётся тебе самому, потому что переписывать за тебя кучу игровых скриптов вряд ли кто возьмётся. Я, например, не возьмусь. Пошаговую инструкцию по совмещению скриптов писать тоже не стану, поскольку совсем не уверен, что она подойдет ко всем случаям, а понимания, которое требуется, чтобы сманеврировать в нужном месте, механическое выполнение кем-то написанных пунктов не прибавит ни на грош.
Добавлено (03.09.2012, 20:29) --------------------------------------------- Я, конечно, извиняюсь, но можете переписать скрипт для меня (я в нескольких строках запутался)?
Ребят подскажите плз как сделать так чтоб когда запускаешь игру вылазило сообщение с моим текстом и можно было только нажать "Ок" Как сделать своё сообщение я знаю а как привязать скрипт и какой сам скрипт я незнаю. Помогите плз
Изменение репутации для пользователя Galko
GalkoOffline
Сообщение №544
написано: 6 сентября 2012, 18:45
| Отредактировано: Galko - 7 сентября 2012, 03:19
как сделать так чтоб когда запускаешь игру вылазило сообщение с моим текстом и можно было только нажать "Ок"
Для начала надо создать само сообщение. В ГЕКК это - окно объектов, раздел 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 и немного изменить скрипт, так, чтобы сообщение появлялось не моментально при старте игры, а с задержкой.
scn aaVitasQuestStartSCRIPT
float timer
Begin GameMode
if player.isInInterior == 0 && player.GetInWorldspace Wasteland == 1 ; если ГГ не в интерьере, а на Пустоши if timer < 6 set timer to timer + GetSecondsPassed else showmessage aaVitasStartMessage ; показ сообщения set timer to 0 SetStage aaVitasStartModQuest ХХ ; настроить твой квест на стадию ХХ endif endif
А почему таймер выставлен на "меньше 6"? Может, лучше бы изначально выставить ''Set Timer to 0'', а затем чтобы через,например, 6 минут ИВ появлялось сообщение? If Timer>=6 Showmessage BlaBla Или у меня от местных кнедликов крыша едет?
Изменение репутации для пользователя Galko
GalkoOffline
Сообщение №546
написано: 7 сентября 2012, 13:21
| Отредактировано: Galko - 7 сентября 2012, 14:22
Эх, похоже мой вопрос не заметили, ну что же переспрошу: как я уже сказал я запутался в этом скрипте (если что неправильно поправьте)
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
так, чтобы при взломе 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
Сложность можно отследить и без ФОСЕ. Экстендер, как теперь выяснилось, позволяет получить реф-ссылку, на которой потом применяется функция GetLockLevel. То есть, не навешивая скрипт на базовый объект, можно определить, сложность чего именно отслеживается в данный момент. Правда, как я уже упоминал, ГЭКК-вики не упоминает менюмод хака (MenuMode 1055) в числе всегда корректно работающих, но сам я это не проверял, а не верить Ipatow'у нет никаких оснований. Так что если у тебя нет предубеждений против ФОСЕ... Можно переиначить и под контейнеры с дверьми, но двери-телепорты всё равно не будут отслеживаться правильно.
Изменение репутации для пользователя Xospis
XospisOffline
Сообщение №553
написано: 9 сентября 2012, 11:05
| Отредактировано: Vita$ - 9 сентября 2012, 11:08
Ребят хелп Не получается создать свой мир, делаю всё по тутору но когда открываю мир то воды очень много то её вообще нет,то просто черное окно. Что делать? (п.с Гекк знаю хорошо)
А и ещё. Хочу научится скриптингу. С чего лучше начать? Есть туторы которые уходят в сами подробности скриптинга?
А и ещё. Хочу научится скриптингу. С чего лучше начать? Есть туторы которые уходят в сами подробности скриптинга?
Не знаю есть ли туторы, но могу сказать вот что, я в первый раз, когда зашёл сюда вообще не знал ничего о скриптах, а теперь просто спрашивая что мне нужно и пытаясь анализировать каждую строчку понемногу продвинулся в этих невозможных (как мне казалось раньше) скриптах. Например, раньше я не знал что такое short, begin GameMode, как показать сообщение сделав что-то, а теперь я понемногу это понимаю. Так что я могу посоветовать GECK Wiki и этот форум, если что-то непонятно.
C офф сайта гекка мне точно ни чего не понятно А вот насчёт как я понял (Основы скриптинга) : я не знал что такое short, begin GameMode, можно поподробней?
tundruck73, Это всё есть) Но всё равно спасибо) Ещё вопросс к скриптёрам. Ребят как составить скрипт (к активатору) Когда нажимаешь на активатор тебе даётся допустим пистолет любой. Помогите плз.
Изменение репутации для пользователя rizys-mod
rizys-modOffline
Сообщение №558
написано: 9 сентября 2012, 16:35
| Отредактировано: rizys-mod - 9 сентября 2012, 16:38
Из обучения скриптинга я понял, что лучше и быстрее всего может обучить человек имевший дело со скрипрами около года. Желательно чтобы мог показать свой рабочий стол и объяснять писав скрипт что к чему.
Команда "Rizys-mod" - разработка плагинов на Fallout.
Есть туторы которые уходят в сами подробности скриптинга?
На том же modder.ucoz.ru, который посоветовал tundruck73, есть учебник OSFM. Он по Обливиону, но общие принципы насчёт шортов, бегин-гейммодов и прочего те же самые. Большинство функций тоже остались как были, но и отличаются многие, так что на ГЭКК-вики ходить всё равно придётся, как ни крути, больше информацию взять просто негде.
В уже упоминавшемся учебнике по скриптингу от Artem13 Полезная вещь
В некоторых случаях возникает необходимость определить,открыто ли меню и какое именно.В этих случаях применяется функция MenuMode ,выполняющая проверку на активность меню вообще (если параметр не указан)или конкретного типа меню,указанного в параметре.Соответственно,вызывается эта функция преимущественно в условных конструкциях. Синтаксис: MenuMode [MenuType ] –функция вернёт 1,если меню MenuType открыто,и 0 в противном случае. –MenuType – целое число —идентификатор меню.
Идентификатор - Мenu Type 1001 Сообщение (Message Box) 1002 Инвентарь 1003 Параметры персонажа (Stats) 1004 Главное меню -HUD 1007 Меню Загрузки 1008 Контейнер 1009 Диалог 1012 Сон /ожидание 1013 Пауза 1014 Взлом 1016 Количество 1023 Пип-бой,Инфо 1027 Левелап 1035 Пип-бой,Ремонт 1036 Меню расы /пола 1047 Credits (Создатели) 1048 CharGen (Создание персонажа) 1051 Ввод текста 1053 Бартер 1054 Убеждение 1055 Взлом терминалов 1056 VATS 1057 Терминал 1058 Ремонт у торговцев 1059 Обучение (Tutorial) 1060 SPECIAL 1061 Модификации (только для New Vegas ) 1074 Love Tester (только для New Vegas ) 1075 Панель управления компаньоном (только для New Vegas ) 1076 The Medical Questionnaire (Not Used)(только для New Vegas ) 1077 Рецепты (только для New Vegas ) 1080 Игровой автомат (только для New Vegas ) 1081 Блэк джек (только для New Vegas ) 1082 Рулетка (только для New Vegas ) 1083 Караван (только для New Vegas ) 1084 Трейты (особенности)при создании персонажа (not the Medical Questionnaire)(только для New Vegas )
Ваше счастье, что я не ваше счастье
Изменение репутации для пользователя Игрец
ИгрецOffline
Сообщение №564
написано: 11 сентября 2012, 23:51
| Отредактировано: Игрец - 11 сентября 2012, 23:52
Нужно уменьшить расстояние уховосприятия оружия (потрошитель...), так как играть сложно из-за обилия выданных на руки экземпляров. Кто скажет? Радиус обнаружения уменьшать негоже, сам звук тоже, неплохо-бы скрипт на оружие, дабы оно включалось только в десяти метрах...
Нужно уменьшить расстояние уховосприятия оружия (потрошитель...), так как играть сложно из-за обилия выданных на руки экземпляров. Кто скажет? Радиус обнаружения уменьшать негоже, сам звук тоже, неплохо-бы скрипт на оружие, дабы оно включалось только в десяти метрах...
Не понял, не нравится жужжание в своих руках или в чужих? И где это там, интересно, "обилие"? В чужих - меняй звук. Гоже там или нет, но расстояние, с которого начинается затухание и расстояние, на котором затухает полностью, задаются именно в настройках звука. В своих - хм, можно, наверное, нагромоздить скрипт, заменяющий озвученное оружие на беззвучное в зависимости, скажем, от того... Но надо ли оно? Есть клавиша "R", что ещё надо?
расстояние, с которого начинается затухание и расстояние, на котором затухает полностью, задаются именно в настройках звука
Тогда укажи, пожалуйста - где здесь обозначено "расстояние, с которого начинается затухание и расстояние, на котором затухает полностью"?...
Единственное, что мне пришло в голову, это изменить "Normal" на "Silent" в "Detection Sound Level", но что-то мне подсказывает, что это неверное решение поставленной задачи. Как только возникает подозрение, что игрок где-то рядом, начинается жужжание, как будто то, что жужжит - у игрока в руках. Я могу, конечно, полностью убрать звук, или убрать само оружие из игры, но ведь это тоже будет неверное решение.
Galko, спасибо! Также хотелось бы узнать что эта за реф ссылка GetCrosshairRef? Итак, попробовал засунуть взлом терминалов со взломом замков. В итоге всё получилось, спасибо! Даже при взломе двери телепортера всё получилось! Теперь такая задача: возможно ли отследить, что игрок что-то купил или продал торговцу? Например, продал пистолет - переменная повысилась на 1.