Hey guys N8t3D0gg again, this time I wanted to go over Amakna's security features implemented into the game to "prevent" botting and how to get around them. This will be fairly simple as Amakna has done a really bad job at it quite honestly.
Many of you may be familiar with SCAR's FindColorTolerance procedure, and if you are not, it is just like the FindColor procedure but gives you the option to express a color tolerance (if you don't know what color tolerance is google it

). This procedure was added to SCAR to get around one of RuneScape's Anti-Botting measures which causes the games colors to change by a small margin.
Amakna copied this security feature and increased the margin by which the colors change. They increased it by such a large amount that it renders the FindColorTolerance procedure useless because the tolerance would need to be set so high to capture all the color possibilities that SCAR would mistake other objects on the screen as the desired target.
To get around this we need to be specific! We need to tell SCAR
exactly what colors to look for. Lets look at an example :
Say we are creating a script that farms wheat. So lets select our wheat color.

I normally like to go with the brown part of the plant just because its easy to distinguish, but you could choose any part of the wheat plant so long as you keep track of the co-ordinates at where you selected it.
So using the color picker tool I'm given the information :
Color Picked: 614299 at (182, 597)
So lets add this to our function that will identify our wheat.
CODE
function wheat_exists : boolean;
begin
if(FindColor(x, y, 614299, 0, 0, 1024, 768))then result:= true
end;
Now comes the fun part. This consumes MOST of my time when scripting. Dofus changes color shades a total of 10 times! So throughout the day AND night you'll need to log on and check to see if the color at our co-ordinates (182, 597) has changed from 614299 and add it to the function.
Eventually your function will look like...
CODE
function wheat_exists : boolean;
begin
if(FindColor(x, y, 614299, 0, 0, 1024, 768)) or if(FindColor(x, y, 2nd Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 3rd Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 4th Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 5th Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 6th Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 7th Color 0, 0, 1024, 768)) or if(FindColor(x, y, 8th Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 9th Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 10th Color, 0, 0, 1024, 768)) or if(FindColor(x, y, 11th Color, 0, 0, 1024, 768))then result:= true
end;
Now your script will accurately find the wheat at all times.
**REMEMBER** 10 is the magic number!Okay, so we now know that the color display on Dofus changes 10 times. Not everything displayed actually changes colors however! This is critical to know as well as it will spare you from a lot of headaches.
Take a look at this image :

Everything contained in the red boxes does
not change color. This includes monsters, npcs, your character, other characters, any pop up windows such as your inventory or a level up message, and items.
The most important things for us, way points, plants, trees, water, ore
do change color.
Hope everyone is able to take something from this short tutorial.
Happy Scripting!

UPDATED:
** Characters and Monsters are effected by the color change!**