安装和使用TrinityCore NPCBot
安装TrinityCore NPCBot
官网:GitHub - trickerer/Trinity-Bots: NPCBots for TrinityCore and AzerothCore 3.3.5
基本安装方法
- Follow TrinityCore Installation Guide (https://TrinityCore.info/) to install the server first
- Download NPCBots.patch and put it into your TrinityCore folder
- Apply the patch using
patch -p1 < NPCBots.patch
command (creating new files) - (Re)run CMake and (re)build
- Merge worldserver.conf.dist into your worldserver.conf file (NPCBot mod settings)
- Apply SQL files from
/TrinityCore/sql/Bots/
to your DB (files starting withcharacters_
andworld_
go into yourcharacters
andworld
DB respectively):
步骤拆解:
- Download NPCBots.patch and put it into your TrinityCore folde
git clone https://github.com/trickerer/Trinity-Bots
# or
wget -c https://github.com/trickerer/Trinity-Bots/archive/refs/heads/master.zip
cp Trinity-Bots/NPCBots.patch TrinityCore/
cp Trinity-Bots/NPCBots.patch TrinityCore/
- 2.Apply the patch using
patch -p1 < NPCBots.patch
command (creating new files)
进入TrinityCore执行
patch -p1 < NPCBots.patch
- 3.重新编译
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/servermake -j 8
这里不需要删除以前的build目录,直接在build目录下编译即可。
编译安装
make install
- 4.Merge worldserver.conf.dist into your worldserver.conf file (NPCBot mod settings)
安装之后产生了新的worldserver.conf.dist文件,将其改名worldserver.conf
不要忘记编辑文件server/etc/worldserver.conf,DataDir使用绝对路径
# DataDir = "."
DataDir = "/home/wow/server/data"
- 5.Apply SQL files from
/TrinityCore/sql/Bots/
to your DB (files starting withcharacters_
andworld_
go into yourcharacters
andworld
DB respectively):
1_world_bot_appearance.sql
2_world_bot_extras.sql
3_world_bots.sql
4_world_generate_bot_equips.sql
5_world_botgiver.sql
characters_bots.sql
进入目录:/home/wow/TrinityCore/sql/Bots
这里不会操作啊。明白了,是world的,导入world, char的,导入char
进入mysql
sudo mysql
查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| auth |
| characters |
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| sys |
| world |
+--------------------+
导入characters
use characters;
source characters_bots.sql;
导入world
use world;
source 1_world_bot_appearance.sql;
source 2_world_bot_extras.sql;
source 3_world_bots.sql;
source 4_world_generate_bot_equips.sql;
source 5_world_botgiver.sql;
注意,如果报错的话,请尽量手工敲入这些命令,当然文件名可以cp过去。
- 7.Apply SQL update files from
/TrinityCore/sql/Bots/updates
to your DB
这一步又看不懂了,里面文件太多了,一个一个导入太麻烦了
原来官方提供了几个sh文件,可以把它们集中起来:
wow@ub22:~/TrinityCore/sql/Bots$ sh merge_sqls_auth_unix.sh
wow@ub22:~/TrinityCore/sql/Bots$ sh merge_sqls_characters_unix.sh
wow@ub22:~/TrinityCore/sql/Bots$ sh merge_sqls_world_unix.sh
这样生成了三个文件:
-rw-rw-r-- 1 wow wow 4355 Jun 13 01:41 ALL_auth.sql
-rw-rw-r-- 1 wow wow 15161 Jun 13 01:41 ALL_characters.sql
-rw-rw-r-- 1 wow wow 876055 Jun 13 01:41 ALL_world.sql
这样只导入这三个文件就行了
导入三个文件
use auth
source ALL_auth.sql;
use characters
source ALL_characters.sql
use world
source ALL_world.sql
完成!
开始使用
NPCBot Commands
First of all, to list your NPCBot's stats, use /bonk
on them (Warning: big list)
Note that some commands may not be available to all accounts (depending on their access level and permissions set in the RBAC tables (TC) / in the command
table (AC)). You may need to change your account permissions / security level to enable usage of some commands Most NPCBot commands are divised by persmissions into two groups: player commands and GM commands, there are also some Admin-only commands
使用/bonk 列表
密钥:
<>(尖括号)表示基本命令参数
[](方括号)表示可选的命令参数
|(管道字符)表示参数选择(即this | that=this OR that)
_ARUMENT_表示参数名称
开始
.npcbot lookup
选择类型
.npcbot lookup 1
1 是战士
选一个人:.npcbot spawn 70003
右键点击出菜单
You need something?
- <Hire bot>
- Nevermind
选择Hire bot,然后再点npc出来菜单
- Manage equipment...
- Manage roles...
- Manage formation...
- Manage abilities...
- Manage talents...
- Give consumable...
- <Create Group>
- You are dismissed
- Pull yourself together, damnit
- Nevermind
- [OPTIONAL options may be displayed here]
- <Create Group (all bots)>
- <Add to group>
- <Add all bots to group>
- <Remove from group>
- [CLASS-SPECIFIC options may be displayed here]
然后点击<Create Group> ,bot就能加入队伍了
它们会自动协助你
如果在附近,可以直接使用命令:
如果你的NPCBot就在你的直接附近,你可以瞄准他们并发表情:
/stand 站着让你的NPCBot保持原位
/wave 挥手让你的NPCBot再次跟随你
如果不在附近,可以使用命令:
-
.npcbot command stay
(.npcb c s
) to make all your controlled NPCBots STAY -
.npcbot command follow
(.npcb c f
) to make all your controlled NPCBots FOLLOW
装备
要更改他们的装备,您需要右键单击该NPCBot并选择管理装备
Auto-equip 自动装备会列出你包里NPCBot可以使用的所有物品。点击其中一个项目将自动将其交给NPCBot,并将其装备到适当的位置。
坐骑
bot会学雇主的坐骑,或者用自己的。
配置
设置最多可带bot人数
# NpcBot.MaxBots
# Description: Maximum number of bots allowed for players per level bracket:
# 0-9, 10-19, 20,29, ... , 70-79, 80+.
# Default: 1,1,1,1,1,1,1,1,1 - (1 for all levels)
# 0,1,2,3,4,5,6,7,8 - (1 per 10 levels)
# Max: 39NpcBot.MaxBots = 1,2,3,4,5,6,7,8,9
调试
编译到74%报错error: use of undeclared identifier 'TARGETICONCOUNT'
/home/wow/TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:139:23: error: use of undeclared identifier 'TARGETICONCOUNT'
uint8 GroupIconsFlags[TARGETICONCOUNT] =
^
[ 74%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdpstracker.cpp.o
/home/wow/TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:1315:36: error: use of undeclared identifier 'TARGETICONCOUNT'
for (uint8 i = 0; i != TARGETICONCOUNT; ++i)
/home/wow/TrinityCore/src/server/game/AI/NpcBots/bpet_ai.cpp:1431:32: error: use of undeclared identifier 'TARGETICONCOUNT'
for (uint8 i = 0; i != TARGETICONCOUNT; ++i)
^
12 errors generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:301: src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_ai.cpp.o] Error 1
2 errors generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:765: src/server/game/CMakeFiles/game.dir/AI/NpcBots/bpet_ai.cpp.o] Error 1
2 errors generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:717: src/server/game/CMakeFiles/game.dir/AI/NpcBots/botmgr.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1123: src/server/game/CMakeFiles/game.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
忘记是前面步骤有缺失,还是其它什么原因了,重新按照手册来一次试试。
做了如下操作:
更新源代码 git pull
加大内存到1756MB
删除build目录并重新编译:
cd TrinityCore
mkdir build
cd buildcmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server
重新编译安装后,配置文件没有了,需要cp worldserver.conf.dist worldserver.conf
并编辑文件server/etc/worldserver.conf,使用绝对路径
# DataDir = "."
DataDir = "/home/wow/server/data"
相关文章:
安装和使用TrinityCore NPCBot
安装TrinityCore NPCBot 官网:GitHub - trickerer/Trinity-Bots: NPCBots for TrinityCore and AzerothCore 3.3.5 基本安装方法 Follow TrinityCore Installation Guide (https://TrinityCore.info/) to install the server firstDownload NPCBots.patch and put …...
Hvv--知攻善防应急响应靶机--Linux2
HW–应急响应靶机–Linux2 所有靶机均来自 知攻善防实验室 靶机整理: 夸克网盘:https://pan.quark.cn/s/4b6dffd0c51a#/list/share百度云盘:https://pan.baidu.com/s/1NnrS5asrS1Pw6LUbexewuA?pwdtxmy 官方WP:https://mp.weixin.…...
replaceAll is not a function 详解
先说说原因: 在chrome 浏览器中使用 replaceAll 报这个错误,是因为chrome 版本过低, 在chrome 85 以上版本才支持 用法 replaceAll(pattern, replacement)const paragraph "I think Ruths dog is cuter than your dog!"; console…...
如何设置天锐绿盾的数据防泄密系统
设置天锐绿盾的数据防泄密系统,可以按照以下步骤进行: 一、系统安装与初始化 在线或离线安装天锐绿盾数据防泄密系统,确保以管理员身份运行安装包,并按照安装向导的提示完成安装。输入序列号进行注册,激活系统。 二…...
003 gitee怎样将默认的私有仓库变成公开仓库
先点击“管理”, 再点击“基本信息” 在“是否开源”里, 选择:开源...
Spring框架中的IOC(控制反转)详解
Spring框架中的IOC(控制反转)详解 一、引言 在软件开发中,设计模式与框架的应用极大地提高了开发效率和软件质量。其中,Spring框架因其强大的功能和灵活的扩展性,成为了Java企业级应用开发的首选。而Spring框架中的核…...
Score Matching(得分匹配)
Score Matching(得分匹配)是一种统计学习方法,用于估计概率密度函数的梯度(即得分函数),而无需知道密度函数的归一化常数。这种方法由Hyvrinen在2005年提出,主要用于无监督学习,特别…...
五大维度大比拼:ChatGPT比较文心一言,你的AI助手选择指南
文章目录 一、评估AI助手的五个关键维度二、ChatGPT和文心一言的比较 评估AI助手的五个关键维度,以及ChatGPT和文心一言的比较如下: 一、评估AI助手的五个关键维度 界面友好性 : 评估标准:用户界面是否直观易用,是否…...
大学课设项目,Windows端基于UDP的网络聊天程序的服务端和客户端
文章目录 前言项目需求介绍一、服务端1.对Udp套接字进行一个封装2. UdpServer的编写3. Task.h4.protocol.h的编写5.线程池的编写6.main.cc 二、客户端1. Socket.h2.protocol.h3.UdpClient4.menu.h5.main.cpp 三、运行图 前言 本次项目可以作为之前内容的一个扩展,学…...
【5.x】ELK日志分析、集群部署
ELK日志分析 一、ELK概述 1、ELK简介 ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求。 一个完整的集中式日志系统,需要包含以下几个主…...
揭秘创业加盟:豫腾助力,发掘商机,共赢未来
在我们生活的这个充满活力与机遇的世界里,商业活动如繁星点点,照亮着每个人的创业梦想。 在这个过程中,创业加盟作为一种独特且吸引人的模式,逐渐受到广大创业者的关注。 本文将深入解析创业加盟的精髓,以及如何在其…...
Linux操作系统以及一些操作命令、安装教程
Web课程完结啦,这是Web第一天的课程大家有兴趣可以传送过去学习 http://t.csdnimg.cn/K547r Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比…...
树莓派4B_OpenCv学习笔记6:OpenCv识别已知颜色_运用掩膜
今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 学了这些OpenCv的理论性知识,不进行实践实在…...
ZSH 配置
ZSH 配置 1. 安装 ZSH2. 安装 oh my zsh3. 安装插件3.1 autojump3.2 zsh-autosuggestions 1. 安装 ZSH sudo apt-get install zsh 完成安装后需设置当前用户使用 zsh: chsh -s /bin/zsh 重启后即可使用 2. 安装 oh my zsh 安装 oh my zsh 需先安装 git。 自动安装…...
LogicFlow 学习笔记——5. LogicFlow 基础 主题 Theme
主题 Theme LogicFlow 提供了设置主题的方法,便于用户统一设置其内部所有元素的样式。设置方式有两种: 初始化LogicFlow时作为配置传入初始化后,调用LogicFlow的 setTheme 方法 主题配置参数见主题API 配置 new LogicFlow 时作为将主题配…...
Centos7.9使用kubeadm部署K8S集群
Centos7.9使用kubeadm部署K8S集群 使用kubeadm部署一个k8s集群,单master2worker节点。 1. 环境信息 操作系统:CentOS 7.9.2009内存: 2GBCPU: 2网络: 能够互访,能够访问互联网 hostnameip备注k8s-master192.168.0.51masterk8s-node1192.16…...
VB.net调用VC DLL(二)
参考文献5,讲了在C程序中直接调用DLL和lib的函数方法,不是通过编译器连接方式 也讲了在非C程序中直接调用DLL和lib的函数方法。 实操了一下,建了win32dll项目 新建.h文件和.cpp文件 .h文件中加: void __stdcall funcA(double…...
社团管理系统
用Spring Boot、Vue.js和MyBatis实现社团管理系统 温馨提示:项目源代码获取方式见文末 摘要 本文探讨了如何使用Spring Boot作为后端框架,Vue.js作为前端框架,以及MyBatis作为数据库持久层框架,构建一个社团管理系统。该系统旨…...
网站的文章起到什么作用
1.便于用户了解产品服务 如果想要获得更多的用户访问或者转化率,那么网站就得需要高质量、高原创的文章,通过文章可以让用户更好的了解公司的产品和服务,用户会根据自己的需求去选择服务类型,从而可以给公司产生业务订单&am…...
Science | 稀土开采威胁马来西亚的生物多样性
马来西亚是一个生物多样性热点地区,拥有超过17万种物种,其中1600多种处于濒临灭绝的风险。马来西亚的热带雨林蕴藏了大部分的生物多样性,并为全球提供重要的生态系统效益,同时为土著社区带来经济和文化价值。同时马来西亚具有可观…...
pandas read_csv跳过有错的行
在使用Pandas的read_csv函数时,如果遇到格式错误或其他导致读取失败的行,Pandas默认会抛出异常。但如果你想让Pandas自动跳过这些错误行,可以使用error_bad_linesFalse参数。这将使Pandas在遇到格式错误的行时,忽略这些行而不是中…...
VRChat 2024年裁员原因与背景深度分析
VRChat,作为2022年元宇宙/VR社交领域的巨头,近期在2024年宣布裁员计划,其背后原因和背景值得业界尤其是仍在纯元宇宙虚拟空间创业的同仁们重点关注。 一、创始人决策失误 根据CEO的邮件披露,VRChat的创始人因缺乏经验和过度自信…...
mybatisplus 笔记
int isDelete userRoleMapper.delete(new LambdaQueryWrapper<UserRole>().in(UserRole::getUserId, roleUserDTO.getUserId()).in(UserRole::getRoleId, roleUserDTO.getRoleId()));LambdaQueryWrapper<UserRole>: LambdaQueryWrapper 是 MyBatis Plus 提供的一个…...
Shell脚本(.sh文件)如何执行完毕之后不自动关闭?
Shell脚本异常傲娇,出错后、执行完根本不给你机会让你查看报错信息、输出信息,直接闪退。 废话不多说,调教方法如下,直接在Shell脚本末尾加上如下代码: 1、实现方式一 1.1 使用read命令达到类似bat中的pause命令效果…...
苏州辰安塑业携塑料托盘、塑料物流箱解决方案亮相2024杭州快递物流展
苏州辰安塑业携塑料托盘、吹塑托盘、塑料卡板箱、塑料周转箱、塑料物流箱、塑料垃圾桶解决方案盛装亮相2024杭州快递物流展! 展位号:3C馆A51 苏州辰安塑业有限公司,是一家专业从事塑料托盘、吹塑托盘、塑料卡板箱、塑料周转箱、塑料物流箱、…...
大模型应用开发技术:Multi-Agent框架流程、源码及案例实战(二)
LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…...
Flutter 实现dispose探测控件
文章目录 前言一、什么是dispose探测控件?1、通常情况2、使用dispose探测控件 二、如何实现1、继承StatefulWidget2、定义dipose回调3、定义child4、重载Dispose方法5、build child 三、完整代码四、使用示例1、基本用法2、设置定义数据 总结 前言 开发flutter一般…...
如何定义和衡量一个产品的成功?
定义和衡量一个产品的成功是一个多维度的过程,涉及用户满意度、市场表现、商业成果和技术实现等多个方面。以下是几个关键点,可以帮助产品经理在面试中全面阐述这一话题: 用户层面的成功: 用户满意度:通过用户调研、N…...
微调大模型 - 面向学术论文的AI大模型
1、优化学术交流: 该项目专注于优化学术文献的阅读、润色和写作过程,提供了实用化的交互接口。 2、模块化和可扩展性: 项目设计模块化,支持自定义快捷按钮和函数插件,便于用户根据自己的需求进行扩展。 3、多语言和多模型支持: 支持多种语言的论文翻译和总结,同时可以并行…...
java溯本求源之基础(二十四)之--常见List的实现共同点
兄弟们终于到了上代码讲代码的环节了,之前的一些代码都是小打小闹,现在才是重头戏,今天来简单说说一些集合,首先这些都是基于数组实现的,当然Collections.emptyList不算奥,别犟。剩下的不多墨迹直接上重点&…...
网站 ip pv/seo查询seo优化
from keras.datasets import cifar10(x_train, y_train), (x_test, y_test) cifar10.load_data()# 如果不处理的话,每张图的每个通道都是 (0-255) 之间的取值 x_train[0]array([[[ 59, 62, 63],[ 43, 46, 45],[ 50, 48, 43],...,[158, 132, 108],[152, 125, …...
太原优化网站/互动营销成功案例
在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编…...
中山企业网站制作公司/一个完整的产品运营方案
c线程thread C11/C14 线程教程 thread类官网详解 thread类官网详解 参考链接 文章目录c线程thread1.创建线程2.守护线程3. 可调用对象4. 传参5. 线程的移动和复制6.线程id7. 互斥mutex1.创建线程 直接初始话thread类对象进行创建线程,创建线程后调用join()方法&…...
flash做网站的论文/公众号运营
Windows 程序的进行系依靠外部发生的事件来驱动。换句话说,程序不断等待(利用一个while 回路),等待任何可能的输入,然后做判断,然后再做适当的处理。 上述的「输入」是由操作系统捕捉到之后,以消…...
wordpress 前端 修改/搜狗网站排名软件
dump 0x8048000开始的19870字节到C:\FileName.dat.writemem C:\FileName.dat 8048000 L0n19870 转载于:https://www.cnblogs.com/XiaoHui/archive/2010/02/26/1674020.html...
加工厂网站建设/免费的网络推广有哪些
什么叫视图?游标是什么? 视图: 是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它…...