• Log in or sign up for an account here: https://www.sythe.org/login

Chicken Fighter request

  • Thread starter Thread starter jamz1823
  • Start date Start date
J

jamz1823

Guest
I know this is very simple, but i need it to be completely random resistant. The kind of thing where i can leave it on for 6+ hours and not worry.
I would like it to be in the lumby chicken area which can get crowded so i do not know of that can cause problems.
Anyway post what you want for the script to be made and i will decide if it is a fair ammount to pay.
Also, i will want to test the script first to make sure that it is not rubbish.
 
try this one. made by whiteshadow:

Code:
/////////////////////////////////////////////////
////  1.2 ChickenFighter by WhiteShadow      ////
/////////////////////////////////////////////////
//// Kills chickens and collects feathers    ////
//// Autocolor : Yes                         ////
//// SRL VER.  : SRL 3.2                     ////
/////////////////////////////////////////////////
//// Stand in Chicken pen in South Falador   ////
//// 3 piece armor just in case of randoms   ////
//// Have a feathers in first inventory slot ////
//// Set DeclarePlayers; and const           ////
//// Start script logged out to decrease lag ////
/////////////////////////////////////////////////
//// History                                 ////
////  v.1.0 - First released                 ////
////  v.1.1 - Fixed Chicken Killing          ////
////  v.1.2 - Some callibration changes      ////
/////////////////////////////////////////////////

program ChickenFighter;
{.include SRL\SRL.Scar}
{.include SRL\SRL\Skill\Fighting.Scar}

var
  Chicken : array[0..2] of Integer;
  FeatherDTM, DisPlay, MMWater, Killz : Integer;
  SwitchMark, IntTime, TakeCount, CaMark : Integer;

const
  iPlay       = 10; //# of minutes until switch player
  StartPlayer = 0;  //Player to Play first.
  Extensive   = True; //For long individual player reports.
  GambleBox   = True; //Set to true if your computer lags when it solves NewBox
  WaitChick   = 4000; //Miliseconds until next chicken click. + random(1000)
  CalTime     = 60000; //Miliseconds to walk back to center.
  
procedure DeclarePlayers;
begin
  HowManyPlayers:= 4;
  NumberOfPlayers(HowManyPlayers);

  Players[0].Name     :='';
  Players[0].Pass     :='';
  Players[0].Nick     :='';
  Players[0].Integer1 := 1; //1 - 4 fightmode.
  Players[0].Active   := True;
  
  Players[1].Name     :='';
  Players[1].Pass     :='';
  Players[1].Nick     :='';
  Players[1].Integer1 := 1; //1 - 4 fightmode.
  Players[1].Active   := True;
  
  Players[2].Name     :='';
  Players[2].Pass     :='';
  Players[2].Nick     :='';
  Players[2].Integer1 := 1; //1 - 4 fightmode.
  Players[2].Active   := True;
  
  Players[3].Name     :='';
  Players[3].Pass     :='';
  Players[3].Nick     :='';
  Players[3].Integer1 := 1; //1 - 4 fightmode.
  Players[3].Active   := True;

end;

procedure LoadAll ;
begin

  Chicken[0]:= 1121675;

  Chicken[1]:= 2160891;

  Chicken[2]:= 858759;

  FeatherDTM:= DTMFromString('78DA63F466626078C200062C108A61F1B4A90' +
       'CFF81342310FF07024647A09A2F0C6880118904D20140354F09A8' +
       '7102AA794C404D3050CD35FC6A00784D0CCD');

  MMWater := BitmapFromString(2, 2, '6277A56277A56277A56277A5');
  
end;

function Convert0r : String;
begin
  case Players[CurrentPlayer].Integer1 of
    1 : Result:= 'attack';
    2 : Result:= 'strength';
    3 : Result:= 'hitpoints';
    4 : Result:= 'defence';
  end;
end;

procedure NoBannage;
begin
  RotateEvery(4 + random(3));
  LeaveScreenEvery(5 + random(5));
  HoverEvery(8 + random(4), Convert0r);
  PickUpMouseEvery(5 + random(10));
  RandomRClickEvery(15 + random(5));
end;

function FindRandoms : Boolean;
var
  i: Integer;
begin
  for i := 1 to 17 do
  begin
    case I of
      1: CloseWindow;
      2: if FindTalk then
          Result := True;
      3: if FindDead then
          Result := True;
      4: if FindMod then
          Result := True;
      5: if FindMime then
          Result := True;
      6: if FindMaze then
          Result := True;
      7: if FindQuiz then
          Result := True;
      8: if FindDemon then
          Result := True;
      9: if FindScapeRune then
          Result := True;
      10: if FindTalk then // Call it twice
          Result := True;
      11: if FindLamp(LampSkill) then // Maybe we missed it?
          Result := True;
      12: if (FindNewBox) then
          begin
            Result := True;
            if(GambleBox = True)then
            begin
              if(not(GambleNewBox))then
                LogOut;
            end else
              SolveBox;
          end;
      13: if FindTrade then
          Result := True;
      14: begin
            if NoGameTab then
            begin
              if ( SolveFrog ) then Exit;
              Result := True;
              Players[CurrentPlayer].loc := 'No GameTab';
              Logout;
              Exit;
            end;
          end;
      15: SaveToChatLog;
      16: if SolvePinball then
          Result := True;
      17: NoBannage;
    end;
    wait(1);
  end;
end;

procedure RandClick(x, y : Integer);
begin
  if(random(3) = 0)then
  begin
    Mouse(x, y, 1, 1, false);
  end else
    Mouse(x, y, 0, 0, true);
end;

procedure FindWait(Ms, R : Integer);//Wait with randoms.
var
  WaitTime, DivTime, i : Integer;
begin
  WaitTime:= Ms + random(r);
  DivTime:= Trunc(WaitTime div 3);
  repeat
    Wait(DivTime - round(r div 4));
    FindRandoms;
    if(random(24) = 2)then
      SendArrowSilentWait(random(3), 300 + random(200));//Humans tilt alot?
    i:= i + 1;
  until(i >= 3);
end;

  

function FindChicken : Boolean;
var
  i, v: Integer;
begin
  if(not(LoggedIn))then
    Exit;
  repeat
    if(InFight)then
      Result:= True;
    if(Result = True)then
      Exit;
    FindRandoms;
    v:= v + 1;
    i:= random(2);
    if(FindObj(x, y, 'hick', Chicken[i], 10))then
    begin
      RandClick(x, y);
      ChooseOption(x, y, 'Attack');
      Flag;
      FindWait(3000, 1000);
      Flag;
      if(InFight)then
        Result:= True;
      FindTalk;
    end;
    if(not(LoggedIn))then Exit;
  until(Result = True) or (v > 7)
end;

procedure FightWait;
var
  Mark3 : Integer;
begin
  if(not(InFight))then Exit;
  MarkTime(Mark3);
  repeat
    Wait(100);
    FindRandoms;
    if(not(LoggedIn))then Break;
    FindTalk;
  until(TimeFromMark(Mark3) >= WaitChick + random(1000)) or (not(InFight))
  Killz:= Killz + 1;
end;

function CollectItems : Boolean;
var
  a : TPoint;
  c : Integer;
begin
  repeat
    c:= c + 1;
    if(not(LoggedIn))then Exit;
    FindRandoms;
    if(FindColorTolerance(a.x, a.y, 7632531, Msx1, Msy1, Msx2, Msy2, 10))or
      (FindColorTolerance(a.x, a.y,  10240, Msx1, Msy1, Msx2, Msy2, 10))then
    begin
      MMouse(a.x, a.y, 0, 0);
      if(IsUpText('ake'))then
      begin
        Result:= True;
        Mouse(a.x, a.y, 2, 2, false);
        if(ClickOption('eather', 1))then
          TakeCount:= TakeCount + 1;
        Flag;
        if(InvCount < 28)then
          if ChooseOption(x, y, 'hick') then
            TakeCount:= TakeCount + 1;
        Flag;
      end;
    end;
  until(InvFull) or (c > 2)
