TroisVerites Posted March 7, 2012 Share Posted March 7, 2012 HI All, Here we talk how to detect monsters on the map. 1) How to detect it by Bmp ? Here you can post the Bmp String and dimension for each monster and comment what is is ? (Serena , Trankus ) and where is the head of monster ( NE , NW , SW , SE = North East , North West , South West , South East ). 2) How to detect it By Color ? Here you can post the color and tolerance for each and comment what is is ? Quote Link to comment Share on other sites More sharing options...
opiumhautopium1 Posted March 7, 2012 Share Posted March 7, 2012 (edited) hmm to detect by bmp is a bad way because zoom function detect by color is bad too because it is nearly impossible to find a single color for all zoom functions for eatch monster but there is a way to find monster first rotate with find next target button ..... if attacker button is glowing it is a player a npc or monster if groupfield is emty it is a npc or monster to ident npc or monster u can use a rocket ..... if rocket and attacking is glowing it is a npc if rocket glowing false and attacking true than it is a monster i use this way if i shoot npc in passing on map u can use this too at krakenmap ^^ Edited March 7, 2012 by opiumhautopium1 Quote Link to comment Share on other sites More sharing options...
TroisVerites Posted March 7, 2012 Author Share Posted March 7, 2012 Thanks opiumhautopium1 I will put an algorithm to help others...with functions Name etc ...and perhaps a procedure . Quote Link to comment Share on other sites More sharing options...
opiumhautopium1 Posted March 7, 2012 Share Posted March 7, 2012 (edited) ^^ like function Rocket_Leuchtet :boolean; var TY,t: Integer; begin t:=0; FindAttacker; sendkey(ziel); sendkey(reparieren); writeln('KontrollpunktRocketLeuchtet'); result:=false ; if (FindBitmapTolerance(RocketLeuchtet, xx, yy, 25)=false) then begin repeat inc(t); writeln(t); if t>100 then exit; sendkey(ziel); wait(80); // writeln('KontrollpunktRocketLeuchtetSchleife'); {for TY:=0 to 1 do if (Findcolortolerance(x,y,TargetYellow[TY],skx1, sky1, skx2, sky2,5)=true)then begin movemouse(x,y); end;} until FindBitmapTolerance(RocketLeuchtet, xx, yy, 25) and FindBitmapTolerance(attack, xx, yy, 25) if (FindBitmapTolerance(blockieren, xx, yy, 25)=true) then begin writeln(' blockieren gefunden: '+inttostr(xx)+' /'+inttostr(yy)); nx1:=xx-5; ny1:=yy-35; nx2:=xx+130; ny2:=yy-20; end else exit; wait(100); if (Findcolortolerance(x,y,group_namecolor,nx1,ny1,nx2,ny2,group_namecolor_tolerance)=false)then begin result:=true; writeln('ziel gültig keine weiße schrift im gruppenfenster'); end else result:=false; exit; end; writeln('KontrollpunktRocketLeuchtet...ende'); end; may be it help u a little^^ TargetYellow:=[121594,2129277]; Edited March 7, 2012 by opiumhautopium1 Quote Link to comment Share on other sites More sharing options...
TroisVerites Posted March 7, 2012 Author Share Posted March 7, 2012 Hi, opiumhautopium1, What do you call rocket in seaFight ? What is the two values , you put in TargetYellow[] Thanks ---------- Post added at 09:23 PM ---------- Previous post was at 08:22 PM ---------- [sCAR] program TEST; var gRocketLeuchtetBmp: integer; gAttackBmp: integer; Function Btn_Rocket_IsOn():boolean; var x,y:integer; begin Result := FindBitmapTolerance(gRocketLeuchtetBmp, x, y, 25); end; Function Btn_Attach_IsOn():boolean; var x,y:integer; begin Result := FindBitmapTolerance(gAttackBmp, x, y, 25); end; function Rocket_Leuchtet :boolean; var TY,t: Integer; begin t:=0; FindAttacker; sendkey(ziel); sendkey(reparieren); writeln('KontrollpunktRocketLeuchtet'); result:=false ; if (Btn_Rocket_IsOn() = false) then begin // Search until we find a target (Monster). repeat inc(t); writeln(t); if t>100 then exit; sendkey(ziel); wait(80); // writeln('KontrollpunktRocketLeuchtetSchleife'); until ( Btn_Rocket_IsOn() and Btn_Attach_IsOn() ) // Comments if (FindBitmapTolerance(blockieren, xx, yy, 25)=true) then begin writeln(' blockieren gefunden: '+inttostr(xx)+' /'+inttostr(yy)); nx1:=xx-5; ny1:=yy-35; nx2:=xx+130; ny2:=yy-20; end else exit; wait(100); // Comments if (Findcolortolerance(x,y,group_namecolor,nx1,ny1,nx2,ny2,group_namecolor_tolerance)=false)then begin result:=true; writeln('ziel gültig keine weiße schrift im gruppenfenster'); end else result:=false; exit; end; writeln('KontrollpunktRocketLeuchtet...ende'); end; begin end. [/sCAR] I made some modification to understand. Need a little work. Quote Link to comment Share on other sites More sharing options...
opiumhautopium1 Posted March 7, 2012 Share Posted March 7, 2012 (edited) picture and targetyellow addet u have to change a little because this funktion seartch for npc if rocket glowing is true ^^ and // FindAttacker; Edited March 7, 2012 by opiumhautopium1 Quote Link to comment Share on other sites More sharing options...
TroisVerites Posted March 8, 2012 Author Share Posted March 8, 2012 Hi opiumhautopium1 I don't understand something. I have the rocket button in my toolbar, but it never change when I have a target ( monster / boat / npc ) , even i come near the target. The button attack is on only if I am near the target. Quote Link to comment Share on other sites More sharing options...
opiumhautopium1 Posted March 8, 2012 Share Posted March 8, 2012 (edited) if u press next target button are three options 1)groupfield with text attack glowing rocket glowing.......... = Player 2)groupfield empty attack glowing rocket glowing................= Npc 3 groupfield emty attack glowing rocket normal ..................= Monster [ATTACH=CONFIG]352 353[/ATTACH] look at pictures ^^ function Rocket_Leuchtet :boolean; var TY,t: Integer; begin t:=0; sendkey(ziel); /// next target button normaly n sendkey(reparieren); //// repair if ship is not full writeln('KontrollpunktRocketLeuchtet'); result:=false ; if (FindBitmapTolerance(RocketLeuchtet, xx, yy, 25)=false) then // rocket glowing =false then begin repeat inc(t);// counter writeln(t); if t>100 then exit; sendkey(ziel); wait(80); // writeln('KontrollpunktRocketLeuchtetSchleife'); // sentkey next target button (normaly n) and wait a little {for TY:=0 to 1 do if (Findcolortolerance(x,y,TargetYellow[TY],skx1, sky1, skx2, sky2,5)=true)then begin movemouse(x,y); end;} until FindBitmapTolerance(RocketLeuchtet, xx, yy, 25) and FindBitmapTolerance(attack, xx, yy, 25) // ident Npc look 3 options Npc if (FindBitmapTolerance(blockieren, xx, yy, 25)=true) then // ident Npc look 3 options // group system begin writeln(' blockieren gefunden: '+inttostr(xx)+' /'+inttostr(yy)); // ident Npc look 3 options // group system nx1:=xx-5; ny1:=yy-35; nx2:=xx+130; ny2:=yy-20; // ident Npc look 3 options // group system end else exit; wait(100); if (Findcolortolerance(x,y,group_namecolor,nx1,ny1,nx2,ny2,group_namecolor_tolerance)=false)then // area in group system look is text in groupsystem=false begin result:=true; writeln('ziel gültig keine weiße schrift im gruppenfenster'); end else result:=false; exit; // if text is in groupsystem exit loop end; writeln('KontrollpunktRocketLeuchtet...ende'); end; Edited March 8, 2012 by opiumhautopium1 Quote Link to comment Share on other sites More sharing options...
TroisVerites Posted March 8, 2012 Author Share Posted March 8, 2012 (edited) HI opiumhautopium1 I am sorry , but I don't find your rocket ? Is it something to buy ? Where ? what kind of item ? Thanks for your time Edited March 8, 2012 by TroisVerites Quote Link to comment Share on other sites More sharing options...