Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Usunięcie systemu Auction

Nieaktywny

Featured Replies

Opublikowano

Dzień dobry, 

 

W tym poradniku pokażę, jak usunąć niedokończony system aukcyjny z gry. System ten został stworzony przez oficjalnych twórców gry, ale nie został w pełni ukończony. Kod wygląda na coś w rodzaju przestrzeni aukcyjnej, w której gracze mogliby sprzedawać swoje przedmioty. Wiem, że większość sobie bez problemu poradzi z usunięciem tego systemu zwłaszcza, że jest na makro, ale zrobiłem ten poradnik dla mniej doświadczonych, pozdrawiam. 

 

Usunięcie systemu Auction:

📂Lokalizacja pliku: 'common -> length.h'

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'common -> tables.h'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń plik

📂Lokalizacja pliku: 'common -> auction_tables.h'

 


 📂Lokalizacja pliku: 'db -> src -> Cache.h'

 Usuń

🔐 Ukryta Treść 🔐

 

 Usuń

🔐 Ukryta Treść 🔐


📂Lokalizacja pliku: 'db -> src -> Cache.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

 Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'db -> src -> ClientManager.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'db -> src -> ClientManager.h'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'db -> src -> main.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'db -> src -> MAKEFILE'

 

Usuń

🔐 Ukryta Treść 🔐

 

 

 

Usuń pliki

📂Lokalizacja pliku: 'db -> src -> AuctionManager.cpp'

📂Lokalizacja pliku: 'db -> src -> AuctionManager.h'

 

 

📂Lokalizacja pliku: 'game -> src -> char_item.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'game -> src -> cmd.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'game -> src -> cmd_general.cpp'

 

 Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'game -> src -> config.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'game -> src -> input_db.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

 📂Lokalizacja pliku: 'game -> src -> item.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

 

  📂Lokalizacja pliku: 'game -> src -> item.h'

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'game -> src -> main.cpp'

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

Usuń

🔐 Ukryta Treść 🔐

 

 

📂Lokalizacja pliku: 'game -> src -> MAKEFILE'

 

Usuń

🔐 Ukryta Treść 🔐

 

 

Usuń pliki

📂Lokalizacja pliku: 'game -> src -> auction_manager.cpp'

📂Lokalizacja pliku: 'game -> src -> auction_manager.h'

📂Lokalizacja pliku: 'game -> src -> auction_packet.h'

 

 

Następnie zrób rekompilację game i db

🔐 Ukryta Treść 🔐

 

 

 📂Lokalizacja pliku: 'UserInterface -> packet.h'

 

Usuń

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐
🔐 Ukryta Treść 🔐

 

Opublikowano

Sporo pominiętego kodu, każdy temat wymaga poprawek i uzupełnienia braków, Sevence sprawdzaj prosze co dodajesz, bo te tematy wyglądają jak jakieś marne kopie z innych for.

1. W db > Cache.h należy usunąć również te linijki:

#ifdef __AUCTION__

class CAuctionItemInfoCache : public cache <TAuctionItemInfo>
{
public:
    typedef TWishItemInfo value_type;
    CAuctionItemInfoCache();
    virtual ~CAuctionItemInfoCache();

    void Delete();
    virtual void OnFlush();
};

class CSaleItemInfoCache : public cache <TSaleItemInfo>
{
public:
    typedef TWishItemInfo value_type;
    CSaleItemInfoCache();
    virtual ~CSaleItemInfoCache();

    void Delete();
    virtual void OnFlush();
};

class CWishItemInfoCache : public cache <TWishItemInfo>
{
public:
    typedef TWishItemInfo value_type;
    CWishItemInfoCache();
    virtual ~CWishItemInfoCache();

    void Delete();
    virtual void OnFlush();
};
#endif


2. W db > cache.cpp należy jeszcze usunąć tę linijkę:

const int auctionMinFlushSec = 1800;


3. W db > Makefile należy wywalić wpis:

AuctionManager.cpp 


4. W game > cmd_general.cpp usunąć:

#ifdef __AUCTION__
#include "auction_manager.h"
#endif


