diff --git a/zone/command.cpp b/zone/command.cpp index aa9deb03c..80d6a737a 100755 --- a/zone/command.cpp +++ b/zone/command.cpp @@ -253,8 +253,8 @@ int command_init(void) command_add("npceditmass", "[name-search] [column] [value] - Mass (Zone wide) NPC data editing command", AccountStatus::GMAdmin, command_npceditmass) || command_add("npcemote", "[message] - Make your NPC target emote a message.", AccountStatus::GMLeadAdmin, command_npcemote) || command_add("npcloot", "- Manipulate the loot an NPC is carrying. Use #npcloot help for more information.", AccountStatus::QuestTroupe, command_npcloot) || - command_add("npcsay", "[message] - Make your NPC target say a message.", AccountStatus::GMLeadAdmin, command_npcsay) || - command_add("npcshout", "[message] - Make your NPC target shout a message.", AccountStatus::GMLeadAdmin, command_npcshout) || + command_add("npcsay", "[Message] - Make your NPC target say a message.", AccountStatus::GMLeadAdmin, command_npcsay) || + command_add("npcshout", "[Message] - Make your NPC target shout a message.", AccountStatus::GMLeadAdmin, command_npcshout) || command_add("npcspawn", "[create/add/update/remove/delete] - Manipulate spawn DB", AccountStatus::GMAreas, command_npcspawn) || command_add("npcspecialattk", "[flagchar] [perm] - Set NPC special attack flags. Flags are E(nrage) F(lurry) R(ampage) S(ummon).", AccountStatus::QuestTroupe, command_npcspecialattk) || command_add("npcstats", "- Show stats about target NPC", AccountStatus::QuestTroupe, command_npcstats) || diff --git a/zone/gm_commands/npcsay.cpp b/zone/gm_commands/npcsay.cpp index 96d79232f..ff13bd3d7 100755 --- a/zone/gm_commands/npcsay.cpp +++ b/zone/gm_commands/npcsay.cpp @@ -2,11 +2,18 @@ void command_npcsay(Client *c, const Seperator *sep) { - if (c->GetTarget() && c->GetTarget()->IsNPC() && sep->arg[1][0]) { - c->GetTarget()->Say(sep->argplus[1]); + if (!c->GetTarget() || !c->GetTarget()->IsNPC()) { + c->Message(Chat::White, "You must target an NPC to use this command."); + return; } - else { - c->Message(Chat::White, "Usage: #npcsay message (requires NPC target"); + + int arguments = sep->argnum; + if (!arguments) { + c->Message(Chat::White, "Usage: #npcsay [Message]"); + return; } + + std::string message = sep->argplus[1]; + c->GetTarget()->Say(message.c_str()); } diff --git a/zone/gm_commands/npcshout.cpp b/zone/gm_commands/npcshout.cpp index f04d74a9f..baadc3d07 100755 --- a/zone/gm_commands/npcshout.cpp +++ b/zone/gm_commands/npcshout.cpp @@ -2,11 +2,18 @@ void command_npcshout(Client *c, const Seperator *sep) { - if (c->GetTarget() && c->GetTarget()->IsNPC() && sep->arg[1][0]) { - c->GetTarget()->Shout(sep->argplus[1]); + if (!c->GetTarget() || !c->GetTarget()->IsNPC()) { + c->Message(Chat::White, "You must target an NPC to use this command."); + return; } - else { - c->Message(Chat::White, "Usage: #npcshout message (requires NPC target"); + + int arguments = sep->argnum; + if (!arguments) { + c->Message(Chat::White, "Usage: #npcshout [Message]"); + return; } + + std::string message = sep->argplus[1]; + c->GetTarget()->Shout(message.c_str()); }