ike3 / mangosbot-bots Goto Github PK
View Code? Open in Web Editor NEWBot AI Core (a part of MangosBot project)
Bot AI Core (a part of MangosBot project)
Hi. I created my singleplayer TBC server and I have 2 characters there. One is lvl 23 draenei and second lvl 5 night elf.
I wanted to add one of the characters into the game and play with it, so I used ".bot add " and it told me that the bot has been added.
But when I tried to invite the bot to my party, it declined. But even so it's following me everywhere and teleports to me. The problem is that it never accepts any group invitation, nor it would accept any trade deals. It's just running around me and nothing more.
Is there some problem on my side that can be fixed or modified? Or is this some bot issue?
File with changes to be compatible with the latest MANGOS-ZERO
patch_to_Mz.diff.txt
The AHBOT for me no matter what configs i set it to doesn't post more than around 200 items, any fix for this?
Server.log
Server crashes after 1-2 minutes after start. Latest cmangos.
The end of Log is always this:
ERROR:Attempted to get in ByteBuffer (pos: 0 size: 7) value with size: 8
Hi, Please write this for Azerothcore
There is a $200 bounty on this
Unfortunately, this works fine in windows (as far as compiling. playerbots don't quite work right where randombots work fine) but will not compile in debian. It errors on things it should not error on. Here is an example when compiling in debian without tests or immersive...
root@realmsofwarcraft:/opt/mangosbot2/build# make
[ 2%] Built target detour
[ 2%] Built target gsoap
[ 8%] Built target g3dlite
[ 8%] Built target framework
[ 12%] Built target shared
Scanning dependencies of target Bots
[ 12%] Building CXX object src/modules/Bots/CMakeFiles/Bots.dir/playerbot/GuildTaskMgr.cpp.o
warning: unknown warning option '-Wno-undefined-var-template'; did you mean
'-Wno-undefined-internal'? [-Wunknown-warning-option]
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:50:18: error: no
member named 'IsFriendlyTo' in 'Player'; did you mean 'IsFriend'?
if (!player->IsFriendlyTo(guildMaster))
^~~~~~~~~~~~
IsFriend
/opt/mangosbot2/src/game/Entities/Unit.h:1440:14: note: 'IsFriend' declared here
bool IsFriend(Unit const* unit) const override;
^
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:59:4: error: cannot
pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName(), reason);
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:59:4: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName(), reason);
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:63:58: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
sLog.outDebug("%s: guild task update for player %s", guild->GetName(), p...
~~ ^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:63:58: note: did you
mean to call the c_str() method?
...guild task update for player %s", guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:84:5: error: cannot
pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:84:5: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:93:5: error: cannot
pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName(),
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:93:5: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName(),
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:102:5: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:102:5: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:111:6: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:111:6: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:119:5: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:119:5: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:128:6: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:128:6: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:136:5: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:136:5: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:145:6: error:
cannot pass non-trivial object of type 'const std::string' (aka 'const
basic_string') to variadic method; expected type from format string
was 'char *' [-Wnon-pod-varargs]
guild->GetName(), player->GetName());
^~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:145:6: note: did you
mean to call the c_str() method?
guild->GetName(), player->GetName());
^
.c_str()
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:932:67: warning:
format string is not a string literal (potentially insecure)
[-Wformat-security]
...ChatHandler(member->GetSession()).PSendSysMessage(out.str().c_str());
^~~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:939:72: warning:
format string is not a string literal (potentially insecure)
[-Wformat-security]
...out.str().c_str());
^~~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:943:55: warning:
format string is not a string literal (potentially insecure)
[-Wformat-security]
ChatHandler(player->GetSession()).PSendSysMessage(self.str().c_str());
^~~~~~~~~~~~~~~~~~
/opt/mangosbot2/src/modules/Bots/playerbot/GuildTaskMgr.cpp:1054:32: warning:
format string is not a string literal (potentially insecure)
[-Wformat-security]
CharacterDatabase.PExecute(sql.str().c_str());
^~~~~~~~~~~~~~~~~
5 warnings and 11 errors generated.
src/modules/Bots/CMakeFiles/Bots.dir/build.make:185: recipe for target 'src/modules/Bots/CMakeFiles/Bots.dir/playerbot/GuildTaskMgr.cpp.o' failed
make[2]: *** [src/modules/Bots/CMakeFiles/Bots.dir/playerbot/GuildTaskMgr.cpp.o] Error 1
CMakeFiles/Makefile2:819: recipe for target 'src/modules/Bots/CMakeFiles/Bots.dir/all' failed
make[1]: *** [src/modules/Bots/CMakeFiles/Bots.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
root@realmsofwarcraft:/opt/mangosbot2/build#
There are also many warnings. When I fix the errors with c_str() etc eventually it will error with problems in util.h which isn't modified at all...
This is for mangos-zero-ai (default branch)
And how to make it compatible with any desired core? (0, 1, 2)
Will you be doing anything for TrinityCore 3.3.5 anymore?? as i haven't use mangos before
Till we have better ai dps/heal strategies could you add modifiers to enchance bots useability and survive? like stats in immersive(btw its not balanced because stat modify is directly affect melee dps but not the casters) so maybe spellpower and healing power modify can be usefull too
Write this for vmangos ? 100 euro bonty pm me [email protected]
any way to port this bots to vmangos ?
pm me in discord for the price [email protected]
ty
[ 66%] Building CXX object src/modules/Bots/CMakeFiles/Bots.dir/playerbot/AiFactory.cpp.o In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:25, from /home/cmangos/mangos/src/modules/Bots/playerbot/../botpch.h:16, from /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:1: /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:8:37: error: expected ‘)’ before ‘*’ token 8 | PlayerbotAIAware(PlayerbotAI* const ai) : ai(ai) { } | ~ ^ | ) /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:11:9: error: ‘PlayerbotAI’ does not name a type 11 | PlayerbotAI* ai; | ^~~~~~~~~~~ In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:28: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatHelper.h:13:31: error: expected ‘)’ before ‘*’ token 13 | ChatHelper(PlayerbotAI* ai); | ~ ^ | ) In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAI.h:6, from /home/cmangos/mangos/src/modules/Bots/playerbot/playerbot.h:29: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Strategy* ai::AiObjectContext::GetStrategy(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:18:96: error: expected primary-expression before ‘)’ token 18 | virtual Strategy* GetStrategy(string name) { return strategyContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Trigger* ai::AiObjectContext::GetTrigger(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:20:93: error: expected primary-expression before ‘)’ token 20 | virtual Trigger* GetTrigger(string name) { return triggerContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::Action* ai::AiObjectContext::GetAction(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:21:90: error: expected primary-expression before ‘)’ token 21 | virtual Action* GetAction(string name) { return actionContexts.GetObject(name, ai); } | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h: In member function ‘virtual ai::UntypedValue* ai::AiObjectContext::GetUntypedValue(std::string)’: /home/cmangos/mangos/src/modules/Bots/playerbot/strategy/AiObjectContext.h:22:101: error: expected primary-expression before ‘)’ token 22 | virtual UntypedValue* GetUntypedValue(string name) { return valueContexts.GetObject(name, ai); } | ^ In file included from /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAI.h:9: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatFilter.h: In constructor ‘ai::ChatFilter::ChatFilter(PlayerbotAI*)’: /home/cmangos/mangos/src/modules/Bots/playerbot/ChatFilter.h:10:58: error: no matching function for call to ‘ai::PlayerbotAIAware::PlayerbotAIAware(PlayerbotAI*&)’ 10 | ChatFilter(PlayerbotAI* ai) : PlayerbotAIAware(ai) {} | ^ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate: ‘constexpr ai::PlayerbotAIAware::PlayerbotAIAware()’ 5 | class PlayerbotAIAware | ^~~~~~~~~~~~~~~~ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate expects 0 arguments, 1 provided /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate: ‘constexpr ai::PlayerbotAIAware::PlayerbotAIAware(const ai::PlayerbotAIAware&)’ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: no known conversion for argument 1 from ‘PlayerbotAI*’ to ‘const ai::PlayerbotAIAware&’ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: candidate: ‘constexpr ai::PlayerbotAIAware::PlayerbotAIAware(ai::PlayerbotAIAware&&)’ /home/cmangos/mangos/src/modules/Bots/playerbot/PlayerbotAIAware.h:5:11: note: no known conversion for argument 1 from ‘PlayerbotAI*’ to ‘ai::PlayerbotAIAware&&’ /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp: In static member function ‘static void AiFactory::AddDefaultCombatStrategies(Player*, PlayerbotAI*, ai::Engine*)’: /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:121:29: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 121 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:153:29: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 153 | if (player->getLevel() > 29) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:155:34: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 155 | else if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:173:29: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 173 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:183:25: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 183 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:195:25: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 195 | if (player->getLevel() > 19) | ^~~~~~~~ | GetLevel /home/cmangos/mangos/src/modules/Bots/playerbot/AiFactory.cpp:207:62: error: ‘class Player’ has no member named ‘getLevel’; did you mean ‘GetLevel’? 207 | if (player->getClass() == CLASS_DRUID && player->getLevel() < 20) | ^~~~~~~~ | GetLevel make[2]: *** [src/modules/Bots/CMakeFiles/Bots.dir/build.make:76: src/modules/Bots/CMakeFiles/Bots.dir/playerbot/AiFactory.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:754: src/modules/Bots/CMakeFiles/Bots.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
Cannot seem to get it compiled on Linux, the core compiles without issues, but sadly the bots don't am i missing something ?
Could you please, re-add Socketitem function?
its yours older code.. its working flawlessly if you add.
In cmangos-one-ai the core will not compile in windows. it errors with immerxive and bots saying asio.h is missing.
will this work with mangos one core?
Bots bugged and said there is no need to move even I use follow command. They stay and don't follow not only ragefire chashm but also some other dungeons. Can you check it out? Thank you.
I have ryzen 2600 and bots are created only using 1st spec (so all warriors are arms, all paladins are holy etc)
My friend has Intel 7700 and spec are randomized for him.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.