Итак, начнем изучение Скриптинга на FPS Creator!
При Скриптинге или редактировании Скриптов обязательно наличие программы
FPI EditPad Перейдем к самому процессу Скриптования
Возьмем к примеру легкий Скрипт:
Код
:state=0,plrwithinzone=1:sound=audiobank\items\pickup.wav
Сначала на что надо обратить внимание, это на символ
":". Оно обозначает разделение между условиями и действиями и пишется только 2 раза за всю строку - в начале и в переходе на действия
Слово
"state" - это нумерация условий, например
state=0,
state=1 или
state=2. Номер может быть любой, от нуля до бесконечности
Далее, после
"state" пишется условие, например
plrwithinzone=1. Условия с условиями разделяются знаком
",", Т.е. - запятой. Если в Скрипте условие не требуется или это уже не первая сткрока, пишется
":" и после него действие, например
sound=audiobank\items\pickup.wav, действий как и условий может быть много. Действия также разделяются
"," - запятой.
После вписывания всех нужных действий, ставится
"," и
state=2, а здесь уже
state подразумевается как переход на следующий
state, Т.е.
state, находящийся после всех действий, это указатель на номер следущего условия
state. Например:
Код
:state=0,plrwithinzone=1:sound=audiobank\items\pickup.wav,state=1
:state=1,plrwithinzone=1:destroy
В конце первой строки написано
state=1, что обозначает переход на следующую строку
Объяснение Скрипта:
Код
:условие номер=0,если Игрок в зоне:проигрывание звука=audiobank\items\pickup.wav,переход к условию номер=1
:условие номер=1,если Игрок в зоне:разрушение
Иными словами, при входе в зону, проигрывается звук и Игрок умирает
Список условий:
ACTIVATED=X - истинно, если активационное значение компонента равно X
ALPHAFADEEQUAL=X - истинно, если величина альфа равна X
ALWAYS - всегда истинно
ANIMATIONOVER=X - истинно, если анимация X завершена
ANYFURTHER=X - истинно, если любой другой компонент двигается не в X-плоскостях
ANYWITHIN=X - истинно, если любой другой компонент двигается в X-плоскостях
ASSOCIATED=X - истинно, если компонент связан с игроком (лифт)
ENTITYWITHINZONE - истинно, если компонент в Триггере
ESCAPEKEYPRESSED=X - истинно, если была нажата клавиша Esc
FRAMEATEND=X - истинно, если анимация X заканчивается
FRAMEATSTART=X - истинно, если анимация X только начинается
FRAMEBEYOND=X Y - истинно, если анимация X вне кадра Y
FRAMEWITHIN=X Y - истинно, если анимация X находится в кадре Y
HEADANGLEGREATER=X - истинно, если угол наклона головы больше, чем X
HEADANGLELESS=X - истинно, если угол наклона головы меньше, чем X
HEALTH=X - истинно, если здоровье равняется X
HEALTHLESS=X - истинно, если здоровье меньше, чем X
HUDSELECTIONMADE=X - истинно, если пользователь щелкнул по HUD-кнопке X
IFMARKER=X - истинно, если на сцене есть маркер, который ранее уронил компонент
IFPLRTRAIL=X - истинно, если существует след, оставленный игроком
IFWEAPON=X - истинно, если оружие, используемое компонентом, готово (заряжено) и X - один
LOSETARGET=X - истинно, если компонент застрял после X попыток
NEARACTIVATABLE=X - истинно, если компонент скоро будет активирован
NEVER - никогда не истинно (всегда ложно)
NEWWEAPONCANBESEEN=X - истинно, если компонент видит оружие лучше
NOISEHEARD=X - истинно, если компонент слышит передаваемый в сцене звук
PLRALIVE=X - истинно, если игрок жив и X - один
PLRCANBESEEN - истинно, если игрок может быть виден
PLRCANNOTBESEEN - истинно, если игрок не может быть виден
PLRDISTFURTHER=X - истинно, если игрок дальше, чем на X единиц
PLRDISTWITHIN=X - истинно, если игрок ближе, чем на X единиц
PLRELEVFURTHER=X - истинно, если игрок не может быть виден в X градусах по вертикали
PLRELEVWITHIN=X - истинно, если игрок может быть виден в X градусах по вертикали
PLRHASKEY=X - истинно, если игрок нажал клавишу, обозначаемую через значение X
PLRHIGHER=X - истинно, если игрок на X единиц выше, чем компонент
PLRINGUNSIGHT=X - истинно, если игрок в пределах выстрела компонента
PLRUSINGACTION=X - истинно, если игрок выполняет действие USE (Использовать)
PLRWITHINZONE - истинно, если игрок в Триггере
QUANTITY=X - истинно, если количество равно X
RANDOM=X - истинно, если случайная величина между 0 и X равна 1
RAYCAST=X Y - истинно, если падение луча (рейкаст) поражает что-то впереди на расстоянии от X до Y единиц
RAYCASTBACK=X - истинно, если падение луча (рейкаст) поражает что-то позади на расстоянии от X до Y единиц
RAYCASTUP=X - истинно, если падение луча (рейкаст) поражает что-то вверху на расстоянии от X до Y единиц
REACHTARGET=X - истинно, если компонент поразил цель
SHOTDAMAGE=X - истинно, если причиненный ущерб превысил значение X
SPEED=X - истинно, если скорость равна X
STATE=X - истинно, если величина, содержащаяся в скрипте FPI, равна X
TIMERGREATER=X - истинно, если внутренний FPI-таймер достиг X миллисекунды
WAYPOINTSTATE=X - истинно, если значение состояния Вей-Поинта равно X (Состояние 0 означает, что компонент еще не начал следовать по Вей-Поинтам. Состояние 1 означает, что компонент ищет ближайший маркер Вей-Поинта, чтобы стартовать оттуда. Состояние 2 означает, что компонент следует линии Вей-Поинта к текущему маркеру Вей-Поинта. Состояние 3 означает, что компонент достиг маркера Вей-Поинта и должен решить, что делать. Состояние 4 означает, что компонент достиг маркера Вей-Поинта, а тот разделился больше, чем на 1 направление. Состояние 5 означает, что компонент достиг самого конца текущей структуры Вей-Поинтов, и требуется принять решение. Состояние 999 означает, что компонент был помещен в режим Ноль-Вей-Поинта, где компонент просто игнорирует Вей-Поинта)
Список действий:
ACTIVATE=X - активировать этот компонент, используя значение X
ACTIVATEALLINZONE=X - активировать все эти компоненты в зоне с X
ACTIVATEIFUSED=X - активировать компонент, описанный в свойствах If Used (Если использован)
ACTIVATEIFUSEDNEAR=X - активировать компонент, описанный в свойствах If Used (Если использован)
ALTTEXTURE=X - устанавливает, какая текстура используется. Зависит от того, равен X нулю или единице
AMBIENCE=X - устанавливает повсюду на сцене естественное освещение уровня X
AMBIENCEBLUE=X - устанавливает величину синего компонента естественного освещения в X
AMBIENCEGREEN=X - устанавливает величину зеленого компонента естественного освещения в X
AMBIENCERED=X - устанавливает величину красного компонента естественного освещения в X
ANIMATE=X - автоматически проигрывает анимацию X
BACKDROP=X - загружает и вставляет фон экрана, используя файл с именем X
CHOOSESTRAFE - случайный выбор направления обстрела (то есть влево/вправо/вперед)
COLLECTTARGET - если цель можно забрать, то забрать, если она близко
COLOFF - отключить все взаимодействия игрока с этим компонентом
COLON - активирует все взаимодействия игрока с этим компонентом
CONTINUEGAME=X - продолжение игровых действия для перехода на следующую страницу
DECALPHAFADE=X - замедляет исходное исчезновение, X является местом назначения
DECFRAME=X - уменьшает на один кадр анимацию X
DESTROY - уничтожить компонент
DROPMARKER - бросает маркер компонента (к нему потом можно вернуться)
FLOATRATE=X - заставляет компонент плыть в воздухе с коэффициентом парения X
FOG=X - устанавливает режим тумана на сцене, когда X равен 1
FOGBLUE=X - устанавливает величину синего компонента тумана в X
FOGGREEN=X - устанавливает величину зеленого компонента тумана в X
FOGRED=X - устанавливает величину красного компонента тумана в X
FOLLOWPLR - следует по следам игроков, если следы существуют
FORCEBACK=X - прикладывает к компоненту силу (увеличенную) в X сзади
FORCEBOUNCE=X - прикладывает к компоненту силу, чтобы заставить его отскочить назад X
FORCEFORE=X - прикладывает к компоненту силу (увеличенную) в X впереди
FORCELEFT=X - прикладывает к компоненту силу (увеличенную) в X слева
FORCERIGHT=X - прикладывает к компоненту силу (увеличенную) в X справа
FREEZE - остановить движение компонента
HUDANIM=X - устанавливает имя файла X последовательности анимации (исключая #.Tga)
HUDBLUE=X - станавливает синий компонент детали вашего HUD (панели на экране игрока)
HUDFONT=X - устанавливает имя шрифта детали Вашего HUD (панели на экране игрока)
HUDGREEN=X - устанавливает зеленый компонент детали Вашего HUD (панели на экране игрока)
HUDHIDE=X - устанавливает X к имени детали HUD (панели на экране игрока), чтобы спрятать ее
HUDIMAGE=X - устанавливает имя файла с изображением детали вашего HUD (панели на экране игрока)
HUDMAKE=X - rогда все HUD детали установлены, используйте это действие, чтобы окончательно создать HUD (панель на экране игрока)
HUDNAME=X - устанавливает имя детали HUD (панели на экране игрока), которую Вы создаете
HUDRED=X - устанавливает красный компонент детали вашего HUD (панели на экране игрока)
HUDRESET=X - укызывается, чтобы восстановить систему создания HUD (панели на экране игрока)
HUDSHOW=X - устанавливает X к имени детали HUD (панели на экране игрока), чтобы открыть ее
HUDSIZE=X - устанавливает размер шрифта (кегль) детали вашего HUD (панели на экране игрока)
HUDSIZEX=X - устанавливает размер детали вашего HUD (панели на экране игрока) по оси X
HUDSIZEY=X - устанавливает размер детали вашего HUD (панели на экране игрока) по оси Y
HUDSIZEZ=X - устанавливает размер детали вашего HUD (панели на экране игрока) по оси Z
HUDTEXT=X - устанавливает текст, который будет использован вместо отсутствующего изображения на детали Вашего
HUDTYPE=X - станавливает тип HUD (1 - жизни, 2 - здоровье, 3 - оружие)
HUDUNSHOW=X - устанавливает X к имени детали HUD (панели на экране игрока), чтобы найти ее
HUDX=X - устанавливает процентное отношение положения по оси Х там, где вы хотите, чтобы была ваша деталь HUD (панели на экране игрока)
HUDY=X - устанавливает процентное отношение положения по оси Y там, где вы хотите, чтобы была ваша деталь HUD (панели на экране игрока)
HUDZ=X - устанавливает процентное отношение положения по оси Z там, где вы хотите, чтобы была ваша деталь HUD (панели на экране игрока)
INCALPHAFADE=X - ускоряет исходное исчезновение, X является местом назначения
INCFRAME=X - добавляет еще один кадр к анимации X
LIGHTBLUE=X - свет синий
LIGHTGREEN=X - свет зеленый
LIGHTOFF=X - свет выключен
LIGHTON=X - свет включен
LIGHTRANGE=X - диапазон света
LIGHTRED=X - свет красный
LOADGAME=X - запустить загрузку сохраненной игры
LOOKATPLR=X - смотрит прямо на игрока, даже если игрок не виден
LOOKATTARGET - поворачивает голову компонента лицом к цели
LOOPSOUND=X - зацикливает 3D-звук, определенный в файле с именем X
MOVEBACK=X - двигает компонент назад на X единиц
MOVEFORE=X - двигает компонент вперед на X единиц
MOVETOTARGET - передвигает к цели
MOVEUP=X - двигает компонент вверх на X единиц
MUSIC=X - загружает и проигрывает WAV, используя имя файла X
MUSICVOLUME=X - устанавливает громкость музыки в диапазоне 0-100
NEWGAME=X - запустить новую игру (обычно с главной страницы)
NEXTMARKER - указывает компоненту идти к последнему брошенному маркеру
NONE - никаких действий
PAUSEGAME=X - запустить паузу в игре и обычный вход в игровое меню
PIVOTRANDOM=X - произвольно поворачивает вокруг на X˚ лицом к другому направлению
PLRADDHEALTH=X - добавляет X баллов (очков) здоровью игрока
PLRASS=X - привязать данный компонент к игроку (лифт)
PLRDROP - используется, чтобы бросить один из предметов (предмет из запасов) игрока
PLRMOVEDOWN=X - двигать игрока вверх (вниз) на X единиц
PLRMOVEEAST=X - двигать игрока восточнее на X единиц
PLRMOVEIFUSED=X - если игрок совершает действие USE (Использовать), передвинуть, как указано выше
PLRMOVENORTH=X - двигать игрока севернее на X единиц
PLRMOVESOUTH=X - двигать игрока южнее на X единиц
PLRMOVETO=X - двигать игрока в новое место, описанное компонентом под именем X
PLRMOVEUP=X - двигать игрока вверх на X единиц
PLRMOVEWEST=X - двигать игрока западнее на X единиц
PLRNOASS=X - «отвязать» компонент от игрока
PLRTAKE - используется для добавления компонента к предметам (запасам) игрока и настраивает их связь
QUITGAME=X - запустить возврат текущей игры назад на главную страницу
RELOADWEAPON - перезаряжает оружие из склада компонентов бесконечными боеприпасами
RESETHEAD восстанавливает угол наклона головы компонента, если она есть
RESETMARKERS - восстанавливает все маркеры, брошенные этим компонентом
RESUMEGAME=X - запустить возобновление игры после паузы
ROTATEHEAD=X - вращает голову компонента на X градусов
ROTATEHEADRANDOM=X - вращает голову компонента произвольно на X градусов
ROTATEIY=X - поворачивает компонент вокруг оси Y с шагом в X градусов
ROTATETOPLR - поворачивает компонент лицом к игроку
ROTATETOTARGET - поворачивает компонент лицом к цели
ROTATEY=X - устанавливает угол компонента относительно оси Y в X градусов
RUNDECAL=X - создает надпись из компонента, X – специфические режимы 1-6
RUNFPI=X - запустить другой Скрипт FPI по имени X (а именно, appear1.fpi)
RUNFPIDEFAULT=X - запустить основной Скрипт FPI при значении X (0 - init, 1 - main, 2 - end)
SAVEGAME=X - запустить сохранение текущей игры
SETALPHAFADE=X - устанавливает исходное (альфа) значение в X , что приводит к прозрачности компонента
SETFRAME=X - устанавливает начальный кадр анимации X
SETTARGET - устанавливает внутреннюю цель для компонентов, следуя «условиям» цели
SHOOTPLR - запускает внутренний FPI-скрипт SHOOT (ВЫСТРЕЛ), определенный в свойствах героя
SKY=X - устанавливает Скай-Бокс в модель неба, определенную именем файла X
SKYSCROLL=X - устанавливает текстуру движущегося неба в файл, определенный именем файла X
SOUND=X - проигрывает звук, указанный файлом с именем X. Использует $0, чтобы определить набор звуков
SPINRATE=X - вращает компонент вокруг оси Y со скоростью X
STATE=X - устанавливает значение внутренней переменной State (состояние) в X
STRAFE - производит ранее отобранные наклоны, чтобы избежать выстрелов игрока
SUSPEND - отключить компонент, но держать его видимым
TIMERSTART - установить FPI-Скрипт таймера на ноль, позволяя отсчитывать время
USEWEAPON - стреляет любым оружием компонента в направлении цели
WAYPOINTNEXT - указывает компоненту найти следующий Вей-Поинт
WAYPOINTPREV - указывает компоненту найти предыдущий Вей-Поинт
WAYPOINTRANDOM - указывает компоненту выбрать произвольное направление Вей-Поинта
WAYPOINTREVERSE - заставляет компонент поменять курс и идти в другу сторону
WAYPOINTSTART - информирует компонент о нахождении ближайшего Вей-Поинта
WAYPOINTSTOP - останавливает следование компонента по Вей-Поинтам
3DSOUND=X - проигрывает 3D-звук, определенный в файле с именем X. Использует $0 на набор звуков
Также разные Скрипты можно найти
здесь Все! 2-ой урок по FPSC закончен. Теперь Вы знаете Скриптинг в FPS Creator!
Эта статья была полезной? Не забудь повысить репутацию ๖ۣۜПpỡpờķع!