Log in

View Full Version : Recognize Summons



Gordo
01-24-2013, 06:58 AM
ive been botting in thais trolls & rotworms for the longest, and till now i notice that people come and summon trolls and the bot tries to attack them (but obviously cant kill then) so they lured you to the cyclops place , is there a way for the bot to recognize summons?

Xencrypted
01-24-2013, 04:46 PM
Can't you just turn PK mode on? so the bot can just kill the summons as it would a normal troll and keep going? correct me if i'm wrong

DarkstaR
01-24-2013, 05:10 PM
Can't you just turn PK mode on? so the bot can just kill the summons as it would a normal troll and keep going? correct me if i'm wrong

This would work, yes.

Also, the bot recognizes summons but doesn't refrain from attacking them. It also has spotty summon recognition (they must be summoned on-screen). The server sends no different information about summons then it does normal creatures, so they are tricky to detect. I can add the ignoring of summon to targeting, but it will only ignore summons made on-screen. Pretty useless, IMO. People will realize (or read this) and start going off screen.

Gordo
01-24-2013, 05:40 PM
Can't you just turn PK mode on? so the bot can just kill the summons as it would a normal troll and keep going? correct me if i'm wrong
would this work in a non pvp?


This would work, yes.

Also, the bot recognizes summons but doesn't refrain from attacking them. It also has spotty summon recognition (they must be summoned on-screen). The server sends no different information about summons then it does normal creatures, so they are tricky to detect. I can add the ignoring of summon to targeting, but it will only ignore summons made on-screen. Pretty useless, IMO. People will realize (or read this) and start going off screen.
then what do you suggest i do?

Joey
01-25-2013, 12:50 PM
would this work in a non pvp?


then what do you suggest i do?

Never played non pvp, but if you can skill using monks it should work no problem.

Gordo
02-25-2013, 12:52 AM
Bumping this

DarkstaR you think you could implement the bot to recognize on screen summons, thats how the usually lured you, and at the end, its better than nothing.
Now more people are luring you away from spawn, even outside OF, they summon orc bersekers before you get to the spawn and move you to like venore dragons or something, the on screen recognition would help in something. thanks in advance.

Eion
02-25-2013, 11:21 AM
What about the fact that in non pvp it is says constantly "cannot attack this creature"? I really wish this was fixed also. We need a way to avoid targeting summons.


Edit: I just noticed that the bot sees player summons on non-pvp as "walkable". All regular creatures it sees as "blocking". I think this could be used to easily make the targeting avoid summoned monsters on non-pvp.


If Creature.Position = Walkable then
Don't target
End

AnthonyGDI
02-28-2013, 09:37 AM
Ya I agree. The only time my lowbies are having trouble is when someone is luring them with summoned creatures... and just as Eion said, they are walkable so that could be useful.

DarkstaR
02-28-2013, 02:23 PM
What about the fact that in non pvp it is says constantly "cannot attack this creature"? I really wish this was fixed also. We need a way to avoid targeting summons.


Edit: I just noticed that the bot sees player summons on non-pvp as "walkable". All regular creatures it sees as "blocking". I think this could be used to easily make the targeting avoid summoned monsters on non-pvp.


If Creature.Position = Walkable then
Don't target
End

Good call. As someone who hates non-pvp, I never would have realized this. You just fixed this entire issue.

It's a bit more complex than that, obviously, but the idea is the same.

Joshwa534
02-28-2013, 07:28 PM
Good call. As someone who hates non-pvp, I never would have realized this. You just fixed this entire issue.

It's a bit more complex than that, obviously, but the idea is the same.

Is there any intention to add something like this in the future? Its becoming more and more common on non-pvp worlds.

Hendy
02-28-2013, 07:32 PM
Is there any intention to add something like this in the future? Its becoming more and more common on non-pvp worlds.

He will probably do it now, since a decent method has been found.

Eion
02-28-2013, 11:58 PM
DarkstaR, Awesome! I hope to see it implemented in an update soon.

For everyone else... I have managed to make a script that will basically never attack summons on non-pvp (or at least only try for a moment).
It is the closest I could get on my own. It does not rely on "walkable/unwalkable" to judge the summons because Map.IsTileWalkable(x,y,z) returns true even with a creature in the position. Instead the script keeps track of how long a monster has been with in a certain range of you, if you are not attacking anything and it has been on the screen 5+ seconds then it will attempt to attack it, then rechecks to see if it is attacking that exact monster. If it is not attacking that monster then it disable targeting for around 10 seconds allowing your walker to move you away from the "possible summon". This script also has the side effect of attacking any creature that you forgot to add to your targeting list.


