[C++] New belt inventory bug fix - Rideas -

09/05/2015 13:42 Rideas#1
Is Bug :

Open : input_main.cpp

Search:


HTML Code:
	CSafebox * pkSafebox = ch->GetSafebox();
	LPITEM pkItem = ch->GetItem(p->ItemPos);

	if (!pkSafebox || !pkItem)
		return;
Add:



HTML Code:
if (pkItem->GetType() == ITEM_BELT && pkItem->IsEquipped()) // Belt inventory new bug fixed by Rideas
{

ch->ChatPacket(CHAT_TYPE_INFO, "Empty your belt before inventory !");
    return;
}
09/25/2015 17:53 Rideas#2
Game / Src

cmd_general.cpp open

HTML Code:
ACMD(do_unmount)
{
 if(true== ch->UnEquipSpecialRideUniqueItem())
 {

  ch->RemoveAffect(AFFECT_MOUNT);
  ch->RemoveAffect(AFFECT_MOUNT_BONUS);

  if(ch->IsHorseRiding())
  {
   ch->StopRiding();
  }
 }
 else
 {
  ch->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("Àκ¥Å丮°¡ ²Ë Â÷¼* ³»¸± ¼ö ¾ø½À´Ï´Ù."));
 }
 }


Search and replace:

Kod:
HTML Code:
ACMD(do_unmount)
{
   LPITEM item = ch->GetWear(WEAR_UNIQUE1);
   LPITEM item2 = ch->GetWear(WEAR_UNIQUE2);


  if (item && item->IsRideItem())
  {
    ch->UnequipItem(item);
  }
  
  if (item2 && item2->IsRideItem())
  {
    ch->UnequipItem(item2);
  }
 if (true == ch->UnEquipSpecialRideUniqueItem())
 {
  ch->RemoveAffect(AFFECT_MOUNT);
  ch->RemoveAffect(AFFECT_MOUNT_BONUS);


  if (ch->IsHorseRiding())
  {
   ch->StopRiding(); 
  }
 }
 else
 {
  ch->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("Àκ¥Å丮°¡ ²Ë Â÷¼* ³»¸± ¼ö ¾ø½À´Ï´Ù."));
 }


}

char_battle.cpp open

Search:
HTML Code:
RemoveAffect(AFFECT_MOUNT_BONUS);

Add:


HTML Code:
        LPITEM item =GetWear(WEAR_UNIQUE1);
         LPITEM item2 =GetWear(WEAR_UNIQUE2);

      if (item && item->IsRideItem())
      {
        UnequipItem(item);
      }
      
      if (item2 && item2->IsRideItem())
      {
        UnequipItem(item2);
      }


[Only registered and activated users can see links. Click Here To Register...]
09/25/2015 21:43 tmis#3
how to i extract game?
09/27/2015 03:46 Berke0158#4
[Only registered and activated users can see links. Click Here To Register...]

have any fix ?

thanks
12/22/2015 12:05 deltous'fabius#5
Quote:
Originally Posted by WoM2 | MartPwnS View Post
Falscher Fix bei den Belts das zwingt einen dazu den Gürtel immer abzulegen auch wenn keine items drin sind (falsche Fehlermeldung)

Besser:
Code:
if (ITEM_BELT == pkItem->GetType() && pkItem->IsEquipped() && CBeltInventoryHelper::IsExistItemInBeltInventory(ch))
{
	ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("벨트 인벤토리에 아이템이 존재하면 해제할 수 없습니다."));
	return;
}
Kind regards
MartPwnS
this doesnt work for me