设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6723|回复: 22
打印 上一主题 下一主题

我要造房子V2

 关闭 [复制链接]

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

跳转到指定楼层
1
发表于 2008-9-11 20:19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
没错,这个是ForVX的版本哦~~
嘿嘿,加入了事件编辑功能,对地图数据的储存进行了优化,而且可以兼容没添加这个脚本的版本游戏(比如补丁,{/gg})
冲突:
存档类
自动存档
----------------------
修改会自动保存
----------------------
功能
----------------------
copy_ev
把mapid1的id的事件拷贝到mapid的x,y的位置
----------------------
editbymap
editbymap(操作地图id,资源地图id,起始x,起始y,资源地图起始x,资源地图起始y,资源地图结束x,资源地图结束y)
----------------------
不再提供edit方法,由于VX中进行edit非常的麻烦。。。
0000000000000000000000
----------------------
万恶的代码
-----------------------

  1. #废弃代码
  2. module Map
  3.   def self.new(w,h,id)  
  4.     $save_hash[id] = RPG::Map.new(w,h)
  5.     return id
  6.   end
  7. end
  8. #######################################################
  9. #注意,如果你想修改远景图什么的请使用$save_hash[地图id]
  10. $save_hash = {}
  11. #==============================================================================
  12. # ■ Game_Map
  13. #------------------------------------------------------------------------------
  14. #  处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。
  15. #==============================================================================

  16. class Game_Map
  17.   #--------------------------------------------------------------------------
  18.   # ● 定义实例变量
  19.   #--------------------------------------------------------------------------
  20.   attr_reader   :screen                   # 地图画面状态
  21.   attr_reader   :interpreter              # 地图事件解释器
  22.   attr_reader   :display_x                # 画面 X 座标 * 256
  23.   attr_reader   :display_y                # 画面 Y 座标 * 256
  24.   attr_reader   :parallax_name            # 远景图文件名
  25.   attr_reader   :passages                 # 通行列表
  26.   attr_accessor :events                   # 事件
  27.   attr_reader   :vehicles                 # 交通工具
  28.   attr_accessor :need_refresh             # 需要刷新标志
  29.   attr_accessor :map
  30.   #--------------------------------------------------------------------------
  31.   # ● 初始化对像
  32.   #--------------------------------------------------------------------------
  33.   def initialize
  34.     @screen = Game_Screen.new
  35.     @interpreter = Game_Interpreter.new(0, true)
  36.     @map_id = 0
  37.     @display_x = 0
  38.     @display_y = 0
  39.     create_vehicles
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 设置
  43.   #     map_id : 地图 ID
  44.   #--------------------------------------------------------------------------
  45.   def setup(map_id)
  46.     @map_id = map_id
  47.     $save_hash[@map_id] = load_data(sprintf("Data/Map%03d.rvdata", @map_id)) if $save_hash[@map_id] == nil
  48.     @map = $save_hash[@map_id]
  49.     @display_x = 0
  50.     @display_y = 0
  51.     @passages = $data_system.passages
  52.     referesh_vehicles
  53.     setup_events
  54.     setup_scroll
  55.     setup_parallax
  56.     @need_refresh = false
  57.   end
  58. end

  59. #==============================================================================
  60. # ■ Scene_File
  61. #------------------------------------------------------------------------------
  62. #  存档画面及读档画面的类。
  63. #==============================================================================

  64. class Scene_File < Scene_Base
  65.   #--------------------------------------------------------------------------
  66.   # ● 写入存档数据
  67.   #     file : 写入存档对象(已开启)
  68.   #--------------------------------------------------------------------------
  69.   def write_save_data(file)
  70.     characters = []
  71.     for actor in $game_party.members
  72.       characters.push([actor.character_name, actor.character_index])
  73.     end
  74.     $game_system.save_count += 1
  75.     $game_system.version_id = $data_system.version_id
  76.     @last_bgm = RPG::BGM::last
  77.     @last_bgs = RPG::BGS::last
  78.     Marshal.dump(characters,           file)
  79.     Marshal.dump(Graphics.frame_count, file)
  80.     Marshal.dump(@last_bgm,            file)
  81.     Marshal.dump(@last_bgs,            file)
  82.     Marshal.dump($game_system,         file)
  83.     Marshal.dump($game_message,        file)
  84.     Marshal.dump($game_switches,       file)
  85.     Marshal.dump($game_variables,      file)
  86.     Marshal.dump($game_self_switches,  file)
  87.     Marshal.dump($game_actors,         file)
  88.     Marshal.dump($game_party,          file)
  89.     Marshal.dump($game_troop,          file)
  90.     Marshal.dump($game_map,            file)
  91.     Marshal.dump($game_player,         file)
  92.     #
  93.     Marshal.dump($save_hash,           file)
  94.     #
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 读出存档数据
  98.   #     file : 读出存档对象(已开启)
  99.   #--------------------------------------------------------------------------
  100.   def read_save_data(file)
  101.     characters           = Marshal.load(file)
  102.     Graphics.frame_count = Marshal.load(file)
  103.     @last_bgm            = Marshal.load(file)
  104.     @last_bgs            = Marshal.load(file)
  105.     $game_system         = Marshal.load(file)
  106.     $game_message        = Marshal.load(file)
  107.     $game_switches       = Marshal.load(file)
  108.     $game_variables      = Marshal.load(file)
  109.     $game_self_switches  = Marshal.load(file)
  110.     $game_actors         = Marshal.load(file)
  111.     $game_party          = Marshal.load(file)
  112.     $game_troop          = Marshal.load(file)
  113.     $game_map            = Marshal.load(file)
  114.     $game_player         = Marshal.load(file)
  115.     begin
  116.       $save_hash =         Marshal.load(file)
  117.     rescue
  118.       $save_hash = {}
  119.     end
  120.     if $game_system.version_id != $data_system.version_id
  121.       $game_map.setup($game_map.map_id)
  122.       $game_player.center($game_player.x, $game_player.y)
  123.     end
  124.   end
  125. end

  126. #==============================================================================
  127. # ■ Scene_Map
  128. #------------------------------------------------------------------------------
  129. #  处理地图画面的类。
  130. #==============================================================================

  131. class Scene_Map < Scene_Base
  132.   def refresh_spriteset
  133.     @spriteset.dispose
  134.     @spriteset = Spriteset_Map.new
  135.   end
  136. end

  137. #
  138. #editbymap(操作地图id,资源地图id,起始x,起始y,资源地图起始x,资源地图起始y,资源地图结束x,资源地图结束y)
  139. #
  140. def editbymap(map_id,map_id1,x,y,x1,y1,x2,y2)
  141.   $save_hash[map_id1] = load_data(sprintf("Data/Map%03d.rvdata", map_id1)) if $save_hash[map_id1] == nil
  142.   ziyuan = $save_hash[map_id1]
  143.   $save_hash[map_id] = load_data(sprintf("Data/Map%03d.rvdata", map_id)) if $save_hash[map_id] == nil
  144.   yyy = y
  145.   for zz in [0,1,2]
  146.     for xx in x1..x2
  147.       for yy in y1..y2
  148.         $save_hash[map_id].data[x,y,zz] = ziyuan.data[xx,yy,zz]
  149.         y = y +1
  150.       end
  151.       x = x + 1
  152.       y = yyy
  153.     end
  154.   end
  155. end
  156. #
  157. #把mapid1的id的事件拷贝到mapid的x,y的位置
  158. #
  159. def copy_ev(map_id,x,y,map_id1,id)
  160.   begin
  161.     $save_hash[map_id1] = load_data(sprintf("Data/Map%03d.rvdata", map_id1)) if $save_hash[map_id1] == nil
  162.     ziyuan = $save_hash[map_id1]
  163.     $save_hash[map_id] = load_data(sprintf("Data/Map%03d.rvdata", map_id)) if $save_hash[map_id] == nil
  164.     c = ziyuan.events[id].clone
  165.     c.id = $save_hash[map_id].events.size+1
  166.     c.x = x
  167.     c.y = y
  168.     $save_hash[map_id].events[c.id] = c
  169.     if $game_map.map_id == map_id
  170.       $game_map.events[c.id] = Game_Event.new(c.id, $game_map.map.events[c.id])
  171.       $game_map.need_refresh = true
  172.       $game_map.update
  173.       if $scene.is_a?(Scene_Map)
  174.         $scene.refresh_spriteset
  175.       end
  176.     end
  177.     return true
  178.   end
  179.   return false
  180. end
