RPGXP 스크립트
2013.09.26 01:45

안티 렉 스크립트

조회 수 3327 추천 수 1 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
#======================================
# ■ 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
 
일정 범위 밖 이벤트를 업데이트 하지 않음으로써 게임 내 렉을 줄여주는 스크립트입니다.
단, 자동 실행이나 병렬 처리 이벤트는 실행됩니다.
?

  1. [무한응용]스위치/변수 임시 저장/로딩하기

    Date2010.04.10 CategoryRPGXP 스크립트 By카리스 Views2595 Votes1
    Read More
  2. 새로운 게임 시작/로드 시 미묘한 연출 추가.

    Date2007.12.01 CategoryRPGXP 스크립트 By창조도시 Views2604 Votes1
    Read More
  3. [무한응용]스위치/변수 임시 저장/로딩하기

    Date2010.04.10 CategoryRPGXP 스크립트 By카리스 Views2633 Votes1
    Read More
  4. 퀘스트스크립트

    Date2010.10.24 CategoryRPGXP 스크립트 ByA.M.S Views2635 Votes1
    Read More
  5. 한글이름입력기 v1.76

    Date2008.07.24 CategoryRPGXP 스크립트 By창조도시 Views2698 Votes2
    Read More
  6. 아이템 조합 스크립트

    Date2013.12.06 CategoryRPGXP 스크립트 By 운 Views2719 Votes0
    Read More
  7. 맵 이름을 화면 상단에 띄우기.

    Date2008.10.12 CategoryRPGXP 스크립트 By창조도시 Views2748 Votes1
    Read More
  8. 그레고리우스력 원리.

    Date2011.06.22 CategoryRPGXP 스크립트 By협객 Views2754 Votes0
    Read More
  9. 부활 스크립트

    Date2013.10.01 CategoryRPGXP 스크립트 By Views2768 Votes0
    Read More
  10. 이름조합스크립트

    Date2013.10.27 CategoryRPGXP 스크립트 ByScissor Views2769 Votes0
    Read More
  11. 3D스크립트!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Date2014.01.18 CategoryRPGXP 스크립트 By공박사 Views2809 Votes2
    Read More
  12. 대화창에 얼굴 띄우기& 대화창 명령어 모음.

    Date2008.12.31 CategoryRPGXP 스크립트 By창조도시 Views2823 Votes1
    Read More
  13. 2D 마인크래프트 프로젝트

    Date2013.09.26 CategoryRPGXP 스크립트 By Views3048 Votes2
    Read More
  14. 특정범위내에들어오면이동하기

    Date2010.10.14 CategoryRPGXP 스크립트 ByA.M.S Views3082 Votes0
    Read More
  15. 퀘스트 스크립트

    Date2013.10.12 CategoryRPGXP 스크립트 By 운 Views3104 Votes2
    Read More
  16. 안티 렉 스크립트

    Date2013.09.26 CategoryRPGXP 스크립트 By Views3327 Votes1
    Read More
  17. 대화창에 이름&얼굴 띄우기 새로운방식.

    Date2007.11.06 CategoryRPGXP 스크립트 By창조도시 Views3489 Votes3
    Read More
  18. 대화창에 이름&얼굴 띄우기 새로운방식.

    Date2007.11.06 CategoryRPGXP 스크립트 By창조도시 Views3595 Votes3
    Read More
  19. 물가에가면 캐릭터를 반사시켜주는 스크립트

    Date2007.12.02 CategoryRPGXP 스크립트 By창조도시 Views4491 Votes6
    Read More
  20. 물가에가면 캐릭터를 반사시켜주는 스크립트

    Date2007.12.02 CategoryRPGXP 스크립트 By창조도시 Views4994 Votes7
    Read More
Board Pagination Prev 1 ... 3 4 5 6 7 8 Next
/ 8






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)