官方微信 手机客户端

五星游戏私服网 - 专注于游戏推广!

搜索
A4 A3 a2 1 A1
1 1 1 1 1
1 1 1 1 1
1 1 1
1 1 1 1 1

最新军衔系统c++源代码(1)

2019-8-17 13:36| 发布者:admin| 查看:4489| 评论:11|来自:5xwar

摘要://自定义 -- 军衔void Player::ModjunxianPrice(){ uint32 Honorpoints = GetCurrency(CURRENCY_TYPE_HONOR_POINTS); uint32 Conquestpoints = GetCurrency(CURRENCY_TYPE_CONQUEST_POINTS); uint8 currlevel = m ...

  1. //自定义 -- 军衔
  2. void Player::ModjunxianPrice()
  3. {
  4.         uint32 Honorpoints = GetCurrency(CURRENCY_TYPE_HONOR_POINTS);
  5.         uint32 Conquestpoints = GetCurrency(CURRENCY_TYPE_CONQUEST_POINTS);
  6.         uint8 currlevel = m_junxian_level;
  7.         currlevel++;
  8.         if (currlevel >= 1 && currlevel <= (uint8)sConfig->GetIntDefault("Max.JunXian.Level", 0))
  9.         {
  10.                 Junxian& pPlayerPReqitem1Data = eJunxian[currlevel];
  11.                 Junxian& pPlayerPReqitem2Data = eJunxian[currlevel];
  12.                 Junxian& pPlayerPReqitem3Data = eJunxian[currlevel];
  13.                 Junxian& pPlayerPReqitem4Data = eJunxian[currlevel];
  14.                 Junxian& pPlayerPReqCount1Data = eJunxian[currlevel];
  15.                 Junxian& pPlayerPReqCount2Data = eJunxian[currlevel];
  16.                 Junxian& pPlayerPReqCount3Data = eJunxian[currlevel];
  17.                 Junxian& pPlayerPReqCount4Data = eJunxian[currlevel];
  18.                 Junxian& pPlayerPReqJFData = eJunxian[currlevel];
  19.                 Junxian& pPlayerPReqMBData = eJunxian[currlevel];
  20.                 Junxian& pPlayerPReqVIPData = eJunxian[currlevel];
  21.                 uint32 PReqitem1 = pPlayerPReqitem1Data.Reqitem1;
  22.                 uint32 PReqCount1 = pPlayerPReqCount1Data.ReqCount1;
  23.                 uint32 Junitem1count = GetItemCount(PReqitem1);
  24.                 uint32 PReqitem2 = pPlayerPReqitem2Data.Reqitem2;
  25.                 uint32 PReqCount2 = pPlayerPReqCount2Data.ReqCount2;
  26.                 uint32 Junitem2count = GetItemCount(PReqitem2);
  27.                 uint32 PReqitem3 = pPlayerPReqitem3Data.Reqitem3;
  28.                 uint32 PReqCount3 = pPlayerPReqCount3Data.ReqCount3;
  29.                 uint32 Junitem3count = GetItemCount(PReqitem3);
  30.                 uint32 PReqitem4 = pPlayerPReqitem4Data.Reqitem4;
  31.                 uint32 PReqCount4 = pPlayerPReqCount4Data.ReqCount4;
  32.                 uint32 Junitem4count = GetItemCount(PReqitem4);
  33.                 uint32 PJF = pPlayerPReqJFData.ReqJF;
  34.                 uint32 PMB = pPlayerPReqMBData.ReqMB;
  35.                 uint32 PVIP = pPlayerPReqVIPData.ReqVIP;
  36.                 uint32 JunJF = GetJf();
  37.                 uint32 JunMB = GetMB();
  38.                 uint32 JunVIP = GetVIP();
  39.                 Junxian& pPlayerPhonorData = eJunxian[currlevel];
  40.                 Junxian& pPlayerPconquestData = eJunxian[currlevel];
  41.                 if (Honorpoints >= pPlayerPhonorData.honor *100 && Conquestpoints >= pPlayerPconquestData.conquest * 100 && Junitem1count >= PReqCount1 && Junitem2count >= PReqCount2 && Junitem3count >= PReqCount3 && Junitem4count >= PReqCount4 && JunJF >= PJF && JunMB >= PMB && JunVIP >= PVIP)
  42.                 {
  43.                         SetCurrency(CURRENCY_TYPE_HONOR_POINTS, Honorpoints - pPlayerPhonorData.honor * 100);
  44.                         SetCurrency(CURRENCY_TYPE_CONQUEST_POINTS, Conquestpoints - pPlayerPconquestData.conquest * 100);
  45.                         DestroyItemCount(PReqitem1,PReqCount1,true);
  46.                         DestroyItemCount(PReqitem2,PReqCount2,true);
  47.                         DestroyItemCount(PReqitem3,PReqCount3,true);
  48.                         DestroyItemCount(PReqitem4,PReqCount4,true);
  49.                         uint32 sjf = JunJF - PJF;
  50.                         SetJf(sjf);
  51.                         uint32 smb = JunMB - PMB;
  52.                         SetMB(smb);
  53.                         m_junxian_level = currlevel;
  54.                         ModifyProperty(currlevel,false);
  55.                 }

  56.                 uint32 level = m_junxian_level;
  57.                 Junxian& data= eJunxian[level+1];
  58.                 if (Honorpoints < pPlayerPhonorData.honor)
  59.                         ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d点荣誉"),level,data.level,data.honor);
  60.                 if (Conquestpoints < pPlayerPhonorData.conquest)
  61.                         ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d点征服点"),level,data.level,data.conquest);
  62.                 if (Junitem1count < pPlayerPhonorData.ReqCount1 && PReqitem1 != 0)
  63.                 {
  64.                         if (ObjectMgr::GetItemPrototype(PReqitem1))
  65.                         {
  66.                                 ItemPrototype const *pProto1 = ObjectMgr::GetItemPrototype(PReqitem1);
  67.                                 std::string itemname1;
  68.                                 itemname1 = pProto1->Name1;
  69.                                 ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d个%s"),level,data.level,data.ReqCount1,itemname1.c_str());
  70.                         }else ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000提升军衔需要未知物品请联系管 理 员"));
  71.                 }
  72.                 if (Junitem2count < pPlayerPhonorData.ReqCount2 && PReqitem2 != 0)
  73.                 {
  74.                         if (ObjectMgr::GetItemPrototype(PReqitem2))
  75.                         {
  76.                                 ItemPrototype const *pProto2 = ObjectMgr::GetItemPrototype(PReqitem2);
  77.                                 std::string itemname2;
  78.                                 itemname2 = pProto2->Name1;
  79.                                 ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d个"),level,data.level,data.ReqCount2,itemname2.c_str());
  80.                         }else ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000提升军衔需要未知物品请联系管 理 员"));
  81.                 }
  82.                 if (Junitem3count < pPlayerPhonorData.ReqCount3 && PReqitem3 != 0)
  83.                 {
  84.                         if  (ObjectMgr::GetItemPrototype(PReqitem3))
  85.                         {
  86.                                 ItemPrototype const *pProto3 = ObjectMgr::GetItemPrototype(PReqitem3);
  87.                                 std::string itemname3;
  88.                                 itemname3 = pProto3->Name1;
  89.                                 ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d个"),level,data.level,data.ReqCount3,itemname3.c_str());
  90.                         }else ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000提升军衔需要未知物品请联系管 理 员"));
  91.                 }
  92.                 if (Junitem4count < pPlayerPhonorData.ReqCount4  && PReqitem4 != 0)
  93.                 {
  94.                         if (ObjectMgr::GetItemPrototype(PReqitem4))
  95.                         {
  96.                                 ItemPrototype const *pProto4 = ObjectMgr::GetItemPrototype(PReqitem4);
  97.                                 std::string itemname4;
  98.                                 itemname4 = pProto4->Name1;
  99.                                 ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d个"),level,data.level,data.ReqCount4,itemname4.c_str());
  100.                         }else ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000提升军衔需要未知物品请联系管 理 员"));
  101.                 }
  102.                 if (JunJF < PJF)
  103.                         ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d积分"),level,data.level,data.ReqJF);
  104.                 if (JunMB < PMB)
  105.                         ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要有%d魔币"),level,data.level,data.ReqMB);
  106.                 if (JunVIP < PVIP)
  107.                         ChatHandler(this).PSendSysMessage(_StringToUTF8("|CFFFF0000您当前军衔等级%d,要升级到%d级军衔你必需至少要是级%d会员"),level,data.level,data.ReqVIP);
  108.         }
  109. }//
复制代码


鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

引用 2068300 2019-9-4 00:20
小手一抖,钱钱到手!
引用 alen123 2019-8-31 01:13
路过,路过,打酱油!
引用 1009272716 2019-8-28 04:10
SSSSSSSSSSSS
引用 伊利丹 2019-8-27 03:42
这是什么东东啊
引用 lol222222 2019-8-26 04:24
路过,路过,打酱油!
引用 1044129078 2019-8-25 00:52
~~~~~~ 先顶,好同志
引用 1009272716 2019-8-25 00:06
顶一下
引用 aiwan7 2019-8-23 03:48
:D:D:D:D小手一抖,积分到手!「五星游戏网有你更精彩!5XWAR.COM」
引用 nonsmoker 2019-8-23 03:47
我是个凑数的。。。
引用 yeyoushen007 2019-8-19 02:42
看帖回帖是美德!:lol
引用 灵魂的杀戮者 2019-8-18 00:59
不错不错,。。。

查看全部评论(11)

联系客服 关注微信 下载APP 返回顶部