Jump to content

Chookez

Member
  • Posts

    45
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Chookez

  1. A slightly more optimized code for the second solution.

    CWhisper* CPythonChat::CreateWhisper(const char* c_szName)
    {
    	auto itor = m_WhisperMap.find(c_szName);
    
    	CWhisper* pWhisper;
    
    	if (itor == m_WhisperMap.end())
    	{
    		pWhisper = CWhisper::New();
    		m_WhisperMap.emplace(c_szName, pWhisper);
    	}
    	else
    	{
    		pWhisper = itor->second;
    	}
    
    	return pWhisper;
    }

    I'm sorry to bother you.

    • Facepalm 1
    • Love 1
  2. Optimized version for best performance.

    		tmpLoadStepList = [step[0] for step in self.loadStepList]
    		missingSteps = set(range(tmpLoadStepList[0], tmpLoadStepList[-1] + 1)).difference(tmpLoadStepList)
    		self.loadStepList += [(progress, lambda: None) for progress in missingSteps]
    		self.loadStepList.sort()

     

    • Good 1
  3. char_battle.cpp

    Search:

        if (!cannot_dead)
        {
            PointChange(POINT_HP, -dam, false);
        }

    Change:

        if (!cannot_dead)
        {
            if (GetHP() - dam <= 0)
                dam = GetHP();
    
            PointChange(POINT_HP, -dam, false);
        }

    Borrowed from MARTY's source.

  4.  SOLVED! ExceptionSender function was missing from the source.

     

    Hello everyone.

    I need a little help with client-side syserr, i don't know exactly how long, but if something isn't good, it doesn't log.

    spacer.png

    Specifically, he writes just that, nothing else, for any type of error.

  5. Hi.

    I need a little help in this code:

    								case 84014:
    								case 84015:
    								case 84016:
    								case 84017:
    								case 84018:
    								{
    									LPITEM item2;
    
    									if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
    									{
    										return false;
    									}
    
    									if (item2->IsExchanging())
    									{
    										return false;
    									}
    
    									if (item2->IsEquipped())
    									{
    										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("CANT_USE_ON_EQUIPPED_ITEM"));
    										return false;
    									}
    
    									if (item2->GetType() != ITEM_COSTUME)
    									{
    										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("CAN_USE_ONLY_COSTUMES"));
    										return false;
    									}
    
    									if (item2->GetVnum() >= 74001 && item2->GetVnum() <= 75612)
    									{
    										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("CANT_USE_ON_SIMPLE_HAIR"));
    										return false;
    									}
    
    									long day = item->GetValue(0) * 60 * 60 * 24;
    									ITEM_MANAGER::instance().RemoveItem(item);
    									ChatPacket(CHAT_TYPE_INFO, LC_TEXT("COSTUME_TIME_EXTENDED"));
    									item2->SetSocket(0, item2->GetSocket(0) + day);
    								}
    								break;

    How to specify that the time does not exceed 30 days on a costume?

    -Thanks in advance.

  6. I was a little confused yesterday, it seems.

    PythonMinimap.cpp

     

    Search this:

    else if (pkInstEach->IsNPC()

    Change to:

    else if (pkInstEach->IsNPC() && !pkInstEach->IsInvisibility())

    And then add this to this function:

                if (pkInstEach->IsPet() || pkInstEach->IsMount())
                    continue;

    Like this:

    081953Nevtelen.png

    Its done. Now open InstanceBase.cpp

     

    Search this function:

    void CInstanceBase::GetBoundBox(D3DXVECTOR3 * vtMin, D3DXVECTOR3 * vtMax)

    After this function add this:

    BOOL CInstanceBase::IsPet()
    {
        if (GetRace() >= 34001 && GetRace() <= 34021)
            return true;
    
        return false;
    }
    
    BOOL CInstanceBase::IsMount()
    {
        if (GetRace() >= 20101 && GetRace() <= 20109)
            return true;
    
        return false;
    }

     

    Here you can change how long they are hidden, by ID.

     

    Now open: InstanceBase.h

     

    Search this:

    void                    SetDuelMode(DWORD type);

    Add after:

            BOOL IsPet();
            BOOL IsMount();

     

    • Love 1
×
×
  • 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.