Jump to content
  • Create New...


  • Posts

  • Joined

  • Last visited

  • Days Won


Nirray last won the day on February 3 2020

Nirray had the most liked content!


About Nirray


  • Gender

Recent Profile Visitors

1,808 profile views

Nirray's Achievements


Enthusiast (6/14)

  • Dedicated Rare
  • Reacting Well
  • Very Popular Rare
  • First Post
  • Collaborator

Recent Badges




Community Answers

  1. A slightly different idea than mine that I wrote a long time ago, but the effect is the same Remember to use along with this: [Hidden Content] Otherwise, sky clouds clipping will be visible when logging in aaaand very annoying To fix that, you need to do same thing what "Item Shop" window does - disable mouse scroll when window is opened.
  2. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) About: Whenever I was playing on any server that had far too many drop items from monsters — I wondered — how am I going to find myself in this pile of scrap? You click on one item and pick up a completely different one, thus littering your inventory. With my solution, your players don't have to worry about it anymore. As a player: Pros: You don't have to worry about items gained by other players; The alphabetical list will allow you to easily find the acquired item; The dynamic list cleans and completes itself on a regular basis; You can still pick up items directly from the floor; You can show and hide the window whenever you want to use it; If the item isn't yours then your player name in ownership color will be red instead of yellow; You do not have to worry that your list will be flooded with items that have been lying on the ground for a long time — only the items you have acquired will go to the list; You can double-click on the name of the item and the character will automatically move towards it with the intention of picking up; You can refresh the list by yourself; You can select an item from the list and pick it up from the ground with one button. Min: You still need to be close to the item to pick it up — but it's probably fair; Sometime you must click twice on item name because of too far distance (by default). Github repository: [Hidden Content] Compatibility: I am curious about your opinions Have a nice day Author: @Nirray (Back to the past)
  3. https://i.gyazo.com/a5ea259ef14d11796369e13a97476b64.mp4 https://i.gyazo.com/fda7647efc9b3c4416383f9dd55cb0f9.mp4 After 2 min: ?
  4. There is an easier way than what you suggested ? Just pick random number from range 0 to GOLD_MAX (higher number should be more "user-friendly") and if price==your_number: return SHOP_SUBHEADER_GC_NOT_ENOUGH_MONEY; The rest is just python part with interface (uishop) and so on [Hidden Content] I'm not a big fan of adding new solutions when you can use already implemented ones ?
  5. This bug is practically caused by clientside Rewrite this: void CRaceMotionData::SetName(UINT eName) In RaceMotionData.cpp and bool CActorInstance::__CanPushDestActor(CActorInstance& rkActorDst) + void CActorInstance::__ProcessDataAttackSuccess(const NRaceData::TAttackData & c_rAttackData, CActorInstance & rVictim, const D3DXVECTOR3 & c_rv3Position, UINT uiSkill, BOOL isSendPacket) In ActorInstanceBattle.cpp Especially for those animations that are used in flying after external force and after damage-hit. https://i.gyazo.com/2a862ec891b0891ff9da2accdb9c26a8.mp4 After fix you are able to set free even from this: https://i.gyazo.com/147b0ef311aaaa92b426cdb253888968.mp4
  6. UserInterface\PythonApplication.cpp Search double g_specularSpd=0.007f; Change to: double g_specularSpd=0.00017f;
  7. local c_Equipment_Body = 0; local c_Equipment_Head = 1; local c_Equipment_Shoes = 2; local c_Equipment_Wrist = 3; local c_Equipment_Weapon = 4; local c_Equipment_Neck = 5; local c_Equipment_Ear = 6; local c_Equipment_Unique1 = 7; local c_Equipment_Unique2 = 8; local c_Equipment_Arrow = 9; local c_Equipment_Shield = 10; example: if (pc.get_wear(c_Equipment_Wrist) == 14009) then -- Wooden Bracelet +9
  8. self.RetryButton.SetEvent(ui.__mem_func__(self.RetryButton)) self.RecvButton.SetEvent(ui.__mem_func__(self.RecvButton)) [Hidden Content] Change function names to something like def OnClickRetryButton and def OnClickRecvButton, they cannot be the same like button names For example: self.serverSelectButton.SetEvent(ui.__mem_func__(self.serverSelectButton)) Instead of: self.serverSelectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectServerButton)) Is going to throw same AttributeError which is stated as: 0323 01:00:01004 :: File "introLogin.py", line 714, in __LoadScript 0323 01:00:01005 :: File "ui.py", line 82, in __init__ 0323 01:00:01005 :: AttributeError 0323 01:00:01005 :: : 0323 01:00:01005 :: 'Button' object has no attribute 'im_func' 0323 01:00:01005 ::
  9. Change BasePosition then to something like (clientside and serverside): startovni_mapa 409600 409600 2 3 aronix_smallpurpletown 716800 1024000 3 3 aronix_smallgreentown 512000 716800 2 3 (I'm not sure if they're not colliding with each other, you need to check it by yourself)
  10. [Hidden Content] Remember, your map location in serverfiles and clientside must be (x*1024 + "00" && y*1024+"00") %2 == 0 7355/1024 ~= 7,1826171875 1125/1024 ~=1,0986328125 Change your atlasinfo.txt, generate new server_attr with blocked cords x=0, y=0. BLOCK on those coordinates will always teleport player to coordinates in town.txt map folder file after player warp.
  11. Set "BLOCK" attr (x: 0 and y:0) in server_attr (world editor)

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.