Jump to content

[C++]Fix trade duel duplicar items.


Recommended Posts

Abrimos el archivo "cmd_general.cpp" y buscamos:

ACMD(do_open_offline_shop)

 

Al final agregamos:

   if (ch->IsFight())
   {
      ch->ChatPacket(CHAT_TYPE_INFO, "No puedes abrir una tienda durante un duelo.");
      return;
   }

 

Link to comment
Share on other sites

hace 10 horas, Kenshi1232 dijo:

Muchas gracias y como iría para fixear la tienda offline para que no duplique los items. 

Prueba con esto...

Abre input_main.cpp y busca

		case SHOP_SUBHEADER_CG_TAKE_ITEM:
		{
			if (uiBytes < sizeof(BYTE))
				return -1;

			BYTE bPos = *c_pData;
			sys_log(0, "INPUT: %s OFFLINE_SHOP_TAKE_ITEM", ch->GetName());
			COfflineShopManager::instance().TakeItem(ch, bPos);
			return (sizeof(BYTE));
		}

 

Cambialo por:

		case SHOP_SUBHEADER_CG_TAKE_ITEM:
		{
			if (uiBytes < sizeof(BYTE))
				return -1;

			BYTE bPos = *c_pData;
			if (!COfflineShopManager::instance().HasOfflineShop(ch)){
				sys_log(0, "INPUT: %s OFFLINE_SHOP_TAKE_ITEM", ch->GetName());
				COfflineShopManager::instance().TakeItem(ch, bPos);
			}
			return (sizeof(BYTE));
		}

 

 

Despues busca:

		case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS:
		{
			sys_log(0, "INPUT: %s OFFLINE_SHOP_REFRESH_UNSOLD_ITEMS", ch->GetName());
			COfflineShopManager::instance().RefreshUnsoldItems(ch);
			return 0;
		}

 

Cambialo por: 

		case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS:
		{
			if (!COfflineShopManager::instance().HasOfflineShop(ch)){
				sys_log(0, "INPUT: %s OFFLINE_SHOP_REFRESH_UNSOLD_ITEMS", ch->GetName());
				COfflineShopManager::instance().RefreshUnsoldItems(ch);
			}
			return 0;
		}
Link to comment
Share on other sites

hace 4 horas, ATHOM dijo:

Prueba con esto...

Abre input_main.cpp y busca


		case SHOP_SUBHEADER_CG_TAKE_ITEM:
		{
			if (uiBytes < sizeof(BYTE))
				return -1;

			BYTE bPos = *c_pData;
			sys_log(0, "INPUT: %s OFFLINE_SHOP_TAKE_ITEM", ch->GetName());
			COfflineShopManager::instance().TakeItem(ch, bPos);
			return (sizeof(BYTE));
		}

 

Cambialo por:


		case SHOP_SUBHEADER_CG_TAKE_ITEM:
		{
			if (uiBytes < sizeof(BYTE))
				return -1;

			BYTE bPos = *c_pData;
			if (!COfflineShopManager::instance().HasOfflineShop(ch)){
				sys_log(0, "INPUT: %s OFFLINE_SHOP_TAKE_ITEM", ch->GetName());
				COfflineShopManager::instance().TakeItem(ch, bPos);
			}
			return (sizeof(BYTE));
		}

 

 

Despues busca:


		case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS:
		{
			sys_log(0, "INPUT: %s OFFLINE_SHOP_REFRESH_UNSOLD_ITEMS", ch->GetName());
			COfflineShopManager::instance().RefreshUnsoldItems(ch);
			return 0;
		}

 

Cambialo por: 


		case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS:
		{
			if (!COfflineShopManager::instance().HasOfflineShop(ch)){
				sys_log(0, "INPUT: %s OFFLINE_SHOP_REFRESH_UNSOLD_ITEMS", ch->GetName());
				COfflineShopManager::instance().RefreshUnsoldItems(ch);
			}
			return 0;
		}

Muchas gracias lo probare. 

Link to comment
Share on other sites

hace 3 horas, mrsanty dijo:

hola, gracias por el aporte y perdón por mi ignorancia es que recién empiezo con source, esto iría en la parte del bin del cliente o del source 

Source game 

Link to comment
Share on other sites

  • 2 weeks later...

Holi a todos/as, haciendo la solución que se da para fixear la shop offline, me tira este error:

Debes iniciar sesión para ver el contenido del enlace en esta publicación.
he de destacar que te falta una  " comillas, en el comentario de "No puedes abrir una tienda durante un duelo". Jijijijiji , ¿Me podéis ayudar en este error? porfis 

Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.

Link to comment
Share on other sites

  • 2 weeks later...
En 16/11/2017 a las 17:30, Lishel Dawson dijo:

Holi a todos/as, haciendo la solución que se da para fixear la shop offline, me tira este error:

Debes iniciar sesión para ver el contenido del enlace en esta publicación.
he de destacar que te falta una  " comillas, en el comentario de "No puedes abrir una tienda durante un duelo". Jijijijiji , ¿Me podéis ayudar en este error? porfis 

Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.

eso es para evitar abrir el panel de la shopoffline mientras estas en duelo(sistema de trade duel) no te fix duplicado de items referente a la shopoffline 
 

Link to comment
Share on other sites

  • 5 months later...

No creo que sea tan dificil, solo buscar lineas :3

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...