5. W game > input_db.cpp nie należy usuwać tej linijki:

extern BYTE        g_bAuthServer;


6. W game > item.cpp należy usunąć ten kod:

#ifdef __AUCTION__

// °ć¸ĹŔĺ
// window¸¦ °ć¸ĹŔĺŔ¸·Î ÇŃ´Ů.

bool CItem::MoveToAuction()
{
    LPCHARACTER owner = GetOwner();
    if (owner == NULL)
    {
        sys_err ("Item those owner is not exist cannot regist in auction");
        return false;
    }
    
    if (GetWindow() == AUCTION)
    {
        sys_err ("Item is already in auction.");
    }

    SetWindow(AUCTION);
    owner->SetItem(m_bCell, NULL);
    Save();
    ITEM_MANAGER::instance().FlushDelayedSave(this);

    return true;
}

void CItem::CopyToRawData (TPlayerItem* new_item)
{
    if (new_item != NULL)
        return;

    new_item->id = m_dwID;
    new_item->window = m_bWindow;
    new_item->pos = m_bCell;
    new_item->count = m_dwCount;

    new_item->vnum = GetVnum();
    thecore_memcpy (new_item->alSockets, m_alSockets, sizeof (m_alSockets));
    thecore_memcpy (new_item->aAttr, m_aAttr, sizeof (m_aAttr));

    new_item->owner = m_pOwner->GetPlayerID();
}
#endif


7. W game > item.h należy usunąć:

#ifdef __AUCTION__
        // °ć¸ĹŔĺ
        bool        MoveToAuction ();
        void        CopyToRawData (TPlayerItem* item);
#endif


 

Opublikowano
1 minutę temu, Sevence napisał(a):

@Zephyr Serio myślisz, że kopiuje jak usunąć kod? 😄 Niektóry kod wcześniej usuwałem stąd może niektórych brakować robię to na podstawie swojego projektu Entry. 

Nie zarzucam przecież, że coś kopiujesz, ale zauważ, że każdy poradnik z usuwaniem tego zbędnego kodu ma braki, jak coś robić to porządnie.

Opublikowano
  • Autor

@Zephyr Jak to nie?

 

17 minut temu, Zephyr napisał(a):

Sporo pominiętego kodu, każdy temat wymaga poprawek i uzupełnienia braków, Sevence sprawdzaj prosze co dodajesz, bo te tematy wyglądają jak jakieś marne kopie z innych for.

Właśnie to robisz...

 

 

Poradnik robiłem na podstawie usunięcia ze swojego źródła: remove auction commit entry cześć kodu usuwałem wcześniej przez co go brakowało. Nie robiłem sprawdzenia z oryginalnym źródłem. 

Chcę robić porządnie zawsze błędy mogą się zdarzyć. Fajnie, że zauważyłeś te problemy od razu poprawiłem temat. 

 

Opublikowano
9 minut temu, Sevence napisał(a):

@Zephyr Jak to nie?

 

Właśnie to robisz...

 

 

Poradnik robiłem na podstawie usunięcia ze swojego źródła: 

🔐 Ukryta Treść 🔐

  • 💬 Skomentuj poniżej, aby odkryć ukrytą zawartość!
    👍 Nie zapomnij zostawić reakcji, aby podziękować autorowi za jego pracę!
    ⚠️ Komentarze muszą zawierać minimum 3 litery, inaczej są uważane jako SPAM.

 cześć kodu usuwałem wcześniej przez co go brakowało. Nie robiłem sprawdzenia z oryginalnym źródłem. 

 

Chcę robić porządnie zawsze błędy mogą się zdarzyć. Fajnie, że zauważyłeś te problemy od razu poprawiłem temat. 

 

Zarzuciłbym gdybym stwierdził, że są skopiowane. Porównianie, że wyglądają jak skopiowane to jeszcze nie zarzucanie czegoś. 🙂
Z resztą nie ciągnijmy tematu i nie róbmy gównoburzy, bo nie to miałem na celu 😛

  • 1 miesiąc temu...
  • 4 tygodnie później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.