T端整合的商业技能训练师C++脚本
这个是T端的,作用是商业技能训练了。。什么酿酒 锻造 皮革制作 工程(学 附魔 珠宝 铭文 烹饪 急救 这些商业技能让你在一个NPC就学完了。。下面是代码。。适用于Trinity Core 335怀旧魔兽版本哈// Fixed Error & Updated by : Dawnbringers #pragma once #include "ScriptPCH.h" #include "Language.h"class skill_npc : public CreatureScript{ public:skill_npc() : CreatureScript("skill_npc") {}struct skill_npcAI : public ScriptedAI{skill_npcAI(Creature *c) : ScriptedAI(c){}};CreatureAI* GetAI(Creature* _creature) const{return new skill_npcAI(_creature);}void CreatureWhisperBasedOnBool(const char *text, Creature *_creature, Player *pPlayer, bool value){if (value)_creature->MonsterWhisper(text, pPlayer->GetGUID());}uint32 PlayerMaxLevel() const{return sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL);}void MainMenu(Player *pPlayer, Creature* _creature) {pPlayer->ADD_GOSSIP_ITEM(9, "[Professions] ->", GOSSIP_SENDER_MAIN, 196);}bool PlayerHasItemOrSpell(const Player *plr, uint32 itemId, uint32 spellId) const{return plr->HasItemCount(itemId, 1, true) || plr->HasSpell(spellId);}bool OnGossipHello(Player* pPlayer, Creature* pCreature){MainMenu(pPlayer, pCreature);return true;}bool PlayerAlreadyHasTwoProfessions(const Player *pPlayer) const{uint32 skillCount = 0;if (pPlayer->HasSkill(SKILL_MINING))skillCount++;if (pPlayer->HasSkill(SKILL_SKINNING))skillCount++;if (pPlayer->HasSkill(SKILL_HERBALISM))skillCount++;if (skillCount >= 2)return true;for (uint32 i = 1; i < sSkillLineStore.GetNumRows(); ++i){SkillLineEntry const *SkillInfo = sSkillLineStore.LookupEntry(i);if (!SkillInfo)continue;if (SkillInfo->categoryId == SKILL_CATEGORY_SECONDARY)continue;if ((SkillInfo->categoryId != SKILL_CATEGORY_PROFESSION) || !SkillInfo->canLink)continue;const uint32 skillID = SkillInfo->id;if (pPlayer->HasSkill(skillID))skillCount++;if (skillCount >= 2)return true;}return false;}bool LearnAllRecipesInProfession(Player *pPlayer, SkillType skill){ChatHandler handler(pPlayer->GetSession());char* skill_name;SkillLineEntry const *SkillInfo = sSkillLineStore.LookupEntry(skill);skill_name = SkillInfo->name[handler.GetSessionDbcLocale()];if (!SkillInfo){sLog->outError(LOG_FILTER_PLAYER,"Teleport NPC: received non-valid skill ID (LearnAllRecipesInProfession)");return false;}LearnSkillRecipesHelper(pPlayer, SkillInfo->id);uint16 maxLevel = pPlayer->GetPureMaxSkillValue(SkillInfo->id);pPlayer->SetSkill(SkillInfo->id, pPlayer->GetSkillStep(SkillInfo->id), maxLevel, maxLevel);handler.PSendSysMessage(LANG_COMMAND_LEARN_ALL_RECIPES, skill_name);return true;}void LearnSkillRecipesHelper(Player *player, uint32 skill_id){uint32 classmask = player->getClassMask();for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j){SkillLineAbilityEntry const *skillLine = sSkillLineAbilityStore.LookupEntry(j);if (!skillLine)continue;// wrong skillif (skillLine->skillId != skill_id)continue;// not high rankif (skillLine->forward_spellid)continue;// skip racial skillsif (skillLine->racemask != 0)continue;// skip wrong class skillsif (skillLine->classmask && (skillLine->classmask & classmask) == 0)continue;player->learnSpell(skillLine->spellId, false);}}bool IsSecondarySkill(SkillType skill) const{return skill == SKILL_COOKING || skill == SKILL_FIRST_AID;}void CompleteLearnProfession(Player *pPlayer, Creature *pCreature, SkillType skill){if (PlayerAlreadyHasTwoProfessions(pPlayer) && !IsSecondarySkill(skill))pCreature->MonsterWhisper("You already know two professions!", pPlayer->GetGUID());else{if (!LearnAllRecipesInProfession(pPlayer, skill))pCreature->MonsterWhisper("Internal error occured!", pPlayer->GetGUID());}}bool OnGossipSelect(Player* pPlayer, Creature* _creature, uint32 uiSender, uint32 uiAction){ pPlayer->PlayerTalkClass->ClearMenus();if (uiSender == GOSSIP_SENDER_MAIN){switch (uiAction){case 196:pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Alchemy", GOSSIP_SENDER_MAIN, 1); //酿酒pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Blacksmithing", GOSSIP_SENDER_MAIN, 2);//锻造pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Leatherworking", GOSSIP_SENDER_MAIN, 3); //皮革制作pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Tailoring", GOSSIP_SENDER_MAIN, 4); // 裁缝pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Engineering", GOSSIP_SENDER_MAIN, 5); //工程(学pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Enchanting", GOSSIP_SENDER_MAIN, 6); //附魔pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Jewelcrafting", GOSSIP_SENDER_MAIN, 7); //珠宝pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Inscription", GOSSIP_SENDER_MAIN, 8); //铭文pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Cooking", GOSSIP_SENDER_MAIN, 9); //烹饪pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "First Aid", GOSSIP_SENDER_MAIN, 10); //急救 pPlayer->PlayerTalkClass->SendGossipMenu(907, _creature->GetGUID());break;case 1:CompleteLearnProfession(pPlayer, _creature, SKILL_ALCHEMY);pPlayer->CLOSE_GOSSIP_MENU();break;case 2:CompleteLearnProfession(pPlayer, _creature, SKILL_BLACKSMITHING);pPlayer->CLOSE_GOSSIP_MENU();break;case 3:CompleteLearnProfession(pPlayer, _creature, SKILL_LEATHERWORKING);pPlayer->CLOSE_GOSSIP_MENU();break;case 4:CompleteLearnProfession(pPlayer, _creature, SKILL_TAILORING);pPlayer->CLOSE_GOSSIP_MENU();break;case 5:CompleteLearnProfession(pPlayer, _creature, SKILL_ENGINEERING);pPlayer->CLOSE_GOSSIP_MENU();break;case 6:CompleteLearnProfession(pPlayer, _creature, SKILL_ENCHANTING);pPlayer->CLOSE_GOSSIP_MENU();break;case 7:CompleteLearnProfession(pPlayer, _creature, SKILL_JEWELCRAFTING);pPlayer->CLOSE_GOSSIP_MENU();break;case 8:CompleteLearnProfession(pPlayer, _creature, SKILL_INSCRIPTION);pPlayer->CLOSE_GOSSIP_MENU();break;case 9:CompleteLearnProfession(pPlayer, _creature, SKILL_COOKING);pPlayer->CLOSE_GOSSIP_MENU();break;case 10:CompleteLearnProfession(pPlayer, _creature, SKILL_FIRST_AID);pPlayer->CLOSE_GOSSIP_MENU();break;}}return true;}};void AddSC_skill_npc() {new skill_npc(); }
转载于:https://www.cnblogs.com/needly/p/3752593.html
T端整合的商业技能训练师C++脚本相关推荐
- 云小蜜人工智能训练师
云小蜜是一款面向开发者的会话机器人,支持在不同的消息端上实现基于自然语言处理(NLP)的智能会话,如网站.APP及实体机器人等.用户可以在云小蜜中配置自己特有的知识库实现智能问答,也可以通过多轮对话与 ...
- W05 - 999、云小蜜人工智能训练师
初学耗时:999h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 『 因为要去见那个不一般的人,所以我就不能是一般人.』 W99.阿里大学征服路 - W系列总纲 ...
- 初级人工智能训练师题库
2022年 最新版初级人工智能训练师题库 作为做电商的你是否还在为拿不到阿里认证证书烦恼呢?小编而为你排忧解难,亲手试水的呕心整理的题库奉上, 愿小伙伴们都能顺利拿到证书~~升职加薪,走向 ...
- 人工智能训练师知多少
简而言之,人工智能训练师的职责范围可概括为通过数据端的整理归纳和分析优化,训练机器模型,使人工智能越变越"聪明".具体说来,人工智能训练师需要解读业务知识和需求,明确AI的落地场景 ...
- 人工智能训练师的技能要求
人工智能训练师是使用智能训练软件,在人工智能产品实际使用过程中进行数据库管理.算法参数设置.人机交互设计.性能测试跟踪及其他辅助作业的人员.本职业包含数据标注员.人工智能算法测试员两个工种. 人工智能 ...
- 人工智能训练师培训特殊之处
当我们谈到人工智能的时候,往往会想到军事.经济.科技这些高端方面,格物斯坦表示:人工智能在青少年的生活中也有极大的作用,它可以为我们塑造健康的生活方式,便利我们的生活等等,人工智能在当代社会发挥着重 ...
- 招募中|学完这4节干货分享,小时级变身智能对话训练师
随着人工智能技术的普及和逐渐成熟,越来越多的传统企业希望借助 AI 技术,实现企业生产运营降本增效或者业务升级,智能对话系统便成为各行业率先尝试落地的应用场景. 智能对话应用包含智能客服.消费电子.车 ...
- 让AI训练AI,阿里和浙大的“AI训练师助手”是这样炼成的
不久前,人力资源社会保障部发布了一种炙手可热的新职业:AI训练师.没想到,浙江大学与阿里安全的人工智能训练师马上创造出一个 "AI训练师助手",高效打造AI深度模型,应对海量应用场 ...
- 「人工智能训练师」国家职业技能标准发布:共有五级,您是第几级?
转自 | 机器之心 编辑 | 蛋酱.泽南 调参侠?炼丹师?都不对,该工作的学名是人工智能训练师. 从现在开始,「炼丹师」也有了明确的职业技能标准. 近日,国家人力资源社会保障部(以下简称人社部)发布了 ...
最新文章
- 【每日DP】day1 P1802 5倍经验日(别样的01背包)难度⭐★
- 第四章 遗传变异的分类
- 如何在JavaScript中验证电子邮件地址
- 神经网络的梯度消失和过拟合产生原因及其解决方案
- linux kvm dhcp配置,《转》QEMU-KVM创建虚拟机自动指定IP的配置
- 苹果为了提升销量真是拼:用你的iPhone做最后一件好事
- 在InstallShield中发布单一的Setup.exe文件
- java Web常用过滤器
- 打开你企业发展之门的钥匙
- 在window是下安装hadoop过程
- 微信小程序前端微信支付功能 支付流程
- kettle使用httpClient获取ES索引数据
- 一文带你掌握监控进程技术实现
- oracle 脚本检查点,oracle nca脚本检查点
- PostgreSQL on duplicate update
- 安装nodejs时提示Leaving directory
- 蓝屏终止代码:WHEA_UNCORRECTABLE_ERROR
- 友盟消息推送java服务端
- 指针数组,数组指针,函数指针的区别
- python在字典中插入或增加一个字典