Jump to content

Playerbot (archive)


Recommended Posts

Hi all Have been busy updating playerbot classes.

@Runsttren I have tried your new code and it just did not work ...sorry

@Collinsp I have went a different way i want less code not more... sorry

You guys rock, I just believe in keeping it simple. Thank you.:)

I have updated my git to mangos 8131 and compiles fine and working great and yes you can duel and not crash. I also added thorazi code to it, So now both side's can party again.:)

git://github.com/winslow/Playerbot.git

Link to comment
Share on other sites

  • Replies 1.8k
  • Created
  • Last Reply

Top Posters In This Topic

We know that currently Mount is store in pet slot as spell for character

If we do GetSpellMap(), yes, we can find the mount stored in the spell map.

However, is there a way to determine the spell is "mount"? Like a flag says _MOUNT or something similar

Or, is there a slot map for mount (in pet panel)?? I look through mangos and can't find such as thing

You know, currently mount is not working for BOT for 3.x.x ....

Link to comment
Share on other sites

Mangos crashes by doing duell...

Revision: * * 8135 be75f11a8a72654fbaf8ea050b0be00a2a105786
Date 6:7:2009. Time 15:54 
//=====================================================
*** Hardware ***
Processor: Intel(R) Pentium(R) D CPU 2.80GHz
Number Of Processors: 2
Physical Memory: 1047032 KB (Available: 112492 KB)
Commit Charge Limit: 2095608 KB

*** Operation System ***
Windows Vista or Windows Server 2008 Professional (Version 6.1, Build 7100)

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  007BF58A 01:003BE58A C:\\Users\\Stefan\\Desktop\\Mangos Server (Patch  3.1.3) (23.06.2009)\\Core\\mangosd.exe

Registers:
EAX:0B5AAAB8
EBX:19B5E1B0
ECX:00000000
EDX:00000000
ESI:00000000
EDI:00924CC0
CS:EIP:001B:007BF58A
SS:ESP:0023:03C74780  EBP:03C747A4
DS:0023  ES:0023  FS:003B  GS:0000
Flags:00010246

Call stack:
Address   Frame     Function      SourceFile
007BF58A  00000000  PlayerbotAI::DoNextCombatManeuver+2A
007C1CCD  00000000  PlayerbotAI::UpdateAI+66D
004D1049  00000000  Player::Update+229
004ACD79  00000000  Map::Update+D9
00669A9A  00000000  MapManager::Update+17A
0064531E  00000000  World::Update+7EE
0043861E  00000000  WorldRunnable::run+8E
00924CD7  00000000  ACE_Based::Thread::ThreadTask+17
6BE214D4  00000000  __WSAFDIsSet+FFFFFFFFFFFCC45C
6FDD3433  00000000  _endthreadex+44
6FDD34C7  00000000  _endthreadex+D8
761710DC  00000000  BaseThreadInitThunk+12
77D21E9E  00000000  RtlProcessFlsData+D3
77D21E71  00000000  RtlProcessFlsData+A6

Call stack:
Address   Frame     Function      SourceFile
77D08244  00000000  KiFastSystemCallRet+0
7616EF63  00000000  WaitForSingleObjectEx+43
7616EF12  00000000  WaitForSingleObject+12
6BDD9C64  00000000  __WSAFDIsSet+FFFFFFFFFFF84BEC
6BE464DA  00000000  __WSAFDIsSet+FFFFFFFFFFFF1462
6BE4269F  00000000  __WSAFDIsSet+FFFFFFFFFFFED627
0066624A  00000000  WorldSocketMgr::Wait+4A
198C7D3C  00000000  0000:00000000 
198C7D3C  00000000  0000:00000000 
6C696146  00000000  

Link to comment
Share on other sites

Hey cant wait to try your bot out

But could one be so kind to help a noob (with a terrible toothache,so not in the mood for searching) out,

byt telling me wich line i must use for GIT Bash

====git pull git://github.com ???????????

didnt see it so far on these pages

Thanks in advance for any inpute given :)

Keep up the good work cheers

Link to comment
Share on other sites

@rrtn Thank you I -added mangos_command_bot.sql for gm level toggle to my branch, I have not been using the other branch. Will added some of what you did to mine when i get a chance. Sorry :(

Also i have been trying to figure out how to get the bots to stay passive or defensive. :confused:

Also merged mine to mangos 8165

But could one be so kind to help a noob (with a terrible toothache,so not in the mood for searching) out,

byt telling me wich line i must use for GIT Bash

====git pull git://github.com ???????????

didnt see it so far on these pages

Look at my Signature below:) There are 2 branches.

