Guest
Public paste!

Untitled

By: a guest | Feb 9th, 2010 | Syntax: C++ | Size: 1.08 KB | Hits: 12 | Expires: Never
Copy text to clipboard
  1. bool ChatHandler::HandleGoldCostCommand(const char* args, WorldSession *m_session)
  2. {
  3.         char Query[512];
  4.         char entry[512];
  5.         uint32 ItemPrice;
  6.         uint32 gold, silver, copper;
  7.         if( sscanf(args, "%u %u", &entry, &gold))
  8.         {
  9.                 ItemPrice = (gold * 10000);
  10.         }
  11.         if( sscanf(args, "%u %u %u", &entry, &gold, &silver) == 3)
  12.         {
  13.                 ItemPrice = (gold * 10000) + (silver * 1000);
  14.         }
  15.         if( sscanf(args, "%u %u %u %u", &entry, &gold, &silver, &copper) == 4)
  16.         {
  17.                 ItemPrice = (gold * 10000) + (silver * 1000) + copper;
  18.         }
  19.        
  20.         string x = string(entry);
  21.         ASCENT_TOLOWER(x);
  22.  
  23.         StorageContainerIterator<ItemPrototype> * itr = ItemPrototypeStorage.MakeIterator();
  24.  
  25.         BlueSystemMessage(m_session, "Starting search of item `%s`...", x.c_str());
  26.         ItemPrototype * it;
  27.         while(!itr->AtEnd())
  28.         {
  29.                 it = itr->Get();
  30.                 if(FindXinYString(x, it->lowercase_name))
  31.                 {
  32.                         snprintf(Query, 512, "UPDATE items set goldcost %s where entry = %s", ItemPrice ,it->ItemId);
  33.                         WorldDatabase.Execute(Query);
  34.                         BlueSystemMessage(m_session, "Done!");
  35.                 }
  36.  
  37.                 if(!itr->Inc())
  38.                         break;
  39.         }
  40.         itr->Destruct();
  41.  
  42.         return true;
  43. }