查看: 2760|回复: 5

[原创发布] 【源码发布】Class2Xml译码器V1.5

[复制链接]
梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
回帖
22
发表于 2018-10-6 17:59:44 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 jeffice0325 于 2018-10-11 12:41 编辑

duang~duang~duang~duang~!各位玩意儿大家好(局座梗)
更新到1.5版本了!!!!!可以使用AutoCX进行自动操作及BatCX进行批处理操作
我还是那个作死不偿命的升阳,这次我带来的是可以运行的C2X(类实例转换为XML)转换器(RGSS3专用!!)
好吧我还是不会描述,算了发代码
代码
[pre lang="ruby"]
#Version 1.5
module PSCL
$xmlhead = '<?xml version="1.0" encoding="UTF-8"?>' + "\n"
def self.cls2s(cls)
        [Array,Hash,Fixnum,Float,String,Symbol,TrueClass,FalseClass,NilClass].each{|c|
                if cls.class == c then
                        return nil
                end
        }
        output = sprintf("<class base=%s>\n",'"'+cls.class.to_s+'"')
        vararr = cls.instance_variables
        vararr.each{|evt|
                output += sprintf("<var name=%s>\n",'"'+evt.to_s+'"')
                if cls.instance_variable_get(evt).class == Array then
                        output += arr2s(cls.instance_variable_get(evt))
                elsif cls.instance_variable_get(evt).class == Hash then
                        output += hsh2s(cls.instance_variable_get(evt))
                elsif [Fixnum,Float,String,Symbol,TrueClass,FalseClass,NilClass].include?(cls.instance_variable_get(evt).class)
                        output += cls.instance_variable_get(evt).to_s + "\n"
                else
                        output += cls2s(cls.instance_variable_get(evt))
                end
                output += sprintf("</var>\n")
        }
        output += sprintf("</class>\n",cls.class.to_s)
        return output
end
def self.arr2s(arr)
        if arr.class != Array then
                return nil
        end
        output = sprintf("<array>\n")
  ops = 0
        arr.each{|evt|
                output += sprintf("<a sub=%s>\n",'"'+ops.to_s+'"')
                if evt.class == Array then
                        output += arr2s(evt)
                elsif evt.class == Hash then
                        output += hsh2s(evt)
                elsif [Fixnum,Float,String,Symbol,TrueClass,FalseClass,NilClass].include?(evt.class)
                        output += evt.to_s + "\n"
                else
                        output += cls2s(evt)
                end
                output += sprintf("</a>\n")
    ops+=1
        }
        output += sprintf("</array>\n")
        return output;
end
def self.hsh2s(hsh)
        if hsh.class != Hash then
                return nil
        end
        output = sprintf("<hash>\n")
        hsh.each{|key,value|
                output += sprintf("<h key=%s>\n",'"'+key.to_s+'"')
                if value.class == Array then
                        output += arr2s(value)
                elsif value.class == Hash then
                        output += hsh2s(value)
                elsif [Fixnum,Float,String,Symbol,TrueClass,FalseClass,NilClass].include?(value.class)
                        output += value.to_s + "\n"
                else
                        output += cls2s(value)
                end
                output += sprintf("</h>\n")
        }
        output += sprintf("</hash>\n")
        return output;
end
def self.C2X(ci,filename)
  file = File.new(filename,"w")
  file.write($xmlhead)
  file.write(cls2s(ci))
  file.close()
end
def self.A2X(ci,filename)
  file = File.new(filename,"w")
  file.write($xmlhead)
  file.write(arr2s(ci))
  file.close()
end
def self.H2X(ci,filename)
  file = File.new(filename,"w")
  file.write($xmlhead)
  file.write(hsh2s(ci))
  file.close()
end
def self.AutoCX(ci,filename)
  if ci.class == Array then
    A2X(ci,filename)
  elsif ci.class == Hash then
    H2X(ci,filename)
  else
    C2X(ci,filename)
  end
end
def self.BatCX(cifilename)
  cifilename.each{|key,value|
    AutoCX(key,value)
  }
end
end
[/pre]
运行结果(以$game_map为例)
181115273 - 20181806.png 181132604 - 20181806.png

运行结果代码[pre lang="xml"]<?xml version="1.0" encoding="UTF-8"?>
<class base="Game_Map">
<var name="@screen">
<class base="Game_Screen">
<var name="@pictures">
<class base="Game_Pictures">
<var name="@data">
<array>
</array>
</var>
</class>
</var>
<var name="@brightness">
255
</var>
<var name="@fadeout_duration">
0
</var>
<var name="@fadein_duration">
0
</var>
<var name="@tone">
<class base="Tone">
</class>
</var>
<var name="@tone_target">
<class base="Tone">
</class>
</var>
<var name="@tone_duration">
0
</var>
<var name="@flash_color">
<class base="Color">
</class>
</var>
<var name="@flash_duration">
0
</var>
<var name="@shake_power">
0
</var>
<var name="@shake_speed">
0
</var>
<var name="@shake_duration">
0
</var>
<var name="@shake_direction">
1
</var>
<var name="@shake">
0
</var>
<var name="@weather_type">
none
</var>
<var name="@weather_power">
0
</var>
<var name="@weather_power_target">
0
</var>
<var name="@weather_duration">
0
</var>
</class>
</var>
<var name="@interpreter">
<class base="Game_Interpreter">
<var name="@depth">
0
</var>
<var name="@map_id">
1
</var>
<var name="@event_id">
1
</var>
<var name="@list">
<array>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
355
</var>
<var name="@parameters">
<array>
<al>
file = File.new("output.xml","w")
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write($head)
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write(cls2s($game_map))
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.close()
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
<var name="@index">
3
</var>
<var name="@branch">
<hash>
</hash>
</var>
<var name="@fiber">
<class base="Fiber">
</class>
</var>
<var name="@params">
<array>
<al>
file = File.new("output.xml","w")
</al>
</array>
</var>
<var name="@indent">
0
</var>
</class>
</var>
<var name="@map_id">
1
</var>
<var name="@events">
<hash>
<hl key="1">
<class base="Game_Event">
<var name="@id">
1
</var>
<var name="@x">
2
</var>
<var name="@y">
2
</var>
<var name="@real_x">
2
</var>
<var name="@real_y">
2
</var>
<var name="@tile_id">
0
</var>
<var name="@character_name">
Actor1
</var>
<var name="@character_index">
0
</var>
<var name="@move_speed">
3
</var>
<var name="@move_frequency">
3
</var>
<var name="@walk_anime">
true
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@opacity">
255
</var>
<var name="@blend_type">
0
</var>
<var name="@direction">
6
</var>
<var name="@pattern">
0
</var>
<var name="@priority_type">
1
</var>
<var name="@through">
false
</var>
<var name="@bush_depth">
0
</var>
<var name="@animation_id">
0
</var>
<var name="@balloon_id">
0
</var>
<var name="@transparent">
false
</var>
<var name="@move_route_forcing">
false
</var>
<var name="@trigger">
0
</var>
<var name="@list">
<array>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
355
</var>
<var name="@parameters">
<array>
<al>
file = File.new("output.xml","w")
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write($head)
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write(cls2s($game_map))
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.close()
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
<var name="@starting">
false
</var>
<var name="@original_direction">
2
</var>
<var name="@original_pattern">
0
</var>
<var name="@anime_count">
0
</var>
<var name="@stop_count">
0
</var>
<var name="@jump_count">
0
</var>
<var name="@jump_peak">
0
</var>
<var name="@locked">
true
</var>
<var name="@prelock_direction">
2
</var>
<var name="@move_succeed">
true
</var>
<var name="@move_route">
<class base="RPG::MoveRoute">
<var name="@repeat">
true
</var>
<var name="@skippable">
false
</var>
<var name="@wait">
false
</var>
<var name="@list">
<array>
<al>
<class base="RPG::MoveCommand">
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</var>
<var name="@move_route_index">
0
</var>
<var name="@original_move_route">

