Jump to content

Raylee

Forum Moderator
  • Posts

    871
  • Joined

  • Last visited

  • Days Won

    22
  • Feedback

    0%

Posts posted by Raylee

  1. For testing it's enough do to it in npclist.txt.
    You can find the npclist.txt in your root folder.

    I think you will have an error with the filename.
    Be sure that you placed the npc in the right folder! 

    Example:
    Take a look on granny viewer:

    npc.thumb.PNG.125566dfc1e839a3bd6fd2666f9c420a.PNG
    - click to Texture List
    - Look where you need to safe the npc (npc/npc2/npc_pet)

    If you do the Client-Part fine you can try to poly your char ingame (use the command /poly)  with your npc vnum from the npclist.txt.

     

    Best regards
    Raylee

  2. Rules

    §1 Language

    (1.1) Language

    The language in this board is english. If you want to post something in your own language always add an english translation. The only exception for this rule is this section: Private Servers

    About your question:
    On your locale_string (Serverside) you can find that: 
    "속성을 변경하였습니다.";
    "You changed the item bonus.";

    You will find this function in your Serversource in char_item.cpp.

    Best regards
    Raylee

  3. vor 3 Stunden schrieb 3bd0:

    can you share your "checkspace" in exchange.cpp

    Spoiler
    
    bool CExchange::CheckSpace()
    {
    #ifdef __4_INVENTORY_PAGES__
    	BYTE page_count = 4;
    #else
    	BYTE page_count = 2;
    #endif
    	static CGrid s_grid1(5, INVENTORY_MAX_NUM / 5 / page_count);
    	static CGrid s_grid2(5, INVENTORY_MAX_NUM / 5 / page_count);
    	static CGrid s_grid3(5, INVENTORY_MAX_NUM / 5 / page_count);
    	static CGrid s_grid4(5, INVENTORY_MAX_NUM / 5 / page_count);
    
    	s_grid1.Clear();
    	s_grid2.Clear();
    	s_grid3.Clear();
    	s_grid4.Clear();
    
    	LPCHARACTER	victim = GetCompany()->GetOwner();
    	LPITEM item;
    
    	int i;
    
    	for (i = 0; i < INVENTORY_MAX_NUM / page_count; ++i)
    	{
    		if (!(item = victim->GetInventoryItem(i)))
    			continue;
    
    		s_grid1.Put(i, 1, item->GetSize());
    	}
    	for (i = INVENTORY_MAX_NUM / page_count; i < (INVENTORY_MAX_NUM / page_count) * 2; ++i)
    	{
    		if (!(item = victim->GetInventoryItem(i)))
    			continue;
    
    		s_grid2.Put(i - INVENTORY_MAX_NUM / page_count, 1, item->GetSize());
    	}
    	for (i = (INVENTORY_MAX_NUM / page_count) * 2; i < (INVENTORY_MAX_NUM / page_count) * 3; ++i)
    	{
    		if (!(item = victim->GetInventoryItem(i)))
    			continue;
    
    		s_grid3.Put(i - (INVENTORY_MAX_NUM / page_count) * 2, 1, item->GetSize());
    	}
    	for (i = (INVENTORY_MAX_NUM / page_count) * 3; i < (INVENTORY_MAX_NUM / page_count) * 4; ++i)
    	{
    		if (!(item = victim->GetInventoryItem(i)))
    			continue;
    
    		s_grid4.Put(i - (INVENTORY_MAX_NUM / page_count) * 3, 1, item->GetSize());
    	}
    	
    	static std::vector <WORD> s_vDSGrid(DRAGON_SOUL_INVENTORY_MAX_NUM);
    	bool bDSInitialized = false;
    	for (i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i)
    	{
    		if (!(item = m_apItems[i]))
    			continue;
    
    #ifdef NEW_ADD_INVENTORY
    		int envanterblack;
    		if (item->IsDragonSoul())
    			envanterblack = victim->GetEmptyDragonSoulInventory(item);
    		else
    			envanterblack = victim->GetEmptyInventory(item->GetSize());
    
    		if (envanterblack < 0)
    		{
    			return false;
    		}
    #endif
    
    		if (item->IsDragonSoul())
    		{
    			if (!victim->DragonSoul_IsQualified())
    			{
    				return false;
    			}
    
    			if (!bDSInitialized)
    			{
    				bDSInitialized = true;
    				victim->CopyDragonSoulItemGrid(s_vDSGrid);
    			}
    
    			bool bExistEmptySpace = false;
    			WORD wBasePos = DSManager::instance().GetBasePosition(item);
    			if (wBasePos >= DRAGON_SOUL_INVENTORY_MAX_NUM)
    				return false;
    
    			for (int i = 0; i < DRAGON_SOUL_BOX_SIZE; i++)
    			{
    				WORD wPos = wBasePos + i;
    				if (0 == s_vDSGrid[wBasePos])
    				{
    					bool bEmpty = true;
    					for (int j = 1; j < item->GetSize(); j++)
    					{
    						if (s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM])
    						{
    							bEmpty = false;
    							break;
    						}
    					}
    					if (bEmpty)
    					{
    						for (int j = 0; j < item->GetSize(); j++)
    						{
    							s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM] =  wPos + 1;
    						}
    						bExistEmptySpace = true;
    						break;
    					}
    				}
    				if (bExistEmptySpace)
    					break;
    			}
    			if (!bExistEmptySpace)
    				return false;
    		}
    		else
    		{
    			int iPos = s_grid1.FindBlank(1, item->GetSize());
    			if (iPos >= 0)
    			{
    				s_grid1.Put(iPos, 1, item->GetSize());
    			}
    			else
    			{
    				iPos = s_grid2.FindBlank(1, item->GetSize());
    				if (iPos >= 0)
    				{
    					s_grid2.Put(iPos, 1, item->GetSize());
    				}
    				else
    				{
    					iPos = s_grid3.FindBlank(1, item->GetSize());
    					if (iPos >= 0)
    					{
    						s_grid3.Put(iPos, 1, item->GetSize());
    					}
    					else
    					{
    						iPos = s_grid4.FindBlank(1, item->GetSize());
    						if (iPos >= 0)
    						{
    							s_grid4.Put(iPos, 1, item->GetSize());
    						}
    						else
    						{
    							return false;
    						}
    					}
    				}
    			}
    		}
    	}
    	return true;
    }

     


    Best regards
    Raylee

  4. You are not allowed to Bump your thread within two hours!

    Rules:

    (2.2) Bumping

    Allowed bumping times:

    • Services area - 24 hours
    • Q&A - 48 hours

    Any other bumping will result in an infraction!


     

    vor 2 Stunden schrieb TERMINNATOR:

    Hello,

    which should not be added

    KEN OFFLİNE SHOP

    KORAY OFFLİNE SHOP

    GREAT OFFLİNE SHOP 

    
    do you inform me ?

    If you are able to fix the known bugs, you can use anyone.


    Best regards
    Raylee

    • Love 1
  5. (2.4) Content

    • Don't post stuff other made and/or sell stuff others made.
    • No Links to other boards with the same sense as metin2dev allowed. (This include file names and image content also!)
    • No posting (whether to sell or give away for free) anything that involves cheating or stealing from people's clients or servers. 
    • It's not allowed to give your/our own skypes in public topics/posts nor signatures, only via pm. The only exception is for people that are trying to sell their services.

      This topic is closed.

      Best regards
      Raylee

     

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.