Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.
У меня возник вопрос по скриптам: есть ли смысл объявлять переменную в самом скрипте? Т.е не в начале, как обычно, а в каком-либо блоке (в GameMode например)..
Заметил такое в некоторых стандартных скриптах разработчиков, например в скриптовом эффекте касадора. Просто смысл этого непонятен..
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №1382
написано: 9 февраля 2015, 04:34
| Отредактировано: Multigone - 9 февраля 2015, 04:37
Quazar, переменная в теле скрипта существует (и хранит свое значение) в течение всего времени его работы. Переменная в теле события существует в течение работы события. Со скриптами Fallout не знаком, однако, поскольку он и Skyrim используют один движок, думаю, общие принципы скриптов аналогичны.
Следовательно, разница только в занимаемом объеме памяти. Если событием является обновление с малым периодом, то разницы вообще не будет заметно в этом случае.
Я столкнулся с непростой скриптовой задачкой. Ситуация следующая: После заключения союза между НКР и Братством НПС принадлежащие к фракции NCRSnifferFaction и со скриптом sniffer продолжают нападать на игрока в фракционной броне Братства. Кто знает как исправить?
War. War never changes...
Изменение репутации для пользователя Xilandro
XilandroOffline
Сообщение №1384
написано: 25 февраля 2015, 15:10
| Отредактировано: Xilandro - 25 февраля 2015, 15:23
Цитата rusik В пипбое правым кликом ставится маркер на глобальной карте.Вопрос заключается в том,как заставить НПС напарника ,двигаться к этому маркеру на тактической карте-местности.Телепорт не интересует,так же как и система заранее установленных на местности маячков-маркеров тоже.
Сначала переведи маркер на карте в координаты. Дальше выставь маячок по полученным координатам (1 маячок нужен 100%, нравится тебе это или нет). Ну а дальше напарнику включаешь пакет патруля с целью на свой маркер, и команда EVP чтобы данные о цели обновились и напарник потопал куда тебе надо. Когда дойдет до цели - удаляй пакет.
По поводу предотвращения смерти игрока. SetEssential сделает дело. Хоть фатманом бомби, игрок никогда не умрет. Там есть свои баги конечно, но при терпении они легко обходятся.
Evaluate, adapt, destroy
Изменение репутации для пользователя КсюXa
КсюXaOffline
Сообщение №1385
написано: 25 февраля 2015, 16:13
| Отредактировано: КсюXa - 25 февраля 2015, 16:14
Блин, там разница в одну страницу или две =) Всё равно не вижу проблемы в том что я ответил на некоторые старые вопросы, на которые вообще не было ответа. Представь сидит новый скриптер, хочет сделать крутой мод чтобы менять прическу игроку по нажатию на кнопку, без интерфейса создания персонажа. Юзает он такой Плейер.СетХейр НьюХейр - а оно не работает на игроке. Вычитал он мол надо Update3D юзнуть, и юзает. На игроке. Хлоп, игра крашится. Он расстроен, ищет инфу что же делать. Находит вопрос на МГ в разделе скриптов. А ответа на него нет. И бросает наш юный падаван свою идею о прическе по требованию, и идет делать очередной дом в скайриме. Фол разочаровал, вайфу без причесок. Fin. А так у него есть шанс найти хоть какой-либо ответ. По себе знаю - иногда перелистывал сотни страниц LL, Bethforums'a, nexus'a и вгу в поисках нужных мне ответов по скриптам. Ты удивишься насколько бесполезным было это занятие. Вопросов на форумах куча, ответов ноль. Ведь "вопросы столетней давности", зачем на них отвечать.
Evaluate, adapt, destroy
Изменение репутации для пользователя Quazar
QuazarOffline
Сообщение №1390
написано: 27 февраля 2015, 07:46
| Отредактировано: Quazar - 27 февраля 2015, 07:56
Всё равно не вижу проблемы в том что я ответил на некоторые старые вопросы, на которые вообще не было ответа. Представь сидит новый скриптер, хочет сделать крутой мод чтобы менять прическу игроку по нажатию на кнопку, без интерфейса создания персонажа. Юзает он такой Плейер.СетХейр НьюХейр - а оно не работает на игроке. Вычитал он мол надо Update3D юзнуть, и юзает. На игроке. Хлоп, игра крашится. Он расстроен, ищет инфу что же делать. Находит вопрос на МГ в разделе скриптов. А ответа на него нет. И бросает наш юный падаван свою идею о прическе по требованию, и идет делать очередной дом в скайриме. Фол разочаровал, вайфу без причесок. Fin. А так у него есть шанс найти хоть какой-либо ответ. По себе знаю - иногда перелистывал сотни страниц LL, Bethforums'a, nexus'a и вгу в поисках нужных мне ответов по скриптам. Ты удивишься насколько бесполезным было это занятие. Вопросов на форумах куча, ответов ноль. Ведь "вопросы столетней давности", зачем на них отвечать.
Ну так бы сразу и сказал, что ты из службы спасения )) А то так и не поймешь..
Тогда давай, копай старину дальше, уверен тебе еще работаёнка найдется..
Но если серьезно, тут ты немного не прав, что касается "бросать идею". Тут все зависит от серьезности намерений, и серьезности самого "падавана". Ну не ответили тебе, это не значит что нужно бросать идею - бей дальше, разбирайся, ищи ответы в других источниках, проявляй самостоятельность, эспериментируй (в конце концов многие вещи можно и "методом тыка" выявить) . Или что, всем везде и всегда отвечали? Да вот ни в жизь не поверю!
Тогда давай, копай старину дальше, уверен тебе еще работаёнка найдется.. :smile2:
Вопросов интересных много, ответов мало, русский сегмент моддинга мертв, новых скриптеров не появляется как и геймплейных модов. Может хоть чему-то научились бы новому, господа самостоятельные экспериментаторы Но нет же, "нехороший Ксил тронул старые вопросы, нихарошый, надо его на смех поднять". На этом оффтоп от меня прекращается и с темы самовыпиливаюсь. Спасибо и до свидания.
Evaluate, adapt, destroy
Изменение репутации для пользователя Филя12
Филя12Offline
Сообщение №1392
написано: 6 марта 2015, 02:51
| Отредактировано: Филя12 - 5 марта 2015, 08:24
Зарегистрировался чтоб узнать одну весчь - как проверить скриптово что гг перезаряжает оружие? Пробовал через IF player.GetAnimAction == 8 но ничего не получается, игра вовсе не реагирует никак. Скрипт ставил на оружие, и в квест, но ничего. Что я не так делаю? Мне это нужно для моего мода, там есть такое ружье, для него и нужно. Вот. Поможете?
Добавлено (06 Марта 2015, 05:51) --------------------------------------------- Есть кто живой тут? Расскажу подробнее - мне нужно както сделать чтобы при перезарядке этого ружья появлялся мессадж. И все. Так можно сделать?
А кто тебе сказал что это беседка пишет? А еще, читай полностью описание команды.
Cкриптеры-теоретики, люблю вас <3
зы. в консоли будет последний активный animAction
Код
scn someScript int animAction begin gamemode if animAction != player.getanimaction let animAction := player.getanimaction printc "%g" animaction Endif end
Evaluate, adapt, destroy
Изменение репутации для пользователя КсюXa
КсюXaOffline
Сообщение №1398
написано: 6 марта 2015, 14:30
| Отредактировано: КсюXa - 7 марта 2015, 11:45
А я не скриптер. Я просто задала вопрос, потому что на geck.bethsoft.com было написано так. Да, каюсь - не заглянула на том сайте на страничку обсуждения, поэтому и не знала, что на главной, оказывается, неверная инфа и вместо 8 - нужно ставить 9. Поэтому тут и спросила. Спасибо за подсказку, мастер-сан.
>>было написано так. И я тоже в примере с 8 посмотрел - пишут Determines if Buddy is performing the reload animation. думал это и есть анимация перезарядки.
Собственно, это мы от тебя должны узнать. Оно не включается? Оно не выключается?
Раньше я б сказал, что "не так" два одинаковых блока, с одинаково отсутствующими дополнительными параметрами. Но, говорят, при компиляции редактор их склеивает, так что это вроде допустимо.
Добавлено (13 Марта 2015, 02:21) --------------------------------------------- Погадаю ещё. Оно должно шевелиться постоянно, а вместо этого шевельнулось раз и затихло?
Собственно, это мы от тебя должны узнать. Оно не включается? Оно не выключается?
Собственно как понятно (если вообще что-то понятно?) есть объект, есть две анимации -форвард и бэквард. Активируем впервые - форвард. Второй раз - бэквард. Это в теории.
На практике скрипт повешенный на этом активаторе вообще не исполняется. Ничего не происходит
На практике скрипт повешенный на этом активаторе вообще не исполняется.
Первая половина исполняется. А если не надеяться на то, что компилятор что-то там склеит, и самому поместить всё в один блок, то исполняется и вторая половина.
Изменение репутации для пользователя dianka48
dianka48Offline
Сообщение №1404
написано: 13 марта 2015, 03:17
| Отредактировано: dianka48 - 13 марта 2015, 03:18
Доброго утра всем. Я в скриптах и в ГЕККе полный ноль. НО установила мод на увеличение лимита игры в казино, столкнулась с проблемой. Фишки есть, мод работает, рулетка работает, блек-джек работает, а вот автоматы напрочь отказываются принимать Фишки своего казино. Полезла в ГЕКК, не знаю что я там хотела найти, но интуитивно набрела на скрипты. И заметила некую разницу в содержании скрипта в falloutNV.esm и в 7758_CasinoMillionCa.esp. В FalloutNV скрипт scn vGomorrahSlot01Script содержит строчку ShowSlotMachineMenuParams GomorrahCasinoData 1 60 0, при чем не пойму что за 60 и 0, а в скрипте от мода такая же строчка но выглядит так : ShowSlotMachineMenuParams GomorrahCasinoData 1 CasinoMillionCaps.RateCasinoChips 0. Гоморру взяла просто как пример. В чем проблема почему фишки казино не видят только автоматы? в игре кстати выскакивает предупреждение следующего характера : Invalid Chip in CasinoData list. Поэтому наверное я и полезла в скрипты.
begin onActivate Player if State == 0 ; это можно убрать && GetActionRef == player set State to 1 playGroup Forward 1 endif if State == 1 playGroup Backward 1 endif end -------------------------- Зачем два блока OnActivate - можно все в одном сделать. В переводе на человеческий язык, текст скрипта гласит: Начало исполнения При активации (чего-то) Игроком если состояние = 0, то проиграть анимашку форвард если состояние = 1, то проиграть анимашку бэквард Конец выполнения
Состояние устанавливается при ПЕРВОЙ активации: было ноль по-умолчанию - стало 1. И осталось навсегда. И при всех последующих активациях будет проигрываться анимашка бэквард
Ой, всё...
Изменение репутации для пользователя RustWays
RustWaysOffline
Сообщение №1407
написано: 13 марта 2015, 13:58
| Отредактировано: RustWays - 13 марта 2015, 14:00