Results 1 to 5 of 5

Thread: Having a bot_[bot_name].lua with no Think() still results in full takeover

  1. #1

    Having a bot_[bot_name].lua with no Think() still results in full takeover

    I'm implementing a Shadow Shaman bot - to get his ult working, I need to implement a MinionThink() in bot_shadow_shaman.lua. (Which, for the record, thank you for implementing MinionThink!) But every attempt to do so results in a zombie bot, who buys items and never moves from fountain.

    So I did a little testing - I've got custom ability usage and item purchase files for him, and if I run the bot without a bot_shadow_shaman.lua in the directory, he uses those custom files just fine. (He actually defaults to going mid, and follows those files as he should). But adding even an empty bot_shadow_shaman.lua - with nothing but comments in it - results in SS never walking out of his fountain.

    Worth mentioning that others have noted slightly different behavior when testing MinionThink() - but this is really easy for me to repro, and I'm working on a clean script environment, so there shouldn't be anything else interacting. All I need at the end of the day is a way to command those serpent wards without having to write a full custom Think() to do it.

  2. #2
    Basic Member
    Join Date
    May 2014
    Posts
    270
    I don't know what's wrong with yours, but even I have bot_shadow_shaman.lua in my script folder he's still doing default bot behaviour (do some action, leveling up skills, purchasing items, using skills, etc.). I just want to let you know that shadow shaman sherpent wards now attack unit around it by default without you have to implement MinionThink(), so as the beastmaster boar. The only problem I have is when I implement brewmaster ultimate summons ( moving, attacking, retreating, and cast spells action ). The earth panda seems not attacks any heroes if there is an enemy heroes crowd even though the other does, but still, it casts spells. It will attacks if there is only one enemy hero ( it always attacks enemy creeps, towers, and barracks ), so I just move it to the enemy hero location and it will work. So far I've implemented MinionThink() on Brew and Elder Titan. The only thing that I can't control from all heroes that I've implemented so far is Monkey King ultimate Illusion. Even though I have bot_monkey_king.lua and MinionThink() inside it, THIS MONKEY IS STILL OUT OF CONTROL!! .
    Last edited by arz_on4dt; 01-31-2017 at 02:11 AM.

  3. #3
    Basic Member
    Join Date
    Jun 2013
    Posts
    274
    The ability leveling and item purchasing happens for me even with the Think() added. I pretty much reverted back to the multi-file method to use ItemPurchaseThink() because my bots would always find a way to slip their default item purchases through.
    Though, it seems to vary bot by bot.

  4. #4
    Basic Member
    Join Date
    Jan 2017
    Posts
    7
    This is still broken for me.

    Code:
    function MinionThink( hMinion )
    	if GetTeam() == TEAM_DIRE then
    		local enemyFountain = Vector(-7093,-6542);
    	else
    		local enemyFountain = Vector(7015,6534);
    	end
    	hMinion:Action_AttackMove(enemyFountain)
    	print("MinionThink called successfully")
    	return
    end
    -is the entirety of my override file, and results in zombie-bot. Maybe we just need a command to put in the Think() function DoDefaultBehaviour() when we explicitly don't want it to be overridden?

  5. #5
    Basic Member
    Join Date
    May 2014
    Posts
    270
    Quote Originally Posted by Phyisis View Post
    This is still broken for me.

    Code:
    function MinionThink( hMinion )
    	if GetTeam() == TEAM_DIRE then
    		local enemyFountain = Vector(-7093,-6542);
    	else
    		local enemyFountain = Vector(7015,6534);
    	end
    	hMinion:Action_AttackMove(enemyFountain)
    	print("MinionThink called successfully")
    	return
    end
    -is the entirety of my override file, and results in zombie-bot. Maybe we just need a command to put in the Think() function DoDefaultBehaviour() when we explicitly don't want it to be overridden?
    It's happen to me too, In my brewmaster ultimate.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •