Jump to content
  • We need you!

    You must register to discover all the features of our community!

  • 0

[OFFLINE SHOP GREAT]Error


nazox

Question

Posted (edited)

Versión de archivos XXX

Hello, i have a little problem with offline shop of great..  My offline shop work great, but the problem is when i try to create shop. 
And i can't create normal shop, my sysser of ch1 say that:

 

SYSERR: Apr 21 15:06:22 :: ChildLoop: AsyncSQL: query failed: Data too long for column 'hint' at row 1 (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 960406, 272931, 10001610, 'Priv shop', 'Skill book 1 ', '192.X.X.X', 50300) errno: 1406)


SYSERR: Apr 21 15:06:22 :: ChildLoop: AsyncSQL: query failed: Data too long for column 'hint' at row 1 (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 1, 960406, 272931, 10001702, 'Priv shop', 'Lectura concentrada 5 ', '192.X.X.X', 71094) errno: 1406)
SYSERR: Apr 21 15:06:22 :: Process: SEQUENCE 29b8d480 mismatch 0xe2 != 0x12 header 55
SYSERR: Apr 21 15:06:22 :: Process: SEQUENCE_LOG [Rain]-------------
    [007 : 0x72]
    [007 : 0xf7]
    [007 : 0x6f]
    [007 : 0x84]
    [007 : 0xbc]
    [007 : 0x37]
    [007 : 0x46]
    [007 : 0xe3]
    [007 : 0x24]
    [007 : 0xda]
    [007 : 0xa1]
    [007 : 0xc8]
    [007 : 0xee]
    [007 : 0x36]
    [007 : 0x7c]
    [007 : 0x33]
    [007 : 0x2f]
    [011 : 0x98]
    [011 : 0x76]
    [003 : 0x5e]
    [055 : 0xe2]

 

My header 55 is CG_MY_SHOP and i have in src game  and src client


But work:
a401905f5e5f4c9e3cc2484d58b97ab4.jpg
The problem is, when i try to create normal shop, not work, and when i try to create offline shop, i go back to login, but when i login again i have offline shop, this is my problem:
Error

i try to debug my game.core and i have this:

 

# 0 std :: string :: _ M_data (this = 0x222) es /usr/local/lib/gcc48/include/c++/bits/basic_string.h:293


# 1 std :: string :: _ M_rep (this = 0x222 ) es /usr/local/lib/gcc48/include/c++/bits/basic_string.h:301
# 2 std :: string :: size (this = 0x222) es / usr / local / lib / gcc48 / include / c + + / bits / basic_string.h: 716
# 3 std :: string :: empty (this = 0x222) es /usr/local/lib/gcc48/include/c++/bits/basic_string.h:812
# 4 CHARACTER :: GetName (esto = 0x10) en char.cpp: 632
# 5 0x0815db01 en ITEM_MANAGER :: SaveSingleItem (esto = 0xbfbfbd00, item = 0x2b0d0000) en item_manager.cpp: 431
# 6 0x0815ea53 en load_lotto () en item_manager.cpp: 6900
# 00 ( )

 

Char.cpp

 

const char * CHARACTER :: GetName () const <--- line 630 gdb error


{<- line 631
    return m_stName.empty ()? (m_pkMobData? m_pkMobData-> m_table.szLocaleName: ""): m_stName.c_str (); <- 632
}

 

Item_manager.cpp

 

void ITEM_MANAGER::SaveSingleItem(LPITEM item) <--error gdb