</var>
<var name="@original_move_route_index">
0
</var>
<var name="@wait_count">
0
</var>
<var name="@move_type">
0
</var>
<var name="@erased">
false
</var>
<var name="@page">
<class base="RPG::Event::Page">
<var name="@condition">
<class base="RPG::Event::Page::Condition">
<var name="@switch1_valid">
false
</var>
<var name="@switch2_valid">
false
</var>
<var name="@variable_valid">
false
</var>
<var name="@self_switch_valid">
false
</var>
<var name="@item_valid">
false
</var>
<var name="@actor_valid">
false
</var>
<var name="@switch1_id">
1
</var>
<var name="@switch2_id">
1
</var>
<var name="@variable_id">
1
</var>
<var name="@variable_value">
0
</var>
<var name="@self_switch_ch">
A
</var>
<var name="@item_id">
1
</var>
<var name="@actor_id">
1
</var>
</class>
</var>
<var name="@graphic">
<class base="RPG::Event::Page::Graphic">
<var name="@tile_id">
0
</var>
<var name="@character_name">
Actor1
</var>
<var name="@character_index">
0
</var>
<var name="@direction">
2
</var>
<var name="@pattern">
0
</var>
</class>
</var>
<var name="@move_type">
0
</var>
<var name="@move_speed">
3
</var>
<var name="@move_frequency">
3
</var>
<var name="@move_route">
<class base="RPG::MoveRoute">
<var name="@repeat">
true
</var>
<var name="@skippable">
false
</var>
<var name="@wait">
false
</var>
<var name="@list">
<array>
<al>
<class base="RPG::MoveCommand">
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</var>
<var name="@walk_anime">
true
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@through">
false
</var>
<var name="@priority_type">
1
</var>
<var name="@trigger">
0
</var>
<var name="@list">
<array>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
355
</var>
<var name="@parameters">
<array>
<al>
file = File.new("output.xml","w")
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write($head)
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write(cls2s($game_map))
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.close()
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</var>
<var name="@map_id">
1
</var>
<var name="@event">
<class base="RPG::Event">
<var name="@id">
1
</var>
<var name="@name">
EV001
</var>
<var name="@x">
2
</var>
<var name="@y">
2
</var>
<var name="@pages">
<array>
<al>
<class base="RPG::Event::Page">
<var name="@condition">
<class base="RPG::Event::Page::Condition">
<var name="@switch1_valid">
false
</var>
<var name="@switch2_valid">
false
</var>
<var name="@variable_valid">
false
</var>
<var name="@self_switch_valid">
false
</var>
<var name="@item_valid">
false
</var>
<var name="@actor_valid">
false
</var>
<var name="@switch1_id">
1
</var>
<var name="@switch2_id">
1
</var>
<var name="@variable_id">
1
</var>
<var name="@variable_value">
0
</var>
<var name="@self_switch_ch">
A
</var>
<var name="@item_id">
1
</var>
<var name="@actor_id">
1
</var>
</class>
</var>
<var name="@graphic">
<class base="RPG::Event::Page::Graphic">
<var name="@tile_id">
0
</var>
<var name="@character_name">
Actor1
</var>
<var name="@character_index">
0
</var>
<var name="@direction">
2
</var>
<var name="@pattern">
0
</var>
</class>
</var>
<var name="@move_type">
0
</var>
<var name="@move_speed">
3
</var>
<var name="@move_frequency">
3
</var>
<var name="@move_route">
<class base="RPG::MoveRoute">
<var name="@repeat">
true
</var>
<var name="@skippable">
false
</var>
<var name="@wait">
false
</var>
<var name="@list">
<array>
<al>
<class base="RPG::MoveCommand">
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</var>
<var name="@walk_anime">
true
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@through">
false
</var>
<var name="@priority_type">
1
</var>
<var name="@trigger">
0
</var>
<var name="@list">
<array>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
355
</var>
<var name="@parameters">
<array>
<al>
file = File.new("output.xml","w")
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write($head)
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write(cls2s($game_map))
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.close()
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</var>
<var name="@interpreter">

