질문과 답변

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 캐릭터만들기 1 고유 2011.12.07 2526
RMXP 캐릭터마다 마법메뉴의 이름을 달리하는 방법이 있나요? 아미상 2013.07.09 665
RMXP 캐릭터를 만들었는데요.. 1 깡패토끼0401 2010.09.30 776
RMXP 캐릭터뒤에칼착용하는법좀요; 2 라이토스 2011.12.06 1591
RMXP 캐릭터그래픽 만드는법 2 작은오타쿠 2011.09.10 1745
RMXP 캐릭터가 통행설정을 무시하고 벽위를 걸어다녀요 file 아이비 2018.01.12 159
RMXP 캐릭터가 절뚝(...)거려요 6 file 이룩 2013.10.19 1232
RMXP 캐릭터가 가만히 서있을 때 움직이게 하는 방법을 알려주세요.ㅜ 2 나는청춘 2011.10.20 2477
RMXP 캐릭터 하려고 오니를 다운받앗는데 이제 어디로 옮기면될가요 4 By한l률화 2012.04.23 2465
RMXP 캐릭터 플레이어 속도 어떻게 변횐하나요? 1 맥켄리 2012.09.24 1387
RMXP 캐릭터 플레이어 속도 3 메토즈메군 2012.02.03 2584
RMXP 캐릭터 프레임 수 증가 플롭 2014.06.02 595
RMXP 캐릭터 통행 문제점 3 file 바들짱 2013.04.28 691
RMXP 캐릭터 칩 만드는데요 3 다코야끼 2010.10.02 823
RMXP 캐릭터 최대사이즈 2 빵테의비밀 2013.08.05 890
RMXP 캐릭터 주위에 하얀색이떠요. 1 ugmik1246 2011.08.07 1836
에러 해결 RMXP 캐릭터 이동 에러? 질문이요 2 file 김빡빡 2022.02.02 253
RMXP 캐릭터 위로 지나가기, 터널, 통과 3 뻑커칩 2015.04.08 255
RMXP 캐릭터 소재 적용방법 1 uns33567194 2014.05.31 613
RMXP 캐릭터 상반신 대화창에넣는법 2 빵테의비밀 2013.07.29 1594
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