复制代码
哎呀,蛋疼什么的最有爱了

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

2
 楼主| 发表于 2008-9-11 20:19:38 | 只看该作者
占楼更新

说明:XP版的我要造房子不支持事件,这个支持。
      XP版的我要造房子功能会稍微多一些。。。
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-11
帖子
33
3
发表于 2008-9-11 20:41:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

4
 楼主| 发表于 2008-9-12 19:33:02 | 只看该作者
以下引用綠色森林于2008-9-11 12:41:09的发言:

不知道远景图的盖房子版本什么时候能出,不过把远景建筑物转化为土块就完事了


[本贴由作者于 2008-9-11 12:41:49 最后编辑]

汗………………
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-10
帖子
273
5
发表于 2008-9-12 21:09:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

6
 楼主| 发表于 2008-9-18 02:08:20 | 只看该作者
果然,VX区的人气不如XP区
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
帖子
907
7
发表于 2008-9-18 06:40:12 | 只看该作者
那是由于XP比较成熟,脚本支持多,而VX脚本支持太少了……而默认的战斗系统又不符合大众口味。

看来还得靠楼主来改善啊………
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

8
 楼主| 发表于 2008-9-20 02:44:13 | 只看该作者
以下引用wsffx13于2008-9-17 22:40:12的发言:

那是由于XP比较成熟,脚本支持多,而VX脚本支持太少了……而默认的战斗系统又不符合大众口味。

看来还得靠楼主来改善啊………

战斗的插件不是很多吗?
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

亡命·殤

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-13
帖子
777
9
发表于 2008-9-20 03:27:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
609
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

10
发表于 2008-9-20 03:45:00 | 只看该作者
没看懂什么用处{/fd}
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 09:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表