Blazing Spear Posted September 19, 2012 Group: Members Topic Count: 58 Topics Per Day: 0.01 Content Count: 208 Reputation: 1 Joined: 01/06/12 Last Seen: July 2, 2016 Share Posted September 19, 2012 (edited) This is my atcommand.c /*========================================== * @rura, @warp, @mapmove *------------------------------------------*/ ACMD_FUNC(mapmove) { char map_name[MAP_NAME_LENGTH_EXT]; unsigned short mapindex; short x = 0, y = 0; int m = -1; nullpo_retr(-1, sd); memset(map_name, '\0', sizeof(map_name)); if (!message || !*message || (sscanf(message, "%15s %hd %hd", map_name, &x, &y) < 3 && sscanf(message, "%15[^,],%hd,%hd", map_name, &x, &y) < 1)) { clif_displaymessage(fd, "Please, enter a map (usage: @warp/@rura/@mapmove <mapname> <x> <y>)."); return -1; } if( battle_config.pvpmode_nowarp_cmd && sd->state.pvpmode ) { clif_displaymessage(sd->fd,"You can not use @go while on PVP Mode."); return -1; } mapindex = mapindex_name2id(map_name); if (mapindex) m = map_mapindex2mapid(mapindex); if (!mapindex) { // m < 0 means on different server! [Kevin] clif_displaymessage(fd, msg_txt(1)); // Map not found. return -1; } if ((x || y) && map_getcell(m, x, y, CELL_CHKNOPASS)) { //This is to prevent the pc_setpos call from printing an error. clif_displaymessage(fd, msg_txt(2)); if (!map_search_freecell(NULL, m, &x, &y, 10, 10, 1)) x = y = 0; //Invalid cell, use random spot. } if (map[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif_displaymessage(fd, msg_txt(247)); return -1; } if (sd->bl.m >= 0 && map[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif_displaymessage(fd, msg_txt(248)); return -1; } if( !pc_get_group_level(sd) && DIFF_TICK(gettick(),sd->canlog_tick) < 5000 ) { clif_displaymessage(fd,"@warp cannot be issued since you were into battle recently"); return -1; } if (pc_setpos(sd, mapindex, x, y, CLR_TELEPORT) != 0) { clif_displaymessage(fd, msg_txt(1)); // Map not found. return -1; } if( pc_isdead(sd) ) { clif_displaymessage(fd, "You cannot use this command when dead."); return -1; } clif_displaymessage(fd, msg_txt(0)); // Warped. return 0; } Edited September 19, 2012 by Emistry Please use [CODEBOX] or Attachments for long contents. Quote Link to comment Share on other sites More sharing options...
-1 Blazing Spear Posted September 19, 2012 Group: Members Topic Count: 58 Topics Per Day: 0.01 Content Count: 208 Reputation: 1 Joined: 01/06/12 Last Seen: July 2, 2016 Author Share Posted September 19, 2012 thanks Quote Link to comment Share on other sites More sharing options...
Emistry Posted September 19, 2012 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10018 Reputation: 2369 Joined: 10/28/11 Last Seen: Sunday at 05:32 PM Share Posted September 19, 2012 below nullpo_retr(-1, sd); add if( pc_isdead(sd) ) { clif_displaymessage(fd, msg_txt(664)); return -1; } or group permission add this disable_commands_when_dead : true Ability to disable @command usage when dead. Quote Link to comment Share on other sites More sharing options...
Question
Blazing Spear
This is my atcommand.c
Edited by EmistryPlease use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites
2 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.