[SIMBA][PokeMMO]Need feedback.

03/09/2013 22:34 gottapercha#1
SIMBA
Is a scriptable program that utilizes and basically mimics keyboard and mouse movement/clicking
it can use the screen to find colors based on its user defined set x,y axis, via client specifying.
it's basically the ultimate cheating program because of its ease of access.
I have not used autoIT.
But I think it's quite the same/similar.
If not better in some instances.

Simba is a monster, it is a powerful program used by a large majority of the runescape community, the SRL community being the largest.

For tutorials you can find them off a google search of terms: villavu.
SIMBA was made by a user named wizup. Based on the famous, at the time, 'SCAR', which was basically remade,implemented and better supported designed, for the rs-community.
To use the original, SCAR by freddy1990.
Google searches will find his site, his programs are still AS good.


So using this program, SIMBA, and all the functions it has, this thread will be a collection of sloppy scripts made by me.



Code:
program SafariZone;

var
    x, y, i, t, g, tt,
    poked, npc, ranfrom, seenrare,
    eggs:integer;

const
  username='bpineapple';
  password='cookie123';

  nido=9984056;
  nido2=3682408;
  nido3=6314128;
  nidan=13144240;
  nidan2=15249616;
  nidan3=4229216;
  nidana=1065000;
  nidana2=15249648;
  nidana3=13144272;
  rhyhorn=7375040;
  rhyhorn2=4743320 ;
  rhyhorn3=2111600 ;
  venonat=16310424 ;
  venonat2=16298088;
  venonat3=12615736 ;
  moth=14723208;
  moth2=12615776;
  moth3=16306328;
  eggx=6351088;
  eggx2=4243680;
  eggx3=10549496;
  psect=5828856;
  psect2=5820664;
  psect3=3188984;
  paris=2115728;
  paris2=1077384;
  paris3=7399664;
  slow=9996480;
  slow2=12628200;
  slow3=9500920;
  duck=15263896;
  duck2=14209168;
  duck3=11577448;
  dodo=2138264;
  dodo2=30832;
  dodo3=7915744;
  syth=7403704;
  syth2=4774040;
  syth3=7921904;
  syth4=3201160;
  syth5=3192928;
  syth6=5798136;
  chan=13684984;
  chan2=5800184;
  chan3=7368944;
  chan4=5296272;
  chan5=13166840;
  chan6=3192936;
  pinsir=11587792;
  pinsir2=10010848;
  pinsir3=8429768;
  pinsir4=10010848;
  pinsir5=14190712;
  pinsir6=11561056;
  tauros=11055248;
  tauros2=6340848;
  tauros3=3176632;
  tauros4=30744;
  tauros5=13144224;
  tauros6=3717328;
  khang=5795992;
  khang2=6725041;
  khang3=13676760;
  khang4=11585768;
  khang5=7381160;
  khang6=7381160;

procedure click(x,y:integer);
begin
  wait(5+random(50))
  movemouse(x,y)
  wait(25)
  clickmouse(x,y,1)
  wait(5+random(50))
end;

procedure key(press:word; t:integer);
begin
  keydown(press)
  wait(t)
  keyup(press)
end;

procedure switchchannel();
begin
  click(1244, 751)
  wait(200)
  click(1220, 593)
  wait(200)
  click(639, 366)
    case random(8) of
    0:click(626, 401);
    1:click(638, 422);
    2:click(628, 444);
    3:click(618, 465);
    4:click(612, 488);
    5:click(642, 510);
    6:click(644, 533);
    7:click(641, 556);
    end;
  wait(200)
  click(641, 401)
  wait(200)
  click(639, 428)
end;

function checklogin():boolean;
var disconnected,online:integer;
label back;
begin
disconnected:= DTMFromString('mJgIAAHicvcxPC8FwGAfw72aFqB3c/AnFgYOLi+tq7QUoL8VFyWvwbrwBytHJbUlNo2wHDUPmaxv9KFdPfer7fXp68gBqClClIpWpSRUqUT8RWSiRDfOOXDqQTzL3KVIpR4X4X4Na1KYOZWUgQ2lKkiowJaAuR575SN6XU+wcuwh8QXc4RW80w3y5x/V2h+O4WG89DMYTrGz7QxAEIU3TYBhGmE3LCvtrL97ouv7u/xrpT37PA0urVNQ=');
back:
  if finddtm(disconnected,x,y,442, 342,832, 446) then
  begin
  writeln('We have disconnected from game server.')
  click(x,y)
  wait(200)
  click(x,y)
  end;
    begin
    wait(500)
      if finddtm(disconnected,x,y,442, 342,832, 446) then goto back;