</var>
</class>
</hl>
</hash>
</var>
<var name="@display_x">
0
</var>
<var name="@display_y">
0
</var>
<var name="@vehicles">
<array>
<al>
<class base="Game_Vehicle">
<var name="@id">
0
</var>
<var name="@x">
0
</var>
<var name="@y">
0
</var>
<var name="@real_x">
0
</var>
<var name="@real_y">
0
</var>
<var name="@tile_id">
0
</var>
<var name="@character_name">
Vehicle
</var>
<var name="@character_index">
0
</var>
<var name="@move_speed">
4
</var>
<var name="@move_frequency">
6
</var>
<var name="@walk_anime">
false
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@opacity">
255
</var>
<var name="@blend_type">
0
</var>
<var name="@direction">
4
</var>
<var name="@pattern">
1
</var>
<var name="@priority_type">
1
</var>
<var name="@through">
false
</var>
<var name="@bush_depth">
0
</var>
<var name="@animation_id">
0
</var>
<var name="@balloon_id">
0
</var>
<var name="@transparent">
false
</var>
<var name="@move_route_forcing">
false
</var>
<var name="@original_direction">
2
</var>
<var name="@original_pattern">
1
</var>
<var name="@anime_count">
0
</var>
<var name="@stop_count">
81
</var>
<var name="@jump_count">
0
</var>
<var name="@jump_peak">
0
</var>
<var name="@locked">
false
</var>
<var name="@prelock_direction">
0
</var>
<var name="@move_succeed">
true
</var>
<var name="@move_route">

</var>
<var name="@move_route_index">
0
</var>
<var name="@original_move_route">

</var>
<var name="@original_move_route_index">
0
</var>
<var name="@wait_count">
0
</var>
<var name="@type">
boat
</var>
<var name="@altitude">
0
</var>
<var name="@driving">
false
</var>
<var name="@walking_bgm">

</var>
<var name="@map_id">
0
</var>
</class>
</al>
<al>
<class base="Game_Vehicle">
<var name="@id">
0
</var>
<var name="@x">
0
</var>
<var name="@y">
0
</var>
<var name="@real_x">
0
</var>
<var name="@real_y">
0
</var>
<var name="@tile_id">
0
</var>
<var name="@character_name">
Vehicle
</var>
<var name="@character_index">
1
</var>
<var name="@move_speed">
5
</var>
<var name="@move_frequency">
6
</var>
<var name="@walk_anime">
false
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@opacity">
255
</var>
<var name="@blend_type">
0
</var>
<var name="@direction">
4
</var>
<var name="@pattern">
1
</var>
<var name="@priority_type">
1
</var>
<var name="@through">
false
</var>
<var name="@bush_depth">
0
</var>
<var name="@animation_id">
0
</var>
<var name="@balloon_id">
0
</var>
<var name="@transparent">
false
</var>
<var name="@move_route_forcing">
false
</var>
<var name="@original_direction">
2
</var>
<var name="@original_pattern">
1
</var>
<var name="@anime_count">
0
</var>
<var name="@stop_count">
81
</var>
<var name="@jump_count">
0
</var>
<var name="@jump_peak">
0
</var>
<var name="@locked">
false
</var>
<var name="@prelock_direction">
0
</var>
<var name="@move_succeed">
true
</var>
<var name="@move_route">

</var>
<var name="@move_route_index">
0
</var>
<var name="@original_move_route">

</var>
<var name="@original_move_route_index">
0
</var>
<var name="@wait_count">
0
</var>
<var name="@type">
ship
</var>
<var name="@altitude">
0
</var>
<var name="@driving">
false
</var>
<var name="@walking_bgm">

