Jump to content


Core Developers
  • Content Count

  • Joined

  • Last visited

  • Days Won


Asheraf last won the day on November 19 2019

Asheraf had the most liked content!

About Asheraf

Contact Methods

  • Discord

Profile Information

  • Gender
  • Location:
  • Emulator

Recent Profile Visitors

5438 profile views
  1. This is GPL licensed code, you're violating the license by distributing it this format.
  2. Hello, You need to save the motd file with the correct encoding, for korean that would be euc-kr.
  3. Again typo on my side, switched the place of variables and forgot to switch the sign 😂
  4. Oops, my mistake i mixed up the checks... it does indeed check for 1 element (a 4 bytes float). This is the struct for cell attributes in aegis, and the check against water level uses h1 struct AttrCell { float h1; float h2; float h3; float h4; int flag; }; *Edit*: corrected the code in previous post
  5. The athena way is what aegis uses, it reads the 4th dword in the cell info struct and compares it with the map water level read from the RSW, the code roughly looks like this (quick draft so i apologize if it's not so clear). { std::ifstream gat_fs(filename, std::ios::binary); VALIDATE_MAGIC(gat_fs, "GRAT", 4); gat_fs.read(reinterpret_cast<char *>(&m_verMajor), sizeof(char)); gat_fs.read(reinterpret_cast<char *>(&m_verMinor), sizeof(char)); gat_fs.read(reinterpret_cast<char *>(&m_width), sizeof(int)); gat_fs.read(reinterpret_cast<char *>(&m_height), sizeof(int)); m_cells.resize(m_width * m_height); gat_fs.read(reinterpret_cast<char *>(m_cells.data()), m_cells.size()); std::for_each(m_cells.begin(), m_cells.end(), [idx = 0](struct CAttrCell &cell) mutable { if (cell.flag == 1 || cell.flag == 5) m_TileInfo[idx] |= SVR_CELL_BLOCK; if (cell.flag != 1) m_TileInfo[idx] |= SVR_CELL_ARROW; if (cell.h1 > m_waterLevel) // m_waterLevel from RSW m_TileInfo[idx] |= SVR_CELL_WATER; ++idx; }); return 0; }
  6. Here you go, you can download the two sprites you wanted from here https://drive.google.com/file/d/1At5AEa-reKsM1-l5YLdsen6ljVKrGBr7/view?usp=sharing OR if you prefer you can download the full 17.2 patch from http://ropatch.xcache.kinxcdn.com/Patch/2019-10-02data_sakray_001.gpf
  7. The data available in the GRF files is just the resources, the actual animation is done by the client code (which isn't public), basically his project is to look into decompiled client code and try to emulate these animations in roBrowser.
  8. use atcommand(sprintf("#warp \"%s\" %s 22 50", [email protected]$, .arena_map$));
  9. This topic is being closed for now, if you want to get a client you can do that from http://nemo.herc.ws/downloads/ which provides download instructions for the clients that are distributed without a packer applied by gravity, this includes both Ragexe and Ragexe_zero.
  10. https://github.com/Asheraf/Translation/blob/master/data/luafiles514/lua files/skillinfoz/skilltreeview.lub#L1166-L1175
  11. Can you try with https://github.com/HerculesWS/Hercules/pull/2252
  12. @astralprojection I have pushed an update to #2218 which added support for specifying an item amount range (0 should be allowed), feel free to test it and tell me if you found any issues.
  13. Well, in kRO they never use it in that way but rather the questinfo notification is shown when the player did not accept the quest yet or have requirements finished (ex: all items were gathered). regardless of that I believe we should give the ability to do whatever you want.
  14. @astralprojection You can't set item amount to 0 i believe you should be having a warning in the console, i will push an update to change that later.
  15. You should be able to have an OR effect by using 2 questinfo definitions in the following way OnInit: questinfo(QTYPE_QUEST, 1); setquestinfo(QINFO_QUEST, 30049, 0); questinfo(QTYPE_QUEST, 1); setquestinfo(QINFO_QUEST, 30050, 1); end;
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.