已经有很多的功能性的NPC的Trinity-Core魔兽世界私服单机 的脚本代码。这里我在弄一个可能大家都会比较喜欢的NPC脚本代码1、适用于怀旧魔兽私服Trinity-Core 3.3.5版本最新2、此脚本是npc  的C++脚本,脚本名称要加到creature_template对应的NPC的脚本处3、你需要知道如何在T端中增加对应的脚本功能4、下面是一些该脚本的功能描述 NPC  功能包含:
• 恢复血量和法力值
• 重置所有的副本进度
• 重置所有的技能冷却时间
• 重置战斗状态
• 移除虚弱状态
• 修复所有装备
• 重置天赋
• 重置所有的技能
5、SQL代码
/*
REPLACE INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `unit_flags2`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`) VALUES('900000','0','0','0','0','0','26867','0','0','0','Tools NPC','- by mthsena -','Speak','0','80','80','0','35','35','1','1','1.14286','2','3','0','0','0','0','1','0','0','1','0','0','0','0','0','0','0','0','0','0','0','0','4','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','0','3','1','1','1','1','0','0','0','0','0','0','0','0','1','0','0','Tools_NPC','1');
- Made by mthsena
*/
或则你另外选一个NPC的ID:例如 伊利丹,例如基尔加丹,这些NPC。
当然,如果是5.X.X的版本的话,。你可以考虑用用  雷神王座 的BOSS的模型什么的!这样弄起来更好看!

6、脚本C++代码:


/*REPLACE INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `unit_flags2`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`) VALUES('900000','0','0','0','0','0','26867','0','0','0','Tools NPC','- by mthsena -','Speak','0','80','80','0','35','35','1','1','1.14286','2','3','0','0','0','0','1','0','0','1','0','0','0','0','0','0','0','0','0','0','0','0','4','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','0','3','1','1','1','1','0','0','0','0','0','0','0','0','1','0','0','Tools_NPC','1');- Made by mthsena*/#include "ScriptPCH.h"class Tools_NPC : public CreatureScript
{
public:Tools_NPC() : CreatureScript("Tools_NPC") { }bool OnGossipHello(Player *player, Creature *creature){player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Restore HP and MP", GOSSIP_SENDER_MAIN, 1);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Instances", GOSSIP_SENDER_MAIN, 2);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Cooldowns", GOSSIP_SENDER_MAIN, 3);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Combat", GOSSIP_SENDER_MAIN, 4);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Remove Sickness", GOSSIP_SENDER_MAIN, 5);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Repair Items", GOSSIP_SENDER_MAIN, 6);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Others...", GOSSIP_SENDER_MAIN, 7);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "Exit", GOSSIP_SENDER_MAIN, 8);player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());return true;}bool OnGossipSelect(Player *player, Creature *creature, uint32 sender, uint32 action){player->PlayerTalkClass->ClearMenus();switch(action){case 1: // Restore HP and MPif(player->IsInCombat()){creature->MonsterWhisper("You're in combat!", player->GetGUID(), false);player->CLOSE_GOSSIP_MENU();return false;}else if(player->getPowerType() == POWER_MANA)player->SetPower(POWER_MANA, player->GetMaxPower(POWER_MANA));player->SetHealth(player->GetMaxHealth());player->CLOSE_GOSSIP_MENU();break;case 2: // Reset Instancesfor (uint8 i = 0; i < MAX_DIFFICULTY; ++i){Player::BoundInstancesMap &binds = player->GetBoundInstances(Difficulty(i));for (Player::BoundInstancesMap::iterator itr = binds.begin(); itr != binds.end();){player->UnbindInstance(itr, Difficulty(i));}}player->CLOSE_GOSSIP_MENU();break;case 3: // Reset Cooldownsif(player->IsInCombat()){creature->MonsterWhisper("You're in combat!", player->GetGUID(), false);player->CLOSE_GOSSIP_MENU();return false;}player->RemoveAllSpellCooldown();player->CLOSE_GOSSIP_MENU();break;case 4: // Reset Combatplayer->CombatStop();player->CLOSE_GOSSIP_MENU();break;case 5: // Remove Sicknessif(player->HasAura(15007))player->RemoveAura(15007);player->CLOSE_GOSSIP_MENU();break;case 6: // Repair Itemsplayer->DurabilityRepairAll(false, 0, false);player->CLOSE_GOSSIP_MENU();break;case 7: // Othersplayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Talents", GOSSIP_SENDER_MAIN, 71);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Spells", GOSSIP_SENDER_MAIN, 72);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "...Back", GOSSIP_SENDER_MAIN, 73);player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());break;case 8:player->CLOSE_GOSSIP_MENU();break;case 71: // Reset Talentsplayer->resetTalents(true);player->SendTalentsInfoData(false);player->CLOSE_GOSSIP_MENU();break;case 72: // Reset Spellsplayer->resetSpells();player->CLOSE_GOSSIP_MENU();break;case 73: // ...Backplayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Restore HP and MP", GOSSIP_SENDER_MAIN, 1);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Instances", GOSSIP_SENDER_MAIN, 2);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Cooldowns", GOSSIP_SENDER_MAIN, 3);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Reset Combat", GOSSIP_SENDER_MAIN, 4);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Remove Sickness", GOSSIP_SENDER_MAIN, 5);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Repair Items", GOSSIP_SENDER_MAIN, 6);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Others...", GOSSIP_SENDER_MAIN, 7);player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "Exit", GOSSIP_SENDER_MAIN, 8);player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());break;}return true;}
};void AddSC_Tools_NPC()
{new Tools_NPC();
}

