Это очень просто.
В Game Maker'е есть такая фича как глобальные переменные, т.е. переменные которые можно использовать не только в одном скрипте/объекте, а во всех скриптах/объектах которые находятся в одной комнате со скриптом который объявлял её.
Например создай объект oPl сделай Create и напиши что-то типа:
Код
global.money = 100;
//Так-же можно объявить эту переменную так:
globalvar money;
global.money = 100;
Далее создай какую-нибудь кнопку и в событии левой кнопки мыши сделай так:
Вуаля у тебя снимутся деньги.
Для второго случая, никакого текста в скрипте изменять не надо.
Есть волшебная переменная sprite_index для изменения спрайта у объекта(object_index для изменения объекта, но её изменять кажется нельзя, точно не помню).
Допустим при нажатии на кнопку смены оружия на пистолет:
Код
with(oGun){ //with(oGun) - это означает что действие ниже происходит конкретно с объектом oGun
sprite_index = spr_deagle;
}
Читай справку, там всё написано. Есть даже русский перевод.