diff --git a/common/string_util.cpp b/common/string_util.cpp index 4b53d32dc..fe392aedd 100644 --- a/common/string_util.cpp +++ b/common/string_util.cpp @@ -1205,11 +1205,6 @@ std::string ConvertMoneyToString(uint32 platinum, uint32 gold, uint32 silver, ui silver, copper ); - } else if (copper && !silver && !gold && !platinum) { // C - money_string = fmt::format( - "{} Copper", - copper - ); } else if (!copper && silver && gold && platinum) { // SGP money_string = fmt::format( "{} Platinum, {} Gold, and {} Silver", @@ -1223,11 +1218,6 @@ std::string ConvertMoneyToString(uint32 platinum, uint32 gold, uint32 silver, ui gold, silver ); - } else if (!copper && silver && !gold && !platinum) { // S - money_string = fmt::format( - "{} Silver", - silver - ); } else if (copper && !silver && gold && platinum) { // CGP money_string = fmt::format( "{} Platinum, {} Gold, and {} Copper", @@ -1247,11 +1237,26 @@ std::string ConvertMoneyToString(uint32 platinum, uint32 gold, uint32 silver, ui platinum, gold ); + } else if (!copper && !silver && !gold && platinum) { // P + money_string = fmt::format( + "{} Platinum", + platinum + ); } else if (!copper && !silver && gold && !platinum) { // G money_string = fmt::format( "{} Gold", gold ); + } else if (!copper && silver && !gold && !platinum) { // S + money_string = fmt::format( + "{} Silver", + silver + ); + } else if (copper && !silver && !gold && !platinum) { // C + money_string = fmt::format( + "{} Copper", + copper + ); } return money_string; } \ No newline at end of file diff --git a/zone/gm_commands/givemoney.cpp b/zone/gm_commands/givemoney.cpp index 4c3076f9e..3e3727292 100755 --- a/zone/gm_commands/givemoney.cpp +++ b/zone/gm_commands/givemoney.cpp @@ -14,10 +14,10 @@ void command_givemoney(Client *c, const Seperator *sep) target = c->GetTarget()->CastToClient(); } - uint32 platinum = std::stoi(sep->arg[1]); - uint32 gold = std::stoi(sep->arg[2]); - uint32 silver = std::stoi(sep->arg[3]); - uint32 copper = std::stoi(sep->arg[4]); + uint32 platinum = std::stoul(sep->arg[1]); + uint32 gold = sep->IsNumber(2) ? std::stoul(sep->arg[2]) : 0; + uint32 silver = sep->IsNumber(3) ? std::stoul(sep->arg[3]) : 0; + uint32 copper = sep->IsNumber(4) ? std::stoul(sep->arg[4]) : 0; if (!platinum && !gold && !silver && !copper) { c->Message(Chat::Red, "Usage: #Usage: #givemoney [Platinum] [Gold] [Silver] [Copper]"); return;