*Problemă:Salutare! Am si eu o problema cu shop-ul offline...cand dau editeaza nu imi apare nimic in fereastra....oare ce poate sa fie? multumesc!
Tipologie server: PVM Easy
*ServerFiles utilizat: ServerFilles Dream2
*Syserr:
0507 21:36:06462 :: Traceback (most recent call last):
0507 21:36:06462 :: File "game.py", line 2222, in BINARY_ServerCommand_Run
0507 21:36:06463 :: File "stringCommander.py", line 63, in Run
0507 21:36:06463 :: File "stringCommander.py", line 31, in __call__
0507 21:36:06463 :: File "stringCommander.py", line 20, in __call__
0507 21:36:06464 :: File "game.py", line 2691, in ShopItem
0507 21:36:06464 :: IndexError
0507 21:36:06466 :: :
0507 21:36:06466 :: list index out of range
0507 21:36:06466 ::
0507 21:36:06466 :: Unknown Server Command shop_item 12917#11299#1#12#1122222#0#1|1|1#1,2000|9,20|23,10|39,10|53,50|0,0|0,0 | shop_item
Bug Shop Offline Editare
Ai problema asta pentru ca acel shop offline nu este full , incearca asa :
Cod: Selectaţi tot
Cauta in cmd.cpp
{ "open_private_shop", do_open_private_shop, 0, POS_DEAD, GM_PLAYER},
adauga sub:
{ "update_shop_item", do_shop_update_item, 0, POS_DEAD, GM_PLAYER },
cauta:
ACMD(do_open_private_shop);
adauga:
ACMD(do_shop_update_item);
cauta:
case HEADER_GD_SHOP_CLOSE:
adauga:
case HEADER_GD_SHOP_UPDATE_ITEM:
ShopUpdateItem(peer, (TPacketShopUpdateItem *)data);
break;
cauta in client manager:
void CClientManager::ShopClose(CPeer * peer, TPacketShopClose *p)
adauga:
void CClientManager::ShopUpdateItem(CPeer * peer, TPacketShopUpdateItem *p)
{
for (TPeerList::iterator i = m_peerList.begin(); i != m_peerList.end(); ++i)
{
CPeer * tmp = *i;
if (tmp == peer)
continue;
if (0 == tmp->GetChannel())
continue;
TPacketShopUpdateItem packet;
packet.shop_id = p->shop_id;
packet.shop_locked = p->shop_locked;
tmp->EncodeHeader(HEADER_DG_SHOP_UPDATE_ITEM, 0, sizeof(packet));
tmp->Encode(&packet, sizeof(packet));
}
}
cauta in input_db:
case HEADER_DG_SHOP_CLOSE:
adauga:
case HEADER_DG_SHOP_UPDATE_ITEM:
ShopUpdateItem(c_pData);
break;
cauta:
void CInputDB::ShopName(const char * c_pData)
adauga:
void CInputDB::ShopUpdateItem(const char * c_pData)
{
TPacketShopUpdateItem * p = (TPacketShopUpdateItem *)c_pData;
LPCHARACTER pc;
CharacterVectorInteractor i;
{
CharacterVectorInteractor::iterator it = i.begin();
while (it != i.end()) {
LPCHARACTER pc = *it++;
if (pc)
if (pc->GetPrivShop() == p->shop_id) {
if(p->shop_locked && pc->GetMyShop())
{
pc->GetMyShop()->SetLocked(p->shop_locked);
pc->GetMyShop()->RemoveGuests();
}
else
pc->UpdateShopItems();
return;
}
}
}
}
cauta in tables.h
HEADER_GD_SHOP_CLOSE = 144,
adauga:
HEADER_GD_SHOP_UPDATE_ITEM = 145,nu functioneaza.....One scrie:Ai problema asta pentru ca acel shop offline nu este full , incearca asa :Cod: Selectaţi tot
Cauta in cmd.cpp { "open_private_shop", do_open_private_shop, 0, POS_DEAD, GM_PLAYER}, adauga sub: { "update_shop_item", do_shop_update_item, 0, POS_DEAD, GM_PLAYER }, cauta: ACMD(do_open_private_shop); adauga: ACMD(do_shop_update_item); cauta: case HEADER_GD_SHOP_CLOSE: adauga: case HEADER_GD_SHOP_UPDATE_ITEM: ShopUpdateItem(peer, (TPacketShopUpdateItem *)data); break; cauta in client manager: void CClientManager::ShopClose(CPeer * peer, TPacketShopClose *p) adauga: void CClientManager::ShopUpdateItem(CPeer * peer, TPacketShopUpdateItem *p) { for (TPeerList::iterator i = m_peerList.begin(); i != m_peerList.end(); ++i) { CPeer * tmp = *i; if (tmp == peer) continue; if (0 == tmp->GetChannel()) continue; TPacketShopUpdateItem packet; packet.shop_id = p->shop_id; packet.shop_locked = p->shop_locked; tmp->EncodeHeader(HEADER_DG_SHOP_UPDATE_ITEM, 0, sizeof(packet)); tmp->Encode(&packet, sizeof(packet)); } } cauta in input_db: case HEADER_DG_SHOP_CLOSE: adauga: case HEADER_DG_SHOP_UPDATE_ITEM: ShopUpdateItem(c_pData); break; cauta: void CInputDB::ShopName(const char * c_pData) adauga: void CInputDB::ShopUpdateItem(const char * c_pData) { TPacketShopUpdateItem * p = (TPacketShopUpdateItem *)c_pData; LPCHARACTER pc; CharacterVectorInteractor i; { CharacterVectorInteractor::iterator it = i.begin(); while (it != i.end()) { LPCHARACTER pc = *it++; if (pc) if (pc->GetPrivShop() == p->shop_id) { if(p->shop_locked && pc->GetMyShop()) { pc->GetMyShop()->SetLocked(p->shop_locked); pc->GetMyShop()->RemoveGuests(); } else pc->UpdateShopItems(); return; } } } } cauta in tables.h HEADER_GD_SHOP_CLOSE = 144, adauga: HEADER_GD_SHOP_UPDATE_ITEM = 145,
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 47 vizitatori

