当前位置:首页>>魔兽单机>>正文
法术消费系统升级+物品通用货币升级
2013-07-05 17:48:13 作者:网络 来源: 浏览次数:0
摘要:法术消费系统升级+物品通用货币升级
 Index: ObjectMgr.cpp
===================================================================
--- ObjectMgr.cpp (revision 532)
+++ ObjectMgr.cpp (working copy)
@@ -7255,7 +7255,7 @@
 void ObjectMgr::LoadSpellCostEntrys() //法术使用消耗物品系统
 {                                        
     m_Spell_Cost.clear();
-    QueryResult *result = WorldDatabase.Query("SELECT entry, cost_money, cost_integral, cost_itemid, cost_itemcount FROM spell_cost");
+    QueryResult *result = WorldDatabase.Query("SELECT entry, cost_money, cost_integral, cost_itemid, cost_itemcount, cost_gmlevel FROM spell_cost");
 
     uint32 total_count = 0;
 
@@ -7293,6 +7293,7 @@
             //continue;
         }
         temp.itemcount = fields[4].GetUInt32();
+        temp.gmlevel = fields[5].GetUInt32();
 
  m_Spell_Cost[entry] = temp; //把值放到内存
 
@@ -7308,7 +7309,7 @@
 void ObjectMgr::LoadBuyItemPriceEntrys() //购买物品消耗系统
 {                                        
     m_BuyItem_Price.clear();
-    QueryResult *result = WorldDatabase.Query("SELECT entry, BuyItem, BuyItemCount FROM item_price");
+    QueryResult *result = WorldDatabase.Query("SELECT entry, BuyItem, BuyItemCount, BuyItem_jf, BuyItem_gmlevel FROM item_price");
 
     uint32 total_count = 0;
 
@@ -7344,6 +7345,8 @@
             //continue;
         }
         temp.itemcount = fields[2].GetUInt32();
+        temp.itemjf = fields[3].GetUInt32();
+ temp.itemgmlevel = fields[4].GetUInt32();
 
  m_BuyItem_Price[entry] = temp; //把值放到内存
 
Index: ObjectMgr.h
===================================================================
--- ObjectMgr.h (revision 532)
+++ ObjectMgr.h (working copy)
@@ -101,6 +101,7 @@
  uint32 integral;
  uint32 itemid;
  uint32 itemcount;
+ uint32 gmlevel;
 };
 
 struct BuyItemPrice //购买物品消耗系统
@@ -109,6 +110,8 @@
     uint32 itemid;
  uint32 buyitem;
  uint32 itemcount;
+ uint32 itemjf;
+ uint32 itemgmlevel;
 };
 
 struct AttackPower //职业伤害治疗倍率系统
Index: Player.cpp
===================================================================
--- Player.cpp (revision 537)
+++ Player.cpp (working copy)
@@ -17746,18 +17746,17 @@
         }
     }
         //购买物品消耗系统