freedtm(disconnected)
      online:= DTMFromString('mggAAAHicY2NgYFjHyMCwFopXAfEmKN0ClKsB4kogbgLiOiCuBmJVblcGM4kwhienWhgM5QMZhGyKGDbPvcyACzDiwBAAAKajDeQ=');
        if finddtm(online,x,y,0,0,24,20) then
        begin
        writeln('The client is up')
        result:=true;
        end;
      freedtm(online)
        if findcolor(x,y,10841658,7,3,53,53) then result:=false;
    end;
end;

procedure closepoke();
var exitt:integer;
begin
  wait(2500)
  click(1270, 8)
  click(1270, 8)
  wait(2500)
  exitt:= DTMFromString('mKgEAAHic42NgYChlYmCoAuIaIK4E4jImiFgFlF8HxA1Q3ATErUDcAcS3GCH4LhDfg+KHQPwIiJ9CMYh9H4jvQDGI/f//fzAunnoBzobhoNqjYFw75yKDf3IrmA0TJxcwkolRAQBGpjN6');
    if finddtm(exitt,x,y,402, 176,981, 591) then
    begin
    click(x,y)
    end;
  wait(1500)
  click(639, 391)
  click(639, 391)
  wait(2500)
  freedtm(exitt)
end;

function loc():string;
var rangers,grass,DC,DC2:integer;
begin
DC:= DTMFromString('mggAAAHicY2NgYIhlYmC4ycjAcBpIKzEzMBQB6WIgnsYIwdOBeBIQpwLxBiAOqj3K8ODFCzidnJzNEBQUxYALMOLAEAAAghARSA==');
DC2:= DTMFromString('mggAAAHicY2NgYIhlYmC4ycjAcBpIKzEzMBQB6WIgnsYIwdOBeBIQpwLxBiAumn2f4cGLF3A6OTmbISgoigEXYMSBIQAAtEwR+A==');

IF finddtm(DC,x,y,426, 316,881, 479) or finddtm(DC2,x,y,426, 316,881, 479) then begin
writeln('we have disconnected from server')
click(x,y)
wait(2000)
click(x,y)
wait(25000)
checklogin();
end;
freedtm(DC)
freedtm(DC2)
if findcolor(x,y,7891152,626, 191,626, 191) then
begin
result:='PC';
writeln('we are in the pc and need to get back to safari zone.')
end;

rangers:= DTMFromString('m1gAAAHic42JgYLBnRmA7KN7PiInNgWodgDgYiFOAuByIBYDiUkCsCcSmQOwAxBYWEgwVBQ5gfGNCARjD+CAAoj08IhiIBYxEYgQAAPbAEnc=');
if finddtm(rangers,x,y,0,0,1200,799) then
begin
result:='DESK';
writeln('we are in the safari zone lobby.')
end;
freedtm(rangers)

grass:= DTMFromString('mrAAAAHic42BgYKhkZGDIAuJpQLyKiYHhABBfAeJbUDoMiEOBOAREA9WEAHEYEEcAcTUQ75jQwfDiwgEMHGHhwFBwYgEDIcBIAMMAAIbuGS8=');
if finddtm(grass,x,y,0,0,1200,799) then
begin
result:='GRASS';
writeln('we are in the safari zone grass.')
end;
freedtm(grass)
end;

