关灯
开启左侧

WOW私服模拟器商业技能检查代码(防外挂)

  [复制链接]
admin实名认证 发表于 2016-4-19 22:52:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
比较老的M端代码了。。参考使用(貌似没什么太大的用处了,。参考参考)


58c63c4b66b9dfe69306a3399b68f09aa951d90f
src/game/Player.cpp              |   33 +++++++++++++++++++++++++++++++++
src/game/World.cpp               |    1 +
src/game/World.h                 |    1 +
src/mangosd/mangosd.conf.dist.in |    1 +
4 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 8d4e3ff..29c95b7 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -15840,6 +15840,39 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )

     _LoadEquipmentSets(holder->GetResult(PLAYER_LOGIN_QUERY_LOADEQUIPMENTSETS));

+    // Check professions
+    if(sWorld.getConfig(CONFIG_CHECK_PROF_AT_LOGIN) && GetSession()->GetSecurity() < SEC_GAMEMASTER)
+    {
+        uint32 prof_count = 0;
+        std::vector<uint32> prof_skills;
+        prof_skills.push_back(164);     // Blacksmithing
+        prof_skills.push_back(165);     // Leatherworking
+        prof_skills.push_back(171);     // Alchemy
+        prof_skills.push_back(182);     // Herbalism
+        prof_skills.push_back(186);     // Mining
+        prof_skills.push_back(197);     // Tailoring
+        prof_skills.push_back(202);     // Engineering
+        prof_skills.push_back(333);     // Enchanting
+        prof_skills.push_back(393);     // Skinning
+        prof_skills.push_back(755);     // Jewelcrafting
+        prof_skills.push_back(773);     // Inscription
+
+        for(std::vector<uint32>::iterator itr = prof_skills.begin(); itr != prof_skills.end(); ++itr)
+        {
+            uint32 skill_id = *itr;
+            if(HasSkill(skill_id))
+            {
+                ++prof_count;
+                if(prof_count > 2)
+                {
+                    SetSkill(skill_id,0 , 0, 0);
+                    sLog.outError("Player %s has more than two professions. Skill %u removed",GetName(),skill_id);
+                    sWorld.BanAccount(BAN_CHARACTER, GetName(), "7d" , "Not bad more proff? xD", "Server-anticheat");
+                }
+            }   
+        }
+    }
+
     return true;
}

diff --git a/src/game/World.cpp b/src/game/World.cpp
index 68ae46f..7aa0fc9 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -638,6 +638,7 @@ void World::LoadConfigSettings(bool reload)

     setConfig(CONFIG_BOOL_SKILL_PROSPECTING, "SkillChance.Prospecting", false);
     setConfig(CONFIG_BOOL_SKILL_MILLING,     "SkillChance.Milling",     false);
+    setConfig(CONFIG_CHECK_PROF_AT_LOGIN,    "CheckProfAtLogin",        false);

     setConfigPos(CONFIG_UINT32_SKILL_GAIN_CRAFTING,  "SkillGain.Crafting",  1);
     setConfigPos(CONFIG_UINT32_SKILL_GAIN_DEFENSE,   "SkillGain.Defense",   1);
diff --git a/src/game/World.h b/src/game/World.h
index a472f88..c888ce6 100644
--- a/src/game/World.h
+++ b/src/game/World.h
@@ -314,6 +314,7 @@ enum eConfigBoolValues
     CONFIG_BOOL_ARENA_AUTO_DISTRIBUTE_POINTS,
     CONFIG_BOOL_ARENA_QUEUE_ANNOUNCER_JOIN,
     CONFIG_BOOL_ARENA_QUEUE_ANNOUNCER_EXIT,
+    CONFIG_CHECK_PROF_AT_LOGIN,
     CONFIG_BOOL_KICK_PLAYER_ON_BAD_PACKET,
     CONFIG_BOOL_STATS_SAVE_ONLY_ON_LOGOUT,
     CONFIG_BOOL_CLEAN_CHARACTER_DB,
diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in
index 24ebb10..09ea4cd 100644
--- a/src/mangosd/mangosd.conf.dist.in
+++ b/src/mangosd/mangosd.conf.dist.in
@@ -210,6 +210,7 @@ UpdateUptimeInterval = 10
MaxCoreStuckTime = 0
AddonChannel = 1
CleanCharacterDB = 1
+CheckProfAtLogin = 1

###################################################################################################################
# SERVER LOGGING

标签:模拟器技能
 

精彩评论2

倒序浏览
qq770397211 发表于 2020-8-27 02:00:46 | 显示全部楼层
 
感谢楼主分享,吾爱尚玩,可以免费下载网单!
 
你懂的 发表于 2016-11-3 07:38:35 | 显示全部楼层
 
找了好久终于找到了!吾爱尚玩免费服务端下载!
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地