Results 1 to 11 of 11

Thread: Members or uber scripters look here!!

  1. #1
    Join Date
    Feb 2007
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Members or uber scripters look here!!

    sry bout posting this here too but no one was looking at it or replying anyways...

    I dont kno if this is the right place to be posting this, but it has to do with a script and im requesting something so here goes:

    I've been thinking about trying to make a script for Construction (like making flatpacks) for Rimmington houses. I have a basic idea of what it could do and I'll help out too, I just need someone or a few people (like SRL Members) to work with me to make it better than basic.

    im thinking of having it start in fally west bank with a bunch of law runes, an air staff, waters, earths, and the supplies (or have the script open bank and get all that shit). then have it teleport to house, using CastSpell, and have the user set a certain number for wat room the workbench is in if we made some sort of case using some walking procedures depending on wat number... for example
    we make seperate walking procedures for all these rooms (im not sure how many are actually possible) (SEE SHITTY DIAGRAM AT BOTTOM lol). And maybe someone could make the walktoroom procedure one of the first construction includes in SRL with Room as a string....and it would have to check for doors and open them. then use findobjmultitext to locate the workbench (or something better if you see is fit) and then have it click the workbench but sometimes right clik and click option work like this(yes... this is edited from a part of my chopper im working on):

    SCAR Code:
    if(IsUpTextMulti('Work','ork','rk')) then
     begin
      case n of
      0: Mouse(x,y,5,5,true);
      1: Mouse(x,y,5,5,true);
      2: Mouse(x,y,5,5,true);
      3: Mouse(x,y,5,5,true);
      4: Mouse(x,y,5,5,true);
      5: Mouse(x,y,5,5,true);
      6: begin
           Mouse(x,y,5,5,false);
             Wait(400+random(500));
               ClickOption('Work',1);
          end;
     end;

    then repeat that until there are no more planks (watever type they choose)... then teleport back to fally, walk to west bank, bank the flatpacks, fixbank (watever im not familiar with the banking procedures); and withdraw all planks. it will the repeat the whole thing until it goes to get more planks from the bank and there is no more.

    so as you can see, this script would be pretty useful and the only really hard part would be to create the case of the rooms and their walking procedures. I WILL HELP I WONT JUST LEECH. I might be able to make everything besides the case (unless i make the case outline because i cant do walking). So it should probably only be released in members section and to me =]. So post here or PM or sumthin if your kind enough to help

    HERE IS THE SHITTY DIAGRAM:

    **The numbers are the room numbers that the user would have to fill in (just
    an example)
    **T=Teleport(where you come throught the teleport)

    SCAR Code:
    __________________________
    |    |    |    |    |    |
    | 1  | 2  | 3  | 4  | 5  |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 6  | 7  | 8  | 9  | 10 |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 11 | 12 | T  | 13 | 14 |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 15 | 16 | 17 | 18 | 19 |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 20 | 21 | 22 | 23 | 24 |
    |____|____|____|____|____|

  2. #2
    Join Date
    Feb 2007
    Posts
    215
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    this is kind of an iffy topic but it isn't exactly out of place here. Anyway i would help but i can't because i am not a member so i couldn't test anything.

    The walking to different rooms sounds complacated. Why not just make the script so the user must place the bench in a room next to the center, that way you have one simple walking procedure to work with and just edit to go different directions (like change the compass so you are facing the right room).

    There could be quite a few different placements for doors because each room is different and opening the right doors and going through the right places would be a pain.
    A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
    -Douglas Adams

  3. #3
    Join Date
    Feb 2007
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    yeah i kno but then ppl would have to make a new member file and anew house just to use the autoer... unless they have open space bu i kno i dont

    and the walking would be a pain, but definitely better in the end.

    and for the doors, i forget if you can remove doors, but if you cant just find a way to have it search in the direction you are going for a door, and if there is one, right click then check for open door. that would prolly be the hardest part

    so we would need someone to be able to make that stuff first off.. and its gunna be really hard to do.

  4. #4
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    This will give the coords of each door on the minimap. I will clean it up and make it one function when I get time.

    SCAR Code:
    program New;
    {.include SRL/SRL.scar}

    var doorcolor:integer;

    var skippingarray:tboxarray;
    AOTPA:array of TpointArray;

                    vx,f,vy:integer;

    function GetDoorColor:integer;
    var Color,tmpx,tmpy,MinOfRange:integer;
    Length206,Length217,Length233,Length241:integer;
    Array206,Array217,Array233,Array241:array of tpoint;
    RangeOfOthers206,RangeOfOthers217,RangeOfOthers233,RangeOfOthers241:integer;
    tmpbool:boolean;
    begin
      for Color:=200 to 254 do
      begin
        if not(((Color=206)or(Color=217)or(Color=233)or(Color=241))) then
        begin
          if FindColor(tmpx,tmpy,Color,mmx1,mmy1,mmx2,mmy2) then
          begin
            result:=Color;
            tmpbool:=true;
          end;
        end;
        if tmpbool then break;
      end;
      if not(tmpbool) then
      begin
        //writeln('its a drop dot color');
        FindColorsTolerance(Array206,206,mmx1,mmy1,mmx2,mmy2,0);
        Length206:=getarraylength(Array206);
        FindColorsTolerance(Array217,217,mmx1,mmy1,mmx2,mmy2,0);
        Length217:=getarraylength(Array217);
        FindColorsTolerance(Array233,233,mmx1,mmy1,mmx2,mmy2,0);
        Length233:=getarraylength(Array233);
        FindColorsTolerance(Array241,241,mmx1,mmy1,mmx2,mmy2,0);
        Length241:=getarraylength(Array241);
        RangeOfOthers206:=max(Length233,max(Length217,Length241))-min(Length233,min(Length217,Length241));
        RangeOfOthers217:=max(Length233,max(Length206,Length241))-min(Length233,min(Length206,Length241));
        RangeOfOthers233:=max(Length206,max(Length217,Length241))-min(Length206,min(Length217,Length241));
        RangeOfOthers241:=max(Length233,max(Length217,Length206))-min(Length233,min(Length217,Length206));
        MinOfRange:=min(RangeOfOthers206,min(RangeOfOthers217,min(RangeOfOthers233,RangeOfOthers241)));
        case MinOfRange of
          RangeOfOthers206: result:=206;
          RangeOfOthers217: result:=217;
          RangeOfOthers233: result:=233;
          RangeOfOthers241: result:=241;
        end;
      end;
    end;


    function tPtArrayToStr(newTPoint: TPointArray): string;
    var
      i: Integer;
    begin
      for i:=0 to GetArrayLength(newTPoint)-1 do
       begin
       Result := Result + IntToStr(newTPoint[i].x) + ',' +
          IntToStr(newTPoint[i].y);
           if (not (i = (GetArrayLength(newTPoint) - 1))) then
          Result := Result + ' ';
      end;
    end;

    function BoxArrayToArrayOfTPA(Color:integer; Boxes:array of TBox): array of TPointArray;
    var i:integer;
    begin
      setarraylength(result,getarraylength(boxes));
      for i:=0 to GetArrayLength(Boxes)-1 do
        FindColorsTolerance(result[i],Color,Boxes[i].x1,Boxes[i].y1,Boxes[i].x2,Boxes[i].y2,0);
    end;


    procedure DisplayPicture(TheBox:tbox);
    var
      DebugCanvas, ClientCanvas: TCanvas;
      w, h, bmp: Integer;

    begin
      w := Thebox.x2 - Thebox.x1;
      h := Thebox.y2 - Thebox.y1;
      ActivateClient;
      DisplayDebugImgWindow(w, h);
      DebugCanvas := GetDebugCanvas;
      ClientCanvas := GetClientCanvas;
      SafeCopyCanvas(ClientCanvas, DebugCanvas, TheBox.x1,TheBox.y1,TheBox.x2,TheBox.y2, 0, 0, w, h);
    //bmp := BitmapFromString(w, h, '');

    //CopyClientToBitmap(bmp,Thebox.x1, Thebox.y1, Thebox.x1 + w, Thebox.y1 + h);
    //DisplayDebugImgWindow(w, h);
    //CopyCanvas(GetBitmapCanvas(bmp), GetDebugCanvas, TheBox.x1,TheBox.y1,TheBox.x2,TheBox.y2, 0, 0, w, h);

    end;
    function RearrangeTPA(thearray:array of tpoint; startpt, endpt:integer; dox,up:boolean):array of tpoint;
    var
      temp, pArray : integer;
      done : boolean;
      ttp:tpoint;
      tmpTPA : array of tpoint;
    begin
      setarraylength(tmpTPA,getarraylength(thearray));
      tmpTPA:=thearray;
      setarraylength(result,endpt+1-startpt);

      if not(up) then
      begin

        if dox then
        begin
          repeat
            done := true;
            for pArray := 0 to (getarraylength(thearray) - 2) do
            begin
              if(tmpTPA[pArray].x < tmpTPA[pArray + 1].x) then
              begin
                //temp := tmpTPA[pArray].x;
                //tmpTPA[pArray].x := tmpTPA[pArray + 1].x;
                //tmpTPA[pArray + 1].x := temp;
                ttp := tmpTPA[pArray];
                tmpTPA[pArray] := tmpTPA[pArray + 1];
                tmpTPA[pArray + 1] := ttp;



                done := false;
              end;
            end;
          until(done);
        end;

        if not(dox) then
        begin
          repeat
            done := true;
            for pArray := 0 to (getarraylength(thearray) - 2) do
            begin
              if(tmpTPA[pArray].y < tmpTPA[pArray + 1].y) then
              begin
                //temp := thearray[pArray].y;
                //tmpTPA[pArray].y := tmpTPA[pArray + 1].y;
                //tmpTPA[pArray + 1].y := temp;

                ttp := thearray[pArray];
                tmpTPA[pArray] := tmpTPA[pArray + 1];
                tmpTPA[pArray + 1] := ttp;

                done := false;
              end;
            end;
          until(done);
        end;

      end;

      if up then
      begin

        if dox then
        begin
          repeat
            done := true;
            for pArray := 0 to (getarraylength(thearray) - 2) do
            begin
              if(tmpTPA[pArray].x > tmpTPA[pArray + 1].x) then
              begin
                //temp := tmpTPA[pArray].x;
                //tmpTPA[pArray].x := tmpTPA[pArray + 1].x;
                //tmpTPA[pArray + 1].x := temp;

                ttp := tmpTPA[pArray];
                tmpTPA[pArray] := tmpTPA[pArray + 1];
                tmpTPA[pArray + 1] := ttp;

                done := false;
              end;
            end;
          until(done);
        end;

        if not(dox) then
        begin
          repeat
            done := true;
            for pArray := 0 to (getarraylength(thearray) - 2) do
            begin
              if(tmpTPA[pArray].y > tmpTPA[pArray + 1].y) then
              begin
             
                //temp := tmpTPA[pArray].y;
               // tmpTPA[pArray].y := tmpTPA[pArray + 1].y;
                //tmpTPA[pArray + 1].y := temp;
               
                ttp := tmpTPA[pArray];
                tmpTPA[pArray] := tmpTPA[pArray + 1];
                tmpTPA[pArray + 1] := ttp;

               
                done := false;
              end;
            end;
          until(done);
        end;

      end;

      pArray:=startpt-1;
      for temp:=0 to getarraylength(result)-1 do
      begin
        pArray:=pArray+1;
        result[temp]:=tmpTPA[pArray];
      end;

    end;
    function SurroundBox(px,py:integer):Tbox;
    var Inner,Outer:Tbox;
    PointColor,dx,dy:integer;
    begin
      PointColor:=GetColor(px,py);
      Inner.x1:=px;
      Inner.y1:=py;
      Inner.x2:=px;
      Inner.y2:=py;
      Outer.x1:=px-5;
      Outer.y1:=py-5;
      Outer.x2:=px+5;
      Outer.y2:=py+5;    {
      repeat
       // Outer.x1:=Outer.x1-1;
        Inner.x1:=Inner.x1-1;
      //writeln('test3');
      until (not(FindColorSkipBox(dx,dy,PointColor,Outer.x1,Outer.y1,Inner.x1,Outer.y2,Inner)));
      //writeln('test2');
      repeat
       // Outer.Y1:=Outer.Y1-1;
        Inner.Y1:=Inner.y1-1;
      until (not(FindColorSkipBox(dx,dy,PointColor,Outer.x1,Outer.y1,Outer.x2,Outer.y2,Inner)));
      //writeln('test1');
    repeat
        //Outer.x2:=Outer.x2+1;
        Inner.x2:=Inner.x2+1;
      until (not(FindColorSkipBox(dx,dy,PointColor,Outer.x1,Outer.y1,Outer.x2,Outer.y2,Inner)));
      // writeln('test1');
    repeat
       // Outer.y2:=Outer.y2+1;
        Inner.y2:=Inner.y2+1;
      until (not(FindColorSkipBox(dx,dy,PointColor,Outer.x1,Outer.y1,Outer.x2,Outer.y2,Inner)));
       //writeln('test1');
      Result:=inner;       }
    result:=outer;
    end;

    var arraylength,i,t:integer;
    tpa:tpointarray;
    function MidPointOfLine(TheArray:array of Tpoint):Tpoint;
    //var tmpresult:T:integer;
    begin
      if getarraylength(thearray)>1 then
      result:=TheArray[round(getarraylength(TheArray)/2)-1];
      if  getarraylength(thearray)=1 then result:=thearray[0];
    end;
    function IsTPointInDropDot(TP:Tpoint):boolean;
    var color:integer;
    begin
      color:=getcolor(TP.x,TP.y);
      case color of
        206:
        begin
          if (getcolor(TP.x,TP.y-1)=233)
          or (getcolor(TP.x-1,TP.y)=241)
          or (getcolor(TP.x-2,TP.y+1)=217)then
          result:=true;
        end;
        217:
        begin
          if (getcolor(TP.x+1,TP.y-1)=241)
          or (getcolor(TP.x+2,TP.y-1)=206)
          or (getcolor(TP.x+2,TP.y-2)=233)then
          result:=true;
        end;
        233:
        begin
          if (getcolor(TP.x,TP.y+1)=206)
          or (getcolor(TP.x-1,TP.y+1)=241)
          or (getcolor(TP.x-2,TP.y+2)=217)then
          result:=true;
        end;
        241:
        begin
          if (getcolor(TP.x+1,TP.y-1)=233)
          or (getcolor(TP.x+1,TP.y)=206)
          or (getcolor(TP.x-1,TP.y+1)=217)then
          result:=true;
        end;
        else result:=false;
      end;
    end;
    function IgnoreDropDots(TheList:array of array of tpoint):array of array of tpoint;
    var
    pTo,pFrom:integer;
    pList:integer;
    begin
      result:=TheList;

      for pList :=0 to getarraylength(result)-1 do
      begin
       pTo:=0-1;
       pFrom:=0;
       for pFrom:=0 to getarraylength(result[pList])-1 do
       begin
         if not(IsTPointInDropDot(result[pList][pFrom])) then
         begin
           pTo:=pTo+1;
           result[pList][pTo]:=result[pList][pFrom];
         end;
       end;
       setarraylength(result[pList],pto+1);
      end;

      pTo:=0-1;
      pFrom:=0;
      for pFrom:=0 to getarraylength(result)-1 do
      begin
        if not(getarraylength(result[pFrom])=0) then
        begin
          pTo:=pTo+1;
          result[pTo]:=result[pFrom];
        end;
      end;
     // writeln(inttostr(pto));
      setarraylength(result,pto+1);
    end;
    function FindDoorColor: Integer;
    var
      arRoughDoorColors, arFineDoorColors: TPointArray;
      i, bmpRedDot: Integer;
    begin
      bmpRedDot := BitmapFromString(2, 2, 'FE2020FC0606FC0606F10000');
      FindColorsSpiralTolerance(MMCX, MMCY, arRoughDoorColors, 241, MMX1, MMY1, MMX2, MMY2, 20);
      for i := 0 to GetArrayLength(arRoughDoorColors) - 1 do
      begin
        FindColorsSpiralTolerance(arRoughDoorColors[i].x, arRoughDoorColors[i].y, arFineDoorColors, 241, arRoughDoorColors[i].x - 4, arRoughDoorColors[i].y - 4, arRoughDoorColors[i].x + 4, arRoughDoorColors[i].y + 4, 20);
        if(GetArrayLength(arFineDoorColors) = 3)and
          (not(FindBitmapToleranceIn(bmpRedDot, x, y, arRoughDoorColors[i].x - 4, arRoughDoorColors[i].y - 4, arRoughDoorColors[i].x + 4, arRoughDoorColors[i].y + 4, 20)))then
        begin
          Result := GetColor(arRoughDoorColors[i].x, arRoughDoorColors[i].y);
          Writeln('Found possible door at x = ' + IntToStr(arRoughDoorColors[i].x) + ' y = ' + IntToStr(arRoughDoorColors[i].y));
          FreeBitmap(bmpRedDot);
          Exit;
        end
      end;
      FreeBitmap(bmpRedDot);
      Writeln('Door color not found.');
    end;
    var tpa2,tpa3:array of tpoint;

    begin
      SetupSRL;
      t:=getsystemtime;
      doorcolor:=finddoorcolor;
      // DisplayPicture(657,120,671,129);
      //mybox:=Surroundbox(myx,myy);
      //setarraylength(skippingarray,1);
      //skippingarray[0].x1:=0;
      //skippingarray[0].y1:=0;
      //skippingarray[0].x2:=1;
      //skippingarray[0].y2:=1;

       //arraylength:=1;
      repeat                                     {566,6,730,163}
        if FindColorSkipBoxArray(vx,vy,DoorColor,mmx1,mmy1,mmx2,mmy2,skippingarray) then
        begin
          //writeln('found');
          //writeln(inttostr(arraylength));
          //arraylength:= getarraylength(skippingarray);
          arraylength:=arraylength+1;
          setarraylength(skippingarray,arraylength);
          skippingarray[arraylength-1]:= Surroundbox(vx,vy);
          //writeln('test1');
        end;
        //writeln(inttostr(arraylength));
        wait(1);
      until ((isfkeydown(11)) or (not(FindColorSkipBoxArray(vx,vy,DoorColor,mmx1,mmy1,mmx2,mmy2,skippingarray))));
      //writeln('done');
     { repeat
        repeat
          wait(1000);
        until isfkeydown(12);
        i:=i+1;
        DisplayPicture(Skippingarray[i]);
        repeat
          wait(1000);
        until isfkeydown(11);

       until i=(arraylength-1);   }


    AOTPA:=BoxArrayToArrayOfTPA(doorColor,Skippingarray)
    AOTPA:=ignoredropdots(aotpa);
    setarraylength(TPA,getarraylength(AOTPA));
    for f:= 0 to getarraylength(AOTPA)-1 do
      TPA[f]:=MidPointOfLine(AOTPA[f]);
    //for f:= 0 to getarraylength(AOTPA)-1 do
    //writeln(tPtArrayToStr(AOTPA[f]));
    for f:= 0 to getarraylength(tpa)-1 do
      writeln(inttostr(tpa[f].x)+','+inttostr(tpa[f].y));
    end.

  5. #5
    Join Date
    Sep 2006
    Location
    New Jersey, USA
    Posts
    5,347
    Mentioned
    1 Post(s)
    Quoted
    3 Post(s)

    Default

    Go into building mode, walk to the correct room, then turn building mode off

    Building mode does take out the doors, right? I'm pretty sure last time I was on my friend's account, it did...
    Interested in C# and Electrical Engineering? This might interest you.

  6. #6
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    Yes it removes the physical doors on the mainscreen (except ones that go to the outside or inner garden). What about the red lines on the minimap?

    Edit: the red on minimap is still there, so you can use that.

  7. #7
    Join Date
    Feb 2007
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    nice boreas..... thats insane thanks for helping... plz tell me youll help with the whole thing....lol ur sick

    anyways i started some parts of the script before ill post them for now just give suggestions or something

    and if someone could find out the max amoutn of rooms horizontally and vertically that would be a big help....

    also, i was thinking for the first version we should only have single player, but i dont kno how to use multiplayer and if you think we should then go ahead and try to add it afterwards...

    THIS IS NOT EVEN CLOSE TO FINISHED AND WONT COMPILE OR ANYHTING...JUST TAKE A LOOK AND MAKE SUGGESTIONS
    BTW I MADE THE DIAGRAM FOR WALKING IF WE ENDED UP MAKING ONE, BUT ITS NOT CORRECT CUZ IM NOT SURE THE MAX NUMBER OF ROOMS YOU COULD HAVE HORIZONTALLY OR VERTICALLY.. I JUST USED MY RANDOMS AND ANITBAN (IM SURE FINDFASTRANDOMS IS BETTER BUT W/E). ALSO I INCLUDED MY AUTO RESPONDER (IT MIGHT NOT BE NECESSARY BUT I THINK IT'LL MAKE THE SCRIPT BETTER JUST IN CASE SOMEONE SAYS SOMETHING).

    GIVE SUGGESTIONS!!!

    SCAR Code:
    program FlatPacker;
    {.include SRL/SRL.scar}
    {.include SRL/SRL/skill/Magic.scar}

    var
    c,z,n: Integer;

    //ROOM DIAGRAM (T = Teleport)

    {________________________)
    |    |    |    |    |    |
    | 1  | 2  | 3  | 4  | 5  |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 6  | 7  | 8  | 9  | 10 |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 11 | 12 | T  | 13 | 14 |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 15 | 16 | 17 | 18 | 19 |
    |____|____|____|____|____|
    |    |    |    |    |    |
    | 20 | 21 | 22 | 23 | 24 |
    |____|____|____|____|____|
    (                        }


    const
    RoomNumber        = 1;{Use diagram above to choose which room the workbench is in}
    StartPlayer       = 0;{Leave this}
    DoofyRespond      = True;{Use my autoresponder?}
    RunDir            = 'E';
    CommonNickname1   = '';{A common name people call you..like part of your name}
    CommonNickname2   = '';
    CommonNickname3   = '';
    FlatPackItem      = '';{Item you want to make flatpacks of}
    FlatPacksToMake   = 1000;
    PlankType         = '';{Type of plank you're using}
    CrowdedPlace      = False;{False if in non-talkative place,true if opposite}
    ///////////////////////////////////////////////////////////////////////////
    procedure DeclarePlayers;
    begin
     HowManyPlayers  := 1;
     NumberOfPlayers( HowManyPlayers );
     CurrentPlayer := StartPlayer;

     Players[0].Name := '';{Username}
     Players[0].Pass := '';{Password}
     Players[0].Nick := '';{3 Letters from your name NO CAPS}
     Players[0].Active:=True;
    end;
    ///////////////////////////////////////////////////////////////////////////
    procedure DoofyResponder;
    begin
    if(DoofyRespond = True) then
    begin
     RespondAmount:=0;
     if(CrowdedPlace = True) then
     begin
     if (FindChatText('Hp lvls') or
        FindChatText('Hp lvls?') or
        FindChatText('Hitpoint lvls') or
        FindChatText('Hitpoint lvls?') or
        FindChatText('Hitpoints lvls') or
        FindChatText('Hitpoints lvls?') or
        FindChatText('Hitp lvls') or
        FindChatText('Hitp lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Hitpoints')))
        RespondAmount:=RespondAmount+1;
      end;

     if (FindChatText('Mining lvls') or
        FindChatText('Mining lvls?') or
        FindChatText('Mine lvls') or
        FindChatText('Mine lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Mining')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Wc lvls') or
        FindChatText('Wc lvls?') or
        FindChatText('Woodcut lvls') or
        FindChatText('Woodcut lvls?') or
        FindChatText('Woodcutting lvls') or
        FindChatText('Woodcutting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Woodcutting')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Attack lvls') or
        FindChatText('Attack lvls?') or
        FindChatText('Atack lvls') or
        FindChatText('Atack lvls?') or
        FindChatText('Attac lvls') or
        FindChatText('Attac lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Attack')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Defenc lvls') or
        FindChatText('Defenc lvls?') or
        FindChatText('Defence lvls') or
        FindChatText('Defence lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Defence')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Magic lvls') or
        FindChatText('Magic lvls?') or
        FindChatText('Mage lvls') or
        FindChatText('Mage lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Magic')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Cook lvls') or
        FindChatText('Cook lvls?') or
        FindChatText('Cookin lvls') or
        FindChatText('Cookin lvls?') or
        FindChatText('Cooking lvls') or
        FindChatText('Cooking lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Cooking')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Fletch lvls') or
        FindChatText('Fletch lvls?') or
        FindChatText('Fletching lvls') or
        FindChatText('Fletching lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Fletching')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Firemaking lvls') or
        FindChatText('FireMaking lvls?') or
        FindChatText('Fire making lvls') or
        FindChatText('Fire making lvls')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Firemaking')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Craft lvls') or
        FindChatText('Craftt lvls?') or
        FindChatText('Craftin lvls') or
        FindChatText('Crafting lvls?') or
        FindChatText('Crafting lvls') or
        FindChatText('Crafting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Crafting')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Smelt lvls') or
        FindChatText('Smelt lvls?') or
        FindChatText('Smelting lvls') or
        FindChatText('Smelting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Smelting')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Rc lvls') or
        FindChatText('Rc lvls?') or
        FindChatText('Runecraft lvls') or
        FindChatText('Runecraft lvls?') or
        FindChatText('Runecrafting lvls') or
        FindChatText('Runecrafting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Runecraft')))
        RespondAmount:= RespondAmount+1;
      end;

     if (FindChatText('Hi') or
        FindChatText('Hey') or
        FindChatText('Hello') or
        FindChatText('Yo')) then
      begin
       case random(4) of
        0: begin
           Typesend('hey...just watchin.');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('hey...im gonna do barrows once im lvl 90');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('hi');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('yo');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;

     if (FindChatText((Players[CurrentPlayer].Name)) or
        FindChatText((CommonNickname1)) or
        FindChatText((CommonNickname2)) or
        FindChatText((CommonNickname3))) then
      begin
       case random(4) of
        0: begin
           Typesend('im busy leave me alone lol');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('im not talking right now');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('talk to me some other time i dont want to talk now');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;

     if (FindChatText('Macroer') or
        FindChatText('Macror') or
        FindChatText('Macro') or
        FindChatText('Macrore')) then
      begin
       case random(4) of
        0: begin
           Typesend('omg im not for the last time stop talking to me');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('everyone thinks i am but im not.. dont even talk');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('lol im not leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('im not! im not talkin to you');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;

     if (FindChatText('Autoer') or
        FindChatText('Auoter') or
        FindChatText('Auto') or
        FindChatText('Autor')) then
      begin
       case random(4) of
        0: begin
           Typesend('omg im not leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('im just watching calm down dont talk to me');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('everyone thinks im one...leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('im not! i hate them dont even say anything');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;
     end;
     if(CrowdedPlace=False) then
     begin
     if (InChat('Hp lvls') or
        InChat('Hp lvls?') or
        InChat('Hitpoint lvls') or
        InChat('Hitpoint lvls?') or
        InChat('Hitpoints lvls') or
        InChat('Hitpoints lvls?') or
        InChat('Hitp lvls') or
        InChat('Hitp lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Hitpoints')))
        RespondAmount:=RespondAmount+1;
      end;

     if (InChat('Mining lvls') or
        InChat('Mining lvls?') or
        InChat('Mine lvls') or
        InChat('Mine lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Mining')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Wc lvls') or
        InChat('Wc lvls?') or
        InChat('Woodcut lvls') or
        InChat('Woodcut lvls?') or
        InChat('Woodcutting lvls') or
        InChat('Woodcutting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Woodcutting')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Attack lvls') or
        InChat('Attack lvls?') or
        InChat('Atack lvls') or
        InChat('Atack lvls?') or
        InChat('Attac lvls') or
        InChat('Attac lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Attack')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Defenc lvls') or
        InChat('Defenc lvls?') or
        InChat('Defence lvls') or
        InChat('Defence lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Defence')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Magic lvls') or
        InChat('Magic lvls?') or
        InChat('Mage lvls') or
        InChat('Mage lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Magic')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Cook lvls') or
        InChat('Cook lvls?') or
        InChat('Cookin lvls') or
        Inchat('Cookin lvls?') or
        InChat('Cooking lvls') or
        InChat('Cooking lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Cooking')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Fletch lvls') or
        InChat('Fletch lvls?') or
        InChat('Fletching lvls') or
        InChat('Fletching lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Fletching')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Firemaking lvls') or
        InChat('FireMaking lvls?') or
        Inchat('Fire making lvls') or
        InChat('Fire making lvls')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Firemaking')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Craft lvls') or
        InChat('Craftt lvls?') or
        InChat('Craftin lvls') or
        InChat('Crafting lvls?') or
        InChat('Crafting lvls') or
        InChat('Crafting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Crafting')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Smelt lvls') or
        InChat('Smelt lvls?') or
        InChat('Smelting lvls') or
        InChat('Smelting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Smelting')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Rc lvls') or
        InChat('Rc lvls?') or
        InChat('Runecraft lvls') or
        InChat('Runecraft lvls?') or
        InChat('Runecrafting lvls') or
        InChat('Runecrafting lvls?')) then
      begin
       TypeSend(IntToStr(GetSkillLevel('Runecraft')))
        RespondAmount:= RespondAmount+1;
      end;

     if (InChat('Hi') or
        InChat('Hey') or
        InChat('Hello') or
        InChat('Yo')) then
      begin
       case random(4) of
        0: begin
           Typesend('hey...just watchin.');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('hey...im gonna do barrows once im lvl 90');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('hi');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('yo');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;

     if (InChat((Players[CurrentPlayer].Name)) or
        InChat((CommonNickname1)) or
        InChat((CommonNickname2)) or
        InChat((CommonNickname3))) then
      begin
       case random(4) of
        0: begin
           Typesend('im busy leave me alone lol');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('im not talking right now');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('talk to me some other time i dont want to talk now');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;

     if (InChat('Macroer') or
        InChat('Macror') or
        InChat('Macro') or
        InChat('Macrore')) then
      begin
       case random(4) of
        0: begin
           Typesend('omg im not for the last time stop talking to me');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('everyone thinks i am but im not.. dont even talk');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('lol im not leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('im not! im not talkin to you');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;

     if (InChat('Autoer') or
        InChat('Auoter') or
        InChat('Auto') or
        InChat('Autor')) then
      begin
       case random(4) of
        0: begin
           Typesend('omg im not leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
        1: begin
           Typesend('im just watching calm down dont talk to me');
           RespondAmount:=RespondAmount+1;
           end;
        2: begin
           Typesend('everyone thinks im one...leave me alone');
           RespondAmount:=RespondAmount+1;
           end;
        3: begin
           Typesend('im not! i hate them dont even say anything');
           RespondAmount:=RespondAmount+1;
           end;
       end;
      end;
     end;
    end;
    end;
    ///////////////////////////////////////////////////////////////////////////
    procedure DoofyRandoms;
    begin
    begin
     if(WeAreDead) then
      begin
       Logout;
        TerminateScript;
      end;
      FindLamp(LampSkill);
       if (FindFight) then
        begin
         RunTo(RunDir, RunFar);
        end;
        FindNormalRandoms;
         DwarfItem;
          FindForester;
           FindScapeRune;
            FindPlant;
             FindTalk;
              if(NoGameTab) then
               begin
                Logout;
                 TerminateScript;
               end;
               if(InBlack) then
                begin
                 Logout;
                  TerminateScript;
                end;
                SRLRandomsReport;
    end;
    end;
    ///////////////////////////////////////////////////////////////////////////
    procedure RandomCompassDirection;
    begin
     c:=random(2);
     case c of
     0: begin
         KeyDown(VK_Right);
          Wait((1)+ Random(500));
           KeyUp(VK_Right);
        end;
     1: begin
         KeyDown(VK_Left);
          Wait((1)+ Random(500));
           KeyUp(VK_Left);
        end;
     end;
    end;
    ///////////////////////////////////////////////////////////////////////////
    procedure DoofyAntiBan;
    begin
    z:= random(5);
      if not(LoggedIn)then
       begin
        Logout;
         TerminateScript;
       end;
      case Random(12) of
        0 : MMouse(Random(MSX2), Random(MSY2),0,0);
        1 : RandomRClick;
        2 : HoverSkill('woodcutting', False);
        3 : HoverSkill('woodcutting', False);
        4 : HoverSkill('random', False);
        5 : RandomCompassDirection;
        6 : RandomCompassDirection;
        7 : PickupMouse;
        8 : begin
             RandomEmote;
              Wait(1500+random(1000));
               GameTab(4);
            end;
        9 : begin
              DItem:=4+random(14);
              if(ExistsItem(DItem))then
                DragItem(DItem,15+random(10));
            end
        10 : begin
               GameTab(1+random(12));
               wait(1500+random(500));
               GameTab(4);
             end;
        11 : begin
             if(z>1) then
              begin
               GameTab(4);
                ArrangeInv;
              end;
             end;
      end;
    end;
    ///////////////////////////////////////////////////////////////////////////
    procedure DoofyRandomsAndAntiBan;
    begin
     DoofyRandoms;
      DoofyResponder;
       DoofyAntiBan;
    end;
    ///////////////////////////////////////////////////////////////////////////
    procedure TeleHome;
    begin
     DoofyRandomsAndAntiBan;
      Wait(500+random(500));
       CastSpell(?);
        Wait(7000+random(3000));
    ///////////////////////////////////////////////////////////////////////////
    procedure MakeFlatPack;
    begin
    n:=random(7);
    FlatPacksMade:=0;

    end;

  8. #8
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default


    I will write a tutorial on everything I know about doors, hopefully this weekend. Including how to

    • auto color
    • ignore drop dots
    • get whether a door is north-south or east-west
    • get the number of doors on the minimap
    • find the location of all doors on the minimap
    • find the location of certain doors (based on positions relative to each other)


    if you need it to include anything else, let me know.

  9. #9
    Join Date
    Feb 2007
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    nice.... but will you still help out with the script??? like make it better and stuff?? and do you think my daigram idea thing will work?? plz help i could use it since we r the only ones that r gunna work on it

  10. #10
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    If you make help threads on specific topics I may take a look. Yea I think the diagram could work.

  11. #11
    Join Date
    Feb 2007
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    here.... im pming you right now.... could u please help me?? thanks a lot

    Anyone else wanna help me???

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. I'm an uber n00b
    By teh_lulz in forum Who Are You ? Who ? Who ?
    Replies: 9
    Last Post: 05-31-2009, 04:38 PM
  2. How to drawlz deh uber Erf?
    By TViYH in forum Graphics and Multimedia
    Replies: 17
    Last Post: 10-02-2008, 08:41 AM
  3. Uber scripters help with Range Add on
    By rkroxpunk in forum OSR Help
    Replies: 8
    Last Post: 01-05-2008, 10:01 AM
  4. calling all java scripters and scar scripters!
    By phinoxrobo in forum Java Help and Tutorials
    Replies: 28
    Last Post: 11-22-2007, 04:03 PM
  5. need uber help =\
    By shock colla in forum OSR Help
    Replies: 2
    Last Post: 06-10-2007, 03:22 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •