HI Leute,
ich hab ein altes BM Script gefunden.
Ich weiß, das ist der Phönix BM Bot.
Bei mir geht der leider nicht mehr, vlt bei einem von euch oder es findet sich einer, der den umschreibt und für alle frei zur Verfügung stellt.
Das Script war besser als der Ultimate BM Bot.
// when you start the bot -> dont have a target(glowing attack button = error)
// when you start the bot -> dont are in a fight (glowing attack cancel button =error)
// when you start the bot -> dont repair (repair symbol button =error)
NPC_abstand_zu_meinschiff:=4; // set up the range (1 - 4) for drive away when enemeys gets close to your ship
Ladezeit_BM:=13000; // set up the time to wait when the ship starts a bonusmap
starteBM:=1; // set to 1 will start bonusmap auto (1 is needed for sever restart), 0 off
allowreppdistance:=30; // bei "allowreppdistance" abstand an pixeln zu den Npcs auf der minimap starte ich repparieren
// allowreppdistance:= how man pixels should an orange npc on the minimap
// be away from my ship (green pixel) to start repairing
stoppreppdistance:=6; // bei "stoppreppdistanz" abstand an pixeln zu den Npcs auf der minimap beende ich reparieren
//////////////////// set up the keys to take control
//// IMPORTANT TO SET UP zentrieren RIGHT !!!!!!!!!!!!!!!
zentrieren:=32; // set up the key to center map over your shipto SPACE key or switch the number with an VB keycode
// if you need an other keycode -> google VB keycode table
hoch:= 'w'; // up key
runter:= 's'; // down key
links:= 'a'; // left key
rechts:= 'd'; // right key
angrifff:= 'f'; // attack key
reparieren:= 'q'; // repair key
gegner_durchschalten:= 'n'; // switch to next target key
kurs_setzen:= 'v'; // drive key (v-kordi)
BM_slot_1:='8'; // set the number of the slot (bot tries to start this bonusmap first)
BM_slot_2:='9'; // set the number of the slot (bot tries to start this bonusmap second)
BM_slot_3:='0'; // set the number of the slot (bot tries to start this bonusmap third)
/// ACHTUNG wenn hpcolor1 oder zwei gefunden wird fahre ich weit weg zum reparieren
// wenn ihr später reppen wollt die werte für hpcolor 4 und 5 runtersetzen !!!
hpcolor1:=3298; // color of HP bar when i detect a need of repair
hpcolor2:=6092; // color of HP bar when i detect a need of repair
hpcolor3:=7868; // color of HP bar when i detect a need of repair
hpcolor4:=10152; // color of HP bar when i detect a need of repair
hpcolor5:=11422; // color of HP bar when i detect a need of repair
/// WHEN MAP NEEDS TO BE DEFINED MANUALLY
// coordinates (get with SCAR pick Color function):
sk_manuell:=0; // set to 1 to use manual defining the position of big map, 0 is auto
skx2:=828; // set X value of the corner right down at seacard
sky2:=738; // set Y value of the corner right down at seacard
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// OPTIONS BELOW ARE ONLY IF THE BOT DOESN'T RUN AND ANYTHING ABOVE IS SET UP RIGHT
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// TUNING THE SPEED - INDIVIDUALIZE WAITING VARIABLES ////////////////////////////////////////
// WAITING VALUES ARE ALL IN MILISECONDS
randomdelay:=50; // randomize time for each time value
mousedelay:=240; // waiting between action of the mouse
sendkeyswait:=80; // waiting between each keyboard action
mapreloadwait:=25000; // waiting after server restart
activatemapwait:=300; // waiting for activating shipmap on minimap
reppwait:=3000; // waiting after sent key for repair for scan if ship is repairing or not
checkmovewait:=10800; // waiting for detection if your ship(green dot on minimap) has moved or not
stoppwait:=6000;
//////////////////// COLORS SECTION - Modify only when graphical updates or changes are made in the game
//
Player_MMap_rot:= 255; // Color of a Player on the Minimap
tuerkiswasser_color:=2700288;
blaueswasser_color:=4860928;
meinschiff:=65280;
NPC_blau_Seekarte:=12099909;
BMschriftfarbe:=4580849;
gelber_zielkringel:=65535; // color of yellow circle of selected target on map
gruener_meinschiffkringel:=4369969; // color of green circle of myship on map
npcminimap_orange:=39423; // color of npc on minimap
// GRAPHIC SCAN TOLERANCE VALUES - ONLY CHANGE WHEN GRAPHIC DETECTION DOESNT WORK
NPC_blau_Seekarte_tolerance:=25; // tolerance for npc blue
Player_MMap_rot_tolerance:=15; // tolerance for player (red) on minimap
tuerkiswasser_color_tolerance:=20;
blaueswasser_color_tolerance:=20;
meinschiff_tolerance:=5; // tolerance for myship green on minimap
BMschriftfarbe_tolerance:=10; // tolerance for yellow of LEAVE BONUSMAP button
attacktolerance:=40; // tolerance for attack button
schiffemap_tolerance:=40; // tolerance for minimap
gelber_zielkringel_tolerance:=3; // tolerance for target color yellow
gruener_meinschiffkringel_tolerance:=20; // tolerance for green circle arround my ship
attackingtolerance:=45; // tolerance for attacking cancel
npcminimap_orange_tolerance:=30; // tolerance for npc on minimap
HP_balkengrafik_tolerance:=20; // tolerance for HP bar
glitzimaptolerance:=35; // tolerance for minimap
reparierend_tolerance:=44; // tolerance for repairing
schliessen_tolerance:=5; // tolerance for close message
schiff_reppen_rotorange__HP_tolerance:=15; // tolerance for repair colors detection ( check if need repair)
zumschiff_tolerance:=80; // tolerance for center ship button
logout_tolerance:=50; // tolerance for AUTO map detection - make sure the logout button in game is not hidden
standartrang_tolerance:=80;
weltkarteoffen_tolerance:=20;
close_tolerance:=25;
ok_tolerance:=25;
distanzcounter:=1;
end;
Procedure LoadBMP;
begin
SetDesktopAsClient;
loadvariable;
ok := BitmapFromString(17, 8, 'beNpLNM5NJBN9fOoKQWiCWNl4pOBsPOqxqsSjAK' +
'sWTFnybCHDLySHGACVkqmV');
procedure key_bm3;
var s: string;
begin
s:=BM_slot_3;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
procedure reloadpage;
begin
wait (mapreloadwait);
SetDesktopAsClient;
end;
function BMsprungcheck:boolean;
begin
result:=false;
writeln('function BMsprungcheck startet');
asd:=0;
repeat
if (FindcolorTolerance(xx,yy,BMschriftfarbe, BMsuche_x1, BMsuche_y1, BMsuche_x2, BMsuche_y2, BMschriftfarbe_tolerance)=true) then begin
writeln('"BMschriftfarbe" erkannt auf Koordinate xx:'+inttostr(xx)+'/ yy:'+inttostr(yy)+' - befinde mich auf BONUSMAP! ');
result:=true;
end;
asd:=asd+1;
if (result=false) then begin
writeln('Bitte BMschriftfarbe überprüfen ');
end;
until (result=true) or (asd>6)
end;
function aufBM:boolean;
begin
result:=false;
writeln('function aufBM startet');
if (FindcolorTolerance(xx,yy,BMschriftfarbe, BMsuche_x1, BMsuche_y1, BMsuche_x2, BMsuche_y2, BMschriftfarbe_tolerance)=true) then begin
writeln('"BMschriftfarbe" erkannt auf Koordinate xx:'+inttostr(xx)+'/ yy:'+inttostr(yy)+' - befinde mich auf BONUSMAP! ');
result:=true;
end;
if(result=false) then begin
writeln('"BMschriftfarbe" nicht erkannt - Sollte das Schiff gerade auf BM sein, dann muss "BMschriftfarbe" neu ausgelesen werden oder die Seekartenposition neu eingestellt werden (skx2, sky2)');
end;
if (Findcolortolerance(xx,yy,Player_MMap_rot, mmx1, mmy1, mmx2, mmy2, Player_MMap_rot_tolerance)=true) then begin
result:=false;
writeln('Minimap: "Player_MMap_rot" (' + inttostr(Player_MMap_rot) + ')roter pixel gefunden mit "Player_MMap_rot_tolerance" ( ' + inttostr(Player_MMap_rot_tolerance) +') Farbabweichung auf Koordinate xx: ' + inttostr(xx) + ' yy: ' + inttostr(yy));
writeln('rote Pixel auf MM sind nur auf normaler Karte möglich - result:=false');
end;
//////////////////////////////////result:=true;///////////////////////////////////
if (result=false) then begin
if (starteBM=1) then begin
joinBM:=1;
end;
end;
end;
function bmsprung:boolean;
begin
result:=false;
writeln('function bmsprung startet');
key_bm1;
wait(2500+random(50));
if(bmsprungcheck=true) then begin
wait(Ladezeit_BM);
result:=true;
end;
if(result=false) then begin
key_bm2;
wait(2500+random(50));
if(bmsprungcheck=true) then begin
wait(Ladezeit_BM);
result:=true;
end;
end;
if(result=false) then begin
key_bm3;
wait(2500+random(50));
if(bmsprungcheck=true) then begin
wait(Ladezeit_BM);
result:=true;
end;
end;
joinBM:=0;
end;
function blubbcheck : boolean;
begin
result:=false;
getcolorXY(zumschiffx, zumschiffy);
get2:= farbe;
getcolorXY(zumschiffx + 3, zumschiffy + 5);
get3:= farbe;
if (SameValue(oldget2, get2)=false) then begin
writeln('Zum schiff nicht auffindbar - starte Tests auf Muschelschrubben');
result:=false;
end;
if (SameValue(oldget3, get3)=false) then begin
writeln('Zum schiff nicht auffindbar - starte Tests auf Muschelschrubben');
result:=false;
end;
if (result=false) then begin
if (FindBitmaptolerance(schiffe_inaktiv, schiffe_minimap_grafikx, schiffe_minimap_grafiky, schiffemap_tolerance)=false) then begin
if (FindBitmaptolerance(glitzimap, glitzimapx, glitzimapy, glitzimaptolerance)=false)then begin
writeln('Minimap wurde nicht gefunden - starte Wiederbelebung');
end;
end;
end;
end;
function getvariable: boolean;
begin
result:=false;
loadvariable;
writeln('function getvariable started - bestimme Konstanten und Variablen');
writeln('"zumschiffx"/"zumschiffy" definiere Pixelfarben für schnelle Überprüfung ob die Karte grau ist(schiff ist blubb): get2: '+inttostr(get2)+ ' get3: '+inttostr(get3));
end;
if (result=false) then begin
writeln('ZumSchiff nicht gefunden ! Gehe davon aus das mein Kutter Muscheln schrubbt - terminating script');
sound;
terminatescript;
end;
result:=false;
writeln('suche HP Balken');
if (FindBitmapTolerance(greenhp, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('voller Hp Balken erkannt');
end;
if (result=false) then begin
if (FindBitmapTolerance(hp1, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp1 Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hpextra, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('HpExtra Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hp2, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp2 Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hp3, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp3 Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hp4, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp4 Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hp5, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp5 Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hp6, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp6 Balken erkannt');
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(hp7, xx, yy, HP_balkengrafik_tolerance)=true) then begin
result:=true;
writeln('Hp7 Balken erkannt');
end;
end;
if (result=true) then begin
hpx1:=xx;
hpy1:=yy;
hpx2:=xx + 30;
hpy2:=yy + 5;
writeln('Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2));
end;
if (result=false) then begin
writeln('HP balken nicht gefunden - terminatscript');
sound;
terminatescript;
end;
result:=false;
if (FindBitmaptolerance(schiffe_inaktiv, schiffe_minimap_grafikx, schiffe_minimap_grafiky, schiffemap_tolerance)=true) then begin
writeln('schiffe_inaktiv erkannt auf schiffe_minimap_grafikx:'+inttostr(schiffe_minimap _grafikx)+'/ schiffe_minimap_grafiky:'+inttostr(schiffe_minimap _grafiky));
result:=true;
schiffe_minimap_grafikx:= schiffe_minimap_grafikx + 4;
schiffe_minimap_grafiky:= schiffe_minimap_grafiky + 5;
mouse (schiffe_minimap_grafikx, schiffe_minimap_grafiky);
wait (activatemapwait)
end ;
if (result=false) then begin
writeln('Schiffeminimap nicht gefunden - definiere "schiffe_minimap_grafikx", "schiffe_minimap_grafiky" über "Glitzimap"');
end;
if (FindBitmaptolerance(glitzimap, glitzimapx, glitzimapy, glitzimaptolerance)=True)then begin
mmx1:= glitzimapx - 38;
mmy1:= glitzimapy - 101;
mmx2:= glitzimapx + 50;
mmy2:= glitzimapy - 12;
writeln('"Glitzimap" erkannt auf Koordinate glitzimapx: '+inttostr(glitzimapx)+' / glitzimapy:'+inttostr(glitzimapy));
writeln('Definiere Minimap: über die position von "Glitzimap" grafik: mmx1:= '+ inttostr(mmx1) + ' mmy1:= ' + inttostr(mmy1) + ' mmx2:= '+ inttostr(mmx2) + ' mmy2:='+ inttostr(mmy2));
if(result=false) then begin
schiffe_minimap_grafikx:= glitzimapx + 66;
schiffe_minimap_grafiky:= glitzimapy - 59;
writeln('definiere "schiffe_minimap_grafikx": ' + inttostr(schiffe_minimap_grafikx) + ' "schiffe_minimap_grafiky": ' + inttostr(schiffe_minimap_grafiky) +' über "Glitzimap"');
end;
end;
result:=false;
if (FindBitmaptolerance(abbrechen_nulls, angriff_abbrechenx, angriff_abbrecheny, 20)=true) then begin
result:=true;
constante_get_x:=angriff_abbrechenx;
constante_get_y:=angriff_abbrecheny;
constante_get1_x:=angriff_abbrechenx+6;
constante_get1_y:=angriff_abbrecheny+3;
if(result=false) then begin
writeln('angriff abbrechen nullstand wurde nicht erkannt - suche jetzt attacking grafik');
if (FindBitmaptolerance(atttacking, angriff_abbrechenx, angriff_abbrecheny, attacktolerance)=true) then begin
result:=true;
constante_get_x:=angriff_abbrechenx;
constante_get_y:=angriff_abbrecheny;
constante_get1_x:=angriff_abbrechenx+6;
constante_get1_y:=angriff_abbrecheny+3;
if (result=false) then begin
if (FindBitmaptolerance(attack, attack_xx, attack_yy, attacktolerance)=true) then begin
result:=true;
attack_get_x:=attack_xx;
attack_get_y:=attack_yy
attack_get1_x:= attack_xx+6;
attack_get1_y:= attack_yy+3;
getcolorXY(attack_get_x, attack_get_y);
attack_get_color:= farbe;
getcolorXY(attack_get1_x, attack_get1_y);
attack_get1_color:= farbe;
writeln('attack_get_x:= ' + inttostr(attack_get_x) + ' attack_get_y:= ' + inttostr(attack_get_y));
writeln('attack_get1_x:= ' + inttostr(attack_get1_x) + ' attack_get1_y:= ' + inttostr(attack_get1_y));
getcolorXY(attack_get_x, attack_get_y);
get4:= farbe;
getcolorXY(attack_get1_x, attack_get1_y);
get5:= farbe;
writeln ('definiere farben und punkte für angriff nullstellung');
writeln(' farbe get4: '+inttostr(get4)+ ' farbe get5: '+inttostr(get5));
end;
end;
if (result=false) then begin
writeln('attack button konnte nicht geortet werden - hier läuft was schief...');
//terminate script;
sound;
end;
end;
function fastcheck_abbrechen : boolean;
begin
result:=true;
writeln('function fastcheck_abbrechen started');
getcolorXY(angriff_abbrechen_get_x, angriff_abbrechen_get_y);
get:= farbe;
getcolorXY(angriff_abbrechen_get1_x, angriff_abbrechen_get1_y);
get1:= farbe;
if (SameValue(angriff_abbrechen_get_color, get)=true) then begin
writeln('angriff_abbrechen leuchtet nicht - result:=false;');
result:=false;
end;
if (SameValue(angriff_abbrechen_get1_color, get1)=true) then begin
writeln('angriff_abbrechen leuchtet nicht - result:=false;');
result:=false;
end;
if (FindColorCircleTolerance(x1, y1, farbe1, angriff_abbrechen_get_x, angriff_abbrechen_get_y, 10, 3)=true) then begin
result:=true;
writeln('angriff_abbrechen leuchtet - farbe1');
end;
if (FindColorCircleTolerance(x1, y1, farbe2, angriff_abbrechen_get_x, angriff_abbrechen_get_y, 10, 3)=true) then begin
result:=true;
writeln('angriff_abbrechen leuchtet - farbe2');
end;
if (FindColorCircleTolerance(x1, y1, farbe3, angriff_abbrechen_get_x, angriff_abbrechen_get_y, 10, 3)=true) then begin
result:=true;
writeln('angriff_abbrechen leuchtet - farbe3');
end;
if(result=false) then begin
writeln('fastcheck abbrechen - bin nicht am schiessen - result:= false');
end;
if(result=true) then begin
writeln('fastcheck - allright baby, balla balla - result:=true;');
end;
end;
function fastcheck_attack : boolean;
begin
result:=false;
writeln('fastcheck_attack startet');
getcolorXY(attack_get_x, attack_get_y);
get4:= farbe;
getcolorXY(attack_get1_x, attack_get1_y);
get5:= farbe;
if (SameValue(attack_get_color, get4)=false) then begin
writeln('angriff leuchtet');
result:=true;
end;
if (result=false) then begin
if (SameValue(attack_get1_color, get5)=false) then begin
writeln('angriff leuchtet');
result:=true;
end;
end;
if(result=true) then begin
writeln('attack leuchtet - fastcheck attack =true');
end;
end;
Function gamemessages : Boolean;
begin
result:=false;
if (FindBitmapTolerance(neulogin, xx, yy, schliessen_tolerance)=false) then begin
if (FindBitmapTolerance(verbinde, xx, yy, schliessen_tolerance)=false) then begin
if (FindBitmapToleranceIN(schliessen, xx, yy, skx1, sky1 + 40, skx2, sky2, schliessen_tolerance)=True) then begin
result:=true;
writeln('schliessen(xx/yy)'+inttostr(xx)+'/'+inttostr(yy));
xx:=xx+2+random(2); yy:=yy+2+random(2);
mouse(xx,yy);
end;
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(neulogin, xx, yy, schliessen_tolerance)=True) then begin
result:=true; wait(20000);
writeln('wait(20000); neulogin(xx/yy)'+inttostr(xx)+'/'+inttostr(yy));
xx:=xx+2+random(2); yy:=yy+2+random(2);
mouse(xx,yy);
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(ok, xx, yy, ok_tolerance)=True) then begin
result:=true;
writeln('ok(xx/yy)'+inttostr(xx)+'/'+inttostr(yy));
xx:=xx+2+random(2); yy:=yy+2+random(2);
mouse(xx,yy);
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(verbinde, xx, yy, schliessen_tolerance)=True) then begin
result:=true; wait(20000);
writeln('wait(20000); verbinde(xx/yy)'+inttostr(xx)+'/'+inttostr(yy));
xx:=xx+2+random(2); yy:=yy+2+random(2);
mouse(xx,yy);
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(close, xx, yy, close_tolerance)=True) then begin
result:=true;
writeln('close(xx/yy)'+inttostr(xx)+'/'+inttostr(yy));
//mouse(xx,yy);
reloadpage;
wait(mapreloadwait);
end;
end;
if (result=false) then begin
if (FindBitmapTolerance(weltkarteoffen, xx, yy, weltkarteoffen_tolerance)=True) then begin
result:=true;
writeln('weltkarte(xx/yy)'+inttostr(xx)+'/'+inttostr(yy));
xx:=mmx1+45; yy:=mmy1-21;
mouse(xx,yy);
end;
end;
if (result=false) then writeln('keine gamemessage gefunden');
function checkmove:boolean;
Begin
result:=false;
Writeln('function checkmove started');
if (Findcolortolerance(xx,yy,meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance)=true)then begin
wait (checkmovewait);
end;
Findcolortolerance(meinschiff_x, meinschiff_y, meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance);
if (meinschiff_x=xx) and (meinschiff_y=yy) then begin
result:=true;Writeln('checkmove result:=true;');
end;
end;
function fastdistance : boolean;
begin
result:=false;
Writeln('function Fastdistance started');
if (Findcolortolerance(xx,yy,meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance)=true) then begin xx:=xx+1; yy:=yy+1;
if (FindColorCircleTolerance(x2, y2, npcminimap_orange, xx, yy, NPC_abstand_zu_meinschiff, npcminimap_orange_tolerance)=true) then begin
result:=true; Writeln('Fastdistance: unterschrittener PixelAbstand erkannt - result:=true;');
calculated_distance:=Distance(xx, yy, x2, y2);
Writeln('Fastdistance: berechneter PixelAbstand - calculated_distance: ' +inttostr(calculated_distance));
bonusdistanz:=0;
end;
end;
if (Findcolortolerance(xx,yy,NPC_blau_Seekarte, skx1,sky1, skx2, sky2, NPC_blau_Seekarte_tolerance)=true) then begin
result:=true; Writeln('Fastdistance: NPC_blau_Seekarte erkannt - result:=true;');
bonusdistanz:=1;
end;
if (result=false) then begin
Writeln('function Fastdistance started');
end;
end;
Procedure key_hoch;
var s: string;
begin
s:=hoch;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
procedure key_links;
var s: string;
begin
s:=links;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_rechts;
var s: string;
begin
s:=rechts;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_angriff;
var s: string;
begin
s:=angrifff;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_angriff_abbrechen;
var s: string;
begin
s:=angriff_abbrechen;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_gegner_durchschalten;
var s: string;
begin
s:=gegner_durchschalten;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_kurs_setzen;
var s: string;
begin
s:=kurs_setzen;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_zum_schiff;
begin
KeyDown(32);
wait(sendkeyswait+random(randomdelay));
KeyUp(32);
wait(sendkeyswait+random(randomdelay)+random(rando mdelay));
end;
Procedure key_reparieren;
var s: string;
begin
s:=reparieren;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
Procedure key_bonuskartenmenue;
var s: string;
begin
s:=bonuskartenmenue;
typekeys(s);
wait(sendkeyswait+random(randomdelay));
end;
function checkstopp:boolean;
begin
result:=false;
key_zum_schiff;
wait(50);
key_links;
wait(120);
if (FindBitmapToleranceIn(standartrang, xf, yf, skx1, sky1, skx2, sky2, standartrang_tolerance)=True) then begin
wait(stoppwait+ random (20));
if (FindBitmapToleranceIn(standartrang, xx, yy, skx1, sky1, skx2, sky2, standartrang_tolerance)=True)then begin
if (xf=xx) and (yf=yy)
then result:=true;
end;
end;
end;
function stopprepp : Boolean;
begin
result:=false;
if (Findcolortolerance(xx,yy,meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance)=true) then begin
if (FindColorCircleTolerance(npcminimap_orange_x, npcminimap_orange_y, npcminimap_orange, xx, yy, stoppreppdistance, npcminimap_orange_tolerance)=true) then begin
result:=true;
writeln('"npcminimap" Feinde auf der Minimap erkannt mit unterschrittenem Abstand "stoppreppdistance": '+inttostr(stoppreppdistance)+' Pixeln - stoppe Reperatur');
end;
end;
end;
procedure reppen;
begin
writeln('starte procedure reppen');
key_reparieren;
wait(reppwait + random(randomdelay));
if (FindBitmapTolerance(reparierend, xx, yy, reparierend_tolerance)=True)then begin
writeln('Status reparierend - starte suche nach Gründen die Reperatur zu stoppen')
repeat
wait (reppwait);
if (stopprepp=true) then begin
key_reparieren;
end;
wait (reppwait);
until (FindBitmapTolerance(reparierend, xx, yy, reparierend_tolerance)=false);
end;
end;
procedure getquarter;
begin
writeln('procedure getquarter started');
getposi;
if (posix<=45) then begin
if (posiy<=45) then begin
quarter:=3;
end;
end;
if (posix>45) then begin
if (posiy<=45) then begin
quarter:=1;
end;
end;
if (posix>45) then begin
if (posiy>45) then begin
quarter:=4;
end;
end;
if (posix<=45) then begin
if (posiy>45) then begin
quarter:=2;
end;
end;
if (posix>=10) then begin
if (posiy<19) then begin
quarter:=3;
end;
end;
if (posix>=79) then begin
if (posiy>=10) then begin
quarter:=1;
end;
end;
if (posix<79) then begin
if (posiy>=75) then begin
quarter:=4;
end;
end;
if (posix<11) then begin
if (posiy<75) then begin
quarter:=2;
end;
end;
writeln('quarter: ' + inttostr(quarter));
end;
function reppdrive : boolean;
var oldquarter:integer;
begin
writeln('function reppdrive started');
result:=false;
getquarter;
if (quarter=1) then begin
drive_obenlinks;
end;
if (quarter=2) then begin
drive_untenrechts;
end;
if (quarter=3) then begin
drive_untenlinks;
end;
if (quarter=4) then begin
drive_obenrechts;
end;
wait(400);
if (checkmove=true) then begin
oldquarter:=quarter;
quarter:=RandomRange(1, 4);
if (quarter=oldquarter) then quarter:=RandomRange(1, 4);
if (quarter=oldquarter) then quarter:=RandomRange(1, 4);
if (quarter<1) then quarter:=4;
if (quarter=1) then begin
drive_obenlinks;
end;
if (quarter=2) then begin
drive_untenrechts;
end;
if (quarter=3) then begin
drive_untenlinks;
end;
if (quarter=4) then begin
drive_obenrechts;
end;
end;
repeat
gamemessages;
wait(reppwait+random(randomdelay));
if (Findcolortolerance(xx,yy,meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance)=true) then begin
if (FindColorCircleTolerance(x2, y2, npcminimap_orange, xx, yy, allowreppdistance, npcminimap_orange_tolerance)=false) then begin
result:=true;
if (Findcolortolerance(hpcolor_x, hpcolor_y, hpcolor1, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=false; writeln('"hpcolor1" (' + inttostr(hpcolor1) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
if (Findcolortolerance(xx,yy,hpcolor2, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=false; writeln('"hpcolor2" (' + inttostr(hpcolor2) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
if (result=false) then writeln(' REPPDRIVE: FAHRE BIS CHECKMOVE = TRUE - BIN ZIEHMLICH AM ARSCH...');
end;
end;
if (checkmove=true) then result:=true;
until (result=true);
reppen;
end;
Function reppcheck : Boolean;
begin
result:=false;
writeln('function reppcheck started');
gamemessages;
if (Findcolortolerance(hpcolor_x, hpcolor_y, hpcolor1, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=true; writeln('"hpcolor1" (' + inttostr(hpcolor1) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
if (result=false) then begin
if (Findcolortolerance(xx,yy,hpcolor2, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=true; writeln('"hpcolor2" (' + inttostr(hpcolor2) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
end;
if (result=false) then begin
if (Findcolortolerance(xx,yy,hpcolor3, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=true; writeln('"hpcolor3" (' + inttostr(hpcolor3) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
end;
if (result=false) then begin
if (Findcolortolerance(xx,yy,hpcolor4, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=true; writeln('"hpcolor4" (' + inttostr(hpcolor4) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
end;
if (result=false) then begin
if (Findcolortolerance(xx,yy,hpcolor5, hpx1, hpy1, hpx2, hpy2, schiff_reppen_rotorange__HP_tolerance)=true) then begin
result:=true; writeln('"hpcolor5" (' + inttostr(hpcolor5) + ') mit "schiff_reppen_rotorange__HP_tolerance": (' + inttostr(schiff_reppen_rotorange__HP_tolerance) + 'im Hp Balken: hpx1: '+inttostr(hpx1)+' hpy1: '+inttostr(hpy1)+ ' hpx2: '+inttostr(hpx2)+ ' hpy2: '+inttostr(hpy2) + ' gefunden - xx: '+inttostr(xx) + ' gefunden - yy: '+inttostr(yy) );
end;
end;
if (result=true) then begin
reppdrive;
end;
end;
function get_close_npc:boolean;
begin
result:=false;
if (Findcolortolerance(xx,yy,meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance)=true) then begin
i:=1; meinschiff_x:=xx+1; meinschiff_y:=yy+1; end;
repeat
i:=i+1;
if (FindColorCircleTolerance(x2, y2, npcminimap_orange, meinschiff_x, meinschiff_y, i, npcminimap_orange_tolerance)=true) then begin
result:=true; MM_npc_x:=x2; MM_npc_y:= y2; end;
until (result=true) or (i>15);
if(result=false) then begin
writeln('meinschiff oder npcorange nicht gefunden @ function get_close_npc');
end;
end;
function angriff : boolean;
begin
writeln('function angriff started');
result:=false;
if (aufBM=true) then begin
key_angriff;
result:=true;
end else writeln (' Angriff konnte nicht ausgeführt werden da BM nicht erkannt wurde !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
end;
function distanz : boolean;
var s: string;
begin
result:=false;
writeln('function distanz gestartet');
if (fastcheck_abbrechen=true) then begin
getquarter;
if (get_close_npc=true) then begin
if (quarter=1) then begin MM_npc_x:=meinschiff_x +1; MM_npc_y:= meinschiff_y - 3;
if (Findcolortolerance(xx,yy,npcminimap_orange, meinschiff_x - 5, meinschiff_y - 15, meinschiff_x + 7, meinschiff_y, npcminimap_orange_tolerance)=true) then begin
MM_npc_x:=xx + 3 -random(3); MM_npc_y:= yy - 3 - bonusdistanz ; result:=true; end; //move_hoch;
end;
if (quarter=2) then begin MM_npc_x:=meinschiff_x - 1; MM_npc_y:= meinschiff_y + 3;
if (Findcolortolerance(xx,yy,npcminimap_orange, meinschiff_x - 5, meinschiff_y, meinschiff_x + 5, meinschiff_y + 15, npcminimap_orange_tolerance)=true) then begin
MM_npc_x:=xx - 3 + random(3); MM_npc_y:= yy + 3 + bonusdistanz; result:=true; end; //move_runter;
end;
if (quarter=3) then begin MM_npc_x:=meinschiff_x - 3; MM_npc_y:= meinschiff_y - 1;
if (Findcolortolerance(xx,yy,npcminimap_orange, meinschiff_x - 15, meinschiff_y - 5, meinschiff_x, meinschiff_y + 5, npcminimap_orange_tolerance)=true) then begin
MM_npc_x:=xx - 3 - bonusdistanz; MM_npc_y:= yy - 3 + random(3); result:=true; end; //move_links;
end;
if (quarter=4) then begin MM_npc_x:=meinschiff_x + 3; MM_npc_y:= meinschiff_y + 1;
if (meinschiff_x<mmx1 + 15) then begin meinschiff_x:= meinschiff_x + 15; end;
if (Findcolortolerance(xx,yy,npcminimap_orange, meinschiff_x , meinschiff_y - 5, meinschiff_x + 15, meinschiff_y + 5, npcminimap_orange_tolerance)=true) then begin
MM_npc_x:=xx + 3 + bonusdistanz; MM_npc_y:= yy + 3 - random(3);
result:=true; end; //move_rechts;
end;
mouseMM(MM_npc_x, MM_npc_y);
key_kurs_setzen;
wait(100);
oldget:=0;
if (checkstopp=true) then begin
repeat
xf:=skx1+30+random(750); yf:= sky1+80+random(500);
movemouse(xf,yf);
wait(50);
mouse(xf,yf);
wait(50);
oldget:=oldget+1;
until (oldget>10) or (checkstopp=false)
end;
end;
end;
end;
function shipMM:boolean;
begin
result:=false;
writeln('function shippMM started');
reppcheck;
if (distanzcounter>1) then begin
getquarter;
distanzcounter:=0;
end;
gamemessages;
if (fastcheck_abbrechen=false) then begin
if (Findcolortolerance(xx,yy,meinschiff, mmx1, mmy1, mmx2, mmy2, meinschiff_tolerance)=true) then begin
i:=2;
writeln('Minimap: "meinschiff" (' + inttostr(meinschiff) + ')gefunden auf Koordinate xx: ' + inttostr(xx) + ' yy: ' + inttostr(yy)+' mit "meinschiff_tolerance" ( ' + inttostr(meinschiff_tolerance) +') Farbabweichung ');
repeat
i:=i+1;
if (FindColorCircleTolerance(x2, y2, npcminimap_orange, xx, yy, i, npcminimap_orange_tolerance)=true) then begin
result:=true; MM_npc_x:=x2; MM_npc_y:= y2;
writeln('Minimap: "npcminimap" (' + inttostr(npcminimap_orange) + ')orange gefunden auf Koordinate MM_npc_x: ' + inttostr(MM_npc_x) + ' MM_npc_y: ' + inttostr(MM_npc_y)+' mit "npcminimap_orange_tolerance" ( ' + inttostr(npcminimap_orange_tolerance) +') Farbabweichung ');
end;
until (result=true) or (i>90);
if (result=true) then begin
if (x2>mmx2) then begin result:=false; end;
if (x2<mmx1) then begin result:=false; end;
if (y2>mmy2) then begin result:=false; end;
if (y2<mmy1) then begin result:=false; end;
end;
if (result=false) then begin
if (Findcolortolerance(xx,yy,npcminimap_orange, mmx1, mmy1, mmx2, mmy2, npcminimap_orange_tolerance)=true) then begin
result:=true; MM_npc_x:=xx; MM_npc_y:=yy;
writeln('Minimap: "npcminimap_orange" (' + inttostr(npcminimap_orange) + ')oranger pixel gefunden mit "npcminimap_orange_tolerance" ( ' + inttostr(npcminimap_orange_tolerance) +') Farbabweichung auf Koordinate xx: ' + inttostr(xx) + ' yy: ' + inttostr(yy));
end;
end;
//////////////////////////////////////////////////////////////////////////////
if (result=true) then begin
mouseMM(MM_npc_x, MM_npc_y);
key_kurs_setzen;
i:=0;
repeat
key_gegner_durchschalten;
if (fastcheck_attack=true) then begin
angriff;
wait(150);
end;
i:=i + 1;
until (fastcheck_abbrechen=true) or (i>3);
end;
end;
end;
if (fastcheck_abbrechen=true) then begin
key_zum_schiff;
if (fastdistance=true) then begin
distanzcounter:= distanzcounter+1;
distanz;
end;
end;
end;
procedure versioncheck;
begin
if GetSCARVersion < 328 then
begin
WriteLn('This script requires SCAR Divi 3.28 or higher, get it here:');
WriteLn('http://www.scar-divi.com/');
//WriteLn(OpenWebPage('http://www.scar-divi.com/'));
sound;
TerminateScript;
end;
end;
begin
versioncheck;
LoadBMP;
getvariable;
output;
repeat
if (joinBM=1) then begin
bmsprung;
end;
if (aufBM=true) then begin
shipMM;
end;
Scar script for rose 02/14/2013 - Seafight - 9 Replies I use with 1280*720 desk resolution.
Sorry my bad english :))
Virustotal
Altes Hennink Script? 02/05/2012 - Metin2 Private Server - 2 Replies Hallo, werd über die Suche auch nicht wirklich schlau, aber hat jmd den Thread oder das alte Script mit Anleitung von Hennink ( Das Schwarz-Weiße ) was auch IMBA Mt2 benutzt? Wenn ja wäre ich froh, wenn mir jmd das uppen könnte , oder den Link zum Thread ^^
Suche altes Script von Masterboss 10/02/2011 - Metin2 Private Server - 4 Replies Hi freunde ich kenne bis jetzt nur die scripts v.3-v.6 aber hat von euch noch einer die alten scripts?wie die v.1 oder v.2 von masterboss?
mfg: Stronger
DO scar divi script 04/06/2011 - DarkOrbit - 1 Replies Hi,
wollt fragen ob jmd der vllt langeweile oder zeit hat mir einen darkorbit bonusboxen sammler bot für scar divi zu erstellen oder wenn vorhanden zu geben .
wäre sehr nett t
thx im vorraus:mofo: