Я убил одного НПС. Мне нужно что бы его тело исчезло а сам он возродился в определенной локации. Какой для этого нужен скрипт?
Отредактировано OZOZ-13 (2011-02-03 11:17:40)
Форум Oblivion, Skyrim & Fallout 3/4 Modding |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Форум Oblivion, Skyrim & Fallout 3/4 Modding » G.E.C.K. (New Vegas Edition) » Вопросы по скриптам в Fallout NV
Я убил одного НПС. Мне нужно что бы его тело исчезло а сам он возродился в определенной локации. Какой для этого нужен скрипт?
Отредактировано OZOZ-13 (2011-02-03 11:17:40)
Извиняюсь, что изначально не туда написал.
Но вот такой вопрос:
Есть строка
set amount to Rw1REF.GetItemCount(SpareParts)
Пытаюсь присвоить int-овской переменной amount количество штук металлолома, которое лежит в ящике Rw1REF. Но из-за этой строки, как выяснилось, скрипт не сохраняется. Что тут не так?
По сайту, на который ссылка, проверял. Вроде, в скрипте ошибок нет. Идентификаторы на соответствие именам объектов уже три раза проверил.
Отредактировано Skorp24 (2011-02-05 00:51:48)
Скрипт целиком кинь.
"amount" ты сделал глобальной переменной?
Точно, не сделал. А как?
Переходи в Gameplay\Globals откроеться окно в котором создаешь правая кнопка и New,данные там неменяй имя присваивай какое хош а потом его в скрипте используй
Так и сделал, тип поставил long. Вместо переменной amount подставил в том месте глобальную переменную. Не сохраняется всё равно.
(скрипт сохраняется, только если удалить эту строку).
Продолжая писать скрипт, я понял, что ошибка возникает везде, где встречается имя моего ящика. Не понимаю, в чём дело.
Отредактировано Skorp24 (2011-02-05 10:47:55)
Продолжая писать скрипт, я понял, что ошибка возникает везде, где встречается RefID моего ящика. Не понимаю, в чём дело.
Проверь, стоит ли на нем галка "персистент референс", и правильно ли (т.е. без ошибок) ты пишешь в скрипте имя своего ящика.
Всё это уже проверил. Всё правильно.
Немного не прав. Ошибка возникает везде, где я использую функцию GetItemCount применительно к этому ящику.
Примеры:
set RwAmount to Rw1REF.GetItemCount(SpareParts)
или
if (Rw1REF.GetItemCount(SpareParts)>=0)
...
endif
Отредактировано Skorp24 (2011-02-05 10:59:00)
set RwAmount to Rw1REF.GetItemCount(SpareParts)
Вот то, что выделено жирным - то что такое? Что-то в синтаксисе функции я такого не нашел:
http://geck.bethsoft.com/index.php/GetItemCount
set RwAmount to Rw1REF.GetItemCount(SpareParts)
а зачем ты SpareParts взял в скобки нужно просто так:
set RwAmount to Rw1REF.GetItemCount SpareParts
и так везде скобки ненужны
Вот как, оказывается... Не знал, спасибо.
И за ссылку тоже, полезная.
Подскажите следующий скрипт: когда у игрока в инвенторе появляется 5 одинаковых объектов стадия квеста изменяется на следующюю.
И еще скрипт с помощью которого можно отпирать запертую дверь.
Отредактировано OZOZ-13 (2011-02-12 12:59:02)
Подскажите следующий скрипт: когда у игрока в инвенторе появляется 5 одинаковых объектов стадия квеста изменяется на следующюю.
scn myScript
Begin GameMode
if ( GetItemCount MyObject == 5) ; MyObject - объект котрый тебе нужно подсчитать, 5 - количество
SetStage MyQuest 30 ; 30 - это стадия, MyQuest - имя квеста.
endif
End
И еще скрипт с помощью которого можно отпирать запертую дверь.
mydoor lock 20 запирает дверь или сейф на уровень 20 а Unlock открывает.
Уровень замка
7 - Очень легко
20 - Легко
40 - Средне
80 - Тяжело
99 - Очень тяжело
100- Нужен ключ
Отредактировано BloodBear (2011-02-12 13:19:03)
BloodBear, большое спасибо.
Возник вопросик. Есть такая команда как ShowRepairMenu которая вызывает меню ремонта. Она не предусматривает каких либо параметров. Но вот в игре Ф3 у Мойры она появляется в таком виде ShowRepairMenu 30. Кто знает, что сиё обозначает? Вики такой инфы не даёт...
Если судить по смыслу топика, в котором эта команда встречается, то возможно речь идёт о прибавке к скиллу ремонта или скидка на стоимость ремонта...
Какие будут версии?
scn DMQRIDScriptStartQuest
short DoOnce
Begin GameMode
if (DoOnce==0)
if (GetStage DMQRID < 10 )
ShowMessage DMDownloadMessage
SetStage DMQRID 10
set DoOnce to 1
endif
endif
end
Что не так в этом скрипте? Думаю как вы догадались в этом скрипте стадия квеста DMQRID должна измениться изменяется на 10. Но ничего не происходит.
Лучше так:
scn DMQRIDScriptStartQuest
short Bugaga
Begin GameMode
if (Bugaga==0)
if (GetStage DMQRID <= 9 )
ShowMessage DMDownloadMessage
SetStage DMQRID 10
set Bugaga to 1
endif
endif
end
Либо если сложный квест то мона и по другому сделать если стадия равна 8 " if (GetStage DMQRID == 8 ) " то выведется одно сообщение " ShowMessage DMDownloadMessage1 " и будет переход на стадию 10 " SetStage DMQRID 10 " но если стадия равна 9 " if (GetStage DMQRID == 9 ) " то будет другое сообщение " ShowMessage DMDownloadMessage2 " и будет переход на стадию 11 " SetStage DMQRID 11 "
=)
Отредактировано BloodBear (2011-02-23 12:28:34)
scn DMQRIDScriptStartQuest
short Bugaga
Begin GameMode
if (Bugaga==0)
if (GetStage DMQRID <= 9 )
ShowMessage DMDownloadMessage
SetStage DMQRID 10
set Bugaga to 1
endif
endif
end
Не помогло ;(
scn DMQRIDScriptStartQuest
Это квестовый скрипт? Если да, то сам квест уже запущен? Если квест не запущен, то и его скрипт, само-собой, выполняться не будет.
Народ я смог двигать объект без колизии через скрипт (собственно мне так и надо) но вопрос в том а как сделать так чтоб этот объект двигался в том же месте например раз в два дня ?
И вопрос можно ли двигать объект с помощью скрипта до определённого места ?
Отредактировано speed_sn1er (2011-03-02 22:33:39)
Подскажите скрипт с помощю которого можно убить игрока при достижении определенного тригера.
scn KillScript
short Bugagashka
begin OnActivate
if (Bugagashka==0) && (IsActionRef player == 1)
Kill player
set Bugagashka to 1
endif
end
Отредактировано BloodBear (2011-03-10 18:39:23)
Здраствуйте, как сделать так чтобы после смерти этот нпц становился disable ?
Здраствуйте, как сделать так чтобы после смерти этот нпц становился disable ?
Использовать в скрипте следующие строчки:
if ActorID.GetDead ActorID.disable endif
if ActorID.GetDead
ActorID.disable
endif
Попробую.
Здраствуйте, как сделать скриптом чтоб после прохождения квеста объект стал Enable ?
Ну энабли его, когда квест достигнет нужной стадии и всё.
speed_sn1er Привет!
Ну энабли его, когда квест достигнет нужной стадии и всё.
А если основной квест со стадиями не делал. И в этот момент нет диалога с NPC, что бы прописать отключение объекта в Result Script, поставь триггер со скриптом предложенным выше IgorRa вместо disable - enable. При входе в который игрока - нужный тебе оъект будет отключён.
scn AAAActivatorSCRIPT
short sDoOnce
Begin OnTriggerEnter player
if (sDoOnce == 0)
AAARef.disable
Set sDoOnce to 1
endif
End
Пока.
Вы здесь » Форум Oblivion, Skyrim & Fallout 3/4 Modding » G.E.C.K. (New Vegas Edition) » Вопросы по скриптам в Fallout NV