Jump to content

blaxis

Active+ Member
  • Posts

    222
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by blaxis

  1. 25 minutes ago, VegaS™ said:

    Doesn't have relevance, just add it where you want in that file, following the code syntax from other functions.

    As an example, instead of searching for wndMgrIsDisableCoverButton, search for wndMgrHideSlotBaseImage and HideSlotBaseImage.

    I updated the first post, check it.

    Sorry for my carelessness. You wrote PythonWindow.h, but it should have been PythonSlotWindow.h 🙂

    I completed the steps but error loading screen.

    0828 23:31:28911 ::   File "uiTaskBar.py", line 940, in RefreshQuickSlot
    
    0828 23:31:28911 :: AttributeError
    0828 23:31:28911 :: : 
    0828 23:31:28911 :: 'GridSlotWindow' object has no attribute 'HasCoverButton'
    0828 23:31:28911 :: 

     

     

     

  2. 2 hours ago, VegaS™ said:

    The bug is caused by self.RefreshQuickSlot() which is called in OnUpdate() at each 0.5 seconds.

    It also affects the emotion slots, not just the skills.

    Inside of RefreshQuickSlot is the following snippet:

    	elif player.SLOT_TYPE_SKILL == Type:
    		[...]
    		slot.SetCoverButton(slotNumber)
    
    	elif player.SLOT_TYPE_EMOTION == Type:
    		[...]
    		slot.SetCoverButton(slotNumber)

    That part of the code resets the cover button for each slot and resets the up/over/down states.

    How-To-Fix:

    f0ddf9a18cd1222e354b0df0ca566587.gif

    • root/uiTaskBar.py
    # Search for: (x2 times)
    					slot.SetCoverButton(slotNumber)
    # Replace it with:
    					if not slot.HasCoverButton(slotNumber):
    						slot.SetCoverButton(slotNumber)
    • Src/Client/EterPythonLib/PythonWindow.h
    // Search for:
    			BOOL IsDisableCoverButton(DWORD dwIndex);
    // Add after:
    			bool HasCoverButton(const DWORD slot_index)
    			{
    				TSlot * slot;
    				if (!GetSlotPointer(slot_index, &slot))
    					return false;
    
    				return slot->pCoverButton != nullptr;
    			}
    • Src/Client/EterPythonLib/PythonWindowManagerModule.cpp
    // Search for:
    PyObject * wndMgrIsDisableCoverButton(PyObject * poSelf, PyObject * poArgs)
    {
    	[...]
    }
    // Add after:
    PyObject* wndMgrHasCoverButton(PyObject*, PyObject* poArgs)
    {
    	UI::CWindow* window;
    	PyTuple_GetWindow(poArgs, 0, &window);
    
    	int slot_index;
    	PyTuple_GetInteger(poArgs, 1, &slot_index);
    
    	auto* const slot = dynamic_cast<UI::CSlotWindow*>(window);
    	return Py_BuildValue("b", slot->HasCoverButton(slot_index));
    }
    
    // Search for:
    		{ "IsDisableCoverButton",		wndMgrIsDisableCoverButton,			METH_VARARGS },
    // Add after:
    		{ "HasCoverButton",			wndMgrHasCoverButton,				METH_VARARGS },

    Thank you so much !

    But, I dont' have IsDisableCoverButton in client src. I'm using novaline.

  3. 1 hour ago, V0lvox said:

    Upload UiToolTip.py

    or think about this hint:

     

    renderTarget.SetWeapon(RENDER_TARGET_INDEX, Vnum)
    if (player.GetItemIndex(item.COSTUME_SLOT_BODY)==0):
    	renderTarget.SetArmor(RENDER_TARGET_INDEX, player.GetItemIndex(item.EQUIPMENT_BODY))
    else:
    	renderTarget.SetArmor(RENDER_TARGET_INDEX, player.GetItemIndex(item.COSTUME_SLOT_BODY))

     

    Thank you so much! Solved.

     

    Meanwhile, I noticed something. I'm not sure if it's a problem.

    ### Armor ###

    Changing it as shown in "uitooltip_Fix2.txt" will preview different characters' armors as well.
    E.g; I'm using the warrior character and it previews when I hover over the ninja armor (as warrior armor)
    So I reverted this fix to its previous state.
    Just wanted to point it out for informational purposes.

  4. On 10.07.2021 at 22:53, V0lvox said:

    örneğin arayacağım.

    Bir şeyler öğrenmek ve kendi başınıza yapmak istiyorsanız..

    Sadece uiTooltip'te render işlevini çağırın, burada silah için çağırırsınız (örn.) ve onlar, oyuncunun Armor slot pozisyonunda (Google/ binary src) zırh (player.GetItemIndex(slotPos)) kuşanmış olup olmadığını kontrol eder.

    Evetse, itemvnum yerine player.GetItemIndex(slotPos) ile aşağıdaki oluşturma işlevini çağırın

     

     

    Unfortunately, I couldn't apply what you said because I don't have much coding knowledge.

    What do I need to do to display armor and weapon together? Can anyone help?

  5. 7 hours ago, V0lvox said:

    This is not a "real" error. 
    You can do something link this, if you dont wanna see this error.

    void CInstanceBase::DetachTextTail()
    {
    	if (!m_isTextTail)
    		return;
    
    	m_isTextTail=false;
    	if(GetVirtualID() > 0)
    		CPythonTextTail::Instance().DeleteCharacterTextTail(GetVirtualID());
    }

     

    Thank you ! Solved..

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