Форум «Лабортории Mod-Tec»

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум «Лабортории Mod-Tec» » G.E.C.K. Community » Помощь по скриптам Fallout 3 и Fallout: New Vegas


Помощь по скриптам Fallout 3 и Fallout: New Vegas

Сообщений 241 страница 270 из 350

241

Sergey_Ros, Привет!
Спасибо! Почитаю - потом подумаю, а потом попробую сделать!
Наверное сделаю, так как долго из за незнания вот этого

Sergey_Ros написал(а):

Т.к. нельзя исполнить команду "StartCombat" на объекте, можно лишь на его Ref-копии.

скрипт не сохранялся, а я всё искал ошибки и менял его!
Пока.

0

242

Здравствуйте, опять нужна помощь. Нужен скрипт который удаляет всё оружие у игрока и у его спутников после диалога. Почитал до этого страницы этой темы, но нашел только что бы удалить все вещи и только у игрока, а мне это не нужно. И опять же вроде в F: NV  это есть (когда заходим в казино нас встречает какой то тип и просит о сдаче оружия)

Скрипт |Скрипт

VUltraLuxeFriskingTriggerREF.Activate VMS18WhiteGloveGreeterREF 1
set VMS18.bPlayerFrisked to 1
VMS18WhiteGloveGreeterREF.EVP;

Это скрипт в диалоге охранника ультра люкса который просит о сдачи оружия. Мне он совершенно не понятен. что делает скрипт .EVP?
почему нужно активировать какой то тригер? Разве нельзя в писать что типа ИмяКонтейнераREF.RemoveAllItems Player но только для оружия?

Отредактировано Musstafar (28.06.11 19:55:43)

0

243

Musstafar написал(а):

что делает скрипт .EVP?

Функция "evp" заставляет НПЦ заново "переосмыслить" (расставить приоритеты) свои AI-пакеты.

Musstafar написал(а):

почему нужно активировать какой то тригер?

99%, что это не тот скрипт, который вам нужен.

Musstafar написал(а):

Разве нельзя в писать что типа ИмяКонтейнераREF.RemoveAllItems Player но только для оружия?

Для F3 точно нельзя, для F:NV - может быть, хотя вряд ли.

Постараюсь найти подходящий скрипт.

0

244

спасибо большое, буду ждать с нетерпением)

0

245

Sergey_Ros написал(а):

Для F3 точно нельзя, для F:NV - может быть, хотя вряд ли.

Для Ф3 можно использовать FormList (функция RemoveItem). Создаёшь формлист с нужными объектами и перемещаешь.
В ФНВ есть функция RemoveAllTypedItems. Она переносит по типу объекта.

Ну а в выше приведённом скрипте только переменная устанавливается. Смотреть, думаю, нужно скрипт квеста VMS18.
Хотя имеет смысл посмотреть, что за скрипт висит на триггере. Скорее всего там происходит отъём имущества.

Отредактировано Wulf (29.06.11 01:22:12)

0

246

хм, можно описать как работает RemoveAllTypedItems ? Я не очень в ладах с английским... Там представлен пример player.RemoveAllTypedItems vGOMPlayerEquipmentContainer 1 0 40 NVImprovedHoldoutWeapons Думаю это то что мне нужно, и работает так как надо, но мне нужно изменить контейнер куда будет положено моё оружие, с начало я решил что нужно изменить строчку "vGOMPlayerEquipmentContainer" но при изменение скрипт вообще не хочет сохраняться, после в окне поиск (в геке) я ввёл "vGOMPlayerEquipmentContainer" дабы посмотреть что это за контейнер, но мне абсолютно нечего не выдало, такого Id нету вообще.
Кстати а есть ли скрипт что бы эти вещи вернуть? скрипт player.additemAllTypedItems vGOMPlayerEquipmentContainer 1 0 40 NVImprovedHoldoutWeapons не работает, сохраняет, компилирует но не работает...

Отредактировано Musstafar (29.06.11 14:57:56)

