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

Project1

 找回密码
 注册会员
搜索
楼主: 暴风の龙
打印 上一主题 下一主题

[原创发布] RM模拟人生公测版(最终不卡补丁)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-11-26
帖子
129
61
发表于 2007-2-11 01:53:29 | 只看该作者
能不能优化一下啊,太卡了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
111
在线时间
74 小时
注册时间
2006-5-29
帖子
453
62
发表于 2007-2-11 02:18:58 | 只看该作者
{/jy}公共事件并行的一定很多吧?恩,看来需要优化公共事件,和事件多会卡的问题。
那个,主站好象有改脚本优化的东东……可惜主站脚本不见鸟……{/dk}

{/hx}其实偶也试过做类似的,发现公共事件用多了,会很卡。而且因素占的太多了。并行的时候总要判断很多东东- -,最后还是放弃鸟……
——————
可是下载速度不敢恭维啊……3KB/s以上就很庆幸了……偶滴讯雷啊……而且下载3个文件,天呐。{/dk}

大大你找56邮箱分成各个包上传吧,那个速度很快的*^-^*……
【我的百度空间】
 不定时更新绘画或像素图~~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-4-25
帖子
264
63
发表于 2007-2-11 02:21:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-11-26
帖子
129
64
发表于 2007-2-11 02:59:22 | 只看该作者
主站上的一个,可以让执行条件为"无"的公共事件不刷新

"在地图中,每帧都会把所有的事件和公共事件刷新一次
但是对于公共事件来说,当其不执行时,只刷新条件
如果把那些永远也不会主动执行到的公共事件去掉,就会减少很多刷新
因为相信大家在做游戏的时候,不主动执行的公共事件是绝大多数
(有的时候只是因为一些多个场合都要调用的公用的功能,写在了公共事件里)
其实这个只要两行脚本就可以解决了……

定位到Game_Map, 78-83行,原来的内容如下
   # 设置公共事件数据
   @common_events = {}
   for i in 1...$data_common_events.size
     @common_events = Game_CommonEvent.new(i)
   end

我们把它改成这个样子
   # 设置公共事件数据
   @common_events = {}
   for i in 1...$data_common_events.size
     unless $data_common_events.trigger == 0
       @common_events = Game_CommonEvent.new(i)
     end
   end

