ushkuynik, Цитата
Как сделать выстрел пули из оружия, а не из центра спрайта?
Смотри в справке/гугле lengthdir_x, lengthdir_y
Цитата
Как сделать, чтобы при нажатии одной клавиши менялся спрайт, при нажатии другой менялся обратно?
В событии нажатия клавиши вставляй sprite_index= (тут пишешь имя спрайта на который хочешь поменять)
Цитата
Как сделать дальность полета пули?
Как сделать, чтобы урон пули уменьшался с дальностью?
Тут копай в сторону point_distance . Он измеряет расстояние между двумя точками. Например между стволом/героем и той же пулей. Потом просто проверяй это расстояние условием.
Цитата
Как сделать разброс пуль у автомата после выстрела первой пули или когда игрок в движении у него сразу был бы разброс пуль?
Тут в связке использовать те же lengthdir_x\y плюс операторы рандома (random)
Цитата
Как сделать фонарик?
Берешь две батарейки, лампочку и провода и соединяешь все это по схеме. Можно еще в корпус какой-то все это дело уложить.
Нет правда! Если серьезно, то с такими вопросами тебе лучше начать с изучения основ. Просто начал отвечать, а потом почитал последующие вопросы и понял, что даже мои ответы-наводки тебе никак не помогут.
Лучшая подсказка тебе-начинай с основ и игр гораздо более простых.
Цитата
И где искать ответы на эти и многие другие вопросы?
GOOGLE,YANDEX,MAIL и прочие поисковики
Цитата
Что для этого нужно изучать?
Как бы ни банально это звучало, но встроенный в GMS язык GML.)