0

247

Musstafar написал(а):

Кстати а есть ли скрипт что бы эти вещи вернуть? скрипт player.additemAllTypedItems vGOMPlayerEquipmentContainer 1 0 40 NVImprovedHoldoutWeapons не работает, сохраняет, компилирует но не работает...

А там, скорее всего, игроку просто перемещается всё содержимое контейнера.Командой RemoveAllItems. Посмотри какой триггер задействуется при выходе из магазина.

ЗЫ: Кстати, а где ты такую команду нашёл additemAllTypedItems ?

0

248

ни где) сам попробовал и он сохранил)

0

249

я использоал команду imod   т.е. приминить эффект
выйбрал подходящий эффект но...  как эфект отменить я не хачу чтобы ГГ вечно ходил с эффектом на глазах???

0

250

Andr, все просто:

Код:
rimod ИмяЭффекта

0

251

Sergey_Ros не хочу показаться навязчивым или наглым... но что там со скриптом который нужен мне?

0

252

Спасибо большое...

У меня возникла проблема, я хочу чтобы в определенные момент рядом с ГГ падал предмет (а именно "стейк из балотника")

все работает путем Disabe, Enable  но стейк  висит в воздухе и падает если только с ним контактирует ГГ

и маленький вопрос как выключить подсветку пип-боя насильно    но чтобы ее можно было заново включить???

0

253

Andr написал(а):

У меня возникла проблема, я хочу чтобы в определенные момент рядом с ГГ падал предмет (а именно "стейк из балотника")
            все работает путем Disabe, Enable  но стейк  висит в воздухе и падает если только с ним контактирует ГГ

Нужно ещё включить хавок на стэйк.

0

254

Musstafar, для того, чтобы вам помочь, мне нужен четкий вопрос. Wulf часть ответа уже дал. Нужно просто сделать по аналогии.

Andr написал(а):

У меня возникла проблема, я хочу чтобы в определенные момент рядом с ГГ падал предмет (а именно "стейк из балотника")

Можно реализовать вашу идею с помощью функции "PlaceAtMe".

Код:
Player.PlaceAtMe ИмяПредмета КолВо

Тогда вещь сразу будет обрабатываться движком игры.

0

255

ну я же писал... Нужен такой же скрипт как player.RemoveAllTypedItems vGOMPlayerEquipmentContainer 1 0 40 NVImprovedHoldoutWeapons только что бы вещи вернулись, а не что бы их забрали..

0

256

Musstafar, отвечу словами Wulf:

Wulf написал(а):

Посмотри какой триггер задействуется при выходе из магазина.

99,9% что именно этот скрипт вам и нужен. Достаточно будет сделать все по аналогии. Я уверяю, ничего сложного там не будет.

+1

257

какого ещё магазина? Серебренная лихорадка? там тригера два. вот скрипт первого

скрипт|скрипт

scn VFSSilverRushGuardEscapeScript

begin OnTriggerLeave player

if GetObjectiveDisplayed VMS29a 20 == 1 && GetObjectiveCompleted VMS29a 20 == 0 && GetStage VMS29a != 200 && VMS29a.BomberEncounter != 2 || GetDeadCount VFSSilverRushBomberCustomer == 1
    VFSSImonREF.SayTo player VFSSimonPlayerRunningOff
endif

end

вот 2

скрипт|скрипт

scn VFSSilverRushGuardPacerTalksToSimonScript

int DoOnce
ref EnteringActor

begin OnTriggerEnter

if DoOnce == 0
    set EnteringActor to GetActionRef

    ; Only trigger when Pacer enters
    if EnteringActor.GetIsReference VFSPacerREF

    ; Only fire when player is guarding for Van Graffs
    if VMS29a.GuardState == 12
   
        VFSPacerREF.SayTo VFSSimonREF VFSPacerGreetsSimon
        set DoOnce to 1

    endif
    endif
endif

end

и где тут то что нужно мне?)

0

258

