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스크립트와 같은 효과를 내게 해달라는 요청입니다.
(위의 스크립트를 적어놓은 것이 규정에 어긋난다면 말씀해 주세요. 요청확인 즉시 최대한 빨리 지우겠습니다.)