Главная » Статьи » Прочее » PainEditor |
Экшены геймплея. Описание и применение. | |
Рассмотрим некоторые экшены оригинального PK. Все экшены вводятся в колонках OnTouch, OnKill, OnPlay для боксов, предметов и всего, где есть такие колонки. Статья в первую очередь создана для тех, кто хоть как-то знаком с редактором уровней. Если же нет, то вам сюда. Для экшенов с настройкой позиции: Для лёгкого определения позиции можно создать какой-либо предмет в нужной точке и скопировать его позицию (строка:Pos). Либо:p.Pos.X,p.Pos.Y,p.Pos.Z - текущая позиция игрока. Либо заменить "p" на имя любого предмета на уровне, чтобы задействовать его позицию. Для экшенов с назначением партиклей: Узнать имя партикля можно, запустив PainEditor и в левом углу, открыв редактор партиклей ParticleFX, в верхнем поле просмотреть эффекты и их имена. --====================================================== Экшен Snd2D(sound) Например: Snd2D:"actor/Oficer/bomb-explode1" -------- Воспроизводит выбранный звук. ----------------------------------------------------------------------------- Экшен SetEnvFX(obj,fxName,sound) Например: SetEnvFX:RainEnvironment_001,"camrain","misc/rain-loop" -------- С помощью этого экшена можно на ходу менять партикль и звук для боксов c погодой (Environments). Подробнее: SetEnvFX:имя созданного бокса,"название партикля","путь к звуку". Можно поставить один бокс на уровень и менять его содержимое по мере необходимости. Также можно отключить партикли и звуки, если оставить поля пустыми. Этот экшен необходим, если на уровне стоит несколько таких боксов с разными эффектами. ----------------------------------------------------------------------------- Экшен Message(textID) Например: Message:782 -------- Показывает на экране сообщение (указываем ID текста в языковом файле (номер строки), т.е. Lang_Russian или Lang_English). Если вы добавляете собственный текст, который может оказаться очень длинным, то для переноса строки необходимо вставить символ \n. ----------------------------------------------------------------------------- Экшен BindSound(entity,soundname,fstart,fend) Например: BindSound:Flame_factory_001,"items/dynamite_fuse_loop",15,40,1 -------- Привязывает звук к партиклю, который впоследствии будет циклично воспроизводиться. Поддерживается только моно. Цифры определяют начальный и конечный радиус проигрывания звука. ----------------------------------------------------------------------------- Экшен UnbindAllSounds(entity) Например: UnbindAllSounds:Flame_factory_001 -------- Убивает все ранее привязанные к партиклю звуки. ----------------------------------------------------------------------------- Экшен PFX(effect,scale,x,y,z) Например: PFX:"checkpoint_fx1",1,-7.6638,2.1416,-1.8146 -------- Создать партикль в указанной точке. Подробнее: PFX:"имя партикля",размер,позиция ----------------------------------------------------------------------------- Экшен EarthQuake(timeout,range,move,rot,x,y,z) Например: EarthQuake:3,150,0.2,0.2 Либо EarthQuake:3,150,0.2,0.2,-7.6638,2.1416,-1.8146 - с указанием конкретной позиции -------- Создать землетрясение (трясение камеры). Подробнее: EarthQuake:время трясения, рабочий радиус, движения камеры, повороты камеры ----------------------------------------------------------------------------- Экшен Light(x,y,z,r,g,b,range1,range2,intensity,fin,fmax,fout) Например: Light:109.3100,2.6415,-11.2778,100,120,250,13,13,6,0.05,0.55,0.3 -------- Создать свет в указанной точке. Подробнее: Light:Позиция,красный цвет,зелёный цвет,синий цвет,начальный радиус,конечный радиус,интенсивность света,время появления,задержка,время затухания ----------------------------------------------------------------------------- Экшен Kill(p) Например: Kill:CheckPoint_001 -------- Убивает указанный обьект. ----------------------------------------------------------------------------- Экшен SetImmortal(o,state) Например: SetImmortal:ammo_box_1_001,true -------- Сделать предмет неуничтожимым. Значение true - активирует бессмертие. False - отключает. ----------------------------------------------------------------------------- Экшен Launch(obj,...) Например: Launch:AmbushForPlayer_001 -------- Запуск или активация обьекта. Применимо для боксов, чекпоинтов, выхода с уровня. ----------------------------------------------------------------------------- Экшен SetFrozen(obj,frozen) Например: SetFrozen:AmbushForPlayer_001,true -------- Приостановить работу обьекта. Применяется опять же для боксов, чекпоинтов, выхода с уровня. ----------------------------------------------------------------------------- Экшен SetEvolvePFX(entity,state) Например: SetEvolvePFX:Ai_StopBullet_FX_001,true -------- Активирует и деактивирует партикль. Значение true - активирует. false - отключает. ----------------------------------------------------------------------------- Экшен WalkAndJump(obj,area,point,anim,pow,uppow) Например: WalkAndJump:p,zgory,1,"atak1",16,11 -------- Заставить монстра идти в нужном направлении и совершить прыжок. Подробнее: RunAndJump:имя монстра,имя установленной точки "CArea",1,"проиграть анимацию монстра",сила прыжка,высота прыжка ----------------------------------------------------------------------------- Экшен Run(obj,area,point) Например: Run:MonstersSpawnPoint_001_0,Marea,1 -------- Заставить монстра бежать в нужном направлении. Подробнее: Run:имя уже респанувшегося монстра,имя предварительно созданной точки "CArea",1. Монстр будет бежать по направлению к точке, не реагируя на игрока и получаемый урон. А потом придёт "в сознание" так сказать, и начнёт делать то, для чего был рождён, атаковать игрока. ----------------------------------------------------------------------------- Экшен RunAndJump(obj,area,point,anim,pow,uppow,doNotUseWP) Например: RunAndJump:p,zgory,1,"atak1",16,11,true -------- Заставить монстра бежать в нужном направлении и совершить прыжок. Подробнее: RunAndJump:имя монстра,имя установленной точки "CArea",1,"проиграть анимацию монстра",сила прыжка,высота прыжка,true ----------------------------------------------------------------------------- Экшен EnableDraw(entity,state,alsoChildren) Например: EnableDraw:ammo_box_1_001,false -------- Сделать предмет невидимым. Значение false - скрывает предмет, true - показывает. Учтите, что предмет физически остаётся на карте, только становится невидимым. Также можно скрывать и партикли. Вдобавок если вы скрыли предмет, к которому был привязан партикль, то предмет исчезнет, а партикль останется. ----------------------------------------------------------------------------- Экшен AI(obj,state) Например: AI:MonstersSpawnPoint_001_0,true -------- Отключить AI монстру. Он будет просто стоять и нечего не делать. значение true - включает. false - отключает. Подробнее: AI:имя уже респанувшегося или созданного монстра,true ----------------------------------------------------------------------------- Экшен Damage(obj,damage) Например: Damage:Test_monster_001 Либо Damage:Test_monster_001,99 - с указанием урона -------- Нанести урон, будь то монстр или разрушаемый обьект. Подробнее: Damage:имя предмета или уже респанувшегося или созданного монстра. По умолчанию наносится урон, равный запасу здоровья обьекта. ----------------------------------------------------------------------------- Экшен Wait(sec) Например: Wait:3 -------- Ждать в секундах для выполнения следующего действия. ----------------------------------------------------------------------------- Экшен WaitForCorpses(cnt) Например: WaitForCorpses:3 -------- Ждать, пока не будет убито указанное количество врагов для выполнения следующего действия. ----------------------------------------------------------------------------- Экшен WaitForSouls(cnt) Например: WaitForSouls:3 -------- Ждать, пока не будет собрано указанное количество душ для выполнения следующего действия. ----------------------------------------------------------------------------- Экшен Close(obj,cnt, showCnt, endLev) Например: Close:Slab_001,999 Либо Close:Slab_001,5,true - проиграть звук после убийства указанного кол-ва врагов. (только для слабов). -------- Закрыть дверь(слаб). Подробнее: Close:имя слаба, количество убитых противников, после которых данный слаб откроется (подобно экшену WaitForCorpses) ----------------------------------------------------------------------------- Экшен Open(obj) Например: Open:Slab_001 -------- Открыть дверь(слаб). ----------------------------------------------------------------------------- Экшен OpenAllSlabsOnly() Например: OpenAllSlabsOnly -------- Открыть все двери на уровне. ----------------------------------------------------------------------------- Экшен OpenAllSlabs() Например: OpenAllSlabs -------- Открыть все двери на уровне и уничтожить все амбуши(AmbushForPlayer). ----------------------------------------------------------------------------- Экшен Fire(obj,tm) Например: Fire:Z_Test_monster_001,3 -------- Поджечь предмет или монстра. Подробнее: Fire:имя предмета или уже респанувшегося или созданного монстра,время горения ----------------------------------------------------------------------------- Экшен KillAllActors() Например: KillAllActors -------- Уничтожить всех респанувшихся врагов на уровне. К боссам это не относится. ----------------------------------------------------------------------------- Экшен ExplosionFX(x,y,z,fxscale) Например: ExplosionFX:-7.6638,2.1416,-1.8146,1 -------- Создать взрыв в указанной точке. Подробнее: ExplosionFX:позиция,размер эффекта ----------------------------------------------------------------------------- Экшен DemonOn() Например: DemonOn -------- Превратиться в демона. ----------------------------------------------------------------------------- Экшен DemonOff() Например: DemonOff -------- Выключить превращение. ----------------------------------------------------------------------------- Экшен Statue(obj,state) Например: Statue:Z_Test_monster_001,true -------- Превратить врага в статую (заморозить). Значение true - активирует. false - отключает. ----------------------------------------------------------------------------- Экшен -remove- Например: -remove- -------- Удалить строку из колонки OnTouch, OnKill, OnPlay и всех аналогичных. ----------------------------------------------------------------------------- Описаны не все экшены, а только те, которые знаю. Но и этих вполне хватит для создания полноценного геймплея. -----------------------------------------------------------------------------
Дополнительно
-----------------------------------------------------------------------------
Экшен L:(Lua) Например: L:Game.FearCard = true -------- Позволяет задействовать какой-нибудь параметр из системных скриптов. -----------------------------------------------------------------------------
Либо: L:lever_5_001:OnUse() -------- Позволяет задействовать какую-нибудь функцию, специально написанную для того или иного предмета.
Подробнее:
L:имя предмета:имя его функции
-----------------------------------------------------------------------------
| |
Просмотров: 3558 | Комментарии: 7 | Теги: |
Всего комментариев: 7 | |||||
| |||||