Вы вошли как: Гость      
[ Новые сообщения · Участники · Правила форума · Поиск]
  • Страница 1 из 1
  • 1
Работа с .cns и .cmd!
ScorpionДата: Вторник, 12.06.2012, 11:47 | Сообщение # 1
Профессионал
Группа: Главный Администратор - Сайта
Сообщений: 126
Статус: Не в сети
Работа с .cns и .cmd!
Автора я не знаю

Сns

Справа колонка со скроллером, это все стейты, которые существуют для МУГЕН!


При нажатии на жёлтую линейку, в левом меню открывается такое окно, где вы можете узнавать позиции спрайтов в игре, например кК поставить Наруто на жабу. Для начала ищем спрайт. Слева спрайт который будет стоять, а справа который мы будем двигать, чтобы узнать его позицию.

Begin Action (no) – номер анимации
Frames – кадр анимации

После того, как мы поставили Наруто как надо, запоминаем или записываем X и Y, а потом вписываем его в Helper или Explod (Что это такое читайте дальше).

---------------------------------------------
Описываю только самое важное, сразу говорю!

Начнём с начала 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

---------------------------------------------
[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, то тада например рука врага перекроет моего перса

---------------------------------------------
[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

[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 – не будет

---------------------------------------------
[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" - команда

---------------------------------------------
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 – старт или интер!



 
  • Страница 1 из 1
  • 1
Поиск:

Сайт создан в системе uCoz