这样,在地图装载的时候,那些trigger为0的公共事件——即执行条件为“无”的公共事件,不会被装载到地图里,从而在刷新的时候也不会被列入刷新名单。
然后让我们来大量的编写王道的公共事件吧:)"
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
22 小时
注册时间
2006-4-22
帖子
370
65
发表于 2007-2-11 03:04:30 | 只看该作者
看截图真的很吸引!{/se}好华丽啊!!!有时间一定要下来玩!{/qiang}
~~~问下,地图上那些人物状态,还有选择对话,送礼物什么的框都是用公共事件显示图片的吗??
准备有空挖个坑玩玩..
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-11-26
帖子
129
66
发表于 2007-2-11 03:06:13 | 只看该作者
某问题贴里的一个方法 #====================================== # ■ Anti Event Lag Script #====================================== #  By: Near Fantastica # Date: 12.06.05 # Version: 3 #====================================== #====================================== # ■ Game_Map #====================================== class Game_Map #-------------------------------------------------------------------------- def in_range?(object) screne_x = $game_map.display_x screne_x -= 506 screne_y = $game_map.display_y screne_y -= 506 screne_width = $game_map.display_x screne_width += 3066 screne_height = $game_map.display_y screne_height += 2426 return false if object.real_x <= screne_x return false if object.real_x >= screne_width return false if object.real_y <= screne_y return false if object.real_y >= screne_height return true end #-------------------------------------------------------------------------- def update if $game_map.need_refresh refresh end if @scroll_rest > 0 distance = 2 ** @scroll_speed case @scroll_direction when 2 scroll_down(distance) when 4 scroll_left(distance) when 6 scroll_right(distance) when 8 scroll_up(distance) end @scroll_rest -= distance end for event in @events.values if in_range?(event) or event.trigger == 3 or event.trigger == 4 event.update end end for common_event in @common_events.values common_event.update end @fog_ox -= @fog_sx / 8.0 @fog_oy -= @fog_sy / 8.0 if @fog_tone_duration >= 1 d = @fog_tone_duration target = @fog_tone_target @fog_tone.red = (@fog_tone.red * (d - 1) + target.red) / d @fog_tone.green = (@fog_tone.green * (d - 1) + target.green) / d @fog_tone.blue = (@fog_tone.blue * (d - 1) + target.blue) / d @fog_tone.gray = (@fog_tone.gray * (d - 1) + target.gray) / d @fog_tone_duration -= 1 end if @fog_opacity_duration >= 1 d = @fog_opacity_duration @fog_opacity = (@fog_opacity * (d - 1) + @fog_opacity_target) / d @fog_opacity_duration -= 1 end end end #====================================== # ■ Spriteset_Map #====================================== class Spriteset_Map #-------------------------------------------------------------------------- def in_range?(object) screne_x = $game_map.display_x screne_x -= 506 screne_y = $game_map.display_y screne_y -= 506 screne_width = $game_map.display_x screne_width += 3066 screne_height = $game_map.display_y screne_height += 2426 return false if object.real_x <= screne_x return false if object.real_x >= screne_width return false if object.real_y <= screne_y return false if object.real_y >= screne_height return true end #-------------------------------------------------------------------------- def update if @panorama_name != $game_map.panorama_name or @panorama_hue != $game_map.panorama_hue @panorama_name = $game_map.panorama_name @panorama_hue = $game_map.panorama_hue if @panorama.bitmap != nil @panorama.bitmap.dispose @panorama.bitmap = nil end if @panorama_name != "" @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue) end Graphics.frame_reset end if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue @fog_name = $game_map.fog_name @fog_hue = $game_map.fog_hue if @fog.bitmap != nil @fog.bitmap.dispose @fog.bitmap = nil end if @fog_name != "" @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue) end Graphics.frame_reset end @tilemap.ox = $game_map.display_x / 4 @tilemap.oy = $game_map.display_y / 4 @tilemap.update @panorama.ox = $game_map.display_x / 8 @panorama.oy = $game_map.display_y / 8 @fog.zoom_x = $game_map.fog_zoom / 100.0 @fog.zoom_y = $game_map.fog_zoom / 100.0 @fog.opacity = $game_map.fog_opacity @fog.blend_type = $game_map.fog_blend_type @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy @fog.tone = $game_map.fog_tone i=0 for sprite in @character_sprites if sprite.character.is_a?(Game_Event) if in_range?(sprite.character) or sprite.character.trigger == 3 or sprite.character.trigger == 4 sprite.update i+=1 end else sprite.update i+=1 end end #p i @weather.type = $game_screen.weather_type @weather.max = $game_screen.weather_max @weather.ox = $game_map.display_x / 4 @weather.oy = $game_map.display_y / 4 @weather.update for sprite in @picture_sprites sprite.update end @timer_sprite.update @viewport1.tone = $game_screen.tone @viewport1.ox = $game_screen.shake @viewport3.color = $game_screen.flash_color @viewport1.update @viewport3.update end end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-11-26
帖子
129
67
发表于 2007-2-11 03:08:39 | 只看该作者
楼主这个游戏最大缺点就是卡了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
111
在线时间
74 小时
注册时间
2006-5-29
帖子
453
68
发表于 2007-2-11 03:09:53 | 只看该作者
{/jy}楼上滴朋友找的很快吖~~~~

{/hx}偶也只有那个公共事件的解决方式,应该还有个事件多会卡的问题解决的东西,可惜找不到了{/ng}

听大家说MS很卡的样子,而且加密了{/dk}。。不能自力更生鸟。。。
【我的百度空间】
 不定时更新绘画或像素图~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-11-26
帖子
129
69
发表于 2007-2-11 03:15:46 | 只看该作者
我楼上的楼上的楼上的脚本是解决事件卡的.不知道行不行
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
111
在线时间
74 小时
注册时间
2006-5-29
帖子
453
70
发表于 2007-2-11 03:17:23 | 只看该作者
{/hx}今年热心的人真多,希望LZ能看到
【我的百度空间】
 不定时更新绘画或像素图~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 20:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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