procedure gotodesk();
begin
  key(VK_DOWN,3000)
    if findcolor(x,y,15263968,247, 539,247, 539) then
    begin
      repeat
      click(939, 456)
      wait(1000)
      until not findcolor(x,y,15263968,247, 539,247, 539) key(VK_DOWN,3000)
    end;
  wait(3000)
    repeat
    wait(100)
    until findcolor(x,y,2629800,517, 254,517, 254)
  wait(2000)
  key(VK_DOWN,299)
  key(VK_RIGHT,1200)
  click(77, 38)
  key(VK_LEFT,2500)
  key(VK_UP,3500)
  key(VK_RIGHT,1500)
  key(VK_DOWN,500)
  key(VK_RIGHT,2500)
  key(VK_UP,3500)
  key(VK_LEFT,2500)
  key(VK_DOWN,500)
  click(77, 38)
    for i:=0 to 8 do
    begin
      key(VK_LEFT,120)
      if findcolor(x,y,8425688,620, 267,671, 327) then break;
    end;
  key(VK_UP,2000)
  wait(7000)
    if (not(loc='DESK')) then
    begin
    closepoke();
    terminatescript();
    end;
end;

procedure getonline();
var shortcut:integer;
label top;
begin
top:
  if (checklogin=false) then begin
  shortcut:= DTMFromString('mAAEAAHiclckxCoBQDAPQuoqCoOIgKDiI3ezYq/T+96ipVPnrDzxSmo6IuHDBmQ7YU9x32mCFBUbooc0eYII5O37MTKpK7k4i8t5fxxZ/M/v32jSVyjzO4hGA');
    if finddtm(shortcut,x,y,0,0,1200,799) then
    begin
    writeln('We are at desktop. Opening client now.')
    click(x,y)
    click(x,y)
    click(x,y)
    end;
  freedtm(shortcut)
    for i:=0 to 15 do
    begin
      wait(1200)
      click(1256, 29)
      if checklogin=true then break;
    end;
  wait(2000)
  sendkeys(username,220,50)
  wait(250)
  key(VK_TAB,200)
  sendkeys(password,220,50)
  wait(250)
  key(VK_Return,200)
    for i:=0 to 60 do
    begin
      wait(1000)
      if findcolor(x,y,15263968,479, 539,479, 539) then break;
      if findcolor(x,y,15263968,631, 643,631, 643) then break;
    end;
      if findcolor(x,y,15263968,631, 643,631, 643) then
      begin
        closepoke()
        writeln('Wrong username/password/typo/banned. etc..')
        writeln('Will keep trying...')
        wait(10000)
        goto top;
      end;
      for i:=0 to 180 do
      begin
        wait(500)
        key(VK_RETURN,150)
        if findcolor(x,y,15263968,769, 736,769, 736) and findcolor(x,y,15263968,1204, 764,1204, 764)  then   break;
      end;
  writeln('We made it online!');
  switchchannel();
  end;
end;

procedure checkmonster();
    begin
    if findcolor(x,y,nido,239, 80,1039, 431) and
        findcolor(x,y,nido2,239, 80,1039, 431)and
        findcolor(x,y,nido3,239, 80,1039, 431)
        or
       findcolor(x,y,nidan,239, 80,1039, 431) and
        findcolor(x,y,nidan2,239, 80,1039, 431)and
        findcolor(x,y,nidan3,239,80,1039,431)
        or
       findcolor(x,y,nidana,239,80,1039,431) and
        findcolor(x,y,nidana2,239,80,1039,431)and
        findcolor(x,y,nidana3,239,80,1039,431)
        or
       findcolor(x,y,rhyhorn,239,80,1039,431) and
        findcolor(x,y,rhyhorn2,239,80,1039,431)and
        findcolor(x,y,rhyhorn3,239,80,1039,431)
        or
       findcolor(x,y,venonat,239,80,1039,431) and
        findcolor(x,y,venonat2,239,80,1039,431)and
        findcolor(x,y,venonat3,239,80,1039,431)
        or
       findcolor(x,y,moth,239,80,1039,431) and
        findcolor(x,y,moth2,239,80,1039,431)and
        findcolor(x,y,moth3,239,80,1039,431)
        or
       findcolor(x,y,eggx,239,80,1039,431) and
        findcolor(x,y,eggx2,239,80,1039,431)and
        findcolor(x,y,eggx3,239,80,1039,431)
        or
       findcolor(x,y,psect,239,80,1039,431) and
        findcolor(x,y,psect2,239,80,1039,431)and
        findcolor(x,y,psect3,239,80,1039,431)
        or
       findcolor(x,y,slow,239,80,1039,431) and
        findcolor(x,y,slow2,239,80,1039,431)and
        findcolor(x,y,slow3,239,80,1039,431)
        or
       findcolor(x,y,duck,239,80,1039,431) and
        findcolor(x,y,duck2,239,80,1039,431)and
        findcolor(x,y,duck3,239,80,1039,431)
        or
       findcolor(x,y,dodo,239,80,1039,431) and
        findcolor(x,y,dodo2,239,80,1039,431)and
        findcolor(x,y,dodo3,239,80,1039,431)
        or
        findcolor(x,y,syth,239,80,1039,431) and
        findcolor(x,y,syth2,239,80,1039,431)and
        findcolor(x,y,syth3,239,80,1039,431) or
        findcolor(x,y,syth4,239,80,1039,431)and
        findcolor(x,y,syth5,239,80,1039,431)and
        findcolor(x,y,syth6,239,80,1039,431)
        or
        findcolor(x,y,chan,239,80,1039,431) and
        findcolor(x,y,chan2,239,80,1039,431)and
        findcolor(x,y,chan3,239,80,1039,431)or
        findcolor(x,y,chan4,239,80,1039,431)and
        findcolor(x,y,chan5,239,80,1039,431)and
        findcolor(x,y,chan6,239,80,1039,431)
        or
        findcolor(x,y,pinsir,239,80,1039,431) and
        findcolor(x,y,pinsir2,239,80,1039,431)and
        findcolor(x,y,pinsir3,239,80,1039,431)or
        findcolor(x,y,pinsir4,239,80,1039,431)and
        findcolor(x,y,pinsir5,239,80,1039,431)and
        findcolor(x,y,pinsir6,239,80,1039,431)
        or
        findcolor(x,y,tauros,239,80,1039,431) and
        findcolor(x,y,tauros2,239,80,1039,431)and
        findcolor(x,y,tauros3,239,80,1039,431)or
        findcolor(x,y,tauros4,239,80,1039,431)and
        findcolor(x,y,tauros5,239,80,1039,431)and
        findcolor(x,y,tauros6,239,80,1039,431)
        or
        findcolor(x,y,syth,239,80,1039,431) and
        findcolor(x,y,syth2,239,80,1039,431)and
        findcolor(x,y,syth3,239,80,1039,431)or
        findcolor(x,y,syth4,239,80,1039,431)and
        findcolor(x,y,syth5,239,80,1039,431)and
        findcolor(x,y,syth6,239,80,1039,431)
        or
        findcolor(x,y,khang,239,80,1039,431) and
        findcolor(x,y,khang2,239,80,1039,431)and
        findcolor(x,y,khang3,239,80,1039,431)or
        findcolor(x,y,khang4,239,80,1039,431)and
        findcolor(x,y,khang5,239,80,1039,431)and
        findcolor(x,y,khang6,239,80,1039,431)

        then
        begin
        seenrare:=seenrare+1;
        repeat
        click(366, 460)
        until not findcolor(x,y,15784120,1029, 88,1029, 88) and not findcolor(x,y,15259848,1029, 88,1029, 88) or (checklogin=false)

        end else
        ranfrom:=ranfrom+1;
        repeat
        click(629, 519)

        until not findcolor(x,y,15784120,1029, 88,1029, 88) and not findcolor(x,y,15259848,1029, 88,1029, 88) or (checklogin=false)
        case random(1) of
0:key(VK_UP,200+random(100));
1:key(VK_DOWN,200+random(100));
end;
    end;

procedure checkcatches();
    var egg,caught:integer;
    begin
    egg:=DTMFromString('mWAAAAHicY2FgYLjIxMBwC4ivQWkHIDYHYhso+1diMsP/mjqG/yHhDN+8fBjQASMaBgEAgpcLVA==');
    caught:=DTMFromString('mwQAAAHic42RgYDjDxMBwEojPQzGIvRWIzwHxTiCuA+LjQHVHoPgUFB8D4utAfJMBIv/gxQuGuMqlKDhixg+wOAiD2MQARiIwHAAAWL4fyw==');
    if finddtm(egg,x,y,0,0,1279,799) then
    begin eggs:=eggs+1;
     end;
      if finddtm(caught,x,y,0,0,1279,799) then begin
    poked:=poked+1;
    click(x,y)
    wait(1000)
    click(x,y)
    end;
    freedtm(egg)
    freedtm(caught)
    end;

