채팅0

    프메 65 복사 같이할분

    조회수 897

    어떠한 값으로 하는지는 잘 모르겠지만, 교환이나 상점판매등의 경우 removeById, removeBySlot 메서드를 사용한다.

    해당 메서드에서 item값이 null일경우 완전히 해당 메서드를 스킵함으로써, 복사가 가능하다. 즉 클라이언트 단에서 서버단에 아이템 위치를 보낼때 null값으로 조작해 보내는 경우가 맞는것같다.

    public static boolean removeFromSlot(final MapleClient c, final MapleInventoryType type, final short slot, short quantity, final boolean fromDrop, final boolean consume, boolean packet) {
            if (c.getPlayer() == null || c.getPlayer().getInventory(type) == null) {
                return false;
            }
            final Item item = c.getPlayer().getInventory(type).getItem(slot);
            if (item != null) {
                final boolean allowZero = consume && GameConstants.isRechargable(item.getItemId());
                c.getPlayer().getInventory(type).removeItem(slot, quantity, allowZero);

                if (item.getQuantity() == 0 && !allowZero) {
                    if (packet) {
                        c.getSession().write(MaplePacketCreator.clearInventoryItem(type, item.getPosition(), fromDrop));
                    }
                } else {
                    if (packet) {
                        c.getSession().write(MaplePacketCreator.updateInventorySlot(type, (Item) item, fromDrop));
                    }
                }
                return true;
            } else {
                c.sclose();
            }
            return false;
        }

    해당 메서드에 빨간색 글씨를 추가해주면 해결될것이다.. (아마도 -_-;;)

    댓글5

    회원프로필

    c.close ㄷ 막는걸 올리면 어카노

    2024.04.23 16:38
    회원프로필

    아 게이야 1ㄷ1걸어바

    2024.04.23 16:44
    회원프로필

    65패킷메소복사
    [enable]
    alloc(on,4)
    registersymbol(on)
    alloc(packetarr,200)
    registersymbol(packetarr)
    packetarr:
    db 6F 00 D2 B2 93 03 01 00 FF 00 00 00 FF FF 00 00 FF FF FF 7F AB 76 00 D2 B2 93 03 01 00 FF 00 00 00 FF FF 00 00 FF FF FF 7F
    //패킷 valuea : 00 67 64 db 01 0a 00 00 00
    //21억 drop meso
    //Light Packet
    alloc(packet,200)
    alloc(azby,200)
    alloc(packet_delay,4)
    registersymbol(packet_delay)
    alloc(timer,4)
    label(nopacket)
    packet_delay:
    dd #1000
    timer:
    dd #0
    label(return)
    offsetrect:
    jmp azby
    return:
    azby:
    //original code
    mov edi,edi
    push ebp
    mov ebp,esp
    pushad
    mov ecx,[pCharacter]
    mov ecx,[ecx]
    cmp ecx,0
    je nopacket
    cmp [on],0
    je nopacket
    call callTime
    mov ebx,[timer]
    sub eax,ebx
    cmp eax,[packet_delay]
    jl nopacket
    call callTime
    mov [timer],eax
    mov eax,#200
    mov [packet+4],packetarr
    mov [packet+8],eax
    push packet
    call bypassedSend
    popad
    jmp return
    nopacket:
    popad
    jmp return
    [disable]
    offsetrect:
    mov edi,edi
    push ebp
    mov ebp,esp

    2024.04.23 17:38
    회원프로필

    형 1ㄷ1좀

    2024.04.23 18:30
    회원프로필

    org2 내가 건빵 50개줘ㅜㅅ다 고맙다

    2024.04.23 20:52

      게시글 리스트
      제목작성자작성일조회
      공지10-2016651
      5814400:267
      5814300:178
      5814210-2395
      5814110-23112
      5814010-23199
      5813910-23148
      5813810-22405
      5813710-22347
      5813610-22366
      5813510-22403
      5813410-22565
      5813310-22661
      5813210-21701
      5813110-21796
      5813010-21741
      5812910-211021
      5812810-21889
      5812710-201141
      5812610-201122
      안내 배너 이미지