질문과 답변

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 12451
RMXP 아이템 윗쪽으로 걸어다니게 하는거말고.. 뒷쪽으로 걸어다니게 하는법 아시는분.. 은빙 2014.11.18 325
RMXP 안티렉스크립트 어떻게 쓰나요?? 9 이리나 2015.03.10 326
RMXP 카톡 햄버거셋트 기프티콘 1장 걸고 질문드립니다. 5 file 새우쾅 2015.06.06 332
RMXP (RMXP)메뉴 버튼(x)를 누를 시 메뉴가 아닌 아이템 목록이 호출되게 하고 싶습니다. 2 종이맛쿠키 2015.01.02 335
RMXP 조건분기가 실행이 안됩니다. 2 file 페로 2014.11.05 338
RMXP 게임하다가 일정 이벤트가 뜨면 게임 폴더 속 파일이 자동 실행되도록 할수 있나요? 2 찐콩땅콩 2015.11.15 339
RMXP 메세지 스크립트 오류좀 봐주세요 망고망고 2014.11.15 342
한글 패치 RMXP 스팀 알만툴XP 한글패치 관련 질문입니다 으으으으으으 2020.02.25 343
RMXP 게임을 만들었는데요 남들이 수정 못하게 파일 잠그는 방법 없나요? 5 새우쾅 2015.06.16 349
RMXP [RMXP] XP 해상도 변경 toy 2018.01.16 350
RMXP 이거 할줄 아시는분 답변점 1 hero 2011.01.04 363
RMXP 게임 기본 메뉴에서 커서 이동 관련 2 THE풀잎 2014.10.30 365
RMXP RPG XP 턴제 RPG 에서 체력 비례 데미지를 구현하고 싶습니다. 2 체력을가르다. 2015.09.26 367
RMXP 아, 어렵네요 제발 도와주세요 ㅜㅜ 13 file THE풀잎 2016.03.03 379
RMXP 문장에 관해서 두가지 질문합니다. 13 라썬 2016.03.25 379
기타 RMXP RPGXP) 맵칩만드는방법 2 늑이씨 2019.05.02 379
RMXP 메뉴 스테이터스 창 대신 픽쳐를 넣는 스크립트를 알고 싶습니다 4 file 하누 2015.11.29 388
RMXP 자작스킬을 위해 애니메이션 리소스를 직접 제작하고 싶습니다 1 file 교정기 2015.10.13 397
RMXP 안드로이드 싱글리니지 오류.. file 프라마 2017.02.19 404
RMXP 투명화 질문입니다. (xp) 1 silver7 2014.10.02 405
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