procedure combatchecker();
    begin
    if findcolor(x,y,7921792,968, 241,1015, 322) and  findcolor(x,y,9500864,968, 241,1015, 322)
     or findcolor(x,y,15249536,968, 241,1015, 322)
    and findcolor(x,y,15245432,968, 241,1015, 322)then begin
    checkcatches()
    checkmonster()
    checkcatches()
    cleardebug()
    tt := GetTimeRunning div 1000+1;
    writeln('')
    writeln('             =============REPORT=================')
    writeln('                        Ran '+tostr(ranfrom)+' times.')
    writeln('                   Tried to catch '+tostr(seenrare)+' pokes.')
    writeln('                       Caught '+tostr(poked)+' pokes.')
    writeln('                        Found '+tostr(eggs)+' eggs.')
    Writeln('                       Time running: ' + IntToStr(Round(t/3600))+ ':' + IntToStr(Round(t/60))+ ':' + IntToStr(Round(t)));
    writeln('             =============REPORT=================')
    writeln('')
    if (t>=280) then begin
    t:=0;
   switchchannel();
    end;
    end;
    end;

procedure walk(direction:string; amount:integer);
var time,time2,i:integer;
begin
time:=155;
time2:=85;

if direction='u' then begin

click(966, 569)
for i:=1 to amount do
begin
keydown(VK_up)
repeat
wait(time)
until not findcolor(x,y,4210808,582, 385,582, 385)
keyup(VK_up)
wait(time2)
end;
amount:=0;
end;

if direction='d' then begin
click(969, 575)
for i:=0 to amount do
begin
keydown(VK_down)
repeat
wait(time)
until not findcolor(x,y,4210808,582, 385,582, 385)
keyup(VK_down)
wait(time2)
end;
amount:=0;
end;

if direction='l' then begin

click(923, 553)
for i:=1 to amount do
begin
keydown(VK_left)
repeat
wait(time)
until not findcolor(x,y,4210808,582, 385,582, 385)
keyup(VK_left)
wait(time2)
end;
amount:=0;
end;

if direction='r' then begin

click(1004, 561)
for i:=1 to amount do
begin
keydown(VK_right)
repeat
wait(time)
until not findcolor(x,y,4210808,582, 385,582, 385)
keyup(VK_right)
wait(time2)
end;
amount:=0;
end;

end;

procedure dialogue(many:integer);
var times,npc:integer;
label back;
begin
npc:= DTMFromString('m1gAAAHic42JgYGCBYmlmCC4HspsZGRgWMzEwxADxeSaIeAdQ7BMUI7Nh/H4gPgfED168IAoTCxiJxAgAAJwmJd8=');
times:=0;
back:
click(994, 88)
for i:=0 to 20 do
begin
wait(550)
if findcolor(x,y,12942674,927, 454,927, 454) or findcolor(x,y,14654322,927, 454,927, 454) then  break;
end;
if finddtm(npc,x,y,0, 388,799, 502) then
begin
click(927, 454)
end;
times:=times+1;
if (many>times) then goto back;
click(927, 454)
freedtm(npc)
end;

procedure doroute();
begin
    repeat
      click(963, 451)      //Repeats clicking on yes/ok/get in park
      walk('u',2)
    until findcolor(x,y,5302448,640, 285,640, 285)
  walk('r',3) //Walks slowly right till find sign.
  repeat
   wait(150)
    walk('r',1)
    wait(100)
   until findcolor(x,y,13154472,730, 286,730, 286)
       wait(50)
      if findcolor(x,y,13154472,730, 286,730, 286) then  //surfing here
      begin
        walk('u',5)
      repeat
        click(642, 309)
        wait(100)
      until finddtm(npc,x,y,0,0,1200,799)
        dialogue(2)
        for i:=0 to 30 do
        begin
          click(940, 454)
          wait(500)
          if not findcolor(x,y,15263968,1018, 530,1018, 530) then  break;
        end;
      end;
     repeat        //walk up into tree starting from water
        walk('u',3)
        combatchecker();
     until findcolor(x,y,3170392,639, 288,639, 288)
        walk('l',4) //Walk from tree into alignment of road and then upward to synch into map.
        repeat
          walk('l',1)
          wait(100)
        until findcolor(x,y,8970472,609, 25,674, 327) or
              findcolor(x,y,10543288,609, 25,674, 327)
        walk('u',3)
        wait(2500)
              walk('u',4)    //Walks upward into the chansey grass
              for i:=0 to 20 do
              begin
                walk('u',1)
                wait(120)
                combatchecker();
                if findcolor(x,y,8437968,596, 63,596, 63) then break;
              end;
            wait(500)
                    for i:=0 to 10 do       //Walks right to align for biking.
                    begin
                      combatchecker();
                      walk('r',2)
                      wait(1000)
                      if findcolor(x,y,8419448,650, 257,695, 454) then break;
                    end;
    click(73, 35) //gets on bike.
   end;

