-
Posts
352 -
Joined
-
Last visited
-
Days Won
26
Community Answers
-
Functor's post in Usable Items bug After Relog was marked as the answer
Hello!
Open ../src/char_sql/char.c and in the function "mmo_char_fromsql" before:
memset(p, 0, sizeof(struct mmo_charstatus)); add:
memset(&tmp_item, 0, sizeof(tmp_item)); Save it and re-compile the server.
-
Functor's post in setup.exe won't close was marked as the answer
Hello! Don't apply NEMO's patch "HKLM to HKCU".
-
Functor's post in increasing the '/memo', warp skill was marked as the answer
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
-
Functor's post in Time to delete character, bugged was marked as the answer
https://rathena.org/board/topic/117636-client-deletion-details/
-
Functor's post in cancel button instead of X button was marked as the answer
You need to apply "Cancel to Login Window" patch by using NEMO patcher.
https://gitlab.com/4144/Nemo/-/archive/master/Nemo-master.zip
After applying the patch, the "X button" will bring you back to the login screen.
But If you need to have "Cancel" button instead of "X button" - you need to use older EXE version.
-
Functor's post in get Offset client was marked as the answer
For 2018-05-30bRagexeRE.
CModeMgr g_modeMgr: 0xE31718
CModeMgr::GetGameMode: 0x05FD430
CRagConnection::instanceR: 0x85DED0
CRagConnection::GetPacketSize: 0x85D490
CRagConnection::SendPacket: 0x85DC30
UIWindowMgr g_windowMgr: 0xE68CE8
UIWindowMgr::DeleteWindow: 0x5C2670
-
Functor's post in Gepard Shield Support was marked as the answer
Hello! Gepard Shield supports "dgvoodoo2". Compatible version of "dgvoodoo2" depends on the version of "gepard.dll". License owner should talk to me.
-
Functor's post in BGM no sound all map was marked as the answer
+ You should check the presence of the file "Mp3dec.asi" in the game folder.
-
Functor's post in Anyone know what causing this gepard notification? was marked as the answer
@redfield It means that you use custom sprite for the mob with ID 1084.
-
Functor's post in Error when proxy installed was marked as the answer
@Ruhn
I checked your EXE. You forgot to apply patches:
- Disable Game Guard (Recommended)
- Disable Ragexe Filename Check (Recommended)
-
Functor's post in Having a problem with my script was marked as the answer
https://rathena.org/board/topic/119467-pvp-ladder-error-and-debug/
-
Functor's post in Old Setup.exe was marked as the answer
https://mega.nz/#!5ItiHIKS!Uik_k-Y1scRKZKEokYtCjD23m7MRtlJrt3fi00MDaj8
-
Functor's post in PF_DOUBLECASTING Crash pre-re was marked as the answer
https://github.com/rathena/rathena/commit/b143241222470419e26f47ba919226ca8c19b007
-
Functor's post in Client 2015 11 04 Help was marked as the answer
@Jacktuloco Open "dinput.ini" and change from:
to:
-
Functor's post in Disable/remove Equipment Swap button was marked as the answer
@apuadofrancisco You need to apply it by using any hex editor after patching EXE by NEMO.
offset 21DD42 change 93 to FF
-
Functor's post in Hexing to reposition the item icon in Quest Window was marked as the answer
@Yuna You need to apply it after patching EXE by NEMO.
offset 143733 change 68 B0 00 00 00 to E9 EB 03 00 00
offset 143779 change 6D to 15
offset 143827 change 74 to 1C
offset 1438BC change 68 9A 00 00 00 to 6A 42 90 90 90
offset 143975 change 14 50 68 9A 00 00 00 to 2A 50 6A 42 90 90 90
offset 143B23 change CC CC CC CC CC CC CC CC CC CC CC CC CC to 68 B0 00 00 00 83 C7 16 E9 08 FC FF FF
-
Functor's post in Disable NPC chat from displaying in the chat window was marked as the answer
../doc/script_commands.txt
-
Functor's post in Body Relocation | Ankle Snare and Spider Web was marked as the answer
Hello! You have already asked about "Body Relocation + Spider Web" and got the solution:
https://rathena.org/board/topic/118958-block-body-relocation-while-spider-web/
But it is without checking the status of "Ankle Snare".
The final solution:
Open ../src/map/skill.cpp and in the function skill_castend_pos2 after:
case MO_BODYRELOCATION: if (unit_movepos(src, x, y, 2, 1)) { add:
if(sc && (sc->data[SC_SPIDERWEB] || sc->data[SC_ANKLE])) break;
-
Functor's post in Removing player animations from skills but keeping visual animation was marked as the answer
Open ../src/map/clif.cpp and in the function clif_skill_nodamage after:
nullpo_ret(dst); add:
if (skill_id == PR_MAGNIFICAT) { clif_specialeffect(dst, EF_MAGNIFICAT, AREA); return fail; }
-
Functor's post in How to remove weird characters in the 2018 Client Quest Window? was marked as the answer
Hello!
https://rathena.org/board/topic/119776-solved-journal-quest-altu/
-
Functor's post in Revert 'skip service select' diff/hex? was marked as the answer
https://mega.nz/#!xJ8gxCZT!ov6I7JPMpG10sbwoJZqVoXMWRFJgg7qnSNuatXC3i-Q
-
Functor's post in spawn monster facing direction 1-8 was marked as the answer
@Naruto
https://mega.nz/#!URsFTSKD!CcDh8dxLjy6nsHXKxgHCIAEEAXoR9Q_b38HZQ1bpswg
monster "payon",159,215,"Fur Seal",1317,1,"Example::L1",Size_Small,AI_NONE,DIR_WEST; monster "payon",159,213,"Fur Seal",1317,1,"Example::L2",Size_Small,AI_NONE,DIR_WEST; monster "payon",152,215,"Fur Seal",1317,1,"Example::L3",Size_Small,AI_NONE,DIR_SOUTH; monster "payon",152,213,"Fur Seal",1317,1,"Example::L4",Size_Small,AI_NONE,DIR_SOUTH;
-
Functor's post in disable respawn in pvp was marked as the answer
Hello! You can:
- or activate mapflag "pvp_nocalcrank" for the specific map
- or open ../src/map/pc.cpp and in the function "pc_dead" remove these lines of code:
if( sd->pvp_point < 0 ) { sd->respawn_tid = add_timer(tick+1000, pc_respawn_timer,sd->bl.id,0); return 1|8; }
-
Functor's post in Problem resolution Hexed 2018-06-20 was marked as the answer
The update of the char selection window was made ~ in February 2018.
You can use 2017-06-14bRagexeRE. It is popular EXE version.
https://mega.nz/#!0ENVzaZR!MWM4942w7t-TXaaKNyp5wJzrkSto0P8pIlvSMVvwOG0
It is 2017-06-14bRagexeRE without patches. You need to apply patches by NEMO patcher.