</var>
<var name="@map_id">
0
</var>
</class>
</al>
<al>
<class base="Game_Vehicle">
<var name="@id">
0
</var>
<var name="@x">
0
</var>
<var name="@y">
0
</var>
<var name="@real_x">
0
</var>
<var name="@real_y">
0
</var>
<var name="@tile_id">
0
</var>
<var name="@character_name">
Vehicle
</var>
<var name="@character_index">
3
</var>
<var name="@move_speed">
6
</var>
<var name="@move_frequency">
6
</var>
<var name="@walk_anime">
false
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@opacity">
255
</var>
<var name="@blend_type">
0
</var>
<var name="@direction">
4
</var>
<var name="@pattern">
1
</var>
<var name="@priority_type">
0
</var>
<var name="@through">
false
</var>
<var name="@bush_depth">
0
</var>
<var name="@animation_id">
0
</var>
<var name="@balloon_id">
0
</var>
<var name="@transparent">
false
</var>
<var name="@move_route_forcing">
false
</var>
<var name="@original_direction">
2
</var>
<var name="@original_pattern">
1
</var>
<var name="@anime_count">
0
</var>
<var name="@stop_count">
81
</var>
<var name="@jump_count">
0
</var>
<var name="@jump_peak">
0
</var>
<var name="@locked">
false
</var>
<var name="@prelock_direction">
0
</var>
<var name="@move_succeed">
true
</var>
<var name="@move_route">

</var>
<var name="@move_route_index">
0
</var>
<var name="@original_move_route">

</var>
<var name="@original_move_route_index">
0
</var>
<var name="@wait_count">
0
</var>
<var name="@type">
airship
</var>
<var name="@altitude">
0
</var>
<var name="@driving">
false
</var>
<var name="@walking_bgm">

</var>
<var name="@map_id">
0
</var>
</class>
</al>
</array>
</var>
<var name="@name_display">
true
</var>
<var name="@map">
<class base="RPG::Map">
<var name="@parallax_name">

</var>
<var name="@height">
13
</var>
<var name="@events">
<hash>
<hl key="1">
<class base="RPG::Event">
<var name="@id">
1
</var>
<var name="@name">
EV001
</var>
<var name="@x">
2
</var>
<var name="@y">
2
</var>
<var name="@pages">
<array>
<al>
<class base="RPG::Event::Page">
<var name="@condition">
<class base="RPG::Event::Page::Condition">
<var name="@switch1_valid">
false
</var>
<var name="@switch2_valid">
false
</var>
<var name="@variable_valid">
false
</var>
<var name="@self_switch_valid">
false
</var>
<var name="@item_valid">
false
</var>
<var name="@actor_valid">
false
</var>
<var name="@switch1_id">
1
</var>
<var name="@switch2_id">
1
</var>
<var name="@variable_id">
1
</var>
<var name="@variable_value">
0
</var>
<var name="@self_switch_ch">
A
</var>
<var name="@item_id">
1
</var>
<var name="@actor_id">
1
</var>
</class>
</var>
<var name="@graphic">
<class base="RPG::Event::Page::Graphic">
<var name="@tile_id">
0
</var>
<var name="@character_name">
Actor1
</var>
<var name="@character_index">
0
</var>
<var name="@direction">
2
</var>
<var name="@pattern">
0
</var>
</class>
</var>
<var name="@move_type">
0
</var>
<var name="@move_speed">
3
</var>
<var name="@move_frequency">
3
</var>
<var name="@move_route">
<class base="RPG::MoveRoute">
<var name="@repeat">
true
</var>
<var name="@skippable">
false
</var>
<var name="@wait">
false
</var>
<var name="@list">
<array>
<al>
<class base="RPG::MoveCommand">
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</var>
<var name="@walk_anime">
true
</var>
<var name="@step_anime">
false
</var>
<var name="@direction_fix">
false
</var>
<var name="@through">
false
</var>
<var name="@priority_type">
1
</var>
<var name="@trigger">
0
</var>
<var name="@list">
<array>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
355
</var>
<var name="@parameters">
<array>
<al>
file = File.new("output.xml","w")
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write($head)
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.write(cls2s($game_map))
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
655
</var>
<var name="@parameters">
<array>
<al>
file.close()
</al>
</array>
</var>
</class>
</al>
<al>
<class base="RPG::EventCommand">
<var name="@indent">
0
</var>
<var name="@code">
0
</var>
<var name="@parameters">
<array>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</al>
</array>
</var>
</class>
</hl>
</hash>
</var>
<var name="@parallax_sx">
0
</var>
<var name="@bgm">
<class base="RPG::BGM">
<var name="@name">

