安装和使用TrinityCore NPCBot

2024-06-13 12:04

本文主要是介绍安装和使用TrinityCore NPCBot,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装TrinityCore NPCBot

官网:GitHub - trickerer/Trinity-Bots: NPCBots for TrinityCore and AzerothCore 3.3.5

基本安装方法

  1. Follow TrinityCore Installation Guide (https://TrinityCore.info/) to install the server first
  2. Download NPCBots.patch and put it into your TrinityCore folder
  3. Apply the patch using patch -p1 < NPCBots.patch command (creating new files)
  4. (Re)run CMake and (re)build
  5. Merge worldserver.conf.dist into your worldserver.conf file (NPCBot mod settings)
  6. Apply SQL files from /TrinityCore/sql/Bots/ to your DB (files starting with characters_ and world_ go into your characters and world DB respectively):

步骤拆解:

  1. 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 with characters_ and world_ go into your characters and world 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会学,或者用自己的

调试

编译到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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057248

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他