function AntiSummonTargeting()
local mob = Self.GetTargets(7) -- 7 is full screen...If using another vocation other than knight, set the range to match your weapon range/monster attack distance otherwise it will fail.
for i = 1, #mob do
_G[i.."_checkforcreaturesummon"] = mob[i]:ID()
end
wait(2000,4000)
local mob = Self.GetTargets(7) --
for i = 1, #mob do
if Self.TargetID() == 0 then
if _G[i.."_checkforcreaturesummon"] == mob[i]:ID() and mob[i]:isAlive() and mob[i]:isReachable() then
setTargetingEnabled(false)
mob[i]:Attack()
wait (25,50)
if Self.TargetID() ~= mob[i]:ID() and mob[i]:isAlive() and mob[i]:isReachable() then
setTargetingEnabled(false)
print("Possible summon detected, targetting has been disabled for a moment!")
wait (4000,8000)
_G[i.."_creature"] = 0
setTargetingEnabled(true)
print("Targetting Enabled!")
else
setTargetingEnabled(true)
end
end
end
end
end

while true do
wait(50)
AntiSummonTargeting()
end

soul4soul
03-07-2013, 12:59 PM
What about the fact that in non pvp it is says constantly "cannot attack this creature"? I really wish this was fixed also. We need a way to avoid targeting summons.


Edit: I just noticed that the bot sees player summons on non-pvp as "walkable". All regular creatures it sees as "blocking". I think this could be used to easily make the targeting avoid summoned monsters on non-pvp.


If Creature.Position = Walkable then
Don't target
End
nice idea, I play nonpvp I should of thought up this method.

looking forward to it being added by darkstar.

Wovimus
03-07-2013, 01:04 PM
DarkstaR, Awesome! I hope to see it implemented in an update soon.

For everyone else... I have managed to make a script that will basically never attack summons on non-pvp (or at least only try for a moment).
It is the closest I could get on my own. It does not rely on "walkable/unwalkable" to judge the summons because Map.IsTileWalkable(x,y,z) returns true even with a creature in the position. Instead the script keeps track of how long a monster has been with in a certain range of you, if you are not attacking anything and it has been on the screen 5+ seconds then it will attempt to attack it, then rechecks to see if it is attacking that exact monster. If it is not attacking that monster then it disable targeting for around 10 seconds allowing your walker to move you away from the "possible summon". This script also has the side effect of attacking any creature that you forgot to add to your targeting list.


function AntiSummonTargeting()
local mob = Self.GetTargets(7) -- 7 is full screen...If using another vocation other than knight, set the range to match your weapon range/monster attack distance otherwise it will fail.
for i = 1, #mob do
_G[i.."_checkforcreaturesummon"] = mob[i]:ID()
end
wait(2000,4000)
local mob = Self.GetTargets(7) --
for i = 1, #mob do
if Self.TargetID() == 0 then
if _G[i.."_checkforcreaturesummon"] == mob[i]:ID() and mob[i]:isAlive() and mob[i]:isReachable() then
setTargetingEnabled(false)
mob[i]:Attack()
wait (25,50)
if Self.TargetID() ~= mob[i]:ID() and mob[i]:isAlive() and mob[i]:isReachable() then
setTargetingEnabled(false)
print("Possible summon detected, targetting has been disabled for a moment!")
wait (4000,8000)
_G[i.."_creature"] = 0
setTargetingEnabled(true)
print("Targetting Enabled!")
else
setTargetingEnabled(true)
end
end
end
end
end

while true do
wait(50)
AntiSummonTargeting()
end


And this works also in pvp server? cause I'd rather use this than bot with pk mode on, think it's too risky.

Eion
03-07-2013, 04:38 PM
This should work in pvp but you have to make sure you have your PVP safety thing on so that you do not attack people accidentally. The reason for this is because it tries to attack ANY creature/monster/summon which has been on the screen for more than a few seconds as long as you are not targeting it or another creature already. It can then tell if it is a summon by the fact that you tried to attack it, It will be either be targeted by you, dead, or alive with no target (summon).

DarkstaR
03-07-2013, 06:22 PM
Eion, you seem to be the first person I've seen effectively manipulate global scope in that manner, besides me and Syntax.

You seem to know your way around lua. Please play in the next round of code golf, if that comes.

Syntax
03-07-2013, 06:34 PM
I concur.

Wovimus
03-08-2013, 02:49 AM
This should work in pvp but you have to make sure you have your PVP safety thing on so that you do not attack people accidentally. The reason for this is because it tries to attack ANY creature/monster/summon which has been on the screen for more than a few seconds as long as you are not targeting it or another creature already. It can then tell if it is a summon by the fact that you tried to attack it, It will be either be targeted by you, dead, or alive with no target (summon).

So this script will atk any creature who stand for more than 10 seconds in the screen... Mmmm then if there is afker random white skull or red skull while I'm going dp or just in the spawn, I will take yellow on them?

Eion
03-08-2013, 04:26 AM
Why don't you get on a noob character and test it? It would be a lot faster than asking. I did not design this for pvp, and I don't play pvp.

The script only attacks creatures, It will not attack a player/NPC. But I guess it would go yellow skull while attacking another players(with skull) summons. How often do you see a skull marked player walking around with summons? Also wouldn't the bot naturally attack a skulled players summon if it was on your targeting? I don't have any good ideas for effectively determining whether a creature is a summon or not on PVP. You need to be able to find a difference that you can manipulate and attacking them on PVP isn't the best route.

ogwako
03-08-2013, 06:29 AM
can you make this so i can download it, im tryin to copy and paste but its writin everything down on one line :(

Ilwy
04-27-2013, 10:23 PM
I'm having problems with dragon hatchlings being summoned by nearby lizards at zao dl's do you reckon this would work (I'm on one of the preview servers so taking skull shouldn't be a problem hence dove mode). Otherwise does anyone know any other way around attacking those dragon hatchlings who are being resummoned almost instantly after being killed?

kopper
04-27-2013, 10:31 PM
Set their priority to low or lower than that... it'll target other things before them unless stuck

Ilwy
04-27-2013, 10:54 PM
That doesn't make any differense, it's running through a couple of lizards like lizard priests and such when running between spawns and its killing the hatchlings summoned by the lizard dragon priest or w/e they are called and they resummon them quickly

Eion
05-01-2013, 01:23 AM
That doesn't make any difference it's running through a couple of lizards like lizard priests and such when running between spawns and its killing the hatchlings summoned by the lizard dragon priest or w/e they are called and they resummon them quickly

This has nothing to do with this thread.
Just as kopper (http://forums.xenobot.net/member.php?451-kopper) said,

Set the priority to Lizard Dragon Priest in your targeting to HIGH. Then set the priority for hatchlings to LOW.

thorekz
06-03-2013, 03:23 AM
DarkstaR, Awesome! I hope to see it implemented in an update soon.

For everyone else... I have managed to make a script that will basically never attack summons on non-pvp (or at least only try for a moment).
It is the closest I could get on my own. It does not rely on "walkable/unwalkable" to judge the summons because Map.IsTileWalkable(x,y,z) returns true even with a creature in the position. Instead the script keeps track of how long a monster has been with in a certain range of you, if you are not attacking anything and it has been on the screen 5+ seconds then it will attempt to attack it, then rechecks to see if it is attacking that exact monster. If it is not attacking that monster then it disable targeting for around 10 seconds allowing your walker to move you away from the "possible summon". This script also has the side effect of attacking any creature that you forgot to add to your targeting list.


function AntiSummonTargeting()
local mob = Self.GetTargets(7) -- 7 is full screen...If using another vocation other than knight, set the range to match your weapon range/monster attack distance otherwise it will fail.
for i = 1, #mob do
_G[i.."_checkforcreaturesummon"] = mob[i]:ID()
end
wait(2000,4000)
local mob = Self.GetTargets(7) --
for i = 1, #mob do
if Self.TargetID() == 0 then
if _G[i.."_checkforcreaturesummon"] == mob[i]:ID() and mob[i]:isAlive() and mob[i]:isReachable() then
setTargetingEnabled(false)
mob[i]:Attack()
wait (25,50)
if Self.TargetID() ~= mob[i]:ID() and mob[i]:isAlive() and mob[i]:isReachable() then
setTargetingEnabled(false)
print("Possible summon detected, targetting has been disabled for a moment!")
wait (4000,8000)
_G[i.."_creature"] = 0
setTargetingEnabled(true)
print("Targetting Enabled!")
else
setTargetingEnabled(true)
end
end
end
end
end

while true do
wait(50)
AntiSummonTargeting()
end




23:22 XenoScript Error:
Script: Antisummons.lua
Line #: 16
Chunk: C:?Users?Windows?Documents?XenoBot?Scripts?Antisum mons.lua
Error: ')' expected near 'highlight'
This is an error with user-input and should not be reported as a bug with XenoBot.

thorekz
06-03-2013, 03:41 AM
Nevermind, i just deleted the highlight summon word thing and its working. gonna try and feedback tomorrow!