Avatar utilizator
SCOOB
Administrator
Administrator
  • Mesaje: 4900
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 121479
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Update 10/03/2025

    Au fost rezolvate inca 2 bug-uri:
    - Acum poti vinde iteme la Shop NPC (Multumim @GreposX )
    - Acum poti muta itemele dintr-un inventar in altul si poti pune iteme in switchbot Sanii (Multumim @devilconx)

    Salut Metin2Forum! :x

    Mai jos aveti un mega-release cu Special Storage (K Inventory) - FULL cu toate FIX-urile.

    Aveti rezolvari sa mearga si pe sursa lui Martysama.

    In arhiva veti gasi tutorial + fix-urile pe care le faceti dupa ce bagati sistemul.

    Bug-uri rezolvate:

    - Itemele pot fi mutate intre inventarul normal si cel special (si invers).
    - Itemele pot fi mutate intre depozit si Special Inventory (si invers).
    - Posibilitatea de a vinde direct din inventarul special (atat prin drag & drop, cat si prin butonul „Vinde”).
    - Stackarea obiectelor.



    *Poze / Video (obligatoriu):
    03-07-2025, 10-37-53.png
    y3YzPj.png

    *Link download:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    See full signature
    Avatar utilizator
    SCOOB
    Administrator
    Administrator
  • Mesaje: 4900
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 121479
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Avatar utilizator
    SCOOB
    Administrator
    Administrator

    Mesaj

    In char_item.cpp & char.h

    Change all BYTE bCell -> UINT bCell
    Change all BYTE bDestCell -> UINT bDestCell

    Recompile the source.
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    See full signature
    Avatar utilizator
    Vanille
    Membru Începător
    Membru Începător
  • Mesaje: 7
    Membru din: 05 Oct 2024, 21:49
  • Reacții: 7
  • Mesaje utile: 0
  • Medalii

    Avatar utilizator
    Vanille
    Membru Începător
    Membru Începător

    Mesaj

    Nu funcționează pentru mine, pot trece de la inventarul special la inventarul normal, dar nu funcționează de la inventarul normal la inventarul special.

    EDIT :

    def SelectEmptySlot et def SelectItemSlot :



    if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:



    To :

    if player.SLOT_TYPE_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:

    #Solved
    Avatar utilizator
    Varty
    Membru Începător
    Membru Începător
  • Mesaje: 1
    Membru din: 02 Mar 2025, 21:14
  • Reacții: 1
  • Mesaje utile: 0
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    Varty
    Membru Începător
    Membru Începător

    Mesaj

    Pentru switchul acesta, in char_item.cpp/void CHARACTER::SetItem, nu ar trebui sa avem ceva legat de noile inventare?

    Mie-mi intra pe default `sys_err("Invalid Inventory type %d", window_type);`

    Nu vad in tutorialul pentru char_item ceva anume pentru acest switch, voi aveti ceva?

    Syserr `SYSERR: Apr 10 14:36:02 :: SetItem: Invalid Inventory type 8`
    Avatar utilizator
    Robert
    Membru Ucenic
    Membru Ucenic
  • Mesaje: 38
    Membru din: 04 Noi 2024, 18:46
  • Reacții: 27
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
    Server: Enora2.maybe someday
  • Regat: Jinno
  • [ID Discord]
  • Medalii

    Avatar utilizator
    Robert
    Membru Ucenic
    Membru Ucenic

    Mesaj

    Code:
    char_item.cpp: In member function 'CItem* CHARACTER::GetItem(TItemPos) const':
    char_item.cpp:287:25: error: 'struct PlayerSlotT' has no member named 'pDSItems'; did you mean 'pItems'?
      287 |   return m_PlayerSlots->pDSItems[wCell];
          |                         ^~~~~~~~
          |                         pItems
    char_item.cpp: In member function 'void CHARACTER::SetItem(TItemPos, LPITEM, bool)':
    char_item.cpp:377:33: error: 'struct PlayerSlotT' has no member named 'pDSItems'; did you mean 'pItems'?
      377 |    LPITEM pOld = m_PlayerSlots->pDSItems[wCell];
          |                                 ^~~~~~~~
          |                                 pItems
    char_item.cpp:390:26: error: 'struct PlayerSlotT' has no member named 'pDSItems'; did you mean 'pItems'?
      390 |       if (m_PlayerSlots->pDSItems[p] && m_PlayerSlots->pDSItems[p] != pOld)
          |                          ^~~~~~~~
          |                          pItems
    char_item.cpp:390:56: error: 'struct PlayerSlotT' has no member named 'pDSItems'; did you mean 'pItems'?
      390 |       if (m_PlayerSlots->pDSItems[p] && m_PlayerSlots->pDSItems[p] != pOld)
          |                                                        ^~~~~~~~
          |                                                        pItems
    char_item.cpp:424:19: error: 'struct PlayerSlotT' has no member named 'pDSItems'; did you mean 'pItems'?
      424 |    m_PlayerSlots->pDSItems[wCell] = pItem;
          |                   ^~~~~~~~
          |                   pItems
    char_item.cpp: At global scope:
    char_item.cpp:556:2: error: expected unqualified-id before 'for'
      556 |  for (i = 0; i < SKILL_BOOK_INVENTORY_MAX_NUM; ++i)
          |  ^~~
    char_item.cpp:556:14: error: 'i' does not name a type
      556 |  for (i = 0; i < SKILL_BOOK_INVENTORY_MAX_NUM; ++i)
          |              ^
    char_item.cpp:556:48: error: expected unqualified-id before '++' token
      556 |  for (i = 0; i < SKILL_BOOK_INVENTORY_MAX_NUM; ++i)
          |                                                ^~
    char_item.cpp:568:2: error: expected unqualified-id before 'for'
      568 |  for (i = 0; i < UPGRADE_ITEMS_INVENTORY_MAX_NUM; ++i)
          |  ^~~
    char_item.cpp:568:14: error: 'i' does not name a type
      568 |  for (i = 0; i < UPGRADE_ITEMS_INVENTORY_MAX_NUM; ++i)
          |              ^
    char_item.cpp:568:51: error: expected unqualified-id before '++' token
      568 |  for (i = 0; i < UPGRADE_ITEMS_INVENTORY_MAX_NUM; ++i)
          |                                                   ^~
    char_item.cpp:580:2: error: expected unqualified-id before 'for'
      580 |  for (i = 0; i < STONE_INVENTORY_MAX_NUM; ++i)
          |  ^~~
    char_item.cpp:580:14: error: 'i' does not name a type
      580 |  for (i = 0; i < STONE_INVENTORY_MAX_NUM; ++i)
          |              ^
    char_item.cpp:580:43: error: expected unqualified-id before '++' token
      580 |  for (i = 0; i < STONE_INVENTORY_MAX_NUM; ++i)
          |                                           ^~
    char_item.cpp:592:2: error: expected unqualified-id before 'for'
      592 |  for (i = 0; i < BOX_INVENTORY_MAX_NUM; ++i)
          |  ^~~
    char_item.cpp:592:14: error: 'i' does not name a type
      592 |  for (i = 0; i < BOX_INVENTORY_MAX_NUM; ++i)
          |              ^
    char_item.cpp:592:41: error: expected unqualified-id before '++' token
      592 |  for (i = 0; i < BOX_INVENTORY_MAX_NUM; ++i)
          |                                         ^~
    char_item.cpp:604:2: error: expected unqualified-id before 'for'
      604 |  for (i = 0; i < EFSUN_INVENTORY_MAX_NUM; ++i)
          |  ^~~
    char_item.cpp:604:14: error: 'i' does not name a type
      604 |  for (i = 0; i < EFSUN_INVENTORY_MAX_NUM; ++i)
          |              ^
    char_item.cpp:604:43: error: expected unqualified-id before '++' token
      604 |  for (i = 0; i < EFSUN_INVENTORY_MAX_NUM; ++i)
          |                                           ^~
    char_item.cpp:616:2: error: expected unqualified-id before 'for'
      616 |  for (i = 0; i < CICEK_INVENTORY_MAX_NUM; ++i)
          |  ^~~
    char_item.cpp:616:14: error: 'i' does not name a type
      616 |  for (i = 0; i < CICEK_INVENTORY_MAX_NUM; ++i)
          |              ^
    char_item.cpp:616:43: error: expected unqualified-id before '++' token
      616 |  for (i = 0; i < CICEK_INVENTORY_MAX_NUM; ++i)
          |                                           ^~
    char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
    char_item.cpp:673:25: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      673 |     if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)
          |                         ^~~~~~~~~
    char_item.cpp:691:27: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      691 |       if (m_pointsInstant.bItemGrid[p])
          |                           ^~~~~~~~~
    char_item.cpp:692:28: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      692 |        if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
          |                            ^~~~~~~~~
    char_item.cpp:708:25: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      708 |     if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)
          |                         ^~~~~~~~~
    char_item.cpp:726:27: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      726 |       if (m_pointsInstant.bItemGrid[p])
          |                           ^~~~~~~~~
    char_item.cpp:727:28: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      727 |        if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
          |                            ^~~~~~~~~
    char_item.cpp:743:25: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      743 |     if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)
          |                         ^~~~~~~~~
    char_item.cpp:761:27: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      761 |       if (m_pointsInstant.bItemGrid[p])
          |                           ^~~~~~~~~
    char_item.cpp:762:28: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      762 |        if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
          |                            ^~~~~~~~~
    char_item.cpp:778:25: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      778 |     if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)
          |                         ^~~~~~~~~
    char_item.cpp:796:27: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      796 |       if (m_pointsInstant.bItemGrid[p])
          |                           ^~~~~~~~~
    char_item.cpp:797:28: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      797 |        if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
          |                            ^~~~~~~~~
    char_item.cpp:813:25: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      813 |     if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)
          |                         ^~~~~~~~~
    compiling cmd_emotion.cpp
    char_item.cpp:831:27: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      831 |       if (m_pointsInstant.bItemGrid[p])
          |                           ^~~~~~~~~
    char_item.cpp:832:28: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      832 |        if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
          |                            ^~~~~~~~~
    char_item.cpp:848:25: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      848 |     if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)
          |                         ^~~~~~~~~
    char_item.cpp:866:27: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      866 |       if (m_pointsInstant.bItemGrid[p])
          |                           ^~~~~~~~~
    char_item.cpp:867:28: error: 'const CHARACTER_POINT_INSTANT' {aka 'const struct character_point_instant'} has no member named 'bItemGrid'
      867 |        if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
          |
    Avatar utilizator
    devilconx
    Membru Începător
    Membru Începător
  • Mesaje: 7
    Membru din: 14 Mar 2025, 15:40
  • Reacții: 250
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    devilconx
    Membru Începător
    Membru Începător

    Mesaj

    + when you buy from shops auto stack items:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.
    Avatar utilizator
    lucasgimenes998109
    Membru Începător
    Membru Începător
  • Mesaje: 1
    Membru din: 18 Mai 2025, 19:10
  • Reacții: 2
  • Mesaje utile: 0
  • Medalii

    Avatar utilizator
    lucasgimenes998109
    Membru Începător
    Membru Începător

    Mesaj

    oioioi
    Avatar utilizator
    berkmetin2
    Membru Începător
    Membru Începător
  • Mesaje: 1
    Membru din: 23 Mai 2025, 12:57
  • Reacții: 1
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
    Server: Metin2
  • Regat: Chunjo
  • Medalii

    Avatar utilizator
    berkmetin2
    Membru Începător
    Membru Începător

    Mesaj


    How can I solve this?
    Avatar utilizator
    waLkerWEED
    Membru Ucenic
    Membru Ucenic
  • Mesaje: 26
    Membru din: 15 Mai 2025, 10:42
  • Reacții: 78
  • Mesaje utile: 0
  • Status: Learning in progress...
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    waLkerWEED
    Membru Ucenic
    Membru Ucenic

    Mesaj

    Vanille scrie: ↑ Nu funcționează pentru mine, pot trece de la inventarul special la inventarul normal, dar nu funcționează de la inventarul normal la inventarul special.

    EDIT :

    def SelectEmptySlot et def SelectItemSlot :



    if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:



    To :

    if player.SLOT_TYPE_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
    player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:

    #Solved
    Am aceeasi problema dar cu modificarile mentionate de tine la mine nu merge... Sau probabil din toata lista de fix-uri am adaugat ceva gresit si face sa nu mearga...
    Avatar utilizator
    kinglex_
    Membru Începător
    Membru Începător
  • Mesaje: 13
    Membru din: 12 Iun 2025, 23:34
  • Reacții: 130
  • Mesaje utile: 1
  • Status: Pe aici X.X
    Server: Metin2 RO
  • Regat: Jinno
  • [ID Discord]
  • Medalii

    Avatar utilizator
    kinglex_
    Membru Începător
    Membru Începător

    Mesaj

    Ce bucuros eram eu ca am vazut numele fisierelor in romana... pana cand am deschis fisierele :)))))
    Aseara nu am reusit sa instalez altul, incerc acum pe asta sper sa inteleg mai bune turca asta, decat cealalta =)) =))
    See full signature

    Înapoi la “Sisteme Metin2”

    Discord ID copiat: