• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 메이플스토리 소스자료실
    • 메이플스토리 소스자료실 ()
    • (1.2.65) 상점 및 고용상인 소스

      • rehab21
      • 2020.02.17 - 01:36 2017.04.04 - 18:21 210 1

    넷빈에서 서버 팩 내 src를 불러온 후 server > shops 경로에 아래의 이름으로 소스를 부여합니다.

    총 3개입니다. 

     

    AbstractPlayerStore.java

    package server.shops;

    import constants.GameConstants;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.sql.ResultSet;
    import java.sql.Connection;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.concurrent.atomic.AtomicInteger;
    import java.lang.ref.WeakReference;

    import client.inventory.Item;
    import client.inventory.ItemLoader;
    import client.MapleCharacter;
    import client.MapleClient;
    import client.inventory.MapleInventoryType;
    import database.DatabaseConnection;

    import handling.channel.ChannelServer;
    import handling.world.World;
    import java.util.ArrayList;
    import server.maps.MapleMapObject;
    import server.maps.MapleMap;
    import server.maps.MapleMapObjectType;
    import tools.Pair;
    import tools.packet.PlayerShopPacket;

    public abstract class AbstractPlayerStore extends MapleMapObject implements IMaplePlayerShop {

        protected boolean open = false, available = false;
        protected String ownerName, des, pass;
        protected int ownerId, owneraccount, itemId, channel, map;
        protected AtomicInteger meso = new AtomicInteger(0);
        protected WeakReference<MapleCharacter> chrs[];
        protected List<String> visitors = new LinkedList<String>();
        protected List<BoughtItem> bought = new LinkedList<BoughtItem>();
        protected List<MaplePlayerShopItem> items = new LinkedList<MaplePlayerShopItem>();

        public AbstractPlayerStore(MapleCharacter owner, int itemId, String desc, String pass, int slots) {
            this.setPosition(owner.getTruePosition());
            this.ownerName = owner.getName();
            this.ownerId = owner.getId();
            this.owneraccount = owner.getAccountID();
            this.itemId = itemId;
            this.des = desc;
            this.pass = pass;
            this.map = owner.getMapId();
            this.channel = owner.getClient().getChannel();
            chrs = new WeakReference[slots];
            for (int i = 0; i < chrs.length; i++) {
                chrs[i] = new WeakReference<MapleCharacter>(null);
            }
        }

        @Override
        public int getMaxSize() {
            return chrs.length + 1;
        }

        @Override
        public int getSize() {
            return getFreeSlot() == -1 ? getMaxSize() : getFreeSlot();
        }

        @Override
        public void broadcastToVisitors(byte[] packet) {
            broadcastToVisitors(packet, true);
        }

        public void broadcastToVisitors(byte[] packet, boolean owner) {
            for (WeakReference<MapleCharacter> chr : chrs) {
                if (chr != null && chr.get() != null) {
                    chr.get().getClient().getSession().write(packet);
                }
            }
            if (getShopType() != IMaplePlayerShop.HIRED_MERCHANT && owner && getMCOwner() != null) {
                getMCOwner().getClient().getSession().write(packet);
            }
        }

        public void broadcastToVisitors(byte[] packet, int exception) {
            for (WeakReference<MapleCharacter> chr : chrs) {
                if (chr != null && chr.get() != null && getVisitorSlot(chr.get()) != exception) {
                    chr.get().getClient().getSession().write(packet);
                }
            }
            if (getShopType() != IMaplePlayerShop.HIRED_MERCHANT && getMCOwner() != null && exception != ownerId) {
                getMCOwner().getClient().getSession().write(packet);
            }
        }

        @Override
        public int getMeso() {
            return meso.get();
        }

        @Override
        public void setMeso(int meso) {
            this.meso.set(meso);
        }

        @Override
        public void setOpen(boolean open) {
            this.open = open;
        }

        @Override
        public boolean isOpen() {
            return open;
        }

        public boolean saveItems() {
            if (getShopType() != IMaplePlayerShop.HIRED_MERCHANT) { //hired merch only
                return false;
            }
            Connection con = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                con = DatabaseConnection.getConnection();
                ps = con.prepareStatement("DELETE FROM hiredmerch WHERE accountid = ? OR characterid = ?");
                ps.setInt(1, owneraccount);
                ps.setInt(2, ownerId);
                ps.executeUpdate();
                ps.close();
                ps = con.prepareStatement("INSERT INTO hiredmerch (characterid, accountid, Mesos, time) VALUES (?, ?, ?, ?)", DatabaseConnection.RETURN_GENERATED_KEYS);
                ps.setInt(1, ownerId);
                ps.setInt(2, owneraccount);
                ps.setInt(3, meso.get());
                ps.setLong(4, System.currentTimeMillis());

                ps.executeUpdate();

                rs = ps.getGeneratedKeys();
                if (!rs.next()) {
                    throw new RuntimeException("Error, adding merchant to DB");
                }
                final int packageid = rs.getInt(1);
                rs.close();
                ps.close();
                List<Pair<Item, MapleInventoryType>> iters = new ArrayList<Pair<Item, MapleInventoryType>>();
                Item item;
                for (MaplePlayerShopItem pItems : items) {
                    if (pItems.item == null || pItems.bundles <= 0) {
                        continue;
                    }
                    if (pItems.item.getQuantity() <= 0 && !GameConstants.isRechargable(pItems.item.getItemId())) {
                        continue;
                    }
                    item = pItems.item.copy();
                    item.setQuantity((short) (item.getQuantity() * pItems.bundles));
                    iters.add(new Pair<Item, MapleInventoryType>(item, GameConstants.getInventoryType(item.getItemId())));
                }
                ItemLoader.HIRED_MERCHANT.saveItems(iters, packageid);
                return true;
            } catch (SQLException se) {
                se.printStackTrace();
            } finally {
                if (con != null) {
                    try {
                        con.close();
                    } catch (Exception e) {
                    }
                }
                if (ps != null) {
                    try {
                        ps.close();
                    } catch (Exception e) {
                    }
                }
                if (rs != null) {
                    try {
                        rs.close();
                    } catch (Exception e) {
                    }
                }
            }
            return false;
        }

        public MapleCharacter getVisitor(int num) {
            return chrs[num].get();
        }

        @Override
        public void update() {
            if (isAvailable()) {
                if (getShopType() == IMaplePlayerShop.HIRED_MERCHANT) {
                    getMap().broadcastMessage(PlayerShopPacket.updateHiredMerchant((HiredMerchant) this));
                } else if (getMCOwner() != null) {
                    getMap().broadcastMessage(PlayerShopPacket.sendPlayerShopBox(getMCOwner()));
                }
            }
        }

        @Override
        public void addVisitor(MapleCharacter visitor) {
            int i = getFreeSlot();
            if (i > 0) {
                if (getShopType() >= 3) {
                    broadcastToVisitors(PlayerShopPacket.getMiniGameNewVisitor(visitor, i, (MapleMiniGame) this));
                } else {
                    broadcastToVisitors(PlayerShopPacket.shopVisitorAdd(visitor, i));
                }
                chrs[i - 1] = new WeakReference<MapleCharacter>(visitor);
                if (!isOwner(visitor)) {
                    visitors.add(visitor.getName());
                }
                if (getItemId() >= 4080000 && getItemId() <= 4080100) {
                    if (i == 1) {
                        update();
                    }
                } else {
                    if (i == 3) {
                        update();
                    }
                }
            }
        }

        @Override
        public void removeVisitor(MapleCharacter visitor, boolean sendPacket) {
            final byte slot = getVisitorSlot(visitor);
            boolean shouldUpdate = getFreeSlot() == -1;
            if (slot > 0) {
                if (sendPacket) {
                    broadcastToVisitors(PlayerShopPacket.shopVisitorLeave(slot), slot);
                }
                chrs[slot - 1] = new WeakReference<MapleCharacter>(null);
                if (shouldUpdate) {
                    update();
                }
            }
        }

        @Override
        public byte getVisitorSlot(MapleCharacter visitor) {
            for (byte i = 0; i < chrs.length; i++) {
                if (chrs[i] != null && chrs[i].get() != null && chrs[i].get().getId() == visitor.getId()) {
                    return (byte) (i + 1);
                }
            }
            if (visitor.getId() == ownerId) { //can visit own store in merch, otherwise not.
                return 0;
            }
            return -1;
        }

        @Override
        public void removeAllVisitors(int error, int type) {
            for (int i = 0; i < chrs.length; i++) {
                MapleCharacter visitor = getVisitor(i);
                if (visitor != null) {
                    if (type != -1) {
                        visitor.getClient().getSession().write(PlayerShopPacket.shopErrorMessage(error, type == -2 ? i + 1 : type));
                    }
                    broadcastToVisitors(PlayerShopPacket.shopVisitorLeave(getVisitorSlot(visitor)), getVisitorSlot(visitor));
                    visitor.setPlayerShop(null);
                    chrs[i] = new WeakReference<MapleCharacter>(null);
                }
            }
            update();
        }

        @Override
        public String getOwnerName() {
            return ownerName;
        }

        @Override
        public int getOwnerId() {
            return ownerId;
        }

        @Override
        public int getOwnerAccId() {
            return owneraccount;
        }

        @Override
        public String getDescription() {
            if (des == null) {
                return "";
            }
            return des;
        }

        @Override
        public List<Pair<Byte, MapleCharacter>> getVisitors() {
            List<Pair<Byte, MapleCharacter>> chrz = new LinkedList<Pair<Byte, MapleCharacter>>();
            for (byte i = 0; i < chrs.length; i++) { //include owner or no
                if (chrs[i] != null && chrs[i].get() != null) {
                    chrz.add(new Pair<Byte, MapleCharacter>((byte) (i + 1), chrs[i].get()));
                }
            }
            return chrz;
        }

        @Override
        public List<MaplePlayerShopItem> getItems() {
            return items;
        }

        @Override
        public void addItem(MaplePlayerShopItem item) {
            //System.out.println("Adding item ... 2");
            items.add(item);
        }

        @Override
        public boolean removeItem(int item) {
            return false;
        }

        @Override
        public void removeFromSlot(int slot) {
            items.remove(slot);
        }

        @Override
        public byte getFreeSlot() {
            for (byte i = 0; i < chrs.length; i++) {
                if (chrs[i] == null || chrs[i].get() == null) {
                    return (byte) (i + 1);
                }
            }
            return -1;
        }

        @Override
        public int getItemId() {
            return itemId;
        }

        @Override
        public boolean isOwner(MapleCharacter chr) {
            return chr.getId() == ownerId && chr.getName().equals(ownerName);
        }

        @Override
        public String getPassword() {
            if (pass == null) {
                return "";
            }
            return pass;
        }

        @Override
        public void sendDestroyData(MapleClient client) {
        }

        @Override
        public void sendSpawnData(MapleClient client) {
        }

        @Override
        public MapleMapObjectType getType() {
            return MapleMapObjectType.SHOP;
        }

        public MapleCharacter getMCOwnerWorld() {
            int ourChannel = World.Find.findChannel(ownerId);
            if (ourChannel <= 0) {
                return null;
            }
            return ChannelServer.getInstance(ourChannel).getPlayerStorage().getCharacterById(ownerId);
        }

        public MapleCharacter getMCOwnerChannel() {
            return ChannelServer.getInstance(channel).getPlayerStorage().getCharacterById(ownerId);
        }

        public MapleCharacter getMCOwner() {
            return getMap().getCharacterById(ownerId);
        }

        public MapleMap getMap() {
            return ChannelServer.getInstance(channel).getMapFactory().getMap(map);
        }

        @Override
        public int getGameType() {
            if (getShopType() == IMaplePlayerShop.HIRED_MERCHANT) { //hiredmerch
                return 5;
            } else if (getShopType() == IMaplePlayerShop.PLAYER_SHOP) { //shop lol
                return 4;
            } else if (getShopType() == IMaplePlayerShop.OMOK) { //omok
                return 1;
            } else if (getShopType() == IMaplePlayerShop.MATCH_CARD) { //matchcard
                return 2;
            }
            return 0;
        }

        @Override
        public boolean isAvailable() {
            return available;
        }

        @Override
        public void setAvailable(boolean b) {
            this.available = b;
        }

        @Override
        public List<BoughtItem> getBoughtItems() {
            return bought;
        }

        @Override
        public String getMemberNames() {
            String ret = "";
            for (WeakReference<MapleCharacter> chr : chrs) {
                if (chr != null && chr.get() != null) {
                    ret += chr.get().getName() + ", ";
                }
            }
            return ret;
        }

        public static final class BoughtItem {

            public int id;
            public int quantity;
            public int totalPrice;
            public String buyer;

            public BoughtItem(final int id, final int quantity, final int totalPrice, final String buyer) {
                this.id = id;
                this.quantity = quantity;
                this.totalPrice = totalPrice;
                this.buyer = buyer;
            }
        }
    }
     

     

     

    MaplePlayerShop.java

    package server.shops;

    import java.util.ArrayList;
    import java.util.List;
    import client.inventory.Item;
    import client.inventory.ItemFlag;
    import client.MapleCharacter;
    import client.MapleClient;
    import java.util.LinkedList;
    import server.MapleInventoryManipulator;
    import server.MapleItemInformationProvider;
    import server.log.DBLogger;
    import server.log.LogType;
    import tools.packet.PlayerShopPacket;

    public class MaplePlayerShop extends AbstractPlayerStore {

        private int boughtnumber = 0;
        private List<String> bannedList = new ArrayList<String>();

        public MaplePlayerShop(MapleCharacter owner, int itemId, String desc) {
            super(owner, itemId, desc, "", 3);
        }

        public List<MaplePlayerShopItem> searchItem(final int itemSearch) {
            final List<MaplePlayerShopItem> itemz = new LinkedList<MaplePlayerShopItem>();
            for (MaplePlayerShopItem item : items) {
                if (item.item.getItemId() == itemSearch && item.bundles > 0) {
                    itemz.add(item);
                }
            }
            return itemz;
        }

        @Override
        public void buy(MapleClient c, int item, short quantity) {
            MaplePlayerShopItem pItem = items.get(item);
            if (pItem.bundles > 0) {
                Item newItem = pItem.item.copy();
                newItem.setQuantity((short) (quantity * newItem.getQuantity()));
                short flag = newItem.getFlag();

                if (ItemFlag.KARMA_EQ.check(flag)) {
                    newItem.setFlag((short) (flag - ItemFlag.KARMA_EQ.getValue()));
                    //newItem.setFlag((short) (newItem.getFlag() | ItemFlag.UNTRADEABLE.getValue()));
                } else if (ItemFlag.KARMA_USE.check(flag)) {
                    newItem.setFlag((short) (flag - ItemFlag.KARMA_USE.getValue()));
                }
                final int gainmeso = pItem.price * quantity;
                if (c.getPlayer().getMeso() >= gainmeso) {
                    if (getMCOwner().getMeso() + gainmeso > 0 && MapleInventoryManipulator.checkSpace(c, newItem.getItemId(), newItem.getQuantity(), newItem.getOwner()) && MapleInventoryManipulator.addFromDrop(c, newItem, false)) {
                        DBLogger.getInstance().logTrade(LogType.Trade.PlayerShop, c.getPlayer().getId(), c.getPlayer().getName(), getOwnerName(), "구매아이템 : " + MapleItemInformationProvider.getInstance().getName(newItem.getItemId()) + " " + newItem.getQuantity() + "개 / 소모메소 : " + gainmeso, "상점명 : " + getDescription());
                        DBLogger.getInstance().logTrade(LogType.Trade.PlayerShop, getMCOwner().getId(), getMCOwner().getName(), c.getPlayer().getName(), "판매아이템 : " + MapleItemInformationProvider.getInstance().getName(newItem.getItemId()) + " " + newItem.getQuantity() + "개 / 획득메소 : " + gainmeso, "상점명 : " + getDescription());
                        pItem.bundles -= quantity;
                        bought.add(new BoughtItem(newItem.getItemId(), quantity, gainmeso, c.getPlayer().getName()));
                        c.getPlayer().gainMeso(-gainmeso, false);
                        getMCOwner().gainMeso(gainmeso, false);
                        if (pItem.bundles <= 0) {
                            boughtnumber++;
                            if (boughtnumber == items.size()) {
                                closeShop(false, true, true);
                                return;
                            }
                        }
                    } else {
                        c.getPlayer().dropMessage(1, "Your inventory is full.");
                    }
                } else {
                    c.getPlayer().dropMessage(1, "You do not have enough mesos.");
                    //}
                }
                getMCOwner().getClient().getSession().write(PlayerShopPacket.shopItemUpdate(this));
                getMCOwner().getClient().getSession().write(PlayerShopPacket.showSoldShopItem(item, quantity, c.getPlayer().getName()));
            }
        }

        @Override
        public byte getShopType() {
            return IMaplePlayerShop.PLAYER_SHOP;
        }

        @Override
        public void closeShop(boolean saveItems, boolean remove, boolean soldout) {
            MapleCharacter owner = getMCOwner();
            getMCOwner().getClient().getSession().write(PlayerShopPacket.shopErrorMessage(soldout ? 10 : 3, 0)); //상점이 닫혔습니다.
            removeAllVisitors(soldout ? 10 : 3, -2);
            getMap().removeMapObject(this);

            for (MaplePlayerShopItem items : getItems()) {
                if (items.bundles > 0) {
                    Item newItem = items.item.copy();
                    newItem.setQuantity((short) (items.bundles * newItem.getQuantity()));
                    if (MapleInventoryManipulator.addFromDrop(owner.getClient(), newItem, false)) {
                        items.bundles = 0;
                    } else {
                        saveItems(); //O_o
                        break;
                    }
                }
            }
            owner.setPlayerShop(null);
            update();
        }

        public void banPlayer(String name) {
            if (!bannedList.contains(name)) {
                bannedList.add(name);
            }
            for (int i = 0; i < 3; i++) {
                MapleCharacter chr = getVisitor(i);
                if (chr.getName().equals(name)) {
                    chr.getClient().getSession().write(PlayerShopPacket.shopErrorMessage(5, 1));
                    chr.setPlayerShop(null);
                    removeVisitor(chr, true);
                }
            }
        }

        public boolean isBanned(String name) {
            if (bannedList.contains(name)) {
                return true;
            }
            return false;
        }
    }
     

     

     

    MaplePlayerShopItem.java

    package server.shops;

    import client.inventory.Item;

    public class MaplePlayerShopItem {

        public Item item;
        public short bundles;
        public int price;

        public MaplePlayerShopItem(Item item, short bundles, int price) {
            this.item = item;
            this.bundles = bundles;
            this.price = price;
        }
    }

     

    이 게시물을..
    N
    0
    0
    • 1.2.65 아트 소스오빠는요
    • 0
      rehab21

    rehab21 님의 최근 글

    1.2.65 화이트스타팩 아이디생성 질문합니다. 266 4 2020 06.01 마비노기 melia server file 687 1 2017 04.14 (1.2.65) 핑크핀 원정대 생성 및 핑크빈 소환 소스 103 2017 04.08 (1.2.65) 특정 마을 ↔ 코-크 플레이 마을로 보내주는 NPC 78 2017 04.08 (1.2.65) 캐시샵 입장 및 특정 아이템으로 캐시 교환 스크립트 248 2017 04.08

    rehab21 님의 최근 댓글

    답변 감사드립니다.  말씀처럼 넷빈에 추가를 했어요. 핸들링.로그인.핸들러 는 이미 존재하고 있어서 그 안에 AutoRegister라는 클래스를 생성했고, http://gamezone.one/index.php?mid=board_RYMI94&search_keyword=%EC%98%A4%ED%86%A0%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0&search_target=title_content&document_srl=286894 게시글에 있는 것 처럼 내용 붙혀넣기 하고  public static boolean getAccountExists(String login) { 부분을 public static boolean getAccountExists(String login) throws SQLException { 로 변경했는데요.   일단 해당 코드가 뭔가 잘못된건지.. 아래 그림처럼 hexsha1 부분이 에러가 나서 빌드가 실패하더라구요.     어떻게 해결할 수 있을까요?  2020 06.01 감사합니다. 2018 08.12 감사합니다. 2018 08.12 감사합니다. 2018 08.12 해결완료 2017 04.05
    글쓴이의 서명작성글 감추기 

    댓글1

    • 0
      xoghks234
      2020.02.17 - 01:36 #6751988

      이거 솟 추가 했는데도 캐시샵에서 산다음에 더블클릭하면 무반응 뜨는데

      이건 어디를 손봐야해요?

    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 1.2.65 아트 소스
    • 목록
      view_headline
    1
    × CLOSE
    기본 (942) 제목 날짜 수정 조회 댓글 추천 비추
    분류 정렬 검색
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:13 927
    942
    v391 pack
    더기덕이 2025.10.04 - 00:33 205
    941
    127 써니 소스
    전창덕 2025.09.23 - 14:30 43
    940
    1.2.65 서버 ct및 우외 엔진
    마눙 2025.09.08 - 14:47 120
    939
    1.2.362 서버 src 입니
    GV솔그린 2024.03.21 - 20:54 313
    938
    1.2.316 초원팩 jdbc ssl 에러 수정 src
    GV솔그린 2024.03.21 - 19:31 115
    937
    1.2.329 로컬리디 언팩해서 만든 리디렉터
    GV솔그린 2024.03.21 - 19:24 92
    936
    1.2.329 로컬리디
    GV솔그린 2024.03.21 - 19:20 70
    935
    373 멀티로컬
    dreamin공유 2024.02.22 - 05:29 356
    934
    331팩 소스
    스마 2024.02.12 - 20:53 123
    933
    1.2.373 새벽소스
    스마 2024.02.12 - 20:47 243
    932
    373 솟
    garegdas 2024.02.06 - 09:24 121
    931
    스트레딧.
    하리86 2024.01.13 - 03:34 151
    930
    1.2.65 아르카나팩 스킬 변경 src
    김김김스 2023.12.26 - 04:49 948
    929
    316초원팩 src파일입니다
    동동쓰 2023.11.15 - 21:29 294
    928
    gms v111 접속rn
    하리86 2023.10.23 - 18:28 230
    927
    65버전 아르카나 , 죽둥젠 늘린거입니다
    gkxo9570 2023.09.22 - 12:38 542
    926
    65버전에서도 쓴 스크립트 강의모음
    gkxo9570 2023.09.22 - 07:42 460
    925
    1.2.65 화이트스타 src
    kingye 2023.07.04 - 10:56 1146
    924
    1.2.65 아르카나 src
    kingye 2023.07.04 - 07:28 535
    923
    ngs 우회
    우2우2 2023.06.08 - 04:55 277
    922
    몬스터 코드
    VanBan 2022.12.10 - 23:38 552
    921
    직업 코드
    VanBan 2022.12.10 - 23:30 306
    920
    362 자석펫 지급 NPC 스크립트
    나르나르 2022.11.10 - 08:55 854
    919
    0.83 src
    qweqwedq1 2022.07.13 - 15:30 144
    918
    리플렉스95 src
    qweqwedq1 2022.07.13 - 15:08 327
    917
    1.2.65 바콘팩
    dullggae 2021.07.30 - 18:04 730
    916
    316src입니다
    BJK 2021.02.10 - 05:37 218
    915
    331 소스
    라비앙로즈 2021.02.07 - 08:43 441
    914
    슈퍼엔진
    돼지우리 2021.01.14 - 02:20 445
    913
    kms 1.2.1104 ct입니다
    돼지우리 2021.01.12 - 12:07 448
    912
    어빌리티인포테이블.sql
    하리86 2020.12.16 - 00:23 180
    911
    잠재능력 관련 오류 수정 및 본섭화 옵션
    하리86 2020.12.16 - 00:16 358
    910
    sql 수정
    재희0414 2020.11.24 - 03:23 274
    909
    65 천외천 소스
    lIllIlllIllll 2020.10.16 - 06:05 412
    908
    로컬 소스
    피아쨩 2020.09.22 - 13:01 520
    907
    331 노엘팩 소스
    풍선씨 2020.09.09 - 03:33 1228
    906
    1.2.65 화이트스타 소스
    JYH93 2020.08.15 - 00:44 2344
    905
    1.2.65 순클 idb
    nhsnhsn 2020.07.24 - 00:19 875
    904
    331 GM명령어
    흐밍 2020.07.09 - 14:14 1837
    903
    레벨별 메소지급 소스
    능이 2020.07.05 - 21:44 690
    902
    1.2.284 그랜드 접속문제 해결파일
    wls 2020.06.28 - 07:30 240
    901
    대만 메이플스토리 113 아이템코드
    해우김123 2020.06.19 - 07:47 304
    900
    Java SE Development Kit 6 Update 10 - jdk-6u10
    수박씨 2020.05.12 - 21:52 203
    899
    Java SE Development Kit 6 Update 6 - jdk-6u6
    수박씨 2020.05.12 - 21:51 124
    898
    316 추옵 쿼리에서 수정하기
    DanielJSKim 2020.03.08 - 05:03 1440
    897
    316 추가옵션 구현 소스
    DanielJSKim 2020.03.08 - 05:00 1181
    896
    알면 유용한 위젯
    오빠는요 2020.02.25 - 21:06 754
    895
    1.2.65dk
    오빠는요 2020.02.25 - 21:04 481
    894
    1.2.65 아트 소스
    오빠는요 2020.02.25 - 21:02 459
    893
    316 이너 어빌리티 미개방 캐릭터에 강제로 부여하기
    DanielJSKim 2020.02.23 - 02:44 499
    • 1 2 3 4 5 6 7 8 9 10 .. 19
    • / 19 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay