XP 스크립트

많은 이벤트로 인한 렉을 줄여줍니다.
효과는 확실합니다. 쓰고있다는..
출처 RMXP.net

#======================================
# ■ 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 -= 256
  screne_y = $game_map.display_y
  screne_y -= 256
  screne_width = $game_map.display_x
  screne_width += 2816
  screne_height = $game_map.display_y
  screne_height += 2176
  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 -= 256
  screne_y = $game_map.display_y
  screne_y -= 256
  screne_width = $game_map.display_x
  screne_width += 2816
  screne_height = $game_map.display_y
  screne_height += 2176
  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

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '3'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
194 기타 killer님 요청하신 스크립트 두번째입니다. 나뚜루 2009.02.21 759
» 기타 Anti Event Lag Script 3 백호 2009.02.21 1057
192 기타 시작하자 마자 풀 스크린 2 백호 2009.02.21 1082
191 기타 AMS-Advanced Message Script Edited by Dubleax 3 file 백호 2009.02.21 766
190 기타 능력치 무한대 스크립트 (따로 넣을필요없음) 2 백호 2009.02.21 1027
189 기타 Steal Script (SDK Required) file 백호 2009.02.21 1182
188 기타 횡스크롤 스크립트 한국말 번역. 15 file 백호 2009.02.21 3315
187 기타 Activation_system file 백호 2009.02.22 775
186 기타 Hero Databass 4 file 백호 2009.02.22 797
185 기타 몬스터 도감 18 file 백호 2009.02.22 2669
184 기타 아이디 스크립트 4 백호 2009.02.22 1761
183 기타 폰트 자동 설치 스크립트 12 file 백호 2009.02.22 2865
182 기타 스크롤되는 파노라마(Autoscrolling Panorama) by RPG Advocate 백호 2009.02.22 993
181 기타 현재 맵BGM을 그대로 전투 BGM으로 연결 from phylomortis.com 백호 2009.02.22 1180
180 기타 Advanced Weather System (AWS) 3 file 백호 2009.02.22 1272
179 기타 ↓ 날씨 자동설정 스크립트 3 백호 2009.02.22 1530
178 기타 에어리어 설정 by RPG Advocate 백호 2009.02.22 710
177 기타 강제 종료시키기 1 file 백호 2009.02.22 1015
176 기타 AMS___Advanced_Message_Script 1 file 백호 2009.02.22 889
175 기타 Real-Time Day Night 3 백호 2009.02.22 751
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13