scn GrupGECKScript
Begin WorkModMode
    if E==ASA
     G.E.C.K. Enable
    endif
end
перевод со "скриптового"
Начало блока
Если E равно ASA
группа GECK активна
конец проверки
конец блока

CASPER


Живу на даче.
Солнце, речка,
 лес,цветы,
клубника и вишня.
И никакого Интернета
Красота!
Galko

         G                         E                         C                        K                                                                                                                  

Главная | Мой профиль | Выход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Graf  
Форум » ИНФОРМАЦИОННЫЙ СЕКТОР » СТАТЬИ, УРОКИ, ИНСТРУКЦИИ И ТП. » Готовые скрипты для Fallout 3, Fallout NV (Скрипты для использования в различных ситуациях)
Готовые скрипты для Fallout 3, Fallout NV
KAINДата: Пятница, 29.07.2011, 07:35 | Сообщение # 1
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
В этой теме буду выкладывать свои скрипты и скрипты людей делавших их мне на других сайтах, естественно "чужие" сложные скрипты с указанием автора. Несколько скриптов ещё не добавлены в Оглавление - сортировщик, серии атак по таймеру ...

ОГЛАВЛЕНИЕ

Таймеры

ДВЕРИ

1. Скрипт открывания и закрывания дверей в зависимости от времени суток. Скрипт
2. Скрипт закрывания двери и атаки ГГ охранником, если у него в руках появилось оружие.Скрипт
3. Скрипт закрывания двери , в зависимости от времени суток на замок (на ключ). Скрипт

ОРУЖИЕ

1. Скрипт начала атаки ГГ если он не выполнить приказ и не уберёт оружие в течении 5 секунд...Скрипт
2 Скрипт атак на ГГ или место или NPC пока ГГ находится в зоне триггера Скрипт

РАДИОСТАНЦИИ И ТП

1. Скрипт включения радиостанции кнопкой активатора Скрипт

БРОНЯ

1. Скрипт запрета одеть шлем, если не одета спец. броня Скрипт

АКТИВАТОРЫ

КВЕСТЫ

1. Скрипт установки стадии квеста, при достижении NPC (Creatures) определённого места. Скрипт
2 Скрипт установки стадии, при наличии предмета в инвентаре игрока Скрипт
 
KAINДата: Вторник, 02.08.2011, 08:21 | Сообщение # 2
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Скрипт атак на ГГ или место или NPC пока ГГ находится в зоне триггера
Vren, Привет! Не прошло и полгода! Шутка.
Тебе повезло, что я случайно познакомился с Hedge и SpalnyVagon, без их помощи я бы этот скрипт для тебя не смог сделать.
Так, что если встретишь их на Пустоши обязательно поделись патронами и едой! Ну или как там в Fallout 3!
Вот сам скрипт

Code
scn AAAKainAttackScript
short StartAttack
float fTimer
short e1
short e2
short e3
short DoNotEnter

Begin OnTriggerEnter Player
Set fTimer to 60
If DoNotEnter == 0
Set DoNotEnter to 1
Set StartAttack to 1
Set e1 to 0
Set e2 to 0
Set e3 to 0
EndIf
End

Begin GameMode
If Getdistance Player >= 8000
Set DoNotEnter to 0
EndIf
if StartAttack == 1
Set fTimer to (fTimer - GetSecondsPassed)
if (fTimer < 20) && (e1 == 0)
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercA 1 5 0 ;пошла первая группа
Set e1 to 1
Endif
if (fTimer > 20) && (Ftimer<40) && (e2 == 0)
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercB 1 5 0 ;пошла вторая группа
Set e2 to 1
Endif
if (fTimer > 40) && (e3 == 0)
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercC 1 5 0 ;пошла третья группа
Set e3 to 1
Endif
If (e1+e2+e3) == 3
Set StartAttack to 0
EndIf
EndIf
End


Для его работы ты должен создать всё что я писал выше.
1 Три группы атакующих (если хочешь, что бы все были в разной одежде и с разным оружием)
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercA01 1 5 0
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercA02 1 5 0
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercA03 1 5 0
И так далее
И вписать ниже
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercA 1 5 0

Либо просто изменить вот здесь первую цифру 1 на нужное количество членов группы
AAAKainXMarkerRef.PlaceAtMe AAAKain188MercA 1 5 0 - на 5 например 5 5 0 ( будут все одинаковые)
2 Поставить триггер и маркер появления
Лучше всего поставить маркер не в прямой видимости игрока (иначе он будет видеть как из ничего возникают нападающие)
За большим камнем наприм, или грузовиком (фурой), забором, домом и тп.
Но маркер от триггера ставить далеко нельзя (не будут атаковать пока не увидят) Хотя можешь создать для них пакет AI и там в кондициях ввести команду StartCombat Player - должно сработать.
Время появления регулируй установкой таймера
Set fTimer to 60 - 60 это всё время до нуля. Минута - можешь сделать 120 и 180 - сам подбирай в зависимости от величины и силы отрядов нападения и охраны.
if (fTimer > 40) здесь промежуток когда будет атаковать конкретная группа. В зависимости от величины таймера то же меняй. Например для последней if (fTimer < 20) было if (fTimer < 60) стало последняя группа будет атаковать когда таймер станет мегьше 60 секунд.
Для первой if (fTimer > 170) первая начнёт атаку через 10 секунд после входа в триггер.
Вроде всё! Пробуй, если что спрашивай.
Пока.
 
GrafДата: Пятница, 12.08.2011, 11:18 | Сообщение # 3
Маршал
Группа: Модераторы
Сообщений: 106
Статус: Offline
Скрипт сортировки предметов:

Реализуется это так:
Пример с журналами.
Создаем новый Form List с уникальным ID (например aaMagazineFormList).
Перетаскиваем все журналы их всего 14 (Editor ID у них начинается с Magazine) сохраняем.
Создаем активатор или терминал (aaMagazineSorter).
Создаем контейнер с уникальным ID (aaMagazineBox) и помещаем его куда вам надо в мир Вегаса,
присваиваем ему Reference Editor ID (aaMagazineBoxREF).
Пишем скрипт:

scn aaMagazineSortSCRIPT

short choice
short FormListcount

begin OnActivate
if ( isActionRef Player )
set choice to 1
ShowMessage aaMagazineSortMsg
endif
end

begin GameMode
if (choice)
Set choice to GetButtonPressed
if ( choice ==0 )

;Magazine
set FormListcount to player.GetItemCount aaMagazineFormList
if ( FormListcount > 0)
Player.RemoveItem aaMagazineFormList FormListcount 1
aaMagazineBoxREF.AddItem aaMagazineFormList FormListcount
set FormListcount to 0
endif
endif
if choice == 2
;exit
endif
endif
endif
end


Находим в созданом активаторе (aaMagazineSorter) наш Скрипт (aaMagazineSortSCRIPT).
Сохраняемся и проверяем в игре.
У меня все работает.
Если что то не ясно задавайте вопросы, чем могу помогу.
Спасибо за внимание.


Сообщение отредактировал Graf - Пятница, 12.08.2011, 11:19
 
KAINДата: Четверг, 15.09.2011, 22:11 | Сообщение # 4
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Скрипт на закрывание и открывание дверей кнопками.

Code
scn AAAKainAutoDoor01SwitchScript

short mode
ref doorRef
begin onActivate
if (IsActionRef player == 1 )
if (mode == 0)
activate
set mode to 1

endif
endif
end

begin gameMode
set doorRef to GetLinkedRef
doorRef.activate doorRef
end


Скрипт "вешается" на выключатель.
Выключатель и дверь должны быть связаны Linked связью.
 
GrafДата: Среда, 21.09.2011, 01:18 | Сообщение # 5
Маршал
Группа: Модераторы
Сообщений: 106
Статус: Offline
Скрипт на автоматически открываемые/закрываемые двери:

Code

ref myLink

Begin onTriggerEnter
   set myLink to getLinkedRef
   myLink.setOpenState 1
End

Begin onTriggerLeave
   set myLink to getLinkedRef
   myLink.setOpenState 0
End


Делается это через триггер, связываете Linked триггера с дверью, а Linked двери с триггером. Где начинается триггер, от туда дверь начнёт открываться, как только выйдете с триггера, дверь закроется, то есть примерно это должно выглядеть так:


Сообщение отредактировал Graf - Среда, 21.09.2011, 01:19
 
KAINДата: Воскресенье, 02.10.2011, 04:34 | Сообщение # 6
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Скрипт на действие по таймеру
В данном случае на включение и выключение лампочки с интервалом в 10 секунд
scn AAAKainTimerScript
short doOnce
float timer

