(would be great if it can be done via bindatcommand)
I don't think you can make one using via bindatcommand unless there is a script command appropriate with it..
so here I make a simple HPM plugin for you..just browse the wiki on how to install it..enjoy..
// Copyright (c) Hercules Dev Team, licensed under GNU GPL.// See the LICENSE file// Sample Hercules Plugin#include <stdio.h>#include <stdlib.h>#include <string.h>#include "../common/HPMi.h"#include "../common/malloc.h"#include "../common/mmo.h"#include "../common/socket.h"#include "../common/strlib.h"#include "../map/clif.h"#include "../map/pc.h"#include "../map/script.h"#include "../common/HPMDataCheck.h" /* should always be the last file included! (if you don't make it last, it'll intentionally break compile time) *//* malufett@yourservice */HPExport struct hplugin_info pinfo = {"ATCMD_NO_ATK", // Plugin nameSERVER_TYPE_MAP,// Which server types this plugin works with?"0.1", // Plugin versionHPM_VERSION, // HPM Version (don't change, macro is automatically updated)};struct atk_state{int enabled;};ACMD(no_atk) {struct atk_state *data;if(!(data = getFromMSD(sd,0))){ CREATE(data,struct atk_state,1); data->enabled = 0; addToMSD(sd,data,0,true);}if(data->enabled){ data->enabled = 0; clif->message(sd->fd, "You can now attack normally.");}else{ data->enabled = 1; clif->message(sd->fd, "You are now disabled to attack.");}return true;}int hook_battle_check_target(int retVal, struct block_list *src, struct block_list *target,int *flag){struct map_session_data* sd;struct atk_state *data;struct block_list *s_bl = src;if( retVal != 1 || src->type != BL_PC ) return retVal;if( (s_bl = battle->get_master(src)) == NULL ) s_bl = src;sd = BL_CAST(BL_PC, s_bl);if(sd && *flag&BCT_ENEMY && (data = getFromMSD(sd,0)) && data->enabled) return 0;return retVal;}HPExport void plugin_init (void) {char *server_type;char *server_name; /* core vars */server_type = GET_SYMBOL("SERVER_TYPE");server_name = GET_SYMBOL("SERVER_NAME");/* core interfaces */battle = GET_SYMBOL("battle");clif = GET_SYMBOL("clif");iMalloc = GET_SYMBOL("iMalloc");/* addAtcommand */addAtcommand("noatk",no_atk); // @noatkaddAtcommand("na",no_atk); // @na/* postHook */addHookPost("battle->check_target",hook_battle_check_target);ShowStatus ("Running HPM Plugin: '"CL_WHITE"%s"CL_RESET"'.n", pinfo.name);}