安装和使用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使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca