Jump to content

Recommended Posts

Posted
Just, for best practice place enum in PlayerBotMageAi.h in place of PlayerBotAi.h

I guess you're right. After I add racial traits all spells will be moved to their corresponding classes.

UPD: Done.

  • Replies 1.8k
  • Created
  • Last Reply

Top Posters In This Topic

Posted

Thanks blueboy! So what i will do i will be posting you feedback occasionally coz i use your patch on my server. cant contribute though as im green in C++ or any other langauge..

Posted

I have finished transferring spell initialization to locale independent algorithm. The code compiles at least on Linux. If you want to see what spellids are returned to bot, then set debuglevel = 3, and look into log for "initSpell: Found spellid: ". Spells not known to your bot won't be reported to log. Get the source at blueboy/portal branch delocalized-spells.

Posted

heyz, is there a way to add functionality to the current "clean" MaNGOS by using this patch as source of "xxx Mind Control" (used my many NPCs)? im thinking something like Insane... it could be a major step :P

PS: i havent read the whole thread so excuse me if this was already asked in here.

Posted

Ok Kyle1 it's work, need more testing but in first try all it seem to be alright.

Just found when i say to my tank attack some target he take is time sending me some "NONE" info before... Didnt look in AI code but it's anoying.

Posted

Hi Guys,

As promised I have just updated the portal repo with the revised botguy display restrictions.

DisableBots:

If set to 1 in playerbot.conf, no botguy menu will be displayed by NPCs. You will also be given a warning in the client 'General Log'. I think it might be best to remove this warning for botguy only, as it will be displayed everytime you select an NPC. I would be interested to hear what you think.

RestrictBotLevel:

The default in playerbot.conf is set to 80. If you changed this, you can control the ceiling level for bots online.

MaxNumBots:

The default in playerbot.conf is 9, which is the current maximum. This governs the maximum number of bots any one player can have online, at any moment.

Remenber, restrictions only apply to players, administration accounts can use bot(s) freely.

EDIT: I have now merged the current portal code with that on blueboy. I have also fixed several compile issues, brought about by recent 'ChatHandler' changes in the core.

Hope this helps

Posted

Hi Guys,

I've just added the neat 'command order' acknowledgement patch, to both repos. It works well and is a definite improvement. Thanks to cyberium ;)

Hope this helps

Posted

That is neat. Something I mentioned/asked for last week. Didn't think I'd see it. lol Thanks to the both of you.

Edit: Btw Blue which repo should we be pulling from, just your mangos?

Posted
That is neat. Something I mentioned/asked for last week. Didn't think I'd see it. lol Thanks to the both of you.

Edit: Btw Blue which repo should we be pulling from, just your mangos?

Hi,

Motto: Keep the customers satisfied ;)

It's your choice which repo you use. The blueboy repo holds the release code that has been tried and tested (most stable). If you want to try out new features that we are currently testing, by all mean use portal. kyle1 (aka chelobaka) also posts test code on branches off portal, so check those out too. We would be grateful for any feedback, on the test code.

Cheers

Posted

Hi.

I've just pushed new branch to portal called temp-enchantments. New code lets using items on another equipped items, which can be used by rogues with poisons, warlock with stones and so on. Right now there is an updated warlock AI which creates and uses firestones on bot's weapon.

Posted
Hi.

I've just pushed new branch to portal called temp-enchantments. New code lets using items on another equipped items, which can be used by rogues with poisons, warlock with stones and so on. Right now there is an updated warlock AI which creates and uses firestones on bot's weapon.

Hi,

Your on fire :D Can't wait to try this and the 'delocalized-spells' out. Great work.

Cheers

Posted
Blueboy are you going to merge the 'delocalized-spell' in your portal repo too?

Hi,

The short answer to this is, YES. I'm just testing the 'delocalized-spells' branch at the moment and it appears to work fine. It shouldn't be too long before the merge.

Cheers

Posted

Hi.

For a long time I experienced jerky bot movements when bot follows for 2 seconds and stays the same amount of time. After some research I made a hack which refreshes follow mode in each AI update, and bots started to follow master almost without interruption.

Today I run the server on a slow celeron based PC and was surprised when bots followed master without any hacks. There is ~0.3 second pause in movement each AI tick, but bots do not fall behind generally. Both my systems run Ubuntu Lucid Lynx, the only difference is that first one is 64-bit and second is 32-bit.

Did anyone has the same problem as I, and what system was that?

Posted
Hi.

For a long time I experienced jerky bot movements when bot follows for 2 seconds and stays the same amount of time. After some research I made a hack which refreshes follow mode in each AI update, and bots started to follow master almost without interruption.

Today I run the server on a slow celeron based PC and was surprised when bots followed master without any hacks. There is ~0.3 second pause in movement each AI tick, but bots do not fall behind generally. Both my systems run Ubuntu Lucid Lynx, the only difference is that first one is 64-bit and second is 32-bit.

