Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.
Изменение репутации для пользователя slip
slipOffline
Сообщение №31
написано: 4 января 2011, 19:55
| Отредактировано: slip - 4 января 2011, 19:56
Подскажите скрипт который после перемещения вещей в контейнер, возвращал обратно игроку, вариант с DuplicateAllItems и RemoveAllItems не работает, квестовые предметы не удаляет но копирует в контейнер
Vetal543, а квестовые предметы в принципе нельзя удалить из инвентаря. Совет один - поищи скрипт по маске BoS и Hidden - при первом посещении Братства у ГГ отнимают все предметы, а там смотри.
Добавлено (06.01.2011, 19:38) --------------------------------------------- Ну вот и мне помощь понадобилась - никто не встречал способа определить тот факт, что игрок использует прицел? В смысле прицелился.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
RusQ, эээ, а где бы почитать про этот функция? На офф. вики не нашёл!
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя RusQ
RusQOffline
Сообщение №37
написано: 6 января 2011, 17:46
| Отредактировано: RusQ - 6 января 2011, 17:46
Artem13, читать надо не на Вики, а на geck.bethsoft.com
я её и имею в виду.
Так и думал, что только через НВСЕ
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя RusQ
RusQOffline
Сообщение №39
написано: 6 января 2011, 17:54
| Отредактировано: RusQ - 6 января 2011, 17:57
Artem13, про "Idle 1" я уже прочитал, но мне надо именно остановить анимацию. Ну раз нет, так нет, буду тогда через "x.disable" и анимацию, и объект удалять.
RusQ, что то я тебя не понял, чем тебя Идл не устраивает?
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
RusQ, насколько я понял, эта команда как раз прерывает заданную ранее анимку, заставляя актора воспроизвести анимацию идл...
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя RusQ
RusQOffline
Сообщение №43
написано: 6 января 2011, 18:28
| Отредактировано: RusQ - 6 января 2011, 20:19
Нужен скрипт на выбор модели ствола. То есть, есть два одинаковые ствола, только один автомат другой сингелшотовый, мне нужно чтобы при выборе оружия спрашивало какой выбрать автомат или одиночный. Что то на примере этого мода http://www.newvegasnexus.com/downloads/file.php?id=39164
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Nathanchik
NathanchikOffline
Сообщение №46
написано: 18 января 2011, 15:48
| Отредактировано: Nathanchik - 19 января 2011, 00:14
Люди, помогите. Хочу изменить уже имеющийся скрипт Спавнов винтокрыла! Хочу сделать так чтобы он прилетал и приземлялся надолго, 2-3 игровых часа, допустим (а не на 3 секунды как сейчас прилетает и тут же улетает) хотел сделать что то на подобие собственного Винтокрыла на посад площадке. Что в нем надо изменить, чтоб заработал по моему? Вот сам скрипт
scn GenericVertibirdEncounterSCRIPT
short active ref landingMarker
begin onLoad if active == 0 playgroup forward 0 set active to 1 endif end
begin OnActivate if IsActionRef player == 0 ; assume this is my reference marker set landingMarker to GetActionRef ; move soldier drop-off markers FFEDropOffMarkerA.moveto landingMarker 0 -75 0 FFEDropOffMarkerB.moveto landingMarker 0 75 0 endif end
begin gameMode
if active == 1 if isanimplaying forward == 0 ; landed -- drop off troopers if we have a landing marker if getDestroyed == 0 if landingMarker != 0
; make sure nothing else has moved the drop off markers -- if so just use the landing marker if FFEDropOffMarkerA.GetDistance landingMarker < 100 FFEDropOffMarkerA.placeLeveledActorAtMe LvlEnclaveVertibirdPatrol else landingMarker.placeLeveledActorAtMe LvlEnclaveVertibirdPatrol endif
1. Есть тег code 2. Большие куски прячь под спойлер 3. Данный скрипт определяет лишь область приземления и с временнЫми интервалами не работает.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Пустышка
ПустышкаOffline
Сообщение №48
написано: 22 января 2011, 21:58
| Отредактировано: Пустышка - 23 января 2011, 13:02
Уважаемые Мод - мастера) Будьте любезны, подскажите решение следующей задачки из раздела "криворукий нуб не знает что делать"))
Суть скрипта: Begin GameMod (если не ошибаюсь, то это объектный скрипт)
If Игрок имеет "параметр" "значение" >=1
Игрок получает MSG "Id"
End if End
Ну а в частности хочу "привязать" получение игроком заметки в пип-бой если его параметр "Intelligence" >=6, а также если навык "наука" и ремонт >=40.
Как это должно выглядеть? Напишите кто нибудь на примере п-жалста! Я нулик в скриптописании и англеском) Или может ссылочку на русскоязычное руководство по написанию скриптов в Fallout (с расшифровкой! что по-чём), ежели таковое существует ваще.
И такой еще вопросик, следующий скрипт правильно написан ли:
scn DzenScopidomPercScript
short doOnce Begin GameMode if ( doOnce == 0 ) && (Player.getActorValue Caps001 >= 50000) Player.addPerk DzenSkopidomPerk 1 set doOnce to 1 elseIf (Player.getActorValue Caps001 < 50000) set doOnce to 0 endIf endIf End
Artem13 Благодарю за пояснения)
На счет второго: Требовалось добавить игроку определенный перк, если у игрока определенное значение крышек (ну как достижение), после чего скрипт бы переставал "считать" крышки, чтоб не добавить его повторно)) Зачем здесь квест-то создавать? Только сам перк, на сколько я понимаю. Не подскажите тогда как это выглядеть будет?
Vae victis!
Изменение репутации для пользователя Artem13
Artem13Offline
Сообщение №49
написано: 23 января 2011, 06:18
| Отредактировано: Artem13 - 23 января 2011, 06:19
Пустышка, 1. это не объектный скрипт, ибо я не вижу объекта, к которому он будет прикреплён. Насколько я понял твою задумку, это должен быть неотмечаемый Квест и соответственно квестовый скрипт (глобальные скрипты можно реализовать только так).
if player.GetAV Intelligence >= 6 ; если интеллект игрока не меньше 6 player.AddNote NoteID ; Добавляем заметку с NoteID в пип-бой endif
2. неправильно. Крышки не относятся к параметрам игрока - это предметы, поэтому следует применять функцию GetItemCount, а не GetAV. В остальном всё верно. Но скрипт опять же квестовый.
Как сделать соответствующий квест можно посмотреть, например, здесь https://modgames.net/publ....1-0-288 , только вместо перемещения объектов выполняй свои действия, ну и останавливать квест не обязательно - в зависимости от того, что тебе требуется.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Пустышка
ПустышкаOffline
Сообщение №50
написано: 23 января 2011, 14:01
| Отредактировано: Пустышка - 23 января 2011, 16:33
Begin GameMode If Player.GetAV Intelligence >= 6 Player.AddNote DzenRecipeNote End if END Что не правильно? Создал квест и заметку в Note, жму сохранить скрипт, а он не хочет, зеачит ошибка где? Пометил как квест...
И правда, тупанул малость.)
А не надо после "добавить заметку" писать StopQuest "id"?
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Graf
GrafOffline
Сообщение №52
написано: 23 января 2011, 23:21
| Отредактировано: Graf - 23 января 2011, 23:24
размер объекта можно контролировать через скрипт. Хотя может я чего недопонял. Вообщем что и где мне надо в нем изменить, чтобы обект появлялся уже нужного размера? Либо как вариант. Изначально "схайдить" объект на локации а по достиженни триггера, чтобы он стал видел, скажем. Тогда нужен другой скрипт. И какой именно? Спасибо.
Nathanchik, размер можно отмасштабировать функцией SetScale
Схайдить можно так - вызываешь в Окне Рендера окно Reference нужного объекта и устанавливаешь флаг Initially Disable, а потом при срабатывании триггера энэйблишь его - Enable
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Graf
GrafOffline
Сообщение №55
написано: 25 января 2011, 16:13
| Отредактировано: Graf - 27 января 2011, 21:35
Спасибо за подсказку. Помогло. Схайдил) Но вот еще проблема) Мне нужно чтобы мой непися по окончании диалога с ним упал замертво (такая вот задумка)) Не пойму, что мне надо прописать в итоге скрипта, в квесте-диалоге чтоб он помер. kill такого то-пробовал, не выходит(( getdead тоже возникает ошибка и сохраняться не хочет. Помогите ребят.
Nathanchik, ну хотя бы SetAV Health 0 попробуй. Или ModAV (ну или как то так - модификация параметров персонажа). В общем поройся на офф. вики на предмет функций для работы с параметрами персонажа.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Daniel_Sky
Daniel_SkyOffline
Сообщение №58
написано: 4 февраля 2011, 14:40
| Отредактировано: Daniel_Sky - 4 февраля 2011, 14:41
Ребят, меня давно беспокоит вопрос, на который я так и не нашел ответа. Полагаю все Вы прекрасно знаете, что Движок Фолла способен отображать модели не целиком, а частично, по узлам. То есть, что узлы, имеющие определенный номер в модели (и соответсвубющее название, но дело вроде не в названии, ибо оно все-равно затирается) скрываются до некоторого момента. Например, декали на созданиях, кусок одежды под пип-боем, луч света фонарика в пипбое. И мне так и не удалось понять, как это происходит. Я имею ввиду не структуру в общей модели, а как сама игруха указывает когда включить отображение узла, когда выключить. А ведь возможность иногда отображать не все узлы модели позволила бы существенно расширить геймплей. Встречал ли кто возможность стандартными, либо NVSE скриптами назначить флажок "выключающий" отображение узла с характерным номером и названием в общей моделе. Есть подозрения, что это может делаться через присвоение узлу целиком прозрачных текстур, но как их присвоить скриптами? Давайте в конце-концов разберемся, столько возможностей пропадает.
В жизни необходимо иметь три вещи: силу чтоб изменить то, что можешь улучшить; терпение чтоб не менять ничего, что не можешь улучшить; и мудрость, чтоб отличить одно от другого.