procedure stayingrass();
begin
    if not findcolor(x,y, 15263968,779, 468,779, 468) then
    begin
      key(VK_UP,770)
      wait(30)
        if findcolor(x,y, 4737144 ,597, 283,597, 283) then
        begin
          key(VK_DOWN,770)
          wait(30)
        end;
        if not findcolor(x,y,5789752,584, 372,638, 415) and
        not findcolor(x,y, 4737144 ,597, 283,597, 283) then
        begin
          case random(1) of
            0: key(VK_UP,110+random(350));
            1:key(VK_DOWN,110+random(350));
          end;
        end;
    end else
      if findcolor(x,y, 15263968,779, 468,779, 468) then
      begin
        wait(1250)
        combatchecker();
      end;
end;

procedure checkdong();
 var desk:integer;
    begin
    if findcolor(x,y,12942674,944, 454,944, 454) or
    findcolor(x,y,14654322,944, 454,944, 454)
    and not (loc='DESK') then
        begin
        desk:= DTMFromString('m1gAAAHic42JgYLBnRmA7KN7PiInNgWodgDgYiFOAuByIBYDiUkCsCcSmQOwAxBYWEgwVBQ5gfGNCARjD+CAAoj08IhiIBYxEYgQAAPbAEnc=');
          repeat
            click(944, 454)
            wait(250)
            if finddtm(desk,x,y,0,0,1230,799) then break;
          until finddtm(desk,x,y,0,0,1230,799)
          wait(100)
          freedtm(desk)
        end;
  end;

{Main-Loop}
begin
Setdesktopasclient()
npc:= DTMFromString('m1gAAAHic42JgYGCBYmlmCC4HspsZGRgWMzEwxADxeSaIeAdQ7BMUI7Nh/H4gPgfED168IAoTCxiJxAgAAJwmJd8=');
  repeat
    g:=random(9);
        if g=0 then
        begin
          closepoke()
        end;
    getonline()
          if (loc='PC') then
          begin
            gotodesk()
          end;
            if (loc='DESK') then
             begin
              doroute()
              end;
                  repeat
                    t:=t+1;
                    combatchecker()
                    for i:=0 to 20 do
                    begin
                      stayingrass()
                    end;
                    checkdong()
                    loc()
                    checklogin()
                  until (loc='DESK') or (loc='PC')
  until false
freedtm(npc)
end.
Will not provide help.

You need Simba, GOOGLE: 'simba wizup'
Its only going to work on windows this script, was done on win2k.
Win2k is only going to support java 1.6.
Desktop needs to be 1280x800
Desktop Buttons need to be classic.
You need to make a shortcut from the pokemmo.exe, because simba will look for it on your desktop.
You need firered ROM.
You need arrow key movement.
Your END key is 'A'.
Your DELETE key is 'B'.
You make sure your combat text is auto.
You need the white background for combat.
You need a surfing pokemon, you need thousands of moneys.

I made 40+ eggs from this script.
It is slow and intended for multiple account use.

You will probally have difficulty, getting this to work, due to it just not being compatible with different versions of windows.

Ive made simalar scripts for other oses, This can be done alot better, i dont even think this was the final script ill edit soon... id be amazed if someone gets this working lol.
03/10/2013 22:09 agonowiec#2
really work?
03/15/2013 05:04 gottapercha#3
had some accounts banned this morning lol.