转载于:https://www.cnblogs.com/needly/p/3752436.html

T端多功能魔兽NPC脚本-Tools Npc脚本代码相关推荐

  1. php cannot bind port to socket,PHP基于socket实现客户端和服务端通讯功能

    本文主要介绍了PHP基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下 服务端: set_time_limit(0 ...

  2. 随时随地查看业务数据,DataV移动端新功能上新

    简介: 随时随地监控业务数据,及时对焦管理策略,让数据推动业务. 在有手机就能活的今天,还只在电脑面前看报表吗? BOSS们每天处理无数的消息和邮件,还要四处奔波开会,没有办法时时刻刻在电脑前关注企业 ...

  3. php和asp渲染页面,Vue.js与 ASP.NET Core 服务端渲染功能

    在前端使用 Vue.js,Vue 服务端渲染直到第二个版本才被支持. 在本例中,我想展示如何将 Vue.js 服务端渲染功能整合 ASP.NET Core. 我们在服务端使用了 Microsoft.A ...

  4. socket java 客户端_Java基于socket实现的客户端和服务端通信功能完整实例

    本文实例讲述了Java基于socket实现的客户端和服务端通信功能.分享给大家供大家参考,具体如下: 以下代码参考马士兵的聊天项目,先运行ChatServer.java实现端口监听,然后再运行Chat ...

  5. 从零开始安卓端相机功能开发(一)了解用什么去开发以及流程

    目前已有章节大家可以去学习也可以参考一下 1.从零开始安卓端相机功能开发(一)了解用什么去开发以及流程 2.从零开始安卓端相机功能开发(二)让我们来开发一个相机 3.从零开始开发Android相机ap ...

  6. 从零开始安卓端相机功能开发(二)让我们来开发一个相机

    目前已有章节大家可以去学习也可以参考一下 1.从零开始安卓端相机功能开发(一)了解用什么去开发以及流程 2.从零开始安卓端相机功能开发(二)让我们来开发一个相机 3.从零开始开发Android相机ap ...

  7. VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误。您也可以提交支持请求,报告此问题。

    VMware Tools 启动脚本未能在虚拟机中成功运行.如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误.您也可以提交支持请求,报告此问题. 第一步: sudo apt-get auto ...

  8. 【移动端聊天功能模板】Vue实现H5聊天系统,实现上下固定中间滚动布局,微信授权功能,自动滚动到底部【详细注释,一看就会】

    前言 最近刚好在做这方面的功能,就网上看了下,发现很多种写法,但是有些写的很乱, 我也看的很麻烦,干脆就自己写一个简单的静态版本放在这, 以后需要用到的时候可以直接拿着改改就能用. 后面我还会继续更新 ...

  9. 移动端陀螺仪功能检测方法

    移动端陀螺仪功能检测方法 陀螺仪可以判断手机当前的处在的方向和角度. 下列本人通过一段简单的代码将陀螺仪检测到的角度,前后倾斜,左右倾斜等常用功能参数进行体现. html: [html] view p ...

最新文章

  1. 操作主机 Infrastructure Master[为企业维护windows server 2008系列八]
  2. 提出离职后怎么定last day_不敢提离职?日本正在兴起的“辞职中介”业务,拯救社畜们于水深火热之中!...
  3. 《数字图像处理与机器视觉——Visual C++与Matlab实现》——0.2 数字图像处理与识别...
  4. 自己工资自己算,策略设计模式(Strategy)
  5. redis 实战面试
  6. 数据统计分析(SPSS)【1】
  7. 抖音短视频的营销模式
  8. 自定义video的controls
  9. Python之爬取《你好,李焕英》电影豆瓣短评
  10. 你真的懂Java怎么输出Hello World吗?
  11. 电场强度 高斯定理 习题
  12. 【KEIL5】 STM32F103C8T6 不能编译,启动文件错误导致Could not load file ‘D:\MyTest\Project\output\Projiect.axf‘
  13. obs多推流地址_OBS直播进阶操作使用手册
  14. LG30刷小米系统_小米红米手机安卓9底层如何正确安全升级安卓10版MIUI12开发版...
  15. Python学多久能接单赚钱?按照这套路线学习,30天内就可以!
  16. 怎么把cad的图导入ps_CAD图纸导入Photoshop的方法有哪些?
  17. 后端 php mysql_搭建并部署PHP + MySQL后端环境
  18. 计算机房摆放布局,【机房】强弱电机房位置大小及布置(附案例)
  19. 癌症来临,应该怎么办?
  20. Office 2008 for Macintosh: The Missing Manual

热门文章

  1. linux 常用命令参数集合(二)
  2. 机器学习实验笔记-基于信用卡数据建立行为评分模型的机器学习方法
  3. 洛谷—P1434 [SHOI2002]滑雪题解
  4. HTML标签隐藏与显示方法汇总
  5. 《缠中说禅108课》62:分型、笔与线段
  6. MMDetection框架的anchor_generators.py解析与船数据解析
  7. 功能测试与项目实战之测试需求分析与测试用例设计(重中之重)
  8. Mysql中的varchar类型转换成int类型
  9. 机器学习中的数学-偏度和峰度
  10. insert操作获取自增主键的值