Jump to content
  • 0
Sign in to follow this  
MegaMan2

OfflineShop Fixiar ayuda files eternia2 y cliente pandora<<<<<<<

Question

hola 

Alguna persona que se apiade de mi problema, trato de fixear la Offline Shop.

trate de hacerlo con una guia que hay pero al colocar esta lineas pero no me copila el source.   o bien si creen que les llevara un poco de  tiempo "PAGO" para evitar que me duplique los objetos

He probado, hacer esto pero no me copila. 

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

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

En principio es el cambio de ch lo que te genera ese bug. Prueba esto si ves que te sigue igual prueba desactivando el cambio ch aver si te duplican items.

En char.cpp busca: quest::PC * pPC = quest::CQuestManager::instance().GetPCForce(GetPlayerID()); (CHARACTER::OpenMyShop)
Pon arriba de esa funcion esto:
	if (IsRestricted())
	{
		ChatPacket(CHAT_TYPE_INFO, "Tienes que esperar %d para hacer esto.", (GetQuestFlag("restrict.player") - get_global_time()) % 180);
		return;
	}
Luego busca: 
		if (days != 0)
			map_shop.push_back(pTable++);
Pon arriba de eso: 		SetQuestFlag("restrict.player", get_global_time() + 10);
Y al final dentro detro de char pon:
bool CHARACTER::IsRestricted()
{	
	if (GetQuestFlag("restrict.player") < get_global_time())
		return false;
}

Luego en char.h busca: ESex GET_SEX(LPCHARACTER ch);
Pon arriba de eso:
	public:
		bool	IsRestricted();
Luego en cmd_general.cpp busca la funcion entera de ACMD(do_channel)
Y la cambias con esto:
#ifdef __CHANNEL_CHANGE_SYSTEM__
ACMD(do_channel)
{
	if (ch->IsRestricted())
	{
		ch->ChatPacket(CHAT_TYPE_INFO, "Tienes que esperar %d para hacer esto.", (ch->GetQuestFlag("restrict.player") - get_global_time()) % 180);
		return;
	}	

	char arg1[256];
	one_argument(argument, arg1, sizeof(arg1));
	if (!*arg1)
		return;
	
	int channel;
	str_to_number(channel, arg1);
	ch->ChannelChange(channel);
	ch->SetQuestFlag("restrict.player", get_global_time() + 5);
}
#endif

 

Share this post


Link to post
Share on other sites
  • 0
hace 6 horas, Robert dijo:

Los files tienen cambio de canal?

No no tienen Canal son los eternia cliende pandora los que andan por alli publicado gratis ya los tengo algo trabajadito pero la tienda offlineshop es la que no puedo fixear. 

Share this post


Link to post
Share on other sites
  • 0

para evitar duplicar objetos,  cuando se esta en TradeDuel.   pero no me copila 😞

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Answer this question...

×   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.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...