нашёлся человек который смог дать более менее нормальный ответ:
типа пытаемся обратиться к внутренней переменной класса, соответственно в описании класса надо добавить ссылки на вызов:
в class Spriteset_Map
добавляем attr_reader :viewport1
в class Scene_Map
добавляем attr_reader :spriteset
после чего скрипт работает.
$game_variables[30] = nil
$game_variables[30] = Sprite.new(SceneManager.scene.spriteset.viewport1)
#$game_variables[30].viewport = SceneManager.scene.spriteset.viewport1
$game_variables[30].bitmap = Bitmap.new(544,416)
$game_variables[30].bitmap.fill_rect(0, 0, 544, 416, Color.new(255,0,0,255))
#$game_variables[30].z = 0
$game_variables[30].x = 0
$game_variables[30].y = 0
ссылка на форум и сообщение-оригинал:
https://forums.rpgmakerweb.com/index...3#post-1173193
Социальные закладки