Sora7 Posted July 19, 2017 Posted July 19, 2017 total noob here, I've successfully increase the /memo points at mmo.h, but when using the skill warp, it still shows only 3 places, exclude the save point. how do i increase the choices of selecting my memo points? Quote
1 Functor Posted July 20, 2017 Posted July 20, 2017 (edited) Open ../src/common/mmo.h and change: #define MAX_MEMOPOINTS 3 to: #define MAX_MEMOPOINTS 9 Open ../src/map/clif.h and change: void clif_skill_warppoint(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4); to: void clif_skill_warppoint(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4, unsigned short map5, unsigned short map6, unsigned short map7, unsigned short map8, unsigned short map9, unsigned short map10); Open ../src/map/clif.c and in the function "clif_skill_warppoint" change: void clif_skill_warppoint(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4) to: void clif_skill_warppoint(struct map_session_data* sd, uint16 skill_id, uint16 skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4, unsigned short map5, unsigned short map6, unsigned short map7, unsigned short map8, unsigned short map9, unsigned short map10) after: if (map4 > 0) mapindex_getmapname_ext(mapindex_id2name(map4), (char*)WFIFOP(fd,52)); add: if (map5 > 0) mapindex_getmapname_ext(mapindex_id2name(map5), (char*)WFIFOP(fd,68)); if (map6 > 0) mapindex_getmapname_ext(mapindex_id2name(map6), (char*)WFIFOP(fd,84)); if (map7 > 0) mapindex_getmapname_ext(mapindex_id2name(map7), (char*)WFIFOP(fd,100)); if (map8 > 0) mapindex_getmapname_ext(mapindex_id2name(map8), (char*)WFIFOP(fd,116)); if (map9 > 0) mapindex_getmapname_ext(mapindex_id2name(map9), (char*)WFIFOP(fd,132)); if (map10 > 0) mapindex_getmapname_ext(mapindex_id2name(map10), (char*)WFIFOP(fd,148)); change: 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16, to: 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 164, 2, 3, 16, Open ../src/map/skills.c and in the function "skill_castend_nodamage_id" change: clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,0,0,0); else clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,sd->status.save_point.map,0,0); to: clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,0,0,0,0,0,0,0,0,0); else clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,sd->status.save_point.map,0,0,0,0,0,0,0,0); In the function "skill_castend_pos" change: clif_skill_warppoint(sd, skill_id, skill_lv, sd->status.save_point.map, (skill_lv >= 2) ? sd->status.memo_point[0].map : 0, (skill_lv >= 3) ? sd->status.memo_point[1].map : 0, (skill_lv >= 4) ? sd->status.memo_point[2].map : 0 ); to: clif_skill_warppoint(sd, skill_id, skill_lv, sd->status.save_point.map, (skill_lv >= 2) ? sd->status.memo_point[0].map : 0, (skill_lv >= 3) ? sd->status.memo_point[1].map : 0, (skill_lv >= 4) ? sd->status.memo_point[2].map : 0, (skill_lv >= 4) ? sd->status.memo_point[3].map : 0, (skill_lv >= 4) ? sd->status.memo_point[4].map : 0, (skill_lv >= 4) ? sd->status.memo_point[5].map : 0, (skill_lv >= 4) ? sd->status.memo_point[6].map : 0, (skill_lv >= 4) ? sd->status.memo_point[7].map : 0, (skill_lv >= 4) ? sd->status.memo_point[8].map : 0 ); In the function "skill_castend_map" change: const struct point *p[4]; to: const struct point *p[10]; after: p[3] = &sd->status.memo_point[2]; add: p[4] = &sd->status.memo_point[3]; p[5] = &sd->status.memo_point[4]; p[6] = &sd->status.memo_point[5]; p[7] = &sd->status.memo_point[6]; p[8] = &sd->status.memo_point[7]; p[9] = &sd->status.memo_point[8]; change: if( lv > 4 ) lv = 4; // crash prevention to: if (lv >= 4) lv = 10; Save changes, compile the server and use this EXE: https://mega.nz/#!pFdSELpL!Tb4dxxOUyiUqJFTPjSbfgYF4CIuKB0m_TQJ0LBVzu6Y Edited July 20, 2017 by Functor 1 Quote
1 Functor Posted August 30, 2021 Posted August 30, 2021 https://mega.nz/#!JM8gDYoJ!cWFKphZJ3Lk_8Qwz-23g9-4_3n6zo_6UijETS2aK6wA 1 Quote
0 Functor Posted July 20, 2017 Posted July 20, 2017 (edited) Hello! How many warp points do you want to have in warp list? You need to modify src of emulator and EXE. Please, upload your EXE and send me a link. Edited July 20, 2017 by Functor Quote
0 Sora7 Posted July 20, 2017 Author Posted July 20, 2017 8 hours ago, Functor said: Hello! How many warp points do you want to have in warp list? You need to modify src of emulator and EXE. Please, upload your EXE and send me a link. Hi! if its ok with you? can you instruct me on how to do it? i really wanna learn, for future purposes.. thank you. sry for inconvenience. Quote
0 Functor Posted July 20, 2017 Posted July 20, 2017 (edited) I can patch EXE and give manual to modify src of emulator. 9 hours ago, Functor said: Please, upload your EXE and send me a link. Edited July 20, 2017 by Functor Quote
0 Sora7 Posted July 20, 2017 Author Posted July 20, 2017 10 hours ago, Functor said: Please, upload your EXE and send me a link. i hope this is the one. XDhttps://www.dropbox.com/s/qdm3iwtoycr48hj/2015-11-04aRagexe.exe?dl=0 Quote
0 Functor Posted July 20, 2017 Posted July 20, 2017 (edited) Why do you ignore my question? 12 hours ago, Functor said: How many warp points do you want to have in warp list? I asked it not for fun. Modification of EXE and src depends on it. Edited July 20, 2017 by Functor Quote
0 Sora7 Posted July 20, 2017 Author Posted July 20, 2017 1 hour ago, Functor said: Why do you ignore my question? I asked it not for fun. Modification of EXE and src depends on it. im sorry, 10 pls. Quote
0 Functor Posted July 20, 2017 Posted July 20, 2017 + send me file from you emulator ../src/map/clif.c Quote
0 Sora7 Posted July 20, 2017 Author Posted July 20, 2017 9 minutes ago, Functor said: + send me file from you emulator ../src/map/clif.c ok.https://www.dropbox.com/s/99pd55emqqtaiml/clif.c?dl=0 Quote
0 Sora7 Posted July 20, 2017 Author Posted July 20, 2017 (edited) Wow! i didn't know this need a lot of adding and editing Thank you very much for this! sir, the 10 warp points are working. but i notice when i logged out and came back to log-in, the saved memo points are gone.. Edited July 20, 2017 by Sora7 Quote
0 WhiteEagle Posted September 28, 2019 Posted September 28, 2019 @Functor Can you please post how to hex the exe for more Memo Points? Quote
0 Artur9211 Posted May 7, 2021 Posted May 7, 2021 @Functor Can you explain how to hex the .exe? I didn't find anything on Nemo Quote
0 Functor Posted May 7, 2021 Posted May 7, 2021 (edited) @Artur9211 You should upload your EXE and send me a link. Edited May 7, 2021 by Functor Quote
0 Artur9211 Posted May 7, 2021 Posted May 7, 2021 @Functor Here it is: https://1drv.ms/u/s!AmwehvNnsqDFiL0FGqb5wVbRG-3QwQ?e=n1DwFd The _clean is the fresh version just downloaded, and the _NEMO_edited is the one that I applied some changes. Will I be able to keep editing it with NEMO after your changes? Quote
0 Shakto Posted August 29, 2021 Posted August 29, 2021 On 5/7/2021 at 3:36 PM, Functor said: @Artur9211 You should upload your EXE and send me a link. Hello Functor, do you have the modified exe with from version of Artur9211 ? Thank you Quote
0 Functor Posted August 29, 2021 Posted August 29, 2021 1 hour ago, Shakto said: Hello Functor, do you have the modified exe with from version of Artur9211 ? Thank you You should apply patches by using NEMO patcher and upload EXE. I will modify it. Quote
0 WhiteEagle Posted August 30, 2021 Posted August 30, 2021 (edited) Hi Functor, would be really nice from you if you could do this for me too. Thank you very much 2020-06-17aRagexe_patched-WARP.exe Edited August 30, 2021 by WhiteEagle Quote
0 Shakto Posted August 30, 2021 Posted August 30, 2021 (edited) 11 hours ago, Functor said: You should apply patches by using NEMO patcher and upload EXE. I will modify it. Here you are. Thank you ! 2020-07-15bRagexe_patched.exe Btw i couldn't figure out what to do with : change: 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16, to: 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 164, 2, 3, 16, i couldn't find it in last rev of rathena in cliff.cpp Edited August 30, 2021 by Shakto add question Quote
0 Functor Posted August 30, 2021 Posted August 30, 2021 Since versions "2017-05-02aRagexe" and "2017-04-19bRagexeRE" there is no need to modify the code of EXE. These EXEs support the new network packet 0xABE. I will check the code of the latest rAthena after arriving at home. Quote
0 Neo-Mind Posted August 30, 2021 Posted August 30, 2021 24 minutes ago, Functor said: Since versions "2017-05-02aRagexe" and "2017-04-19bRagexeRE" there is no need to modify the code of EXE. These EXEs support the new network packet 0xABE. I will check the code of the latest rAthena after arriving at home. Well I do see the following inside packets_struct.hpp. #if PACKETVER_MAIN_NUM >= 20170502 || PACKETVER_RE_NUM >= 20170419 || defined(PACKETVER_ZERO) skilWarpPointType = 0xabe, #else skilWarpPointType = 0x11c, #endif But it's not being used anywhere (or Visual Studio is fooling me). Quote
0 Functor Posted August 30, 2021 Posted August 30, 2021 (edited) 5 minutes ago, Neo-Mind said: But it's not being used anywhere (or Visual Studio is fooling me). Correct. Developers of rAthena haven't used it yet. Need to modify the code of the function "clif_skill_warppoint". Edited August 30, 2021 by Functor Quote
0 Shakto Posted August 30, 2021 Posted August 30, 2021 I changed WFIFOHEAD(fd,packet_len(0x11c)); WFIFOW(fd,0) = 0x11c; WFIFOW(fd,2) = skill_id; memset(WFIFOP(fd,4), 0x00, 4*MAP_NAME_LENGTH_EXT); if (map1 == (unsigned short)-1) strcpy(WFIFOCP(fd,4), "Random"); else // normal map name if (map1 > 0) mapindex_getmapname_ext(mapindex_id2name(map1), WFIFOCP(fd,4)); if (map2 > 0) mapindex_getmapname_ext(mapindex_id2name(map2), WFIFOCP(fd,20)); if (map3 > 0) mapindex_getmapname_ext(mapindex_id2name(map3), WFIFOCP(fd,36)); if (map4 > 0) mapindex_getmapname_ext(mapindex_id2name(map4), WFIFOCP(fd,52)); WFIFOSET(fd,packet_len(0x11c)); by WFIFOHEAD(fd,packet_len(0xabe)); WFIFOW(fd,0) = 0xabe; WFIFOW(fd,2) = skill_id; memset(WFIFOP(fd,4), 0x00, 4*MAP_NAME_LENGTH_EXT); if (map1 == (unsigned short)-1) strcpy(WFIFOCP(fd,4), "Random"); else // normal map name if (map1 > 0) mapindex_getmapname_ext(mapindex_id2name(map1), WFIFOCP(fd,4)); if (map2 > 0) mapindex_getmapname_ext(mapindex_id2name(map2), WFIFOCP(fd,20)); if (map3 > 0) mapindex_getmapname_ext(mapindex_id2name(map3), WFIFOCP(fd,36)); if (map4 > 0) mapindex_getmapname_ext(mapindex_id2name(map4), WFIFOCP(fd,52)); if (map5 > 0) mapindex_getmapname_ext(mapindex_id2name(map5), WFIFOCP(fd,68)); if (map6 > 0) mapindex_getmapname_ext(mapindex_id2name(map6), WFIFOCP(fd,84)); if (map7 > 0) mapindex_getmapname_ext(mapindex_id2name(map7), WFIFOCP(fd,100)); if (map8 > 0) mapindex_getmapname_ext(mapindex_id2name(map8), WFIFOCP(fd,116)); if (map9 > 0) mapindex_getmapname_ext(mapindex_id2name(map9), WFIFOCP(fd,132)); if (map10 > 0) mapindex_getmapname_ext(mapindex_id2name(map10), WFIFOCP(fd,248)); WFIFOSET(fd,packet_len(0xabe)); but the warp skill doesn't react on the client, no menu open Quote
0 WhiteEagle Posted August 30, 2021 Posted August 30, 2021 Thanks for your time and work.Unfortunately, I am still only shown the 4 standard maps. I am using the version 2020-06-17aRagexe. Do I need to install anything apart from the mod? Quote
0 Functor Posted August 30, 2021 Posted August 30, 2021 1 hour ago, WhiteEagle said: Thanks for your time and work.Unfortunately, I am still only shown the 4 standard maps. I am using the version 2020-06-17aRagexe. Do I need to install anything apart from the mod? No. Have you recompiled the server? Quote
Question
Sora7
total noob here,
I've successfully increase the /memo points at mmo.h, but when using the skill warp, it still shows only 3 places, exclude the save point.
how do i increase the choices of selecting my memo points?
27 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.