09-04-2025, 03:09 AM 
	
	
	
		Hello, kyonides and DerVVulfman!
As DerVVulfman suggested, I am testing a duplicate of the game and removing scripts one at a time, as I do agree with kyonides that I'd prefer to upload the scripts.rxdata as a last resort.
Immediately though, I encountered an error upon starting up the game after deleting the caterpillar script (listed as Train_Actor):
 
   
I pasted a clean Scene_Load into the test game and the error persists. It refers to this line:
The caterpillar script that I use is the old fukuyama one:
I'll keep this script in and test the game while removing the other scripts slowly.
	
	
As DerVVulfman suggested, I am testing a duplicate of the game and removing scripts one at a time, as I do agree with kyonides that I'd prefer to upload the scripts.rxdata as a last resort.
Immediately though, I encountered an error upon starting up the game after deleting the caterpillar script (listed as Train_Actor):
I pasted a clean Scene_Load into the test game and the error persists. It refers to this line:
Code:
    $game_party         = Marshal.load(file)The caterpillar script that I use is the old fukuyama one:
Code:
# 
# Train_Actor 
# 
# fukuyama@alles.or.jp 
# http://www4.big.or.jp/~fukuyama/ 
# 
# ●透明状態用スイッチ設定 
# true だとスイッチ制御を行う 
# TRAIN_ACTOR_TRANSPARENT_SWITCH = false 
TRAIN_ACTOR_TRANSPARENT_SWITCH = true 
# ●透明状態用スイッチ番号 
# この番号のスイッチがONだと透明になる 
TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 20 
# 定数 
#Input::DOWN = 2 
#Input::LEFT = 4 
#Input::RIGHT = 6 
#Input::UP = 8 
DOWN_LEFT = 1 
DOWN_RIGHT = 3 
UP_LEFT = 7 
UP_RIGHT = 9 
JUMP = 5 
class Game_Party_Actor < Game_Character 
def initialize 
super() 
@through = true 
end 
def setup(actor) 
# キャラクターのファイル名と色相を設定 
if actor != nil 
@character_name = actor.character_name 
@character_hue = actor.character_hue 
else 
@character_name = "" 
@character_hue = 0 
end 
# 不透明度と合成方法を初期化 
@opacity = 255 
@blend_type = 0 
end 
def screen_z(height = 0) 
if $game_player.x == @x and $game_player.y == @y 
return $game_player.screen_z(height) - 1 
end 
super(height) 
end 
#-------------------------------------------------------------------------- 
# ● 下に移動 
# turn_enabled : その場での向き変更を許可するフラグ 
#-------------------------------------------------------------------------- 
def move_down(turn_enabled = true) 
# 下を向く 
if turn_enabled 
turn_down 
end 
# 通行可能な場合 
if passable?(@x, @y, Input::DOWN) 
# 下を向く 
turn_down 
# 座標を更新 
@y += 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 左に移動 
# turn_enabled : その場での向き変更を許可するフラグ 
#-------------------------------------------------------------------------- 
def move_left(turn_enabled = true) 
# 左を向く 
if turn_enabled 
turn_left 
end 
# 通行可能な場合 
if passable?(@x, @y, Input::LEFT) 
# 左を向く 
turn_left 
# 座標を更新 
@x -= 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 右に移動 
# turn_enabled : その場での向き変更を許可するフラグ 
#-------------------------------------------------------------------------- 
def move_right(turn_enabled = true) 
# 右を向く 
if turn_enabled 
turn_right 
end 
# 通行可能な場合 
if passable?(@x, @y, Input::RIGHT) 
# 右を向く 
turn_right 
# 座標を更新 
@x += 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 上に移動 
# turn_enabled : その場での向き変更を許可するフラグ 
#-------------------------------------------------------------------------- 
def move_up(turn_enabled = true) 
# 上を向く 
if turn_enabled 
turn_up 
end 
# 通行可能な場合 
if passable?(@x, @y, Input::UP) 
# 上を向く 
turn_up 
# 座標を更新 
@y -= 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 左下に移動 
#-------------------------------------------------------------------------- 
def move_lower_left 
# 向き固定でない場合 
unless @direction_fix 
# 右向きだった場合は左を、上向きだった場合は下を向く 
@direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction) 
end 
# 下→左、左→下 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or 
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN)) 
# 座標を更新 
@x -= 1 
@y += 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 右下に移動 
#-------------------------------------------------------------------------- 
def move_lower_right 
# 向き固定でない場合 
unless @direction_fix 
# 左向きだった場合は右を、上向きだった場合は下を向く 
@direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction) 
end 
# 下→右、右→下 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or 
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN)) 
# 座標を更新 
@x += 1 
@y += 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 左上に移動 
#-------------------------------------------------------------------------- 
def move_upper_left 
# 向き固定でない場合 
unless @direction_fix 
# 右向きだった場合は左を、下向きだった場合は上を向く 
@direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction) 
end 
# 上→左、左→上 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or 
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP)) 
# 座標を更新 
@x -= 1 
@y -= 1 
end 
end 
#-------------------------------------------------------------------------- 
# ● 右上に移動 
#-------------------------------------------------------------------------- 
def move_upper_right 
# 向き固定でない場合 
unless @direction_fix 
# 左向きだった場合は右を、下向きだった場合は上を向く 
@direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction) 
end 
# 上→右、右→上 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or 
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP)) 
# 座標を更新 
@x += 1 
@y -= 1 
end 
end 
def set_move_speed(move_speed) 
@move_speed = move_speed 
end 
end 
class Spriteset_Map 
def setup_actor_character_sprites? 
return @setup_actor_character_sprites_flag != nil 
end 
def setup_actor_character_sprites(characters) 
if !setup_actor_character_sprites? 
index_game_player = 0 
@character_sprites.each_index do |i| 
if @character_sprites[i].character.instance_of?(Game_Player) 
index_game_player = i 
break 
end 
end 
for character in characters.reverse 
@character_sprites.unshift( 
Sprite_Character.new(@viewport1, character) 
) 
end 
@setup_actor_character_sprites_flag = true 
end 
end 
end 
class Scene_Map 
def setup_actor_character_sprites(characters) 
@spriteset.setup_actor_character_sprites(characters) 
end 
end 
class Game_Party 
def set_transparent_actors(transparent) 
@transparent = transparent 
end 
def setup_actor_character_sprites 
if @characters == nil 
@characters = [] 
for i in 1 .. 4 
@characters.push(Game_Party_Actor.new) 
end 
end 
if @actors_chach == nil 
@actors_chach = [] 
end 
if @actors_chach != @actors 
@actors_chach = @actors.clone 
for i in 1 .. 4 
@characters[i - 1].setup(actors[i]) 
end 
end 
if $scene.instance_of?(Scene_Map) 
$scene.setup_actor_character_sprites(@characters) 
end 
end 
def update_party_actors 
setup_actor_character_sprites 
transparent = $game_player.transparent 
if transparent == false 
if TRAIN_ACTOR_TRANSPARENT_SWITCH 
transparent = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX] 
else 
transparent = $game_player.transparent 
end 
end 
for character in @characters 
character.transparent = transparent 
character.set_move_speed($game_player.get_move_speed) 
character.update 
end 
end 
def moveto_party_actors( x, y ) 
setup_actor_character_sprites 
for character in @characters 
character.moveto( x, y ) 
end 
if @move_list == nil 
@move_list = [] 
end 
for i in 0 .. 10 
@move_list[i] = nil 
end 
end 
def move_party_actors 
if @move_list == nil 
@move_list = [] 
for i in 0 .. 10 
@move_list[i] = nil 
end 
end 
@move_list.each_index do |i| 
if @characters[i] != nil 
case @move_list[i].type 
when Input::DOWN 
@characters[i].move_down(@move_list[i].args[0]) 
when Input::LEFT 
@characters[i].move_left(@move_list[i].args[0]) 
when Input::RIGHT 
@characters[i].move_right(@move_list[i].args[0]) 
when Input::UP 
@characters[i].move_up(@move_list[i].args[0]) 
when DOWN_LEFT 
@characters[i].move_lower_left 
when DOWN_RIGHT 
@characters[i].move_lower_right 
when UP_LEFT 
@characters[i].move_upper_left 
when UP_RIGHT 
@characters[i].move_upper_right 
when JUMP 
@characters[i].jump(@move_list[i].args[0],@move_list[i].args[1]) 
end 
end 
end 
end 
class Move_List_Element 
def initialize(type,args) 
@type = type 
@args = args 
end 
def type() return @type end 
def args() return @args end 
end 
def add_move_list(type,*args) 
@move_list.unshift(Move_List_Element.new(type,args)).pop 
end 
def move_down_party_actors(turn_enabled = true) 
move_party_actors 
add_move_list(Input::DOWN,turn_enabled) 
end 
def move_left_party_actors(turn_enabled = true) 
move_party_actors 
add_move_list(Input::LEFT,turn_enabled) 
end 
def move_right_party_actors(turn_enabled = true) 
move_party_actors 
add_move_list(Input::RIGHT,turn_enabled) 
end 
def move_up_party_actors(turn_enabled = true) 
move_party_actors 
add_move_list(Input::UP,turn_enabled) 
end 
def move_lower_left_party_actors 
move_party_actors 
add_move_list(DOWN_LEFT) 
end 
def move_lower_right_party_actors 
move_party_actors 
add_move_list(DOWN_RIGHT) 
end 
def move_upper_left_party_actors 
move_party_actors 
add_move_list(UP_LEFT) 
end 
def move_upper_right_party_actors 
move_party_actors 
add_move_list(UP_RIGHT) 
end 
def jump_party_actors(x_plus, y_plus) 
move_party_actors 
add_move_list(JUMP,x_plus, y_plus) 
end 
end 
module Game_Player_Module 
def update 
$game_party.update_party_actors 
super 
end 
def moveto( x, y ) 
super 
$game_party.moveto_party_actors( x, y ) 
end 
def move_down(turn_enabled = true) 
if passable?(@x, @y, Input::DOWN) 
$game_party.move_down_party_actors(turn_enabled) 
end 
super(turn_enabled) 
end 
def move_left(turn_enabled = true) 
if passable?(@x, @y, Input::LEFT) 
$game_party.move_left_party_actors(turn_enabled) 
end 
super(turn_enabled) 
end 
def move_right(turn_enabled = true) 
if passable?(@x, @y, Input::RIGHT) 
$game_party.move_right_party_actors(turn_enabled) 
end 
super(turn_enabled) 
end 
def move_up(turn_enabled = true) 
if passable?(@x, @y, Input::UP) 
$game_party.move_up_party_actors(turn_enabled) 
end 
super(turn_enabled) 
end 
def move_lower_left 
# 下→左、左→下 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or 
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN)) 
$game_party.move_lower_left_party_actors 
end 
super 
end 
def move_lower_right 
# 下→右、右→下 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or 
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN)) 
$game_party.move_lower_right_party_actors 
end 
super 
end 
def move_upper_left 
# 上→左、左→上 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or 
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP)) 
$game_party.move_upper_left_party_actors 
end 
super 
end 
def move_upper_right 
# 上→右、右→上 のどちらかのコースが通行可能な場合 
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or 
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP)) 
$game_party.move_upper_right_party_actors 
end 
super 
end 
def jump(x_plus, y_plus) 
# 新しい座標を計算 
new_x = @x + x_plus 
new_y = @y + y_plus 
# 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合 
if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0) 
$game_party.jump_party_actors(x_plus, y_plus) 
end 
super(x_plus, y_plus) 
end 
# ----------------------------------------------- 
# move_speed を外から見れるように 
# ----------------------------------------------- 
def get_move_speed 
return @move_speed 
end 
end 
class Game_Player 
include Game_Player_Module 
endI'll keep this script in and test the game while removing the other scripts slowly.
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png) 

 
 
 Lead Actor Swapper script error
 Lead Actor Swapper script error
 

 
 
  
 