종료

이 스크립트(ace)를 mv에서 동작시키고 싶습니다.

by 무명시절 posted Dec 24, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
사용 제작툴 RMMV
의뢰 부문 기능 구현
마감일 2016-06-24

http://forums.rpgmakerweb.com/index.php?/topic/7625-vxace-passabilities-bug/

(제시된 스크립트의 출처, 원래 자료실 버그 픽스에 있던 겁니다.)


(ace)-------------------------------------------------------------------------------------------------

def check_passage(x, y, bit)
    all_tiles(x, y).each do |tile_id|
      flag = tileset.flags[tile_id]
      if flag & 0x10 != 0                   # [☆] : 어떤 효과도 나아가지 않습니다
        next         if flag & bit == 0     # [○] : 별을 제외하고 통행할수 있습니다
        return false if flag & bit == bit   # [×] : 통행할 수 없다
      else
        return true  if flag & bit == 0     # [○] : 통행 가능
        return false if flag & bit == bit   # [×] : 통행 불가
      end
    end
    return false                          # 통행 불가
  end

------------------------------------------------------------------------------------------------------


mv에서 통행을 위로 통과(☆)로 설정한 뒤  4방향 설정을 바꿔도 그냥 허공에 떠 있더라고요.(이 스크립트가 그걸 방지합니다 적어도 ace에선...)

(한글은 제가 번역기로 번역한거 입니다.)


아래는 혹시몰라 적어놉니다.

(mv)------------------------------------------------------------------------------

Game_Map.prototype.checkPassage = function(x, y, bit) {
    var flags = this.tilesetFlags();
    var tiles = this.allTiles(x, y);
    for (var i = 0; i < tiles.length; i++) {
        var flag = flags[tiles[i]];
        if ((flag & 0x10) !== 0)  // [*] No effect on passage
            continue;
        if ((flag & bit) === 0)   // [o] Passable
            return true;
        if ((flag & bit) === bit) // [x] Impassable
            return false;
    }
    return false;
};

--------------------------------------------------------------------------------

간단히 설명하자면 아래 스크립트를 수정해서 위의 ace스크립트와 같은 효과를 내게 해달라는 요청입니다.

(위의 스크립트를 적어놓은 것이 규정에 어긋난다면 말씀해 주세요. 요청확인 즉시 최대한 빨리 지우겠습니다.)