Musstafar, Вобщето это делается через квест. Как ты думаеш, почему присутствует строчка StartQuest VUltraLuxeSecurity ?

Короче ты должен этот скрипт поставить в квест:

ScriptName AAAGrafaModSecuritySCRIPT

BEGIN GameMode

If (Player.GetInCell 1Interiors || Player.GetInCell 2Interiors || Player.GetInCell 3Interiors)
    if (Player.IsWeaponOut == 1 && Player.GetWeaponAnimType != 1 && Player.GetEquipped NVWeapMS22Camera == 0)
    endif
Endif

END

И в диалоге написать StartQuest IDтвоего квеста, вроде нечего сложного нет. Одно но, тут нужно указывать в каких интерьерах гг не может использовать оружие, я их подписал в скрипте так:

1Interiors
2Interiors
3Interiors

Приоретет в квесте ставишь 50, а Script Processing Delay 10.0000.

Вобщем делать нужно было по аналогии, как и сказал Sergey_Ros.

+1

259

Серёга написал(а):

Короче ты должен этот скрипт поставить в квест:

то есть привязать скрипт к квесту? окей. вот только как я создаю скрипт (опять же скрипт прекрасно сохраняет то есть он рабочий) НО я не могу найти в списке выбора скриптов свой, пробовал сохранить и полностью выйти из гека всё равно не нахожу... в водил в поиск id своего скрипта в поиске находит всё прекрасно такой существует но к кв привязать его не выходит..

Отредактировано Musstafar (05.07.11 18:53:55)

0

260

Musstafar, Привет!
Возможно когда ты создаёшь скрипт, ты оставляешь тип скрипта (Script Type) "объект" (Object) - такой тип по умолчанию. А для квеста скорее всего нужен тип скрипта "Quest".
Возможно из -за этого ты его не можешь поставить на место.
Пока.

0

261

да, спасибо проблема была именно в этом

0

262

Подскажите что не так в скрипте ? Вот скрипт:

Код:
REF	   Target

BEGIN ScriptEffectStart

	If GetDead == 0 
    Set Target to GetSelf
    	Target.StopCombat Player
        Player.StopCombatAlarmOnActor
        	Target.ClearActorsFactionsPlayerEnemyFlag
    
endif	
END

BEGIN ScriptEffectFinish

	If Target != 0 && Target.GetIsSex Male ==1 || Target.GetIsSex Female == 1 && Target.GetInFaction NINJABerserc != 1	
    	Target.MatchRace GhoulMaleRef
        Target.ForceActorValue Health 500
            Target.RemoveFromAllFactions
            	Target.SetFactionRank NINJABerserc 0
                 Target.SetAv Aggression 1
                	Set Target to 0
	
	elseif Target != 0
    Target.AddItem AAANinjaArmorBerserc 1	
    	Set Target to 0

	endif
END

И ещё вопрос, можно ли заставить действовать Object Effect вот в это время If GetCurrentTime >= 20.25 || GetCurrentTime <= 5.75 и на 3-х НПЦ ?

Отредактировано Серёга (15.07.11 09:51:34)

0

263

Серёга, ошибки в первом блоке скрипта:

1) Set Target to GetSelf - переменная Target ссылается на НПЦ, созданного скриптом (команды PlaceAtMe, MoveTo и т.д.)? Если да, то переменная всегда будет возвращать "0".

2) Target.StopCombat Player - параметр "Player" здесь не нужен.

3) Target.ClearActorsFactionsPlayerEnemyFlag - объекта у этой функции нет, есть лишь параметр, поэтому следует писать "ClearActorsFactionsPlayerEnemyFlag Target".

А вообще лучше объяснить, что должен делать скрипт.

Серёга написал(а):

И ещё вопрос, можно ли заставить действовать Object Effect вот в это время If GetCurrentTime >= 20.25 || GetCurrentTime <= 5.75 и на 3-х НПЦ ?

Вы проверяли данные условия в игре? На вид ничего противоречивого.