Did anyone has the same problem as I, and what system was that?

Hi,

I can't say that I have noticed any jerky movement when the bot(s) follow. I noticed that you have updated portal, to prevent the bot(s) teleporting as the player flies. Good idea! You say that your running your server on a slow celeron base pc, but then you say that both your system run on Ubuntu, 64bit and 32bit. Have you got two servers or is your client the 64bit pc and the celeron the 32bit? My server and clients are 32bit dual Xeon boxes and the only 'jerkiness' is caused by wow addons that I use.

I spent yesterday testing the 'delocalized-spells' branch. You've made alot of changes, so forgive me if I missed something. There is obviously more to the change than just switching from language restricted spells to enum spellids.

WOW! what a contrast. I've been trying to assault the 'Stockade' instance in Stormwind for days. My guild group was sadly 'ineffectual', all dying quite quickly.

Warrior

Hunter

Rogue

Priest

Warlock

They were no match for the stockade prisoners and could only get so far, before withdrawl due to item damage.

I then tried your patch and the group is now kickass :D. They cut through the hostiles like a hot knife through butter. I completed the assault in the first try and I didn't experience any issues :cool:

Do you want to merge the branch with portal or shall I do so. I get the feeling from replies, that the code will only be fully tested by others, once it has been merged with portal

Cheers

Posted

I use 64-bit dual core Linux system at home. Client is being run on the same machine with server via Wine, sometimes there are two clients running, cos I have multiseat setup. Today I used another Linux PC for server and Windows PC for client. I need to research this issue more.

Regarding delocalized-spells, I will merge it to master today. The only class AI that received changes was priest. It had some "logic" in spell init phase and I had to remove it. The cause of the change you noticed are normally working class AIs, using top ranks of spells known to bots. There are simply no other reasons for that. I wonder how many spells do init correctly by their names now? :)

Posted

i experience the "lag" ,as they call it, as well on Win7 x64,

processor = Intel Core I7 920 @ 4.2 Ghz with HT enabled, CPU usage is below 10% with core and WoW running on the same pc

Kyle, you said you did NOT experience it on a slow single-core celeron...? perhaps the faster the PC the more lag you encounter...not sure though :)

Will check the "follow" code for any possible issues although i think Kyle has more experience with C++ looking at his commits :o

Posted

I have found the source of jerky movement. There are two actually.

First one is MovementUpdate() method. When called it makes bot to slow down a little and speed up again without stops. I'd like to do more tests to decide if we really need it today, cos bots work without it.

Second one is CastSpell() which is called a lot of times by class AI in the end of UpdateAI(). It has MovementClear() call within. Well, when my warlock bot casted all his buffs, he follows master without stops, but if master mounts, bot mounts too and loose some of his auras while being mounted. It makes him to call CastSpell() several times each AI update. The result: 2 seconds of following master, 2 seconds of resting.

I hope to fix it in near future, so stay tuned :)

UPD: I have fixed mounted movement interruptions in portal master. I still want more tests on MovementUpdate() calls, but bots shouldn't fall behind anymore. If they still do, then set debuglevel = 3 and look into log for something like:

Bot movement reset for casting Detect Invisibility (132)

when your bot stops, and post this info here. I just can't check all class AIs by myself ...

Posted

don't know the code very well ( at line 521 of shamanAI i didn't found an cast or so. but i think its this line(520):

Player *tPlayer = sObjectMgr.GetPlayer(uint64 (itr->guid));

maybe it would be enough to change it to :

Player *tPlayer = sObjectMgr.GetPlayer(itr->guid);

Posted

Hi,

Thanks for the info on these core changes. Yes, not a problem. FeRkEl is quite correct. They have been making changes to standardise function calls to use 'ObjectGuid' rather than 'uint64.

Obviously I will be updating both repos shortly, but in the meantime here is what needs changing

Simply remove the 'uint64()' cast for calls to GetPlayer();

Player *tPlayer = sObjectMgr.GetPlayer(uint64 (itr->guid));

to

Player *tPlayer = sObjectMgr.GetPlayer(itr->guid);

in the following files

PlayerbotDruidAI.cpp @ line 666

PlayerbotMageAI.cpp @ line 373

PlayerbotPaladinAI.cpp @ line 434

PlayerbotPriestAI.cpp @ line ~437

PlayerbotShamanAI.cpp @ line 521

They have also renamed the function GetLeaderGUID(), used in PlayerbotAI.cpp @ line ~679

Player* const inviter = sObjectMgr.GetPlayer(grp->GetLeaderGUID());

to

Player* const inviter = sObjectMgr.GetPlayer(grp->GetLeaderGuid());

Hope this helps

Posted

I did not realize functions were case-sensitive in C++. I know they are in Java, but I thought the C++ compiler would interpret GetLeaderGUID to be the same as GetLeaderGuid.

Now I'm confused! :S

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use