begin gameMode

if ( doOnce == 0 )
Set timer to 20
Set doOnce to 1
elseif ( doOnce == 1 )
if timer > 10
set timer to timer - GetSecondsPassed
else
Set doOnce to 2
Enable
endif
elseif ( doOnce == 2 )
if timer > 0
set timer to timer - GetSecondsPassed
else
Set doOnce to 0
Disable
endif
endif
end

Скрипт "висит" на самой лампочке (луковице)
В Set timer to 20 - устанавливайте нужное вам общее время
А в проверке условия if timer > 10 устанавливайте нужное время переключения
 
KAINДата: Воскресенье, 02.10.2011, 15:08 | Сообщение # 7
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Ещё один скрипт таймера - но здесь событие запускается через промежуток времени после активации объекта (открытие двери, обыскивание трупа, взятие предмета и тп.)
Скрипт "вешается" на активируемый предмет
scn AAAActivatorTimerScript
short doOnce
float Timer
Begin OnActivate
if (doOnce == 0)
set doOnce to 1
set Timer to 10 ; это число секунд
Activate ; чтобы сработала стандартная анимация активации
endif
End
Begin GameMode
if (Timer > 0) && (doOnce == 1)
set Timer to (Timer - GetSecondsPassed)
elseif (doOnce == 1)
Showmessage AAAKainMessage ; это само действие - выдача сообщения
set doOnce to 0
endif
End
 
KAINДата: Понедельник, 03.10.2011, 01:55 | Сообщение # 8
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Скрипт появления вещи в мире, при добавлении в контейнер игрока предмета.

scn AAAKainTableDDD
Short doonce
Begin OnActivate Player
if (doonce ==0)
if (player.GetItemCount AAAKainArmorFiendHelmet > 0)
Set doonce to 1
endif
endif
end

Begin GameMode
if (doonce == 1)
AAAKainAppleRef.Enable
Set doonce to 0
endif
end


AAAKainArmorFiendHelmet - шлем
AAAKainAppleRef - яблоко, которое появится, там где вы его поставите в редакторе.
В Preference яблока галка Initialy Disable (отображение отключено) должна быть включена.
 
KAINДата: Понедельник, 03.10.2011, 02:10 | Сообщение # 9
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Скрипт открывания и закрывания дверей по текущему времени суток

scn AAASOWindowDoorScript

Begin GameMode
If GetCurrentTime >= 22.00 || GetCurrentTime <= 8.00
AAASOWindowDoorRef.SetOpenState 0
else
GetCurrentTime >= 8.00 || GetCurrentTime <= 22.00
AAASOWindowDoorRef.SetOpenState 1
endif
end


В нашем моде этот скрипт был на защитном жалюзи, которое опускалось и закрывало стекло на ночь.
Скрипт "вешается" на саму дверь AAASOWindowDoorRef
 
KAINДата: Понедельник, 03.10.2011, 02:19 | Сообщение # 10
Генералисимус
Группа: Администраторы
Сообщений: 442
Статус: Offline
Скрипт на открытие и закрытие двери, если у игрока в руках оружие и расстояние до него меньше 1024 единиц.

scn AAASOTraderTableWindowScript

Begin GameMode
If player.IsWeaponOut == 1 && GetDistance player <= 1024
AAASOTraderTableWindowRef.SetOpenState 0
AAASONPCShenRef.StartCombat player
else
player.IsWeaponOut == 0
AAASOTraderTableWindowRef.SetOpenState 1
endif
end


В нашем моде стоял на защитной стеклянной перегородке у торговца. Помимо опускания перегородки, игрок атаковался охранником
AAASONPCShenRef.StartCombat player
AAASONPCShenRef - Ref копия NPC
StartCombat player - команда на атаку.
Можете убрать, или отключить - поставив ; перед строчкой
;AAASONPCShenRef.StartCombat player - вот так
 
Форум » ИНФОРМАЦИОННЫЙ СЕКТОР » СТАТЬИ, УРОКИ, ИНСТРУКЦИИ И ТП. » Готовые скрипты для Fallout 3, Fallout NV (Скрипты для использования в различных ситуациях)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


Copyright MyCorp © 2024
Бесплатный хостинг uCoz