if global.weapon=4 { if global.sspas=1//в рюкзаке ли дроб { global.weapon=5 } else { g lobal.weapon=1 } }
if global.weapon=3 { if global.sm4=1//в рюкзаке ли M4 { global.weapon=4 } else { if global.sspas=1//в рюкзаке ли дроб { global.weapon=5 } else { g lobal.weapon=1 } } }
if global.weapon=2 { if global.smac10=1 // в рюкзаке ли узи { global.weapon=3 } else { if global.sm4=1 // в рюкзаке ди М4 { global.weapon=4 } else { if global.sspas=1 //в рэкзаке ли дроб { global.weapon=5 } else { g lobal.weapon=1 } } } }
if global.weapon=1 { if global.sak47=1 // в рюкзаке ли ак47 { global.weapon=2 } else { if global.smac10=1 //в рюкзаке ли узи { global.weapon=3 } else { if global.sm4=1 // в рюкзаке ли м4 { global.weapon=4 } else { if global.sspas=1 // в рюкзаке ли дроб { global.weapon=5 } else { g lobal.weapon=1 } } } } }
вот так
>
Сообщение отредактировал Lgunchik - Воскресенье, 23 Января 2011, 10:15
//Номер оружия, которое будет по умолчанию (не путать с массивом weapon[]? это не одно и то же!) weapon=1;
событие "колесо мышки вверх" //Переключение не предыдущее оружие
Code
{ if weapon>1 { weapon-=1 while (ammo[weapon]=0) { if weapon>1 weapon-=1 else weapon=4 } } else { weapon=4 while (ammo[weapon]=0) { if weapon>1 weapon-=1 else weapon=4 } } //здесь меняем спрайт оружия }
Событие "колесо мышки вниз" //Переключение на следующее оружие
Code
{ if weapon<4 { weapon+=1 while (ammo[weapon]=0) { if weapon<4 weapon+=1 else weapon=1 } } else { weapon=1 while (ammo[weapon]=0) { if weapon<4 weapon+=1 else weapon=1 } } меняем спрайт оружия на спрайт weapon[weapon] }
В событиях "смены оружия", везде где стоит 4 нужно ставить количество видов оружия (максимальный номер оружия).
Когда создаешь пулю (стреляешь) создавай объект с именем bullet[weapon], например
Code
instance_create(x,y,bullet[weapon]);
Можно еще сделать чтобы когда патроны закончились было автоматическое переключение на следующее оружие. Для этого нужно в шаг добавить код:
Code
if (ammo[weapon]=0) { //Здесь код переключения на следующее оружие (написан выше) }
Тут будет одна проблема: если закончатся все патроны начнется переключение оружия по кругу без остановки - будет постоянно выполняться цикл и игра зависнет. Чтобы этого не было нужно сделать одно оружие с бесконечными патронами (или, если нужно чтобы игрок мог остаться без оружия, сделать оружие без спрайта и с одним патроном, а так же запретить стрелять из него - перед выстрелом проверять номер оружия, и если это оружие номер ... не создавать пулю). Можно сделать например нож - у него будут бесконечные "патроны".
Dva_Kota, Чёт я тоже не пойму как это сделать! Можешь примером?!Если не сложно!Пригодится!!!С меня + Офф. Сайт Битва за Олейрент - Это мой сайт посвящённый серии игр Битва за Олейрент. Видео прохождение игр - Это мой сайт посвящённый прохождению игр.
Добавлено (29.01.2011, 20:46) --------------------------------------------- Все привет, люди столкнулся вот с такой проблемой! Помогите мне её решить! у меня в игре сть мина(их 3 штуки), я сделал так что б перс устанавливал их рядом с собой! Это всё нормально! Но вот какая проблема я ставлю их все 3, на разном растоянии!Но при столкновении врага с одной из мин, происходит эффект взрыва на том месте, на котором я установил первую мину!
Нет ни кого я там не уничтожил!Перс столкнулся с 3 миной и весь эффект был на первой!ПОчему? Офф. Сайт Битва за Олейрент - Это мой сайт посвящённый серии игр Битва за Олейрент. Видео прохождение игр - Это мой сайт посвящённый прохождению игр.
Если пишешь object41.x - это координаты первого созданного объекта object41 (object41 = id первого объекта object41)
Добавлено (30.01.2011, 10:48) --------------------------------------------- если ставишь просто x y - это будут координаты того образца объекта я которого выполняется код.
Добавлено (31.01.2011, 00:12) --------------------------------------------- Привет всем, сложилась вот такая проблема.
У меня есть таймер(вот его код):
Create:
Code
s=0 m=0 alarm[0]=1
Alarm 0
Code
s+=1 alarm[0]=29
Step
Code
if s>=60 { m+=1 s=0 } if m=1 and s=0 { instance_create(x,y,object32); }
Вроде всё хорошо работает,НО при определённом времени должен создать объект(object32). Он создаётся,НО не один, а 29 штук. Так как написано в коде:
Code
Alarm 0 s+=1 alarm[0]=29 <---Вот
Если это число поменять, допустим на 1, создаётся один объект так как надо, НО теперь таймер работает очень быстро! Почему так происходит, и как это исправить?
NeZnayu, хорошо, спасибо.+ пока не могу поставить, как только так сразу)
Добавлено (31.01.2011, 01:30) --------------------------------------------- Да, но только объект создаётся через минуту, а мне надо через 15!И не могу понять что поменять то надо?Всё перепробывал!
Новичкам изучающим GML кликать сюда. Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)