end;

procedure MSC;
begin
  Writeln('Mouse adjust');
  if(random(2) = 0)then
    MouseSpeed:= 8 + random(3)
  else
  MouseSpeed:= 6 + random(4);
  BenMouse:= True;
  SetTimeOut(60, 'MSC');
  Status('');
end;

procedure LoadScript;
begin
  ClearDebug;
  SetUpSRL;
  LoadAll;
  DeclarePlayers;
  CurrentPlayer:= StartPlayer;
  BenMouse:= True;
  MouseSpeed:= 7;
  if(not(LoggedIn))then
    LoginPlayer;
  MSC;
end;

procedure xPosition; //anti lost.
begin
  if(TimeFromMark(CaMark) > CalTime)then
  begin
    MarkTime(CaMark);
    MakeCompass('N');
    if(random(2) = 0)then
    begin
      SymbolAccuracy:= 0.4;
      if(FindSymbol(x, y, 'churn'))then
        MouseFlag(x - 25, y + 5, 5, 5);
    end else
    begin
      if(FindBitmapToleranceIn(MMWater, x, y, Mmx1, Mmy1, Mmx2, Mmy2, 50))then
        MouseFlag(x + 1, y - 23, 2, 2);
    end;
  end;
end;

procedure PlayerStats;
var
  PSActive : String;
  i : Integer;
begin
  for i := 0 to HowManyPlayers-1 do
  begin
    if(Players[i].Active = True)then
      PSActive:='True'
    else
      PSActive:='False';
      Writeln('#'+IntToStr(i)+' : '+Players[i].name+ ', Active = '+PSActive+', Feathers = '+IntToStr(Players[i].Banked));
   end
   writeln('<---------------------------------------------->');
end;

procedure Report;
begin
  ClearDebug;
  Writeln('<---------------------------------------------->');
  Writeln('  Chicken Fighter v.1.0 by WhiteShadow  ');
  Writeln('  Worked For '+ScriptTime2(2));
  Writeln('  Killed '+IntToStr(Killz)+' chickens   ');
  Writeln('  Collected '+IntToStr(TakeCount)+ ' times');
  Writeln('<---------------------------------------------->');
  if(Extensive = True)then
    PlayerStats;
end;

begin
  LoadScript;
  NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
  repeat
    if(not(FindDtm(FeatherDTM, x, y, 564, 211, 606, 249)))then
    begin
      Writeln('ahmmph, feathers in 1st inventory slot!');
      Writeln('God read the freaking directions!');
      LogOut;
      Players[CurrentPlayer].Active:= False;
    end;
    if(LoggedIn)then
    begin
      ChatsOff;
      SetFightMode(Players[CurrentPlayer].Integer1);
      SetRun(True);
      GameTab(4);
      HighestAngle;
      IntTime:= (iPlay * 60000) + random(5 * 60000);
      Display:= Round(IntTime / 60000);
      Writeln(Players[CurrentPlayer].Name+' will play '+IntToStr(DisPlay)+' minutes');
      MarkTime(SwitchMark);
    end;
    MarkTime(CaMark);
    repeat
      FindChicken;
      Wait(50 + random(50));
      FightWait;
      Wait(50 + random(50));
      CollectItems;
      CountInvSlot(Players[CurrentPlayer].Banked, 1, 1);
      if(not(LoggedIn))then
        Break;
      xPosition;
      CollectItems;
      Report;
    until(TimeFromMark(SwitchMark) > IntTime)

    if(LoggedIn)then
      NextPlayer(True);
      
    if(not(LoggedIn))then
      NextPlayer(False);
      
  until(False)
end.
 
eh nice script thanks lol
 
try tarajunky's script :)
 
I cant seem to get a hold of tarajunky's script itd be cool if would post it
 
hey it was working pretty good for me except anti random. but now it will not work
 
Runescape Gamblingrunescape gambling
Back
Top