Дата: Суббота, 03.12.2011, 20:30 | Сообщение # 1
- Легенда
- 5095Сообщений:
- 4 +Награды:
-
Работа с .cns и .cmd!
Сns
Справа колонка со скроллером, это все стейты, которые существуют для МУГЕН!
При нажатии на жёлтую линейку, в левом меню открывается такое окно, где вы можете узнавать позиции спрайтов в игре, например кК поставить Наруто на жабу. Для начала ищем спрайт. Слева спрайт который будет стоять, а справа который мы будем двигать, чтобы узнать его позицию.
Begin Action (no) – номер анимации Frames – кадр анимации
После того, как мы поставили Наруто как надо, запоминаем или записываем X и Y, а потом вписываем его в Helper или Explod (Что это такое читайте дальше).
Добавлено (10.08.2011, 01:57) --------------------------------------------- Описываю только самое важное, сразу говорю!
Начнём с начала cns P.S. – две цифры через запятую, эт значит икс и игрик!
[Data] life = 1000 – жизни персонажа power = 3000 - чакра или энергия персонажа attack = 100 – сила атаки персонажа defence = 100 защита персонажа fall.defence_up = 50 liedown.time = 60 airjuggle = 15 sparkno = 2 guard.sparkno = 40 KO.echo = 0 volume = 0 IntPersistIndex = 60 FloatPersistIndex = 40
[Size] xscale = 1 - размер персонажа по иксу (слева направо) yscale = 1 - размер персонажа по игрику (сверху вниз) ground.back = 15 ground.front = 16 air.back = 12 air.front = 12 height = 60 attack.dist = 160 proj.attack.dist = 90 proj.doscale = 0 head.pos = -5, -90 mid.pos = -5, -60 shadowoffset = 1 draw.offset = 0,0
Добавлено (10.08.2011, 01:57) --------------------------------------------- [Velocity] walk.fwd = 2.4 – скорость ходьбы вперёд персонажа walk.back = -2.2 - скорость ходьбы назад персонажа run.fwd = 6.2, 0 - скорость бега вперёд персонажа run.back = -7, -4.6 – скорость бега назад персонажа jump.neu = 0,-9 - дальность прыжка вверх персонажа jump.back = -3 – дальность прыжка назад персонажа jump.fwd = 3 – дальность прыжка вперёд персонажа runjump.back = -6.55,-7.5 – дальность прыжка с разбега назад персонажа runjump.fwd = 6,-7.5 - дальность прыжка вперёд с разбега персонажа airjump.neu = 0,-9 - дальность прыжка в воздухе вверх персонажа airjump.back = -3 - дальность прыжка в воздухе назад персонажа airjump.fwd = 3 – дальность прыжка в воздухе вперёд персонажа
[Movement] airjump.num = 1 – количетсво прыжков в воздухе airjump.height = 35 – минимальное расстояние от земли для совершения прыжка в воздухе yaccel = .44 – сила притяжения stand.friction = .85 crouch.friction = .82
Начнём теперь уже с нормального, как созавать атаки и т.д.
Возьмём для примера атаку:
[StateDef 200] – номер стейта (любой тока чтобы не повторялся) type = S – расположение вроде, кароч если атака в воздухе то везде в type, movetype и в physics стоит A, а так S movetype= A – а это вроде а значит что атака, тама есть ещё H, но я не знаю шо це таке! physics = S juggle = 1 velset = 6,0 – толчок вначале атаки, точнее движение (ну опять же первая цифра X, а вторая Y) ctrl = 0 – такая штука, если она стоит 1 тогда ты можешь двинуться во время удара и выйти из него, а если 0 то не можешь anim = 200 – номер анимации poweradd = 30 – сколько отнимится или прибавится энергии или чакры sprpriority = 2 – приоритет спрайтов, допустим у меня 2 а у врага 3, то тада например рука врага перекроет моего перса
Добавлено (10.08.2011, 01:57) --------------------------------------------- [State 200, PlaySnd] – это звук type = PlaySnd trigger1 = AnimElem = 2 – номер кадра в анимации value = S200,1 – номер звука, S обязательна перед номером звука volume = 1000 - громкость
[State 200, PlaySnd] type = PlaySnd trigger1 = AnimElem = 2 value = S1177, 10
[State 200, 1] - атака type = HitDef trigger1 = animelem = 3 attr = S, NA damage = 25 – сколько потратит удар врагу animtype = Light – воспримчивоть врага от удара, Light – как от лёгкого, Medium – средний, Hard - тяжёлый guardflag = MA hitflag = MAF priority = 3, Hit pausetime = 0, 0 – пауза, первая цифра значит, что после одного попадания ты тормознёшься на такое-то время, а вторая касается врага, а точнее его оглушение на определённое время sparkno = s14 – номер эффекта при попадании sparkxy = -20, -26 – расположение эффекта hitsound = S200, 0 – звук при попадании guardsound = 6, 0 – звук при защите от удара ground.type = High ground.slidetime = 5 ground.hittime = 12 ground.velocity = 10,-.8 – отлетание врага, если он стоит на земле при получении урона airguard.velocity = -1.9,-.8 – отлетание врага, если он в воздухе при защите air.type = High air.velocity = -1.4,-3 отлетание врага, если он в воздухе при получении урона air.hittime = 12
Добавлено (10.08.2011, 01:57) --------------------------------------------- [State 200, end] – конец стейта type = ChangeState trigger1 = AnimTime = 0 – не закончится пока анимация вся не проиграет value = 0 – когда закончится перейдёт в этот стейт, в данном случае стойка ctrl = 1 – может двигаться после перехода
Дополнительные сведения
[State 0, Helper] – вызов стейта type = Helper trigger1 = animelem = 4 helpertype = normal ;player – если normal, тогда обыный стейт, а если player, то за ним будет следовать камера, будет как игрок, ведь так и переводиться - игрок ID = 1023 – номер, не обязателен stateno = 1023 – номер стейта, который будет вызываться pos = 3,56 – позиция его postype = p1 – где будет появляться, p1 – возле тебя, p2 – возле врага, left – слева экрана, right – справа экрана facing = 1 – если равен одному то стейт всегда будет повёрнут передом к врагу, если назад то обратное supermovetime = 150 – время, которое оно будет воспроизводиться в супер паузе sprpriority = 6
[State 0, Explod] – вызов эффекта type = Explod trigger1 = animelem = 3 anim = 95 – анимация эффекта ID = 95 pos = 0,0 postype = p1 ;p2,front,back,left,right sprpriority = 6 supermovetime = 100
[State 0, SuperPause] – супер пауза type = SuperPause trigger1 = AnimElem = 1 – начинается с кадра первого time = 150 – сколько времени она будет anim = s31 – эффект при её появлении sound = -1 – звук при её появлении pos = 4,-24 – позиция эффекта movetime = 150 – сколько будешь двигаться ты во время супер паузы darken = 1 – затемнение экрана, если 1 – то будет, если 0 – не будет
Добавлено (10.08.2011, 01:58) --------------------------------------------- [State 0, EnvShake] - тряска type = EnvShake trigger1 = time = 0 time = 58 – сколько она будет длиться времени freq = 60 ampl = -5 – чем больше будет эта цифра тем болье будет трясти, например при -25, будет конкретно трясти phase = 90
Основные Триггеры Trigger1 = time = 10 – когда будет время в анимации 10 то он подействует Trigger1 = time >= 10 – будет действовать когда время в анимации будет больше либо равно десяти Trigger1 = time = [0,30] – будет действовать в промежутке времени – от 0 до 30 Trigger1 = AnimElem = 3 – будет действовать на 3 кадре анимации Trigger1 = movecontact – будет действовать при прикосновении к врагу Trigger1 = movehit – будет действовать при попадании во врага, только не в блок
Сmd
Здесь оч мало расскажу, так как всё из cns берётся за основу! Пример атаки
[State -1, Stand Attack 1] type = ChangeState value = 210 – номер стейта triggerall = command = "a" - команда
Добавлено (10.08.2011, 01:58) --------------------------------------------- trigger1 = statetype = S – их три, если атака с приседанием например вниз б – тогда С, если просто а или б – тогда S, а если в воздухе – тогда A trigger1 = ctrl trigger2 = stateno = 200 – будет выполняться только после стейта 200 trigger2 = movecontact – и при условии прикосновении к врагу
это вверху цмдешника
[Command] name = "dfa" – название комманды command = D, F, a – сама команда time = 10
[Command] name = "holdx" – все холды это команды, которые надо зажимать command = /$x time = 1
Command: D - вниз F – на него B – от него U – если такая есть, то вверх a,b,c,x,y,z,s – так и есть а б ц…
Кто не знает s – старт или интер!
|