Hello, I added the @afk command following the guidelines of this topic
When I type @afk, a loading bar appears as if it were a skill, but it takes too long to load. I would like to know how to do it to be instant, type @afk and be kicked from the server like @at
atcommand.cpp
/*==========================================
* @afk
*------------------------------------------*/
ACMD_FUNC(afk) {
nullpo_retr(-1, sd);
if(sd->bl.m == map_mapname2mapid("prontera")) {
clif_displaymessage(fd, "@afk is not allowed on this map.");
return 0;
}
if( pc_isdead(sd) ) {
clif_displaymessage(fd, "Cannot @afk if you are dead.");
return -1;
}
if( map[sd->bl.m].flag.autotrade == battle_config.autotrade_mapflag )
{
if(map[sd->bl.m].flag.pvp || map[sd->bl.m].flag.gvg){
clif_displaymessage(fd, "You may not use the @afk maps PVP or GVG.");
return -1;}
sd->state.autotrade = 1;
sd->state.monster_ignore = 1;
pc_setsit(sd);
skill_sit(sd,1);
clif_sitting(&sd->bl);
clif_changelook(&sd->bl,LOOK_HEAD_TOP,471);
clif_specialeffect(&sd->bl, 234,AREA);
if( battle_config.afk_timeout )
{
int timeout = atoi(message);
status_change_start(NULL, &sd->bl, SC_AUTOTRADE, 10000,0,0,0,0, ((timeout > 0) ? min(timeout,battle_config.afk_timeout) : battle_config.afk_timeout)*60000,0);
}
clif_authfail_fd(fd, 15);
} else
clif_displaymessage(fd, "@afk is not allowed on this map.");
return 0;
}
Question
guhx
Hello, I added the @afk command following the guidelines of this topic
When I type @afk, a loading bar appears as if it were a skill, but it takes too long to load. I would like to know how to do it to be instant, type @afk and be kicked from the server like @at
atcommand.cpp
/*========================================== * @afk *------------------------------------------*/ ACMD_FUNC(afk) { nullpo_retr(-1, sd); if(sd->bl.m == map_mapname2mapid("prontera")) { clif_displaymessage(fd, "@afk is not allowed on this map."); return 0; } if( pc_isdead(sd) ) { clif_displaymessage(fd, "Cannot @afk if you are dead."); return -1; } if( map[sd->bl.m].flag.autotrade == battle_config.autotrade_mapflag ) { if(map[sd->bl.m].flag.pvp || map[sd->bl.m].flag.gvg){ clif_displaymessage(fd, "You may not use the @afk maps PVP or GVG."); return -1;} sd->state.autotrade = 1; sd->state.monster_ignore = 1; pc_setsit(sd); skill_sit(sd,1); clif_sitting(&sd->bl); clif_changelook(&sd->bl,LOOK_HEAD_TOP,471); clif_specialeffect(&sd->bl, 234,AREA); if( battle_config.afk_timeout ) { int timeout = atoi(message); status_change_start(NULL, &sd->bl, SC_AUTOTRADE, 10000,0,0,0,0, ((timeout > 0) ? min(timeout,battle_config.afk_timeout) : battle_config.afk_timeout)*60000,0); } clif_authfail_fd(fd, 15); } else clif_displaymessage(fd, "@afk is not allowed on this map."); return 0; }
battle.cpp
{ "afk_timeout", &battle_config.afk_timeout, 0, 0, INT_MAX, },
battle.hpp
int afk_timeout;
Link to comment
Share on other sites
0 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.