- uint32 mItemid;
- uint32 mBuyitemid;
- uint32 mItemcount;
  if (sConfig.GetIntDefault("BuyItem.Price.On.Off", 0) == 1)
  {
  //Player* pl;
  ObjectMgr::BuyItemPriceMap const& cBuyItemPrice = sObjectMgr.GetItemPrice();
  for (ObjectMgr::BuyItemPriceMap::const_iterator itr = cBuyItemPrice.begin(); itr != cBuyItemPrice.end(); ++itr)
         {
- mItemid = itr->second.itemid;
-    mBuyitemid = itr->second.buyitem;
-            mItemcount= itr->second.itemcount;
+ uint32 mItemid = itr->second.itemid;
+    uint32 mBuyitemid = itr->second.buyitem;
+            uint32 mItemcount= itr->second.itemcount;
+ uint32 mItemjf = itr->second.itemjf;
+ uint32 mItemgmlevel = itr->second.itemgmlevel;
 
  if (pProto->ItemId == mItemid && mItemid != 0)
  {
@@ -17767,6 +17766,18 @@
  GetSession()->SendAreaTriggerMessage(GetSession()->GetMangosString(15030),GetItemCharName(mBuyitemid),mItemcount);
                     return false;
  }
+ //判断积分是否足够
+ if (mItemjf > 0 && GetAccountJf(GetSession()->GetAccountId()) < mItemjf )
+ {
+ GetSession()->SendAreaTriggerMessage(GetSession()->GetMangosString(15033),mItemjf);
+                    return false;
+ }
+ //判断会员等级是否足够
+ if (mItemgmlevel > 0 && GetSession()->GetSecurity() < mItemgmlevel )
+ {
+ GetSession()->SendAreaTriggerMessage(GetSession()->GetMangosString(15034),mItemgmlevel);
+                    return false;
+ }
  else
  {
                    ItemPosCountVec dest;
@@ -18065,18 +18076,17 @@
         }
     }
         //购买物品消耗系统
- uint32 mItemid;
- uint32 mBuyitemid;
- uint32 mItemcount;
  if (sConfig.GetIntDefault("BuyItem.Price.On.Off", 0) == 1)
  {
  //Player* pl;
  ObjectMgr::BuyItemPriceMap const& cBuyItemPrice = sObjectMgr.GetItemPrice();
  for (ObjectMgr::BuyItemPriceMap::const_iterator itr = cBuyItemPrice.begin(); itr != cBuyItemPrice.end(); ++itr)
         {
- mItemid = itr->second.itemid;
-    mBuyitemid = itr->second.buyitem;
-            mItemcount= itr->second.itemcount;
+ uint32 mItemid = itr->second.itemid;
+    uint32 mBuyitemid = itr->second.buyitem;
+            uint32 mItemcount= itr->second.itemcount;
+ uint32 mItemjf = itr->second.itemjf;
+ uint32 mItemgmlevel = itr->second.itemgmlevel;
 
  if (pProto->ItemId == mItemid && mItemid != 0)
  {
@@ -18086,6 +18096,16 @@
  GetSession()->SendAreaTriggerMessage(GetSession()->GetMangosString(15030),GetItemCharName(mBuyitemid),mItemcount);
                     return false;
  }
+ if (mItemjf > 0 && GetAccountJf(GetSession()->GetAccountId()) < mItemjf )
+ {
+ GetSession()->SendAreaTriggerMessage(GetSession()->GetMangosString(15033),mItemjf);
+                    return false;
+ }
+ if (mItemgmlevel > 0 && GetSession()->GetSecurity() < mItemgmlevel )
+ {
+ GetSession()->SendAreaTriggerMessage(GetSession()->GetMangosString(15034),mItemgmlevel);
+                    return false;
+ }
  else
  {
                    ItemPosCountVec dest;
Index: Spell.cpp
===================================================================
--- Spell.cpp (revision 537)
+++ Spell.cpp (working copy)
@@ -2446,6 +2446,7 @@
                 uint32 mIntegral = itr->second.integral;
                 uint32 mItemid = itr->second.itemid;
                 uint32 mItemcount= itr->second.itemcount;
+ uint32 mGmlevel= itr->second.gmlevel;
 
     if (m_spellInfo->Id == mSpellid && mSpellid != 0)
     {
@@ -2485,6 +2486,14 @@
                         finish(false);
                         return;
     }
+ //判断会员
+ if (mGmlevel > 0 && ((Player*)m_caster)->GetSession()->GetSecurity() < mGmlevel )
+ {
+ ((Player*)m_caster)->GetSession()->SendAreaTriggerMessage(((Player*)m_caster)->GetSession()->GetMangosString(15032),mGmlevel);
+    SendCastResult(SPELL_FAILED_SPELL_UNAVAILABLE);
+                        finish(false);
+                        return;
+ }
     }
             }
     }


参考
 


相关报道:

[关闭] [返回顶部]


  返回首页 | 最新资讯 | 资源下载 | 魔兽图片 | 单机文档 | 技术攻略 | 玩家视频
备案号:蜀ICP备2024062380号-1
免责声明:本网站为热爱怀旧WOW的玩家们建立的魔兽世界资料网站,仅供交流和学习使用,非盈利和商用.如有侵权之处,请联系我们,我们会在24小时内确认删除侵权内容,谢谢合作。
Copyright © 2024 - 2024 WOWAII.COM Corporation, All Rights Reserved

机器人国度