Page 31 of 38 FirstFirst ... 21 29 30 31 32 33 ... LastLast
Results 301 to 310 of 379

Thread: API Requests

  1. #301
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,654
    Sure, but native will always be faster

    @ChrisC:
    I tried out IsLocationVisible() on neutral spawners and the results aren't always consistent (from my point of view). If my hero is positioned around trees so I can see just one small creep but not "the camp" it will return false (which makes sense since I am prolly checking the spawn actor, which would not be in view so the return is most likely correct), however, I think this could be fixed if you could include an fRadius parameter to specify the radius of the check so we can use it according to our needs. a NULL param of fRadius would result in a default (which you should prolly tell us the value of )

    And to avoid overflows you could set a maximum (maybe the same as the GetNearby*() functions?

    Does anyone have any idea what range the observer ward has ? If IsLocationVisible() is granted an fRadius, it should be able to cover at least a wards' radius I think
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  2. #302
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,654
    OK, related to this, I tried hardcoding the values to the right, unfortunately, I found a bug with DrawDebugText(): if the game resolution is lower than the screen resolution, the text that goes over the expected max size will not be drawn, regardless of me using fullscreen. Or at least that is how it seems to me. Point is, I can't draw to the right past the middle of the screen using hardcoded X values.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  3. #303
    Basic Member
    Join Date
    Dec 2016
    Posts
    121
    API request: better lanefront calculation

    Currently if a wave of creeps is split into 2 or 3 groups(happened very often in side lane, will always happen if support bot learned how to pull camp) The 'lanefront' of this lane will jump between this group, making bot acting weird. A LD bot who use bear to pull enemy waves away will also result in a strange lanefront value(You can lure any enemy bot who use lanefront value for farm to certain place and kill it).

  4. #304
    Basic Member
    Join Date
    Mar 2017
    Posts
    3
    Proper ward placement, shared tangos usage, sell unneeded items, proper item builds (some are outdated). Actually use their gold to buy items (quite a few bots have like 5000 gold and no items). Add more heroes that the bots can play.

    At the moment some bots especially mid bots would almost always go for the enemies bounty rune and then run back to line through the towers (Bot on dire side).

    Would also love if bots are a bit more realistic, I don't mind their reaction time was thinking more in the line of as soon as it its hits 15min or around there they almost always 5man push a lane and wombo combo the life out of u. Whereas my bots are too scared to initiate and never save me or help me.

    Sometimes the bots commit too much as well in a battle, and if they know im going to kill them easily they just run (while im hitting them) without casting their stun and blinking away if they have a dagger.

    Also split pushing is easy stuff vs them: 4 bots pushing bot, I'm top, 5 enemy bots are mid, I hit top tower all 5 enemies tp top while bot pushes out. And if the enemies dont have tp scrolls they just leave their towers defenseless instead of running there.

    I like playing bots games late at night just to chill and learn new heroes wouldn't mind testing a few stuff

  5. #305
    Basic Member
    Join Date
    Oct 2016
    Posts
    160
    some of those things you listed can not really be done by valve because their default builds are not made with disposable items and there are already scripts for this in most custom scripts, wards are getting there in custom scripts, but not perfect yet. shared tangos are also something that would be nice for default bots, but can be written into custom bots easily.

    the rest basically just has to do with the hard / unfair bots being set to play shit by default, to make life harder. This is what i wish they would remove, remove the "i wont do what i am meant to because i am a hard bot" part of the scripts, just make them play better to make it harder.... not play worse, this has always been a really, really shitty thing with the bots.

  6. #306
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,654
    Add a way to determine if an item is unavailable due to swapping between slot types. I noticed that there are moments when swapping in a game that items are instantly available (such as after assembling, after respawn etc.)
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  7. #307
    Quote Originally Posted by Gnomercy View Post
    4 bots pushing bot, I'm top, 5 enemy bots are mid, I hit top tower all 5 enemies tp top while bot pushes out. And if the enemies dont have tp scrolls they just leave their towers defenseless instead of running there.
    I always do this. :P

  8. #308
    Basic Member
    Join Date
    Apr 2015
    Posts
    5
    I have a request for an API being improved: GetMostRecentPing() - the bot can only get it's own past ping location, whereas it would be great if they could get the last ping of the other players/bots in his team.

    This would allow the bots to communicate with eachother or you could communicate with them through pings.

    I wrote code but it doesn't work because that information doesn't get fetched.

    Also current bots do respond to pings, so it makes sense to be able to add it.

  9. #309
    Basic Member
    Join Date
    May 2014
    Posts
    226
    Quote Originally Posted by RamonNZ View Post
    I have a request for an API being improved: GetMostRecentPing() - the bot can only get it's own past ping location, whereas it would be great if they could get the last ping of the other players/bots in his team.

    This would allow the bots to communicate with eachother or you could communicate with them through pings.

    I wrote code but it doesn't work because that information doesn't get fetched.

    Also current bots do respond to pings, so it makes sense to be able to add it.
    I believe you can get recent ping from other team member. So far I make the bot not to pick any runes if human player ping on the nearby rune location that bot will take and make them ignore the rune for 7 seconds, and it works. One thing that little bit confusing me in the beginning is that actually the ping.time is based on the GameTime() not DotaTime(). I just realized it when I tried to print the ping.time. Here is my code
    Code:
    function IsPingedByHumanPlayer(rune)
            local PingTimeGap = 7;
    	local listPings = {};
    	local RLoc = GetRuneSpawnLocation(rune);
    	local ListUnits = GetUnitList(UNIT_LIST_ALLIED_HEROES);
    	for _,unit in pairs(ListUnits)
    	do
    		if unit ~= nil and not unit:IsIllusion() and not IsPlayerBot(unit:GetPlayerID()) and unit:IsAlive() then
    			local ping = unit:GetMostRecentPing();
    			table.insert(listPings, ping);
    		end
    	end
    	--print("NUM PING"..#listPings)
    	for _,p in pairs(listPings)
    	do
    		if p ~= nil and GetDistance(p.location, RLoc) < 1000 and GameTime() - p.time < PingTimeGap then
    			--print( tostring(GameTime()) - p.time) 
    			--print("Pinged")
    			return true;
    		end
    	end
    	return false;
    end
    Last edited by arz_on4dt; 03-25-2017 at 08:40 AM.

  10. #310
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,654
    Please add a neutral param for neutral creeps in TimeSinceDamagedByCreep (bNeutral) and WasRecentlyDamagedByCreep(fTime, bNeutral) so we can handle neutral code as well
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

Posting Permissions

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