질문과 답변

Extra Form

안티렉스크립트 쓸려는데 어디에 넣어야하는지 모르겠어요...ㅠㅠ

Comment '9'
  • ?
    페렐 2015.03.11 01:56
    일반적인 스크립트라면 F11 눌러서 나오는 스크립트 에디터 창에서 왼쪽 탭 목록 중 가장 아래의 main 바로 위에다 새 탭을 추가해서 쑤셔넣으면 될 거예요. 새 탭 추가하는 방법은 거기에 대고 오른 클릭.
  • ?
    이리나 2015.03.11 17:56
    main위에다가 넣어봣었는데 적용이 안돼요 ㅠㅠ
  • ?
    페렐 2015.03.11 19:03
    어떤 스크립트인지 알려주실 수 있으세요?
  • ?
    이리나 2015.03.12 22:36
    안티렉스크립트요
    #####################################################
    #Super Simple Anti-Lag System 2.0 By Amaranth
    #Last updated March 22, 2009
    #####################################################
    # Additional Credits:
    # Angelix, Shaz, Near Fantastica
    ####################################################
    # Usage: Free for all to use.
    ####################################################

    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    # SET YOUR ANTI-LAG PERAMETERS
    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------

    # 1. Set anti-lag for drawing events
    # -----------------------
    # Only draw event GRAPHIC if within this horizontal # of tiles from player
    # Note: if event is outside of this range, and this range is within screen
    # width, the event will appear to "drag" across the screen because the
    # game is not updating the graphic.
    PLAYER_RANGE_WIDTH = 20

    # Only draw event GRAPHIC if within this vertical # of tiles from player
    # Note: if event is outside of this range, and this range is within screen
    # height, the event will appear to "drag" across the screen because the
    # game is not updating the graphic.
    PLAYER_RANGE_HEIGHT = 15


    # 2. Set anti-lag for moving events
    # -----------------------
    # Only process event movement if within this horizontal # of tiles from player
    # Note: if event is outside of this range, and this range is within screen
    # width, the event will stop moving.
    MAP_RANGE_WIDTH = 20

    # Only process event movement if within this vertical # of tiles from player
    # Note: if event is outside of this range, and this range is within screen
    # height, the event will stop moving.
    MAP_RANGE_HEIGHT = 15

    # 3. Set anti-lag movement for specific events
    # -----------------------
    # You can stop the game from updating specific events. This is
    # helpful if you have several events on screen. Only use this on events
    # that are invisible or don't move around.
    # To Use: Create an event on a map and change the name of the event to the
    # value below (by default, this is IGNORE). The name of an event
    # is in the upper-left side of the event dialog box)
    ANTI_LAG_EVENT_NAME = "IGNORE"


    # 4. Turn anti-lag on and off in the game while playing the game
    # ------------------------
    # On some maps in your game, you may not want to use the anti-lag system,
    # or you may want to turn it off during some scenes in your game.
    # To Use: Use a switch to turn anti-lag off and on. (by default this is Switch 1)
    ANTI_LAG_SWITCH = 5



    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    class Game_Character
    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    attr_accessor :inrange_char # event near player? (stop draw)
    attr_accessor :inrange_map # event on map? (stop movement)
    attr_reader :event
    end

    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    class Game_Map
    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    # * Frame Update
    #--------------------------------------------------------------------------
    def update
    # Refresh map if necessary
    if $game_map.need_refresh
    refresh
    end
    # If scrolling
    if @scroll_rest > 0
    # Change from scroll speed to distance in map coordinates
    distance = 2 ** @scroll_speed
    # Execute scrolling
    case @scroll_direction
    when 2 # Down
    scroll_down(distance)
    when 4 # Left
    scroll_left(distance)
    when 6 # Right
    scroll_right(distance)
    when 8 # Up
    scroll_up(distance)
    end
    # Subtract distance scrolled
    @scroll_rest -= distance
    end

    # Update map event
    for event in @events.values
    # ANTI LAG CHECK START---------------------------------------------
    if ((event.inrange_map == 1) && (event.event.name != ANTI_LAG_EVENT_NAME)) or [3,4].include?event.trigger
    event.update
    end
    # ANTI LAG CHECK END-----------------------------------------------
    end

    # Update common event
    for common_event in @common_events.values
    common_event.update
    end

    # Manage fog scrolling
    @fog_ox -= @fog_sx / 8.0
    @fog_oy -= @fog_sy / 8.0

    # Manage change in fog color tone
    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

    # Manage change in fog opacity level
    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

    #--------------------------------------------------------------------------
    # ● Frame Update
    #--------------------------------------------------------------------------
    def update
    # If panorama is different from current one
    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 is different than current fog
    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
    # Update tilemap
    @tilemap.ox = $game_map.display_x / 4
    @tilemap.oy = $game_map.display_y / 4
    @tilemap.update
    # Update panorama plane
    @panorama.ox = $game_map.display_x / 8
    @panorama.oy = $game_map.display_y / 8
    # Update fog plane
    @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

    # Update character sprites
    for sprite in @character_sprites
    # ANTI LAG CHECK START---------------------------------------------
    if in_range?(sprite.character)
    sprite.update
    end
    # ANTI LAG CHECK END---------------------------------------------
    end

    # Update weather graphic
    @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
    # Update picture sprites
    for sprite in @picture_sprites
    sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport3.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport3.update
    end


    #--------------------------------------------------------------------------
    # ● Check if events are in range (ANTI-LAG)
    #--------------------------------------------------------------------------
    def in_range?(event)

    diff_x = ($game_player.real_x - event.real_x).abs # absolute value
    diff_y = ($game_player.real_y - event.real_y).abs # absolute value

    # update the graphic for the event in this range
    player_width = 128 * PLAYER_RANGE_WIDTH
    player_height = 128 * PLAYER_RANGE_HEIGHT

    # update actions being performed by the event in this range
    screen_width = 128 * MAP_RANGE_WIDTH
    screen_height = 128 * MAP_RANGE_HEIGHT

    # stop an event from performing actions if outside of this range on the map
    # note: if range is small, event will stop moving and performing tasks on screen
    if ((diff_x < screen_width && diff_y < screen_height) or $game_switches[ANTI_LAG_SWITCH])
    event.inrange_map = 1
    else
    event.inrange_map = 0
    end

    # stop an event's graphic from updating if outside of the range around player
    # note: if range is small, event graphic will appear to "drag" across screen
    # this happens because the graphic is not updating.
    if ((diff_x < player_width && diff_y < player_height) or $game_switches[ANTI_LAG_SWITCH])
    event.inrange_char = 1
    return true
    else
    event.inrange_char = 0
    return false
    end

    end
    end
  • ?
    이리나 2015.03.12 22:37
    이 스크립트입니다.
  • ?
    페렐 2015.03.13 10:43
    앞부분에 설명서가 나와있네요~
    1, 2 플레이어 기준으로 OO칸 옆의 이벤트는 그리지 않습니다.
    플레이어에게서 몇 칸 이상 떨졌을 때 그리지 않을까요?- 기본 설정 - 높이 15칸, 너비 20칸

    3. 가끔 맵에 존재하는 이벤트를 작동하지 않도록 만들어야할 때가 있습니다. 이러한 '존재하지만 작동하지 않는' 이벤트를 만드시려면 이벤트 이름을 'IGNORE'라고 정해주세요. 아래 설정에서 키워드를 변경할 수 있습니다.

    4. 안티랙 스크립트를 발동시키려면 5번 스위치를 ON시켜주세요. 아래 설정에서 트리거 스위치를 변경할 수 있습니다.


    이 경우 4번이 문제였나보네요 :) 스위치 5번을 ON시켜줘야 작동하는 스크립트입니다.
  • ?
    이리나 2015.03.13 19:30
    음... 스위치 5번을 ON시킬려면 어떤 수를 넣어야하나요??
  • ?
    페렐 2015.03.13 22:15
    이벤트(NPC나 문같은 거 만들 때 쓰는, 맵 더블클릭하면 나오는 창)에서 설정하실 수 있어요.
    문장의 표시나 그런 기능들 있는 창(이벤트 창에서 오른쪽 빈 칸 누르면 나오는 목록)에서 '스위치의 조절'인가.. 그걸 누르시고 설정하시면 됩니다!
  • ?
    이리나 2015.03.14 11:45
    아 이제 제대로 적용됬네요ㅠㅠ 답변 정말 감사드립니다!!ㅠㅠㅠ

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12442
RMXP rpgxp응답없음..헬프미~~ 2 용자건담 2011.10.21 2140
RMXP se반복하는 스크립트는 없을까요? 2 CJYG* 2012.03.26 2134
RMXP 공식이 이해가 안갑니다 2 나폴루 2011.10.30 2132
RMXP XAS 3.91 리젠 스크립트 2 비극ㆍ 2012.08.19 2130
RMXP 아오오니의 이벤트 1 RPG만들기? 2011.09.07 2121
RMXP 맵에서의 캐릭터 스프라이트 관련 질문 4 file Lighna 2012.05.28 2119
RMXP 몬스터 공격력 3 나폴루 2011.10.09 2118
RMXP 게임 파일 올릴때 어떤 파일을 올려야 하나요??(빠른답변부탁드립니다.) 1 에배랄드 2011.12.17 2117
RMXP RPGXP 오류 1 긔염둥이♥ 2012.06.08 2113
RMXP VX스크립트를 XP스크립트로 바꾸기 말짱꽝이지롱 2012.03.30 2112
RMXP 스크립트에 대한 사소한 질문 6 박권도 2012.01.26 2111
RMXP XP에선 칩셋의 치환이 불가능한가요? 2 하진 2012.04.28 2110
RMXP rpgxp 포터블 실행 질문 2 mentor2s 2011.06.06 2103
RMXP 액션알피지 제작에 대한 질문 4 불인간 2011.10.26 2102
RMXP 지정변수에 따라 메뉴윈도우의 문구 다르게 표시하기 17 file 하진 2012.04.01 2096
RMXP 우수게임은 꼭 외부타일셋이나 그래픽, 사운드를 사용해야합니까? 2 CJYG* 2011.12.21 2092
RMXP RPGXP 셀프스위치와 커먼이벤트 5 생파 2012.02.13 2091
RMXP rpgxp아오오니 오토타일과 장식품이 다 겹쳐져요;; 1 세종오니 2012.05.26 2090
RMXP 윈도우 스킨 형태 자체를 바꿀수는 없나요? 2 file 네츄랄미네랄 2012.10.27 2090
RMXP 캐릭터 만들기 사이트에서 캐릭터를 만들었는데요.. 5 해피투더 2011.06.28 2084
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 90 Next
/ 90