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

Project1

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

[已经解决] 求助:是否有VA版的防卡脚本?

[复制链接]

Lv2.观梦者

梦石
0
星屑
746
在线时间
532 小时
注册时间
2011-10-3
帖子
2237
跳转到指定楼层
1
发表于 2013-8-5 21:04:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
小于1000经验都可以买下,当然免费的更好

事件太多了,导致城市和大地图很卡,FPS也不足20,希望脚本触或者热心会员给我一份VA防卡脚本~~~~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
256 小时
注册时间
2013-5-27
帖子
196
2
发表于 2013-8-5 21:53:39 | 只看该作者
我估计你是其他原因造成的,比如灯光脚本什么的,否则光事件能卡成这样也属于少见。
MOG有个事件防卡脚本,测试内容是一张地图250+个NPC同时在跑。
这个范例好像有人在地球村放过,叫 MASTER DEMO
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
746
在线时间
532 小时
注册时间
2011-10-3
帖子
2237
3
 楼主| 发表于 2013-8-5 22:04:21 | 只看该作者
scottyfan 发表于 2013-8-5 21:53
我估计你是其他原因造成的,比如灯光脚本什么的,否则光事件能卡成这样也属于少见。
MOG有个事件防卡脚本, ...


城市:300个NPC
大地图:90个事件
并且全地图同时运行13个公共事件
包括了事件雾,事件光影,事件地图信息,多计时器

现在已经用其他办法缓解了,等下我去地球村看看~谢谢~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
256 小时
注册时间
2013-5-27
帖子
196
4
发表于 2013-8-5 22:08:14 | 只看该作者
并行的事件什么,某种程度上说,挺占资源,事件雾,事件光影,锦上添花,太卡的话,换我可能就撤掉了。
  1. #==============================================================================
  2. # +++ MOG - Simple Anti Lag (V1.0) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # http://www.atelier-rgss.com
  6. #==============================================================================
  7. # Sistema de antilag.
  8. #==============================================================================
  9. # Para desativar ou ativar o sistema de antilag use o comando abaixo
  10. #
  11. # $game_system.anti_lag = true
  12. #
  13. #==============================================================================
  14. # NOTA - Este script não funciona em mapas com efeito LOOP.
  15. #
  16. #==============================================================================
  17. module MOG_ANTI_LAG
  18.   #Area que será atualizada fora da tela.
  19.   UPDATE_OUT_SCREEN_RANGE = 3
  20. end

  21. #==============================================================================
  22. # ■ Game_System
  23. #==============================================================================
  24. class Game_System
  25.   attr_accessor :anti_lag
  26.   
  27. #--------------------------------------------------------------------------
  28. # ● Initialize
  29. #--------------------------------------------------------------------------   
  30.   alias mog_antilag_initialize initialize
  31.   def initialize
  32.       @anti_lag = true
  33.       mog_antilag_initialize
  34.   end  
  35. end

  36. #==============================================================================
  37. # ■ Game_Character
  38. #==============================================================================
  39. class Game_Event < Game_Character
  40.   
  41.   attr_accessor :can_update            

  42.   #--------------------------------------------------------------------------
  43.   # ● Initialize
  44.   #--------------------------------------------------------------------------
  45.   alias mog_anti_lag_initialize initialize
  46.   def initialize(map_id, event)
  47.       mog_anti_lag_initialize(map_id, event)
  48.       @can_update = true
  49.       @anti_lag = true
  50.       if $game_map.loop_horizontal? or $game_map.loop_vertical?
  51.          @anti_lag = false
  52.       end
  53.   end
  54.    
  55. #--------------------------------------------------------------------------
  56. # ● Check Event on Screen
  57. #--------------------------------------------------------------------------
  58. def update_anti_lag
  59.      unless $game_system.anti_lag
  60.          @can_update = true
  61.          return
  62.      end  
  63.      anti_lag_event_on_screen
  64. end
  65.    
  66. #--------------------------------------------------------------------------
  67. # ● Event On Screen
  68. #--------------------------------------------------------------------------
  69. def anti_lag_event_on_screen
  70.      @can_update = false
  71.      out_screen = MOG_ANTI_LAG::UPDATE_OUT_SCREEN_RANGE
  72.      px = ($game_map.display_x).truncate
  73.      py = ($game_map.display_y).truncate
  74.      distance_x = @x - px
  75.      distance_y = @y - py
  76.      if distance_x.between?(0 - out_screen, 16 + out_screen) and
  77.         distance_y.between?(0 - out_screen, 12 + out_screen)
  78.         @can_update = true
  79.      end
  80. end
  81.   
  82. #--------------------------------------------------------------------------
  83. # ● Update
  84. #--------------------------------------------------------------------------     
  85.   alias mog_anti_lag_update update
  86.   def update
  87.       update_anti_lag unless !@anti_lag
  88.       return if !@can_update
  89.       mog_anti_lag_update
  90.   end
  91. end

  92. #==============================================================================
  93. # ■ Sprite Character
  94. #==============================================================================
  95. class Sprite_Character < Sprite_Base

  96. #--------------------------------------------------------------------------
  97. # ● Check Can Update Sprite
  98. #--------------------------------------------------------------------------      
  99.   def check_can_update_sprite
  100.       if self.visible and [email protected]_update
  101.          reset_sprite_effects
  102.       end        
  103.       self.visible = @character.can_update           
  104.   end
  105.   
  106. #--------------------------------------------------------------------------
  107. # ● Reset Sprite Effects
  108. #--------------------------------------------------------------------------         
  109.   def reset_sprite_effects
  110.       dispose_animation
  111.   end
  112.   
  113. #--------------------------------------------------------------------------
  114. # ● Update
  115. #--------------------------------------------------------------------------           
  116.   alias mog_anti_lag_update update
  117.   def update
  118.       if $game_system.anti_lag and @character.is_a?(Game_Event)
  119.          check_can_update_sprite
  120.          return unless self.visible
  121.       end   
  122.       mog_anti_lag_update
  123.   end
  124.   
  125. end

  126. $mog_rgss3_anti_lag = true
复制代码

评分

参与人数 2星屑 +20 梦石 +1 收起 理由
Sion + 1 认可答案
神秘影子 + 20 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
746
在线时间
532 小时
注册时间
2011-10-3
帖子
2237
5
 楼主| 发表于 2013-8-5 22:21:54 | 只看该作者
scottyfan 发表于 2013-8-5 22:08
并行的事件什么,某种程度上说,挺占资源,事件雾,事件光影,锦上添花,太卡的话,换我可能就撤掉了。 ...

谢谢啊,我找了几页都没找到呢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 06:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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