Bug Shop Offline Editare

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
MGeorge
Nivel 3

Nivel 3
Mesaje: 317
Membru din: 28 Dec 2013, 12:43
Server: -
Regat: Chunjo
Aprecieri: 367  
Mulţumiri: 8  
Medalii

*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
Avatar utilizator
.One
Nivel 1

Nivel 1
Mesaje: 66
Membru din: 24 Apr 2019, 20:26
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 12  
Medalii

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,
Imagine
Afișează semnătura
Avatar utilizator
MGeorge
Nivel 3

Nivel 3
Mesaje: 317
Membru din: 28 Dec 2013, 12:43
Server: -
Regat: Chunjo
Aprecieri: 367  
Mulţumiri: 8  
Medalii

.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,
nu functioneaza....
Avatar utilizator
MGeorge
Nivel 3

Nivel 3
Mesaje: 317
Membru din: 28 Dec 2013, 12:43
Server: -
Regat: Chunjo
Aprecieri: 367  
Mulţumiri: 8  
Medalii

up
Închis

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Semrush [Bot] și 126 vizitatori