Petey Pablo Posted October 23, 2012 Posted October 23, 2012 How to disable @sleep command on pvp and gvg maps? See my source code below int atcommand_sleep(const int fd, struct map_session_data* sd, const char* command, const char* message) { if(!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > 10) { if(sd->sc.opt1 != 0 && sd->sc.opt1 != OPT1_SLEEP){ clif_displaymessage(fd, msg_txt(707)); //Please refrain from trying to abuse this command. return -1; } if(sd->sc.opt1 != OPT1_SLEEP){ sc_start(&sd->bl, SC_TRICKDEAD, 100, 1, 1000); //Duration does not matters as Trick Dead is "eternal" sd->sc.opt1 = OPT1_SLEEP; sc_start(&sd->bl,SC_COMA,100,1,skill_get_time2(185,1)); clif_displaymessage(fd, msg_txt(705)); //You are now asleep. } else { sd->sc.opt1 = 0; clif_emotion(&sd->bl,45); status_change_end(&sd->bl, SC_TRICKDEAD, -1); sc_start(&sd->bl,SC_COMA,100,1,skill_get_time2(185,1)); clif_displaymessage(fd, msg_txt(706)); //You are now awake. } clif_changeoption(&sd->bl); return 0; } clif_displaymessage(fd, msg_txt(707)); //Please refrain from trying to abuse this command. return -1; } Quote
QQfoolsorellina Posted October 23, 2012 Posted October 23, 2012 if(map_flag_gvg(sd->bl.m) || map_flag_vs(sd->bl.m)){ clif_displaymessage(fd, "you can't...."); return -1; } Quote
Petey Pablo Posted October 23, 2012 Author Posted October 23, 2012 if(map_flag_gvg(sd->bl.m) || map_flag_vs(sd->bl.m)){ clif_displaymessage(fd, "you can't...."); return -1; } Nothing happens. Not working Quote
Bin4ry Posted October 23, 2012 Posted October 23, 2012 Show us how you added the check mapflag snippet by QQ. Quote
Petey Pablo Posted October 23, 2012 Author Posted October 23, 2012 (edited) here int atcommand_sleep(const int fd, struct map_session_data* sd, const char* command, const char* message) { if(map_flag_gvg(sd->bl.m) || map_flag_vs(sd->bl.m)){ clif_displaymessage(fd, "you can't...."); return -1; } if(!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > 10) { if(sd->sc.opt1 != 0 && sd->sc.opt1 != OPT1_SLEEP){ clif_displaymessage(fd, msg_txt(707)); //Please refrain from trying to abuse this command. return -1; } if(sd->sc.opt1 != OPT1_SLEEP){ sc_start(&sd->bl, SC_TRICKDEAD, 100, 1, 1000); //Duration does not matters as Trick Dead is "eternal" sd->sc.opt1 = OPT1_SLEEP; sc_start(&sd->bl,SC_COMA,100,1,skill_get_time2(185,1)); clif_displaymessage(fd, msg_txt(705)); //You are now asleep. } else { sd->sc.opt1 = 0; clif_emotion(&sd->bl,45); status_change_end(&sd->bl, SC_TRICKDEAD, -1); sc_start(&sd->bl,SC_COMA,100,1,skill_get_time2(185,1)); clif_displaymessage(fd, msg_txt(706)); //You are now awake. } clif_changeoption(&sd->bl); return 0; } clif_displaymessage(fd, msg_txt(707)); //Please refrain from trying to abuse this command. return -1; } Edited October 23, 2012 by WillSuranol Quote
AnnieRuru Posted October 23, 2012 Posted October 23, 2012 can I ask something 1st ? isn't that currently atcommand should be looking like this ? ACMD_FUNC(<command name>) { struct map_session_data* pl_sd; nullpo_retr(-1, sd); ..... clif_displaymessage(fd, blahblah); return 0; } ..... ACMD_DEF(<command name>), how comes yours still using something like 3~4 years old eathena source Quote
nanakiwurtz Posted October 23, 2012 Posted October 23, 2012 how comes yours still using something like 3~4 years old eathena source He is using eAthena. http://rathena.org/board/ xD Quote
Aleos Posted October 23, 2012 Posted October 23, 2012 @AnnieRuru It's just a define, nothing more. #define ACMD_FUNC(x) int atcommand_ ## x (const int fd, struct map_session_data* sd, const char* command, const char* message) @WillSuranol Make sure you recompile your source. There's nothing wrong with using eAthena. :| I use eAthena with bits of merged things from rAthena. I'm just not satisfied with the stability of rAthena yet so I have all my stuff in eAthena since I have renewal working just fine. Quote
nanakiwurtz Posted October 23, 2012 Posted October 23, 2012 Yes, I agree with you Aleos, there's nothing wrong with it The forum is rA specific, and if the poster doesn't give any information about what is she/he using, then it'll be confusing... Quote
Petey Pablo Posted October 24, 2012 Author Posted October 24, 2012 Topic closed. Thank you guys! Quote
Question
Petey Pablo
How to disable @sleep command on pvp and gvg maps? See my source code below
11 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.