0

264

Sergey_Ros написал(а):

1) Set Target to GetSelf - переменная Target ссылается на НПЦ, созданного скриптом (команды PlaceAtMe, MoveTo и т.д.)? Если да, то переменная всегда будет возвращать "0".
            2) Target.StopCombat Player - параметр "Player" здесь не нужен.
            3) Target.ClearActorsFactionsPlayerEnemyFlag - объекта у этой функции нет, есть лишь параметр, поэтому следует писать "ClearActorsFactionsPlayerEnemyFlag Target".

Всё сделал.

Sergey_Ros написал(а):

А вообще лучше объяснить, что должен делать скрипт.

Скрипт должен превращать НПЦ на глазах в гуля (новую фракцию).
Да я мог написать скрипт так:

begin ScriptEffectStart
if GetDead == 0
    disable
    placeAtMe aaaModeRat 1
endif
end

Но мне нужно прямое превращение на глазах.

Sergey_Ros написал(а):

Вы проверяли данные условия в игре? На вид ничего противоречивого.

Да я хотел узнать именно как Object Effect испоьзовать в скрипте, чтобы не писать за каждый эффект через player.spell

Отредактировано Серёга (18.07.11 02:10:03)

0

265

Доброго времени суток! Наверное, эту тему поднимали уже не раз и даже не два, но самому мне не сообразить:
Мне необходимо, чтобы некая дверь становилась доступной (отпёртой) только на определенной стадии определенного квеста. Умом понимаю, что все должно быть просто, как топор, но...

0

266

Доброго.
Самый простой вариант:
1) Задаёшь в настройках двери ReferenceID (для примера Door01Ref) и уровень сложности замка: Нужен ключ (Requires Key).
2) В тот скрипт, который переключает стадию квеста, прямо под строчку SetStage QUEST [номер стадии] добавляешь: Door01Ref.Unlock

0

267

Здравствуйте.
У меня есть один наболевший вопрос. Как можно заставить своего персонажа воспроизвести анимацию?? Банальное player.playidle animname естественно не работает без режима FlyCam (TFC). Пытался понять, как это работает на основе Groovatron'a, не понял вообще, как они это сделали. У меня в общем есть предмет, который лежит в инвентаре. На нем привязан скрипт, в котором при выполнении определенных условий должна воспроизвестись анимация. Например:

int activate
begin gamemode
if activate == 0
   if player.GetHealthPercentage <= 0.15
      player.playidle death001
      set activate to 1
   endif
endif
end

Вот как ее заставить работать, не переключаясь в режим TFC командой con_tfc, и не используя Quest, AI Packages и т.д.?
Зараннее благодарен!))

0

268

system-q написал(а):

Вот как ее заставить работать, не переключаясь в режим TFC командой con_tfc, и не используя Quest, AI Packages и т.д.?

Честно сказать, просто скриптом заставить ГГ исполнить анимацию нельзя (у меня пока это не получилось). Оптимальный вариант - все же использовать AI Package.

0

269

system-q написал(а):

Например:
int activate
begin gamemode
if activate == 0
   if player.GetHealthPercentage <= 0.15
      player.playidle death001
      set activate to 1
   endif
endif
end

В таком случае лучше, как написал Сергей, использовать AI Package. Как образец, можно использовать скрипт в очистителе в финале Fallout 3 (когда гг вводит код и умирает от радиации). Подобный скрипт используется так же и в Ассасине: при входе в третью часть базы Маркуса, взрывается бочка, после чего гг контуженный падает на землю, проигрывая ту самую анимацию из концовки Ф3 (правда потом встаёт, но ничто не мешает его убить скриптом).

0

270

MuxauJl, огромное спасибо! И прошу прощения, что не поблагодарил раньше - всему виной проблемка со связью ;)

0


Вы здесь » Форум «Лабортории Mod-Tec» » G.E.C.K. Community » Помощь по скриптам Fallout 3 и Fallout: New Vegas