Page 4 of 4 FirstFirst ... 234
Results 76 to 94 of 94

Thread: WAR - WildyAgilityRunner

  1. #76
    Join Date
    May 2012
    Posts
    704
    Mentioned
    4 Post(s)
    Quoted
    147 Post(s)

    Default

    Re-ran it, with disabling public and game to all, it works good. Only one question : which food dtm is specified here? Because my player won't eat lobsters.

    Nonetheless, thank you for the script!

  2. #77
    Join Date
    May 2012
    Posts
    55
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    The script has been working fine, it just wouldn't eat (I haven't tried changing the chat settings yet).

    To make it eat your own food, you need to create a custom DTM and insert it where it tells you to. To create your own DTM, follow the link Er1k gave on the previous page.

  3. #78
    Join Date
    Apr 2012
    Posts
    71
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Awsome script, got everything to work perfectly.

    It's eating rocktails atm because im a skiller and i can only survive if i set it to heal at 130 hp and use rocktails :P,

    Im using this:

    Simba Code:
    HEAL_AT = 130;
      FOOD_DTM = 'mrAAAAHic42BgYKhhYmBoBeIGIC4F4mogbgPiXCAuAmJWRgaGL0B1XED6L5D+CcRMjBDMDcQTampBImCsJccKpg0UFMD0ybXrGAgBRgIYBgBfvwt2';

    Everything is fine for me, ofcourse i cant afk for 6 hours but it's cool. I occasionally die when i run out of rocktails(costly :L) or when skele's in the dungeon be tripping on me. I found it will eat only after finishing a procedure, i.e exit the dungeon.

    If anyone is having any problems, here i what i did:

    Make sure your brightness is all the way up
    Make sure you have the latest Simba downloads/extensions.
    Make sure your chat is private off and game on ALL
    To custom create your food type, find the DTM string following the guide that Er1k posted on page 3.


    Thanks Er1k, awsome script.
    Last edited by ne lg; 06-01-2012 at 07:04 PM.

  4. #79
    Join Date
    Feb 2012
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Inheaven View Post
    If you can explain me what you need and where i can find it i can help you. Cuz i'm a starter you know, keep it nice and simple for me gehe

    You mean this? :



    It keeps saying this over and over again. :$
    Take your game off filter.

  5. #80
    Join Date
    Apr 2012
    Posts
    71
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Okay, now i have noticed two problems.

    The first one, is minor, negligible imo. I think it frequently (one in three) times will do the lava steps twice, i have no idea why, it will just do them, run back round and do them again and go on fine. This isn't a big problem


    The second one is for the log, After completing the log it doesnt register that it's completed correctly and will run around the side next to the tree to try and do it, This is a problem because it wont be able to re attempt the obstacle and just sits there/dies.

    The second problem probably needs attending to, i guess the problem is detecting wether or not the obstacle was succesfull, It thinks is was not when it was succesfull resulting in it trying to click back to the start of the obstacle.

    This doesn't happen every time, mabye once every half hour.

  6. #81
    Join Date
    Nov 2011
    Posts
    1,532
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by ne lg View Post
    Okay, now i have noticed two problems.

    The second one is for the log, After completing the log it doesnt register that it's completed correctly and will run around the side next to the tree to try and do it, This is a problem because it wont be able to re attempt the obstacle and just sits there/dies.

    The second problem probably needs attending to, i guess the problem is detecting wether or not the obstacle was succesfull, It thinks is was not when it was succesfull resulting in it trying to click back to the start of the obstacle.

    This doesn't happen every time, mabye once every half hour.
    I am aware of this 2nd problem. It's on my todo list but I have yet found out what really causes it. The only way I know of to deal with it for now is to manually stop the script and restart at the pipe, hence the babysitting.
    Current activity: Recovering from vacation
    - Nulla pars vitae vacare officio potest -
    SRL membership? Can I buy that?
    Scripts - AGS - SWF - WAR - EMS - W100S-EM
    If you need scripting help, you can pm me. Remember, if you need help you have to ask for it properly though

  7. #82
    Join Date
    Apr 2012
    Posts
    71
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    I have a question, why do everytime i die/relog i need to take another picture and get another string for the DTM for my food?

    It doesnt recognise the food unless i get a new DTM every time i relog/die.

    Its kinda frustrating :P

    Im using rocktails btw.

  8. #83
    Join Date
    Feb 2012
    Posts
    249
    Mentioned
    0 Post(s)
    Quoted
    40 Post(s)

    Default

    idk bout rocktails but monkfish & lobsters is in this thread, maybe use those untill you find your rocktails.

    My script gets stuck when I fail on the lavastone, that's his only flaw.

    (and all my chats are on off, game on all)

  9. #84
    Join Date
    Apr 2012
    Posts
    71
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Nvm, i didn't add any tolerence to the food DTM, ma bad.

    I might try and tackle a deathwalk,

    I literally know nothing to do with scripting but since it would all run on the main runescape surface i could use SPS without having to make my own custom map.

    I'll give it a go perhaps.

  10. #85
    Join Date
    Apr 2012
    Posts
    71
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Simba Code:
    program FromDeathToCourse;

    {$DEFINE SMART}
    {.include SRL/SRL.simba}
    {.include custom/DDTM.simba}
    {.include SPS/SPS.simba}
    {$i ObjectDTM\ObjDTMInclude.simba}

    const
      SmartWorld = 7;
      Members = False;
      SignedClient = True;
      HighDetail = False;
      NumbOfPlayers = 1;
      StartPlayer= 1;


      procedure DeclarePlayers;
    var i:integer;
    begin
      NumberOfPlayers(NumbOfPlayers);
      CurrentPlayer := StartPlayer;
      for i := 0 to NumbOfPlayers-1 do
        Players[i].BoxRewards  := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];

      with Players[0] do
      begin
        Name        := '';     //Player username.
        Pass        := '';     //Player password.
        Nick        := ''; //Player nickname - 3-4 letters of Player username.
        Active      := True;

      end;

    end;

    procedure FromDeathToEdgeBank;
    var
    x,y:integer;
    begin;
      Writeln('Unfortunetly you have died!');
      ClickNorth(SRL_ANGLE_HIGH);
      if ObjDTM_Find('52:48:4:1:7:120:86:1:7:136:90:1:7:58:29:1:7:86:60', x, y, True) then
      begin;
        Writeln('We found the bank, lets get some more food')
        ObjDTM_Walk('52:48:4:1:7:120:86:1:7:136:90:1:7:58:29:1:7:86:60', 2, 100, 5, True);
      end;
    end;

    Function Banking: Boolean;

    Var
       TPAA: T2DPointArray;
       TPA: TPointArray;
       CTS, I, Retry: Integer;
       X,Y:Integer;
    Begin
      Wait(2000);
      Writeln('Banking')
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4347794, MSX1, MSY1, MSX2, MSY2, 20);
      ColorToleranceSpeed(CTS);
      TPAA := TPAToATPAEx(TPA, 3, 1);
      SortATPASize(TPAA, True);
      For I := 0 To High(TPAA) Do
        If GetArraylength(TPAA[i]) > 5 Then
        Begin
        repeat
          inc(Retry);
          MiddleTPAEx(TPAA[i], X, Y);
          MMouse(X, Y, 3, 3);
           if (IsUpTextMultiCustom(['anker', 'Bank B'])) then
          Begin
            Result := True;
            GetMousePos(X, Y);
            mouse(x,y,3,3,false);
            wait(100 + random(200));
          ChooseOption('Bank Banker');
          wait(5000 + random(1000));
            Break;
          End;
          until (Retry = 2);
          Break;
          end;
            Mouse(x,y,3,3,false);
            ChooseOption('Bank Banker');
            Wait(2000);
            Withdraw(0,0,28);
            CloseBank;
    end;


    procedure HomeTeleportToArdy;
    var
    x,y,Sex,Sey:integer;
    begin;
      Writeln('We are going to Lodestone port to Ardrougune!')
      GameTab(28);
      if FindColorSpiralTolerance(x,y,8333644,564,222,586,240,20) then
      begin;
        Mouse(x,y,3,3,true);
      end else
      begin;
        Writeln('Could not find the blue homeport button, logging off');
        Logout;
        TerminateScript;
      end;
      Wait(1000+Random(100));
      if FindColorSpiralTolerance(Sex,Sey,2566303,163,203,182,229,20) then
      begin;
        Mouse(Sex,Sey,3,3,True);
        Wait(15000+Random(100));
      end else
      begin;
        Writeln('Could not find the red Ardy symbol , logging off');
        Logout;
        TerminateScript;
      end;
      GameTab(25);
    end;



    procedure RunFromLodeStoneToLever;
    begin
      ClickNorth(SRL_ANGLE_HIGH);
      Writeln('Walking to the lever, like a boss')
      ObjDTM_Walk('22:106:3:1:7:93:91:1:7:90:45:1:7:51:82:4:17:102:31:102:27:108:12:108',0,100,80,True);
      Wait(500);
      ObjDTM_Walk('27:118:3:1:7:99:71:1:7:107:54:1:7:24:49:4:20:111:33:110:28:131:19:124', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('71:147:3:1:7:66:41:1:7:58:102:1:7:65:131:4:80:138:65:145:74:154:80:146', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('14:108:3:1:7:71:136:1:7:51:103:1:7:74:82', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('23:70:3:1:7:117:86:1:7:116:69:1:7:78:59:4:12:66:40:68:36:80:11:75', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('40:98:3:0:7:83:33:0:7:75:103:0:7:36:56:4:36:94:47:92:44:103:36:103', 0, 100, 80, True);
      Writeln('Arrived at Lever')
    end;

    procedure PullLeverAndRunToWeb;
    var
    x,y:integer;
    begin;
      MakeCompass('W');
      SetAngle(1);
      Writeln('Pulling Lever');
      Wait(1000+Random(100));
      if FindObjCustom(x,y,['Lever'],[4092043],20)then
      begin;
        Writeln('Horray, found lever, pulling it!');
        Mouse(x,y,3,3,true);
        Wait(6000+Random(100));
      end;
      Writeln('Running to web')
      ClickNorth(SRL_ANGLE_HIGH);
      Wait(1000);
      ObjDTM_Walk('89:24:3:2:7:70:47:2:7:33:63:2:7:73:130:4:73:17:106:19:97:41:79:26',0,100,80,True);
      Wait(500);
      ObjDTM_walk('90:22:3:2:7:129:106:2:7:60:102:2:7:52:50:4:84:20:97:20:96:36:85:29',0,100,60,True);
    end;


    function CutWeb(WaitFor: Integer): Boolean;
    var
      Uptext: String;
      t, x, y: Integer;
    begin
      Wait(2000);
      Result := False;
      MarkTime(t);
      Writeln('Searching for web...');
      repeat
        if FindObj(x,y,'Web',9802901,10) then
        begin
          repeat
            Mouse(x,y,3,3,true);
            if WaitUptext('alk', 1000) then
            begin
              Writeln('Web slashed!');
              Result := True;
              Break;
            end;
            Wait(Random(1000));
          until (TimeFromMark(t) > (WaitFor / 2));
        end;
      until Result or (TimeFromMark(t) > WaitFor);
      if not Result then
        Writeln('Web not found!');
    end;

    procedure RunFromWebToCourse;
    begin;
    Writeln('Walking to the course gate')
      Wait(2000);
      ObjDTM_Walk('16:97:3:2:7:109:101:2:7:121:70:2:7:64:37:4:7:89:26:86:29:101:9:106',0,100,80,True);
      Wait(500);
      ObjDTM_Walk('42:135:3:2:7:108:88:2:7:78:72:2:7:75:110:4:33:124:60:125:57:146:33:136', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('66:143:3:2:7:111:53:2:7:117:100:2:7:97:127:4:55:131:80:132:79:150:57:145', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('31:127:3:2:7:111:62:2:7:137:73:2:7:131:35:4:19:120:52:118:47:133:30:132', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('11:82:2:5:7:56:106:5:7:52:115:4:4:77:22:74:22:86:8:92', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('8:77:4:5:7:75:147:5:7:62:147:5:7:128:102:5:7:20:124:4:2:72:19:73:18:85:7:84', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('21:106:4:2:7:128:120:2:7:89:123:2:7:82:139:2:7:28:95:4:13:98:31:94:37:107:20:112', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('24:59:3:5:7:124:99:5:7:35:97:5:7:13:45:4:11:50:34:45:39:68:15:67', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('20:79:4:5:7:108:18:5:7:58:33:5:7:86:119:5:7:15:114:4:7:72:39:72:36:88:12:91', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('23:90:3:5:7:79:123:5:7:131:64:5:7:73:19:4:16:87:30:82:36:93:20:95', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('12:76:3:5:7:129:116:5:7:120:112:2:7:129:24:4:5:68:23:68:25:83:6:84', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('56:53:4:2:7:86:72:2:7:66:85:2:7:46:90:2:7:29:83:5:45:50:62:51:59:65:52:60:46:56', 0, 100, 80, True);
      Writeln('Arrived at Gate')
    end;

    procedure PressGate;
    var
    x,y:integer;
    begin;
      if FindObjCustom(x,y,['Gate'],[2763564],20) then
      begin;
        Mouse(x,y,3,3,true);
        Wait(15000+Random(100))
      end;
    end;

    begin
      Smart_Server := SmartWorld;
      Smart_Members := Members;
      Smart_Signed := SignedClient;
      Smart_SuperDetail := HighDetail;
      setupSRL();
      ObjDTM_Setup
      DeclarePlayers;
      FromDeathToEdgeBank;
      Banking;
      HomeTeleportToArdy;
      RunFromLodeStoneToLever;
      PullLeverAndRunToWeb;
      CutWeb(10000);
      RunFromWebToCourse;
      PressGate;
    end.


    Heres the deathwalker, if you can use it at all it would be cool.

    It takes food from first first spot in your bank and then runs back to the course.

  11. #86
    Join Date
    Apr 2012
    Posts
    71
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    I guess some of the colours have changed because the lava and the rope stopped working for me, I changed them around and fiddled with the tolerances a little bit, they seem to work for me now, I also added my dealthwalker(im not sure it works yet). It worked for me once, but that was just once.

    All i did was add my procedures to the LogoutOnDeath procedure, changed it from loging out to going back to the course, if anyone is wanting the updated colours/deathwalk here is what im using atm, tell me if it works for you, or where your having trouble and ill try update the walker, i know the walking Obj_DTMS are very sketchy so i dont expect it to work for everyone :P

    Simba Code:
    program WAR;
    {$DEFINE SMART}
    {.include SRL/SRL.simba}
    {.include custom/DDTM.simba}
    {$i ObjectDTM\ObjDTMInclude.simba}

    //{$DEFINE DEBUG}      //uncomment if you need debug info
    //{$DEFINE DEBUG_DRAW} //uncomment if you need debug info

    type EObj = record
      color, tol, w, h, minc, maxtry: integer;
      hmod, smod: extended;
      uptexts, options: TStringArray;
      left: boolean;
    end;

    var courseObjs: array of EObj;
        ddtms: array [0..1] of integer;
        food: integer;  //food dtm
        foodslots: TIntegerArray; //food locations
        startXP: integer;
        wasInDung: boolean;

    const
      //SMART Setup
      SmartWorld = 7;
      Members = False;
      SignedClient = True;
      HighDetail = False;

      //Player Setup
      HEAL_AT = 130;
      FOOD_DTM = 'mwQAAAHic42RgYDjPxMBwE4qvAvFlID4LxEeA+BiU7c3IwGALxO5A7AvEwUAcAcT+UDEnIO4qr2Cw0GAHmsjEsHXOPDCNjrmAJCHMSASGAwAuEw5P';  //put food dtm string here

      //DDTM Setup
      PIT_BLACK = 66566;
      LOG_BROWN = 2049116;
      DOOR_RED = 1009;
      OUTLINE_WHITE = 16049649;


    procedure FromDeathToEdgeBank;
    var
    x,y:integer;
    begin;
      Writeln('Unfortunetly you have died!');
      ClickNorth(SRL_ANGLE_HIGH);
      if ObjDTM_Find('52:48:4:1:7:120:86:1:7:136:90:1:7:58:29:1:7:86:60', x, y, True) then
      begin;
        Writeln('We found the bank, lets get some more food')
        ObjDTM_Walk('52:48:4:1:7:120:86:1:7:136:90:1:7:58:29:1:7:86:60', 2, 100, 5, True);
      end;
    end;

    Function Banking: Boolean;

    Var
       TPAA: T2DPointArray;
       TPA: TPointArray;
       CTS, I, Retry: Integer;
       X,Y:Integer;
    Begin
      Wait(2000);
      Writeln('Banking')
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4347794, MSX1, MSY1, MSX2, MSY2, 20); // Enter the Color and Tolerance Here at the Right place.
      ColorToleranceSpeed(CTS);
      TPAA := TPAToATPAEx(TPA, 3, 1);
      SortATPASize(TPAA, True);
      For I := 0 To High(TPAA) Do
        If GetArraylength(TPAA[i]) > 5 Then
        Begin
        repeat
          inc(Retry);
          MiddleTPAEx(TPAA[i], X, Y);
          MMouse(X, Y, 3, 3);
           if (IsUpTextMultiCustom(['anker', 'Bank B'])) then
          Begin
            Result := True;
            GetMousePos(X, Y);
            mouse(x,y,3,3,false);
            wait(100 + random(200));
          ChooseOption('Bank Banker');
          wait(5000 + random(1000));
            Break;
          End;
          until (Retry = 2);
          Break;
          end;
            Mouse(x,y,3,3,false);
            ChooseOption('Bank Banker');
            Wait(2000);
            Withdraw(0,0,28);
            CloseBank;
    end;


    procedure HomeTeleportToArdy;
    var
    x,y,Sex,Sey:integer;
    begin;
      Writeln('We are going to Lodestone port to Ardrougune!')
      GameTab(28);
      if FindColorSpiralTolerance(x,y,8333644,564,222,586,240,20) then
      begin;
        Mouse(x,y,3,3,true);
      end else
      begin;
        Writeln('Could not find the blue homeport button, logging off');
        Logout;
        TerminateScript;
      end;
      Wait(1000+Random(100));
      if FindColorSpiralTolerance(Sex,Sey,2566303,163,203,182,229,20) then
      begin;
        Mouse(Sex,Sey,3,3,True);
        Wait(15000+Random(100));
      end else
      begin;
        Writeln('Could not find the red Ardy symbol , logging off');
        Logout;
        TerminateScript;
      end;
      GameTab(25);
    end;



    procedure RunFromLodeStoneToLever;
    begin
      ClickNorth(SRL_ANGLE_HIGH);
      Writeln('Walking to the lever, like a boss')
      ObjDTM_Walk('22:106:3:1:7:93:91:1:7:90:45:1:7:51:82:4:17:102:31:102:27:108:12:108',0,100,80,True);
      Wait(500);
      ObjDTM_Walk('27:118:3:1:7:99:71:1:7:107:54:1:7:24:49:4:20:111:33:110:28:131:19:124', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('71:147:3:1:7:66:41:1:7:58:102:1:7:65:131:4:80:138:65:145:74:154:80:146', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('14:108:3:1:7:71:136:1:7:51:103:1:7:74:82', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('23:70:3:1:7:117:86:1:7:116:69:1:7:78:59:4:12:66:40:68:36:80:11:75', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('40:98:3:0:7:83:33:0:7:75:103:0:7:36:56:4:36:94:47:92:44:103:36:103', 0, 100, 80, True);
      Writeln('Arrived at Lever')
    end;

    procedure PullLeverAndRunToWeb;
    var
    x,y:integer;
    begin;
      MakeCompass('W');
      SetAngle(1);
      Writeln('Pulling Lever');
      Wait(1000+Random(100));
      if FindObjCustom(x,y,['Lever'],[4092043],20)then
      begin;
        Writeln('Horray, found lever, pulling it!');
        Mouse(x,y,3,3,true);
        Wait(6000+Random(100));
      end;
      Writeln('Running to web')
      ClickNorth(SRL_ANGLE_HIGH);
      Wait(1000);
      ObjDTM_Walk('89:24:3:2:7:70:47:2:7:33:63:2:7:73:130:4:73:17:106:19:97:41:79:26',0,100,80,True);
      Wait(500);
      ObjDTM_walk('90:22:3:2:7:129:106:2:7:60:102:2:7:52:50:4:84:20:97:20:96:36:85:29',0,100,60,True);
    end;


    function CutWeb(WaitFor: Integer): Boolean;
    var
      Uptext: String;
      t, x, y: Integer;
    begin
      Wait(2000);
      Result := False;
      MarkTime(t);
      Writeln('Searching for web...');
      repeat
        if FindObj(x,y,'Web',9802901,10) then
        begin
          repeat
            Mouse(x,y,3,3,true);
            if WaitUptext('alk', 1000) then
            begin
              Writeln('Web slashed!');
              Result := True;
              Break;
            end;
            Wait(Random(1000));
          until (TimeFromMark(t) > (WaitFor / 2));
        end;
      until Result or (TimeFromMark(t) > WaitFor);
      if not Result then
        Writeln('Web not found!');
    end;

    procedure RunFromWebToCourse;
    begin;
    Writeln('Walking to the course gate')
      Wait(2000);
      ObjDTM_Walk('16:97:3:2:7:109:101:2:7:121:70:2:7:64:37:4:7:89:26:86:29:101:9:106',0,100,80,True);
      Wait(500);
      ObjDTM_Walk('42:135:3:2:7:108:88:2:7:78:72:2:7:75:110:4:33:124:60:125:57:146:33:136', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('66:143:3:2:7:111:53:2:7:117:100:2:7:97:127:4:55:131:80:132:79:150:57:145', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('31:127:3:2:7:111:62:2:7:137:73:2:7:131:35:4:19:120:52:118:47:133:30:132', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('11:82:2:5:7:56:106:5:7:52:115:4:4:77:22:74:22:86:8:92', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('8:77:4:5:7:75:147:5:7:62:147:5:7:128:102:5:7:20:124:4:2:72:19:73:18:85:7:84', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('21:106:4:2:7:128:120:2:7:89:123:2:7:82:139:2:7:28:95:4:13:98:31:94:37:107:20:112', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('24:59:3:5:7:124:99:5:7:35:97:5:7:13:45:4:11:50:34:45:39:68:15:67', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('20:79:4:5:7:108:18:5:7:58:33:5:7:86:119:5:7:15:114:4:7:72:39:72:36:88:12:91', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('23:90:3:5:7:79:123:5:7:131:64:5:7:73:19:4:16:87:30:82:36:93:20:95', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('12:76:3:5:7:129:116:5:7:120:112:2:7:129:24:4:5:68:23:68:25:83:6:84', 0, 100, 80, True);
      Wait(500);
      ObjDTM_Walk('56:53:4:2:7:86:72:2:7:66:85:2:7:46:90:2:7:29:83:5:45:50:62:51:59:65:52:60:46:56', 0, 100, 80, True);
      Writeln('Arrived at Gate')
    end;

    procedure PressGate;
    var
    x,y:integer;
    begin;
      if FindObjCustom(x,y,['Gate'],[2763564],20) then
      begin;
        Mouse(x,y,3,3,true);
        Wait(15000+Random(100))
      end;
    end;

    procedure DeclareObjects;
    begin
      setLength(courseObjs, 6);
      //Pipe
      with courseObjs[0] do
      begin
        color:= 6447197;
        tol:= 18;
        hmod:= 0.25;
        smod:= 0.05;
        w:= 20; h:= 20; minc:= 100; maxtry:= 3;
        uptexts:=['rou'];
        options:=['rou'];
        left:=true;
      end;
      //Swing
      with courseObjs[1] do
      begin
        color:= 1060661;
        tol:= 10;
        hmod:= 0.14;
        smod:= 0.87;
        w:= 10; h:= 10; minc:= 30; maxtry:= 5;
        uptexts:=['wing', 'ing'];
        options:=['wing', 'ing'];
        left:=false;
      end;
      //Lava
      with courseObjs[2] do
      begin
        color:= 2240363;
        tol:= 4;
        hmod:= 0.05;
        smod:= 0.40;
        w:= 30; h:= 30; minc:= 40; maxtry:= 2;
        uptexts:=['ross'];
        options:=['ross'];
        left:=false;
      end;
      //Log
      with courseObjs[3] do
      begin
        color:= 5002072;
        tol:= 6;
        hmod:= 0.34;
        smod:= 0.10;
        w:= 20; h:= 20; minc:= 40; maxtry:= 2;
        uptexts:=['acro'];
        options:=['acro'];
        left:=true;
      end;
      //Cliff
      with courseObjs[4] do
      begin
        color:= 5197651;
        tol:= 2;
        hmod:= 0.0;
        smod:= 0.27;
        w:= 30; h:= 30; minc:= 100; maxtry:= 3;
        uptexts:=['iff'];
        options:=['iff'];
        left:=false;
      end;
      //Ladder
      with courseObjs[5] do
      begin
        color:= 3555138;
        tol:= 7;
        hmod:= 0.20;
        smod:= 0.55;
        w:=10; h:=10; minc:=40; maxtry:=3;
        uptexts:=['imb'];
        options:=['imb'];
        left:=true;
      end;
    {
      with courseObjs[4] do
      begin
        color:=;
        tol:=;
        hmod:=;
        smod:=;
        w:=; h:=; minc:=; maxtry:=;
        uptexts:=;
        options:=;
      end;
    }

    end;

    procedure ProgressReport(var startXP: integer);
    var gain: integer;
    begin
      gain := GetXPBarTotal- startXP;

      writeln('Time running: ' + TimeRunning);
      writeln('Exp Gained: ' + IntToStr(gain));
      writeln('Est XP/H: ' + IntToStr(round(3600000 * 1.0 / GetTimeRunning * gain)));
    end;

    procedure FreeDDTM;
    var i: integer;
    begin
      for i:=0 to high(ddtms) do
        FreeDTM(ddtms[i]);
    end;

    procedure DeclareDDTM;
    var DTMSubPoints: array of TDTMPointDef;
        DTMMainPoint: TDTMPointDef;
    begin
      //Log DDTM
      setLength(DTMSubPoints, 4);
      DTMMainPoint:= DTMPoint(9, 0, 1, 0, 16777215, 255);
      DTMSubPoints[0] := DTMPoint(9, 6, 1, 0, PIT_BLACK, 25);
      DTMSubPoints[1] := DTMPoint(19, 3, 1, 0, PIT_BLACK, 25);
      DTMSubPoints[2] := DTMPoint(0, 3, 1, 0, PIT_BLACK, 25);
      DTMSubPoints[3] := DTMPoint(0, 12, 1, 0, LOG_BROWN, 25);

      ddtms[0] := AssembleDDTM(DTMMainPoint, DTMSubPoints);

      //Gate DDTM

      setLength(DTMSubPoints, 3);
      DTMMainPoint:= DTMPoint(4, 0, 1, 0, 16777215, 255);
    //  DTMSubPoints[0] := DTMPoint(4, 0, 1, 0, 1009, 25);  //red
      DTMSubPoints[0] := DTMPoint(10, 0, 1, 0, 15268071, 25); //white
      DTMSubPoints[1] := DTMPoint(7, 0, 1, 0, 1009, 25); //red
      DTMSubPoints[2] := DTMPoint(0, 0, 1, 0, 1009, 25); //''
      ddtms[1] := AssembleDDTM(DTMMainPoint, DTMSubPoints);

      //Hook FreeDTM
      AddOnTerminate('FreeDDTM');
    end;

    procedure DeclarePlayers;
    var i:integer;
    begin
      NumberOfPlayers(1);
      CurrentPlayer := 0;
      for i := 0 to 0 do
        Players[i].BoxRewards  := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];

      with Players[0] do
      begin
        Name        := 'swt@hotmail.co.uk';     //Player username.
        Pass        := 'balonibaloni1';     //Player password.
        Nick        := 'Euz'; //Player nickname - 3-4 letters of Player username.
        Active      := True;
      end;
    end;

    procedure DoLogin;
    var t: integer;
    begin
      MarkTime(t);
      while (not LoggedIn) do
      begin
        if LogInPlayer then
          break;
        wait(10000+random(500));
        if (TimeFromMark(t) > 180000) then
        begin
          writeln('Failed to login after 180s... Terminating');
          TerminateScript;
        end;
      end;
    end;

    procedure GetLocationOffset(location: string; var dx, dy: integer);
    begin
      //Change the global offsets here!
      case location of
        'pipe'  : begin
                    dx:=27;
                    dy:=50;
                  end;
        'swing' : begin
                    dx:=31;
                    dy:=-19;
                  end;
        'lava'  : begin
                    dx:=18;
                    dy:=-48;
                  end;
        'log'   : begin
                    dx:=15;
                    dy:=13;
                  end;
        'cliff' : begin
                    dx:=-16;
                    dy:=38;
                  end;
      end;
    end;

    function CalibratePosition(location: string): boolean;
    var d, x, y, dx, dy: integer;
        e: extended;
    begin
      if not LoggedIn then Exit;
      result := false;
      FindNormalRandoms;
      d:=ddtms[0];
      //eat
      if FindDTMRotated(d, x, y, MMX1, MMY1, MMX2, MMY2, -Pi/6, Pi/6, 0.05, e) then
      begin
        GetLocationOffset(location, dx, dy);
        writeln('dxdy: ' + inttostr(dx) +  ' ' + inttostr(dy));
        mouse(x+dx, y+dy, 4, 4, mouse_left);
    //    mouse(x, y, 4, 4, mouse_move);
      end;
    end;

    function CalibratePositionB(location: string; var p: TPoint): boolean;
    var d, x, y, dx, dy: integer;
        e: extended;
    begin
      if not LoggedIn then Exit;
      result := false;
      FindNormalRandoms;
      d:=ddtms[0];
      //eat
      result:= FindDTMRotated(d, x, y, MMX1, MMY1, MMX2, MMY2, -Pi/6, Pi/6, 0.05, e);
      p:= Point(x,y);
    end;

    function objFind(color, tol: integer; hmod, smod: extended; w,h, minc, maxtry: integer;
                     left: boolean; uptexts, options: TStringArray): boolean;
    var tcts, i, x, y, c: integer;
        tpa: TPointArray;
        atpa: T2DPointArray;
    begin
      Result:=False;
      tcts:= getToleranceSpeed;
      setColorToleranceSpeed(2);
      setColorSpeed2Modifiers(hmod, smod);
      if FindColorsSpiralTolerance(MSCX, MSCY, tpa, color, MSX1, MSY1, MSX2, MSY2, tol) then
      begin
        atpa:= TPAtoATPAEx(tpa, 20, 20);
        {$IFDEF DEBUG_DRAW}
        debugATPABounds(atpa);
        {$ENDIF}
        for i:=0 to high(atpa) do
        begin
          writeln('atpa['+IntToStr(i)+']: '+IntToStr(length(atpa[i])));
          if (minc > 0) and (length(atpa[i]) < minc) then continue;
          if (c > maxtry) then continue;
          Inc(c);
          MiddleTPAEx(atpa[i], x, y);
          Mouse(x, y, 3, 3, mouse_move);
          if WaitUptextMulti(uptexts, 1000) then
          begin
            if left then
            begin
              ClickMouse2(mouse_left);
              Result:= DidRedClick;
            end
            else
            begin
              ClickMouse2(mouse_right);
              Result:= WaitOptionMulti(options, 1000);
            end;
            if Result then
            begin
              writeln('objfind success!');
              break;
            end;
          end;
        end;
      end;
      setColorToleranceSpeed(tcts);
    end;

    function objFindW(obj: EObj): boolean;
    begin
      result:= objFind(obj.color, obj.tol, obj.hmod, obj.smod,
                       obj.w, obj.h, obj.minc, obj.maxtry, obj.left, obj.uptexts, obj.options);
    end;

    function InDungeon: boolean;
    var tpa: TPointArray;
    begin
      if not LoggedIn then Exit;
      SetColorToleranceSpeed(1);
      FindMMColorsSpiralTolerance(tpa, 2574684, 25);
      writeln(length(tpa));
      result := length(tpa) > 1200;
      if result then writeln('in dungeon');
    end;

    function InSurface: boolean;
    var tpa: TPointArray;
    begin
      FindMMColorsSpiralTolerance(tpa, 5222643, 25);
      result:= length(tpa) >= 200;
    end;

    function DetermineAction(var action: string): boolean;
    var d, x, y, dx, dy: integer;
        e: extended;
        p: TPoint;
    begin
      if not LoggedIn then Exit;
      FindNormalRandoms;

      //Dungeon
      if InDungeon then
      begin
        action:= 'dungeon';
        result:= true;
        Exit;
      end;

      //Detect where we are on the surface!
      d:=ddtms[0];
      result:= FindDTMRotated(d, x, y, MMX1, MMY1, MMX2, MMY2, -Pi/6, Pi/6, 0.05, e);
      if result then
      begin
        //Calculate our position offsets
        dx:= MMCX - x;
        dy:= MMCY - y;

        //Determine action based on these offsets
        //pipe
        if dy > 38 then
        begin
          action:= 'pipe';
          Exit;
        end;

        //swing
        if (dx > 27) and (dy < 0) and (dy > -40) then
        begin
          action:= 'swing';
          Exit;
        end;

        //lava
        if (dx > -5) and (dy < -35)  then
        begin
          action:= 'lava';
          Exit;
        end;

        //log
        if (dx < 20) and (dy > -35) and (dy < 25) then
        begin
          action:= 'log';
          Exit;
        end;

        //cliff
        if (dy > 0) and (dy < 38) and (dx < 0)  then
        begin
          action:= 'cliff';
          Exit;
        end;
      end;

    end;

    procedure AddArray(var a: TIntegerArray; v: integer);
    var i: integer;
    begin
      for i:=0 to high(a) do
        if a[i] = v then
          exit;
      setLength(a, length(a) + 1);
      a[high(a)] := v;
    end;

    procedure SetupInventory;
    var i, x, y: integer;
        tb: TBox;
    begin
      setLength(foodslots, 0);
      for i:=1 to 28 do
        if ExistsItem(i) then
        begin
          tb:= InvBox(i);
          if FindDTM(food, x, y, tb.X1, tb.Y1, tb.X2, tb.Y2) then
            AddArray(foodslots, i);
        end;
    end;

    procedure LobbyOnDeath;
    begin
      Reincarnate:= true;
      if FindDead then
      begin
          DeclarePlayers;
      FromDeathToEdgeBank;
      Banking;
      HomeTeleportToArdy;
      RunFromLodeStoneToLever;
      PullLeverAndRunToWeb;
      CutWeb(10000);
      RunFromWebToCourse;
      PressGate;
      end;
    end;

    procedure EatFood;
    var hp: integer;
        temp: string;
    begin
      if not LoggedIn then Exit;
      FindNormalRandoms;
      hp:= getMMLevels('hp', temp);
      if hp <= HEAL_AT then
      begin
        writeln('HP low');
        if length(foodslots) = 0 then
        begin
          writeln('No food');
          Exit;
        end;
        MouseItem(foodslots[0], mouse_left);
        wait(500+random(250));
        SetupInventory;
      end;
    end;

    function EscapeDungeon: boolean;
    var tpa: TPointArray;
        r, a, x, y: integer;
    begin
      if not LoggedIn then Exit;
      result := false;
      FindNormalRandoms;
      LobbyOnDeath;
      //Eat
      if InDungeon then
      begin
        writeln('Player in dungeon. Trying to escape...');
        wasInDung:= true;
    //    FindMMColorsSpiralTolerance(tpa, 123, 456); //ladder
    //    if length(tpa) < 100 then
        if true then
        begin
          r:= randomRange(65, 72);
          a:= randomRange(60, 75);
          Mouse(MMCX + round(r*cos(a*pi/180.0)), MMCY -round(r*sin(a*pi/180.0)), 4, 4, mouse_left);
          wait(2000+random(500));
          while IsMoving do
            wait(100+random(50));
        end;
    {    FindMMColorsSpiralTolerance(tpa, 123, 456); //find Ladder again
        if length(tpa) > 100 then
        begin
          MiddleTPAEx(tpa, x, y);
          Mouse(x, y, 4, 4, mouse_left);
          wait(1000+random(500));
          while IsMoving do
            wait(100+random(50));
        end;
    }

        result:=ObjFindW(courseObjs[5]);
        if result then
          if WaitFunc(@InSurface, 500, 5000) then
          begin
            result:=true;
            wait(1000+random(250));
          end
          else
            result:=false;
      end;
    end;

    function CheckObstacle(success, fail: string): boolean;
    var t: integer;
    begin
      result:= false; //silent update 2
      if FindBlackChatMessage(success) or FindBlackChatMessage(fail) then
        wait(5000);
      MarkTime(t);
      repeat
        if FindBlackChatMessage(success) then
        begin
          result:= true;
          break;
        end;
        if FindBlackChatMessage(fail) then
        begin
          result:= false;
          break;
        end;
        wait(500+random(150));
      until TimeFromMark(t) > 10000;
      if timefrommark(t) <= 10000 then
        if result then
          writeln('success message detected!')
        else writeln('failure message detected!')
    end;

    function DoObstacleEx(location: string): boolean;
    var obj, initXP, lastXP, t: integer;
        v: TVariantArray;
    begin
      if not LoggedIn then Exit;
      result := false;
      FindNormalRandoms;
      initXP :=  getXPBarTotal;
      writeln('init xp is ' + inttostr(initxp));
        case location of
          'pipe'  : obj:= 0;
          'swing' : obj:= 1;
          'lava'  : obj:= 2;
          'log'   : obj:= 3;
          'cliff' : obj:= 4;
        end;
        writeln(obj);
        result := ObjFindW(courseObjs[obj]);
        if result then
        begin
          case location of
            'lava' : begin
                       result:= CheckObstacle('safe', 'fall');
                       if not result then
                       begin
                         wait(1000+random(250));//stall the animation
                         Exit;
                       end;
                     end;
            'log'  : begin
                       result:= CheckObstacle('skil', 'fall');
                       if not result then
                         if WaitFunc(@InDungeon, 500, 5000) then
                           Exit
                         else result:= true;  //false positive!
                     end;
            'swing': begin
                       MarkTime(t);
                       repeat
                         if ClickContinue(true, true) then  //someone is using
                         begin
                           result:=false;
                           Exit;
                         end;
                         if FindBlackChatMessage('wing') then //success
                         begin
                           writeln('success');
                           result:=true;
                           break;
                         end;
                         if InDungeon then //Fell into pit
                         begin
                           writeln('failure');
                           result:=false;
                           WaitFunc(@InDungeon, 500, 2000); //improve walking
                           Exit;
                         end;
                         wait(500+random(150));
                       until TimeFromMark(t) > 10000;
                     end;
          end;
        end;
        if result then
        begin
          MarkTime(t);
          repeat
            lastXP:= GetXPBarTotal;
            wait(100+random(100));
          until (TimeFromMark(t) > 10000) or (lastXP > initXP);
          if (TimeFromMark(t) <= 15000) then
            writeln('XP gain detected!');
          case location of
            'swing': wait(2000+random(500));
            'log'  : wait(1000+random(500));
          end;
        end;
    end;

    function DoObstacle(location: string): boolean;
    var obj, dx, dy: integer;
        p: TPoint;
        v: TVariantArray;
    begin
      if not LoggedIn then Exit;
      result := false;
      FindNormalRandoms;
      EatFood;
      LobbyOnDeath;
      //Immediate Exit if we're in dungeon
      if ((location = 'log') or (location = 'swing')) and InDungeon then
      begin
        result:= false;
        exit;
      end;
      //Now just try to do it
      if (location <> 'pipe') then  //this we don't need to relocate
        result:= DoObstacleEx(location);
    //  if ((location = 'swing') or (location = 'log')) and not wasInDung then
    //    result:= DoObstacleEx(location);
      if result then
      begin
        writeln('DoObstacle: ' + booltostr(result));
        Exit;
      end;
      //Calibrate position because previous find is not successful
      if CalibratePositionB(location, p) then
      begin
        GetLocationOffset(location, dx, dy);
        writeln('distance is '+ inttostr(Distance(MMCX, MMCY, p.x+dx, p.y+dy)));
        if Distance(MMCX, MMCY, p.x+dx, p.y+dy) > 15 then
        begin
          CalibratePosition(location);
          wait(2000+random(250));
          while IsMoving do
            wait(50+random(50));
        end;
      end;
      result:= DoObstacleEx(location);
      writeln('DoObstacle: ' + booltostr(result));
    end;

    procedure DoCourse;
    var action: string;
    begin
      action:= 'pipe';
      SetupInventory;
      ClickNorth(SRL_ANGLE_HIGH);
      while LoggedIn do
      begin
        FindNormalRandoms;
        LobbyOnDeath;
        writeln('current action is ' + action);
        case action of
          'pipe' : begin
                     if DoObstacle(action) then action := 'swing';
                     LobbyOnDeath;
                   end;
          'swing': begin
    //                 if true then
    //                 begin
                       if DoObstacle(action) then //found success
                       begin
                         action:='lava';
                         wasInDung:= false;
                       end
                       else EscapeDungeon;
                       LobbyOnDeath;
    //                 end;
                   end;
          'lava' : begin
                     if DoObstacle(action) then
                       action:= 'log'
                     else
                       writeln('return to lava');//return to starting lava
                   end;
          'log'  : begin
                     if DoObstacle(action) then
                     begin
                       action:='cliff';
                       wasInDung:= false;
                     end
                     else EscapeDungeon;
                     LobbyOnDeath;
                   end;
          'cliff': begin
                     if DoObstacle(action) then action:='pipe';
                     ProgressReport(startXP);
                   end;
           'dung': begin  //failsafe if lost
                     if EscapeDungeon then
                       action:='lava';
                   end;
        end;
        EatFood;
        LobbyOnDeath;
        wait(500+random(250));
      end;
    end;

    procedure FreeDTMz;
    begin
      FreeDTM(food);
    end;

    var d,x, y: integer;
        e: extended;
    begin
      Smart_Server := SmartWorld;
      Smart_Members := Members;
      Smart_Signed := SignedClient;
      Smart_SuperDetail := HighDetail;

      setupSRL();
      DeclarePlayers;
      DoLogin;
      DeclareDDTM;
      food:=DTMFromString(FOOD_DTM);
      AddOnTerminate('FreeDTMz');
      Reincarnate := true;
      DeclareObjects;
      d:= ddtms[0];
      writeln(booltostr(FindDTMRotated(d, x, y, MMX1, MMY1, MMX2, MMY2, -Pi/6, Pi/6, 0.05, e) ));

      ToggleXPBar(true);
      startXP:= GetXPBarTotal;
      DoCourse;
    end.

    I also added in some random LobbyOnDeath procedures here and there because i recall more than once the script didnt recognise i was dead and found myself running around edgeville when i came back to my computer.

    Anyhoo, if anyone is still active on this thread at all :L give it a shot and tell me how it goes.
    Y
    ou'll need the ODTM extension!!!

    however, i might try it out using SPS, it seemed more reliable, when i tried making this with SPS i got it to work pretty well, so if the Obj DTM's are that bad ill change back over.
    Last edited by ne lg; 06-06-2012 at 10:53 PM.

  12. #87
    Join Date
    Feb 2012
    Posts
    42
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Really nice script

    For those who want lobsters:

    Code:
    FOOD_DTM = 'mggAAAHicY2NgYKhiYWDoAuI2IG4F4mYgbgFiFSYGBjEglgJiWSYIXxuI14ZJAHUxMZxJlQHTMMwPJLFhRhwYAgB+5QbR';

  13. #88
    Join Date
    Jun 2012
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Thumbs up My First Post :)

    Great script, works like a charm! Thanks for posting!

    As I'm new to SRL, I found it helpful to add a message in the inventory setup to let me know right away that it found food. (Just so that I knew my DTM string was acceptable, I struggled to get it right the first couple of times.)

    Had the same problem with repeating the lava obstacle. I tried setting chats to off and game to all as suggested elsewhere in this thread, but didn't seem to help. Not really a problem though, only repeats it the once and it doesn't stop me getting the complete lap xp.

    Thanks again for a great script!

    McLengthy
    Last edited by mclengthy; 07-02-2012 at 08:10 PM.

  14. #89
    Join Date
    Mar 2012
    Posts
    121
    Mentioned
    0 Post(s)
    Quoted
    37 Post(s)

    Default

    Um guys can anyone make a Dtm on Cakes plz

  15. #90
    Join Date
    May 2012
    Location
    Texas
    Posts
    365
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by kenddy3 View Post
    Um guys can anyone make a Dtm on Cakes plz
    It is very easy to make man just gotta learn how to do it!
    try this guide by YoHoJo
    Mostly Inactive, School

  16. #91
    Join Date
    Mar 2012
    Posts
    121
    Mentioned
    0 Post(s)
    Quoted
    37 Post(s)

    Default

    Er1k thnks so much for this script used it from 52-70 agility and only baby sitted it for a while achieved 70 agility like 5 days ago but for got to post it !!!

  17. #92
    Join Date
    Nov 2011
    Posts
    1,532
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by kenddy3 View Post
    Er1k thnks so much for this script used it from 52-70 agility and only baby sitted it for a while achieved 70 agility like 5 days ago but for got to post it !!!
    Glad to know it is still working for some people
    Current activity: Recovering from vacation
    - Nulla pars vitae vacare officio potest -
    SRL membership? Can I buy that?
    Scripts - AGS - SWF - WAR - EMS - W100S-EM
    If you need scripting help, you can pm me. Remember, if you need help you have to ask for it properly though

  18. #93
    Join Date
    Apr 2012
    Posts
    365
    Mentioned
    0 Post(s)
    Quoted
    30 Post(s)

    Default

    Nice script, but i got some problem on lava's obstacle detect. If i fail on lava part, the player would appear on north of the poll, and that make color detect broken. Can you give me some idea about how do i fix it?

  19. #94
    Join Date
    Apr 2012
    Posts
    365
    Mentioned
    0 Post(s)
    Quoted
    30 Post(s)

    Default

    Quote Originally Posted by freezeyp View Post
    Nice script, but i got some problem on lava's obstacle detect. If i fail on lava part, the player would appear on north of the poll, and that make color detect broken. Can you give me some idea about how do i fix it?
    Maybe you are thinking that why i not trying to fix it myself. Well, i did fix it by replace the lava obstacle part detection from color to DTM. I just want to ask some question about how is the "re-position" work in this script. Most of the time, when it can't detect the obstacle to click, it will try to reposition the player. However, when after failing lava obstacle , this script will not try to re-position itself when it can't find the obstacle to click.

Page 4 of 4 FirstFirst ... 234

Thread Information

Users Browsing this Thread

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

Posting Permissions

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