{
    if (!item->GetOwner())
    {
        DWORD dwID = item->GetID();
        DWORD dwOwnerID = item->GetLastOwnerPID();

        db_clientdesc->DBPacketHeader(HEADER_GD_ITEM_DESTROY, 0, sizeof(DWORD) + sizeof(DWORD));
        db_clientdesc->Packet(&dwID, sizeof(DWORD));
        db_clientdesc->Packet(&dwOwnerID, sizeof(DWORD));

        sys_log(1, "ITEM_DELETE %s:%u", item->GetName(), dwID);
        return;
    }

    sys_log(1, "ITEM_SAVE %s:%d in %s window %d", item->GetName(), item->GetID(), item->GetOwner()->GetName(), item->GetWindow());

    TPlayerItem t;

    t.id = item->GetID();
    t.window = item->GetWindow();
    t.pos = t.window == EQUIPMENT ? item->GetCell() - INVENTORY_MAX_NUM : item->GetCell();
    t.count = item->GetCount();
    t.vnum = item->GetOriginalVnum();
    t.owner = (t.window == SAFEBOX || t.window == MALL) ? item->GetOwner()->GetDesc()->GetAccountTable().id : item->GetOwner()->GetPlayerID();
    thecore_memcpy(t.alSockets, item->GetSockets(), sizeof(t.alSockets));
    thecore_memcpy(t.aAttr, item->GetAttributes(), sizeof(t.aAttr));

    db_clientdesc->DBPacketHeader(HEADER_GD_ITEM_SAVE, 0, sizeof(TPlayerItem));
    db_clientdesc->Packet(&t, sizeof(TPlayerItem));
}

and item_manager.cpp again

 

 

std::set<DWORD> g_set_lotto;

 


void load_lotto() <---- error gdb
{
    static int bLoaded = false;

    if (bLoaded)
        return;

    bLoaded = true;
    FILE * fp = fopen("lotto.txt", "r");

    if (!fp)
        return;

    char buf[256];

    while (fgets(buf, 256, fp))
    {
        char * psz = strchr(buf, '\n');

        if (NULL != psz)
            *psz = '\0';

        DWORD dw = 0;
        str_to_number(dw, buf);
        g_set_lotto.insert(dw);
    }

    fclose(fp);
}

 

I don't know because i have error on item_manager.cpp because on guide not use item_manager.cpp, and i try to compare others source games with this offline shop but i have the same error.
I read this problem is normal on great offline but anyone can't help me.. so i really appreciate if you help me, thanks

Edited by nazox (see edit history)
Link to post

4 answers to this question

Recommended Posts

  • 0

Better to use Ken's version if you cannot fix Great's.

Ken's doesn't contains serious bugs.

 

I know Great looks cooler and so...

  • Love 1
Link to post
  • 0
22 minutes ago, TMP4 said:

Es mejor usar la versión de Ken si no puede arreglar Great's.

Ken no contiene errores graves.

 

Sé que Great se ve más genial y ...

Thanks to answer, i don't have problem for design jajjaa, i only want offline shop, but  i don't know who are the best offline, and  i don't have ken offline, i have but don't have tutorial only .cpp complete, i try many time to compare and search system but not work.. :( pd: i read ken have more errors or bugs, that is false?

Link to post
  • 0
Posted (edited)

Ah yeah it's not a tutorial but complete files.

Honestly totally forgot about that, sorry.

 

As far as i know it only have simple bugs like if someone buy the last item, the shop doesn't close automatically, just if someone click again to the shop then it closes. (it's only annoying)

 

Maybe there was another that it first put the item to the shop table, and just after remove it from your inventory.

So players duplicated items by spamming alt+f4 or channel changer if available.

(Can be simply solved by placing the remove of the items upper in the code)

Edited by TMP4 (see edit history)
  • Love 1
Link to post
  • 0
4 minutes ago, TMP4 said:

Ah sí, no es un tutorial, sino archivos completos.

Honestamente lo olvidé por completo, lo siento.

 

Por lo que sé, solo tiene errores simples, como si alguien compra el último artículo, la tienda no se cierra automáticamente, solo si alguien vuelve a hacer clic en la tienda, se cierra. (es solo molesto)

 

Tal vez hubo otro que primero puso el artículo en la mesa de la tienda, y justo después de eliminarlo de su inventario.

Por lo tanto, los jugadores duplicaron elementos enviando correo no deseado alt + f4 o cambiador de canal si está disponible.

(Se puede resolver simplemente colocando la eliminación de los elementos en la parte superior del código)

I see, thanks! i try to add again!!!!

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.