diff options
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 65b2d20c9d2..bc8f7bad5fb 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1121,19 +1121,22 @@ public: if (itemNameStr && itemNameStr[0]) { std::string itemName = itemNameStr+1; - WorldDatabase.EscapeString(itemName); - - PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_ITEM_TEMPLATE_BY_NAME); - stmt->setString(0, itemName); - PreparedQueryResult result = WorldDatabase.Query(stmt); + auto itr = std::find_if(sItemSparseStore.begin(), sItemSparseStore.end(), [&itemName](ItemSparseEntry const* itemSparse) + { + for (uint32 i = 0; i < MAX_LOCALES; ++i) + if (itemName == itemSparse->Name->Str[i]) + return true; + return false; + }); - if (!result) + if (itr == sItemSparseStore.end()) { handler->PSendSysMessage(LANG_COMMAND_COULDNOTFIND, itemNameStr+1); handler->SetSentErrorMessage(true); return false; } - itemId = result->Fetch()->GetUInt32(); + + itemId = itr->ID; } else return false; |