</var>
<var name="@volume">
100
</var>
<var name="@pitch">
100
</var>
</class>
</var>
<var name="@tileset_id">
1
</var>
<var name="@encounter_step">
30
</var>
<var name="@width">
17
</var>
<var name="@data">
<class base="Table">
</class>
</var>
<var name="@bgs">
<class base="RPG::BGS">
<var name="@name">

</var>
<var name="@volume">
80
</var>
<var name="@pitch">
100
</var>
</class>
</var>
<var name="@parallax_loop_y">
false
</var>
<var name="@autoplay_bgm">
false
</var>
<var name="@encounter_list">
<array>
</array>
</var>
<var name="@autoplay_bgs">
false
</var>
<var name="@parallax_show">
false
</var>
<var name="@scroll_type">
0
</var>
<var name="@parallax_loop_x">
false
</var>
<var name="@disable_dashing">
false
</var>
<var name="@parallax_sy">
0
</var>
<var name="@display_name">

</var>
<var name="@specify_battleback">
false
</var>
<var name="@note">

</var>
<var name="@battleback1_name">

</var>
<var name="@battleback2_name">

</var>
</class>
</var>
<var name="@tileset_id">
1
</var>
<var name="@common_events">
<array>
</array>
</var>
<var name="@tile_events">
<array>
</array>
</var>
<var name="@scroll_direction">
2
</var>
<var name="@scroll_rest">
0
</var>
<var name="@scroll_speed">
4
</var>
<var name="@parallax_name">

</var>
<var name="@parallax_loop_x">
false
</var>
<var name="@parallax_loop_y">
false
</var>
<var name="@parallax_sx">
0
</var>
<var name="@parallax_sy">
0
</var>
<var name="@parallax_x">
0
</var>
<var name="@parallax_y">
0
</var>
<var name="@battleback1_name">

</var>
<var name="@battleback2_name">

</var>
<var name="@need_refresh">
false
</var>
</class>
[/pre]

更新日志

  1. - Version 1.3
  2. -- 当前版本已最新
  3. -- 相比上一版本已经更新了简单的储存函数C2X()
  4. -- 麻麻再也不用担心我输很长时间的代码啦!
  5. - Version 1.2
  6. -- 本来想加入C2X函数的
  7. -- 乱改代码,出现好多BUG
  8. -- 已删除
  9. - Version 1.1
  10. -- 美化/详细/丰富了一部分代码
  11. - Versioin 1.0 alpha
  12. -- 基本实现功能
  13. - Version 0.x
  14. -- 肿么这么多BUG版本?!Σ(⊙▽⊙"a
  15. - Version 0.1
  16. -- 第一个版本,基本实现译码功能
  17. -- 但是有很多bug(# ̄~ ̄#)
复制代码


原谅不会排版的我……orz
【顺便附录解释】PSCL指的是Project-Sun Code Library(升阳计划代码库),是由一系列代码组成的模版库,本计划已公布于GITHUB,持续更新中
梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
回帖
22
 楼主| 发表于 2018-10-6 20:40:00 | 显示全部楼层
怎么没人QAQ
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45705
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2018-10-6 22:09:55 | 显示全部楼层
惊了,竟然有人写这东西,之前我写过一个class2json (x
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

发表于 2018-10-7 06:45:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
回帖
22
 楼主| 发表于 2018-10-7 09:23:26 | 显示全部楼层
晴兰 发表于 2018-10-7 06:45
你可以直接用REXML,而且一般多态dump是自定义一个方法名,所有其他类实现这个方法,不是用if elsif或者cas ...

蒟蒻向DALAO低头
回复

使用道具 举报

梦石
0
星屑
876
在线时间
131 小时
注册时间
2016-8-4
回帖
22
 楼主| 发表于 2018-10-11 12:42:10 | 显示全部楼层
更新到1.5版本了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部