yes you can, create script command and call it from any npc script.
this one based on clif_parse_cashshop_open_request
ACMD_FUNC(opencashshop) {
if (sd->state.cashshop_open) {
clif_displaymessage(fd, "Cash Shop has been opened");
retrun -1;
}
sd->state.cashshop_open = true;
sd->npc_shopid = -1; // Set npc_shopid when using cash shop from "cash shop" button [Aelys|Susu] bugreport:96
clif_cashshop_open( sd );
}
ACMD_DEF(opencashshop),