Link to comment
Share on other sites

Look at my Signature below:) There are 2 branches.

Yer i might have noticed it sooner or later, the fact however is been struggling with a terrible toothache, and finaly got helped by the dentist this afternoon.

So thats why i wasnt looking properly, and also just got into the compiling learning bizznizz, so alot of info is coming towards me the past few days :)

Last thing i want to thank everybody contributing to this project, got it up and running and the ppl i know from retail (yeah we are all hardcore retailers:) ) just couldnt believe there eyes

Amezing job, we where really in a speechless state this afternoon

Link to comment
Share on other sites

Our community has been testing your patch extensively Winslow, and I must say I'm very impressed with the new results! We haven't experienced a crash yet...

One small thing though, we're testing the bots behaviour in a raid with other human players controlling their own set of bots.

In this scenario we have problems with 'summoning' the bots in instances. You have to be the raid leader in order to be able to summon your bots. The current solution is simple: switch raid leader position between the human players.

However, this has to be done everytime when some bot or player dies, when bots follow badly, ... and many other situations.

Now I was wondering if there was any way to handle this in the patch itself?

Thanks for all your hard work!

Porsj

Link to comment
Share on other sites

Hi guys... sorry for not being around last 2 weeks. Had a little jaw surgery and afterwards I got ill for some days. Also the reason I missed some progress here.

@Winslow: You wrote my code is not working at all. What exactly do you mean?

@rrtn: Will investigate the problems you mentioned. Could be that there are some null pointer glitches here and there :P What do you exactly mean with odd bot movement?

Ok mates going tol pull last version and play around with it.

Link to comment
Share on other sites

@Runsttren - the odd bot movement is sometimes when they follow they do not run but instead they stay in stand state and just appear behind to as you run. basically it looks like the bots teleport every 10 meters or so instead of running. i have seen this same scenario before when i was compiling the 310 mangos branch(when it was in dev still), if i added a custom patch designed for mangos 3.0.9 builds and if you didnt change this: MOVEMENTFLAG_WALK_MODE(old) to this: MONSTER_MOVE_WALK(current) you would see the exact same behaviour. i know those changes have nothing to with your commit its only an example where ive seen the same creature movement. i did try a few changes/rewrites of your commit but i got no where :( your c++ skills are much greater than mine so im sure this would be easy for you. please understand this not a complaint! i love what you and others are doing to playerbot :) im only trying to help.

@Tiburan1 - that is not a bug at all that is a part of mangos security. bots are = to player status so if you log in as a character(gm level) do a .learn all_myclass or .learn all_mytalents your are now a gm level so now when you log out to recruit that character(player level) as a bot the security kicks in(it assumes your cheating) and wipes out your talents(i.e. a lvl 80 cant have more than 71 talent ponits). use this patch i made to disable that security feature so you keep your maxed out bots :)

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index b2f339a..04f58ab 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -2586,7 +2592,7 @@ void Player::InitTalentForLevel()
            SetFreeTalentPoints(0);
        }
    }
-    else
+/*    else
    {
        uint32 talentPointsForLevel = CalculateTalentsPoints();

@@ -2602,7 +2608,7 @@ void Player::InitTalentForLevel()
        else
            SetFreeTalentPoints(talentPointsForLevel-m_usedTalentCount);
    }
-
+*/
    if(!GetSession()->PlayerLoading())
        SendTalentsInfoData(false);                         // update at client
}

now what is a bug...unless someone can explain this one to me :)

why does recruiting a bot reset all achievements?

Link to comment
Share on other sites

merged to 8177

@rrtn thank you i have updated my branch with your updates.

Druid

Shaman

Warlock

Priest

Hunter

If you have noticed we added rezzing to the druid and shaman, paladin. on mine.

Will look at the death knight but we just updated and it is working really good but that dose not mean we cant added more.

@Tiburan1

Does anyone else experience talent resets as soon as one recruited there characters as bots?

Not yet.

@Runsttren

@Winslow: You wrote my code is not working at all. What exactly do you mean?

We tried every thing to get it to work gave up, I know you are just starting the co order combat so it might need more stuff added.

Like rrtn said you are way better at coding then we will be at least better then me i am a noob.

Also i have been trying to figure out how to get the bots to stay passive or defensive.:confused:

If anyone can figure that out it would be great.:)

Link to comment
Share on other sites

merged to 8177

@rrtn thank you i have updated my branch with your updates.

Druid

Shaman

Warlock

Priest

Hunter

i noticed you forgot an important fix in your commit

-fixed shaman & druid cast heals on corpses

Player *tPlayer = objmgr.GetPlayer(uint64 (itr->guid));
-            if( !tPlayer )
+            if( !tPlayer || !tPlayer->isAlive() )
                continue;

apply that to the druid & shaman AI ;)

check out the new dk he is much better/smarter now ^_^

the rezz for priest never worked for me and if he actually casted it i get a crash...so it working for you?

i too am working on my own playerbot branch. a "back to basics/stable" branch: no looting, no questing just follow and fight :D

Link to comment
Share on other sites

@rrtn: Ok the weird movement is cause bots are same as players. And player class is never setting the monster movement flag anywhere. But this flag is needed to let the unit appear to run, walk backward, etc. Think we have to implement it on our own for the PlayerbotAI class. Somehow we should check howthe bot is moving and set the movement flag to the correct state...

@winslow: Ah ok. I think you mean that the bots are not acting on given combat orders? This is cause the AI for this part is not yet implemented. There are 'just' the basic control functions. I was still thinking about how to implement it in a smooth and easy way :) But! The movement orders should work as expected? Means: on '/p stay' or point emote at all/single bot(s) they stay where they are and wait to get enemies in attack range. On follow they start following again.

@ALL: Anyone managed/know how to get the maximum attack range based on the combat style type? What I mean is: how can I calculate/get the distance of spells?? This is needed for spellcasters and for hunters. For now I hard-coded 15 yard (or something like this) as the distance. But most spells have a higher range - would be nice if the priest is not in the middle of the action :D

Will see what I can implement the next days. I think for the monster movement flag I have to study the MaNGOS core a bit more...

Cya later alligator!

Link to comment
Share on other sites

@ALL: Anyone managed/know how to get the maximum attack range based on the combat style type? What I mean is: how can I calculate/get the distance of spells?? This is needed for spellcasters and for hunters. For now I hard-coded 15 yard (or something like this) as the distance. But most spells have a higher range - would be nice if the priest is not in the middle of the action :D

Will see what I can implement the next days. I think for the monster movement flag I have to study the MaNGOS core a bit more...

Cya later alligator!

I know most classes have a base A-range of 30 yards which can be extended trough talents to 35 yards and in case of hunters even 40 yards

I think if you stick to 30 yards, ur good to go. Atleast until the bots are smart enough to calculate talents

Link to comment
Share on other sites

Never had one :) but than again i'm only using AH_bot patch and Playerbot patch, i have no idea how things would run if i mixed in more patches

not true. i.e. try this: summon a bot w/ a pet and use the .die command on it. this action = CRASH :mad:

i have got this exact same crash elsewhere(i can tell from the crash report, they are identical) in different scenarios but this is the one constant. i have tested this on playerbot branch w/ NO SD2 & custom patches and UDB 381 w/ NO custom addons, i only updated the db with the standard mangos sql updates...basically a "vanilla" playerbot with a "vanilla" UDB so yes this is a big problem

Link to comment
Share on other sites

not true. i.e. try this: summon a bot w/ a pet and use the .die command on it. this action = CRASH :mad:

i have got this exact same crash elsewhere(i can tell from the crash report, they are identical) in different scenarios but this is the one constant. i have tested this on playerbot branch w/ NO SD2 & custom patches and UDB 381 w/ NO custom addons, i only updated the db with the standard mangos sql updates...basically a "vanilla" playerbot with a "vanilla" UDB so yes this is a big problem

Will check this out later today. Think it's just a glitch in null pointer checks. Should be easy to fix :) Will push it, if solved

[EDIT]:

@rrtn: ok... compiled current MaNGOS/Playerbot without SD2 (accidently) on my win32 machine. Tried exactly what you told me. Summoned my hunter, invited him to group, told him to follow me (to teleport to my location), and used .die on pet while pet was selected as my target. Nothing... also tried to kill the hunter with die. No problem either. Did you do this while fighting or while doing nothing?!??!

[EDIT 1.2]:

@rrtn: nevermind. after some .die commands later - 5 or 6 ... was frustrated :P - the server crashed as you said. will dig in now :D

Link to comment
Share on other sites

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