Results 1 to 14 of 14

Thread: [AL][Reflection] Fire Runes

  1. #1
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default [AL][Reflection] Fire Runes

    Before anything - do not run this unattended unless you want to get banned. The script is not complete.

    What it does: Crafts fire runes in OSR - uses Ring of dueling for speed

    Setup: Start in Castle Wars with Fire runes in Slot 1, Fire Tiara Equipped and Ring of dueling equipped.

    The reason you'll get banned if you don't watch it - it will not withdraw a ring and re-equip a new one. Reason - I have no idea how to get it to detect the equip slots. I've searched and experimented with the include for hours and haven't been able to find a way to detect the ring within the equipment tab. Any suggestions on this would be appreciated.

    I also have an issue - if you run this you'll notice error's within the Debug. If you look closely - those errors are part of walk procedures that aren't even getting called upon. This is mind boggling to me so if you have any ideas please pass them along.

    Also thanks for all your help so far @AFools; and for a good base with your air runner script!
    Simba Code:
    {$DEFINE SMART}
    {$i AeroLib/AeroLib.Simba}
    {$i Reflection/Reflection.Simba}
    var
    reflectPlayer: TReflectLocalPlayer;
    invItem: TReflectInvItem;


    function R_TileOnMS(Tile : TPoint; var OutputPoint : TPoint; x : integer = 0; y : integer = 0; z : integer = 0):boolean;
    var tempB : TBox;
    begin
      OutputPoint := TReflectionTiles.TileToMS(Tile, x, y, z);
      tempB := intToBox(MSX1, MSY1, MSX2, MSY2);
      result := PointInBox(OutputPoint, tempB);
    end;

    procedure randomMouseInput(pnt:Tpoint; ranx, rany:integer);
    begin
      case random(3) of
        0:humanMMouse(pnt, ranx, rany);
        1:missMouse(pnt, ranx, rany);
        2:mouse(pnt, ranx, rany, mouse_move);
      end;
    end;

     function R_InteractTile(tile:Tpoint; action:string; x:integer = 0; y:integer = 0; z:integer = 0):boolean;
    var RSTile : TPoint;
    begin
      if R_TileOnMS(Tile, RSTile, x, y, z) then begin
        randomMouseInput(rsTile, 3, 3);
        if(Reflect.Text.IsUpText(action)) then begin
          FastClick(mouse_left);
          result := didClick(true, 1000);
        end else begin
          if TReflectionText.OptionExists(action) then begin
            FastClick(mouse_right);
            result := Reflect.Text.ChooseOption(action);
          end;
          if not result then
            randomMouseInput(Point(MSCX, MSCY), 500, 500);
        end;
      end;
    end;

    Procedure getTile;
    var
      OurTile   : TPoint;
    begin
      OurTile := Reflect.Tiles.GetGlobalTile;
      writeln('Point('+ IntToStr(OurTile.x) + ',' + IntToStr(OurTile.y) +')');
    end;

    function dismissAllRandoms : boolean;
    var i, j, me_indice:integer;
        _npcs:TReflectNPCArray;
        randoms:tstringarray;
    begin
      randoms := ['dunce', 'molly', 'niles', 'miles', 'giles', 'sandwich lady',
      'drunken dwarf', 'highwayman', 'dr jekyll', 'cap''n hand', 'security guard',
      'rick turpentine', 'mysterious old man', 'frog', 'null', 'mime', 'sergeant damien', 'freaky forester','strange plant',
       'postie pete', 'tilt', 'flippa', 'leo', 'pillory guard', 'evil bob'];
      _npcs.GetAll;
      me_indice := TReflectLocalPlayer.GetPlayerIndex;
      for i:=0 to high(_npcs) do begin
        if (_npcs[i].getInteractingIndex = me_indice) then begin
          for j:=0 to high(randoms) do begin
            if (pos(randoms[j], lowercase(_npcs[i].getName)) > 0) then begin
              if R_InteractTile(_npcs[i].getTile, 'Dismiss', 0, 0, 50) then begin
                FFlag(0);
                sleep(500+random(2000));
                writeln('Dismissed random: '+_npcs[i].getname+'  Time Running: '+TimeRunning);
                result := True;
              end;
            end;
          end;
        end;
      end;
    end;
    procedure AntiBanned;
    begin
    sleep(10+random(5000));
      case random(750) of
        1:HoverSkill('random', False);
        2:hoverSkill('random', false);
        //3:pickUpMouse;
        4:SleepAndMoveMouse(random(2500));
        5:randomMovement;
        6:compassMovement(0, 360, false);
        7:boredHuman;
        8:sleep(500+random(5000));
        9:randomFKeys(false);
        10:randomTab(false);
        11:checkMovingObjs(false);
        12:checkMovingObjs(false);
        13:MMouseOffClient('rand');
        14:MMouseOffClient('top');
        15:MMouseOffClient('bottom');
        16:MMouseOffClient('left');
        17:MMouseOffClient('right');
        18:HoverSkill('random', False);
      end;
    end;

    Procedure teleArena;
    begin
      if getCurrentTab():=4 then
        begin
          typeByte(VK_F4);
        end
      begin
        TReflectionMouse.Move(700, 370, 710, 390, mouse_right);
        Reflect.Text.ChooseOption('Duel Arena');
        writeln('teleported to Castle Wars');
        wait(randomrange(1800,3000));
        if getCurrentTab():=5 then
        typeByte(VK_ESCAPE);
      end;
    end;

    Procedure teleCW;
    begin
      if getCurrentTab():=4 then
        begin
          typeByte(VK_F4);
        end
      begin
        TReflectionMouse.Move(700, 370, 710, 390, mouse_right);
        Reflect.Text.ChooseOption('Castle Wars');
        writeln('teleported to Castle Wars');
        wait(randomrange(1800,3000));
        if getCurrentTab():=5 then
        typeByte(VK_ESCAPE);
      end;
    end;

    Function waitMove(c: Integer): boolean;
    var
    d : integer;
    Begin
    random(4000);
    dismissAllRandoms;
    FFlag(0);
    (d = (c/5));
    wait(c+random(d));
    while reflectplayer.IsAnimating or reflectPlayer.IsMoving do
    wait(c-random(d));
    end;

    Function R_Click(textstr : string): boolean;
    begin
      FastClick(Mouse_Right);
      if ChooseOption(textstr) then begin
      FFlag(0);
      result := true;
    end else
      result := false;
    end;

    Function OpenBank :boolean;
      var
        Bank: TReflectObject;
    begin
       waitMove(300);
       if TReflectionBank.IsOpen then begin
      exit;
      end;
      FFlag(0);
      if  Bank.Find(objGame, 'Bank chest', 5) then begin
        Reflect.Mouse.Move(Bank.GetMSPoint, 5, 5);
         wait(100+random(500));
        R_Click('Use Bank chest');
        FFlag(0);
     end
     if TReflectionBank.IsOpen then
     begin
     result := true
     end else
     result := true;
    end;

    Function cRuins(C: Integer): boolean;
    begin
    if Reflect.Tiles.DistanceFromTile(Point(3309,3251)) < C then
      begin
        if reflectplayer.IsAnimating or reflectPlayer.IsMoving then
          begin
            exit;
          end;
        if R_InteractTile(Point(3312+RandomRange(0,2),3254+RandomRange(0,2)), 'Mysterious ruins', 1, 1, C) then
          begin
            waitMove(1200);
            result :=  true;
          end;
      end;
        antibanned();
      wait(randomRange(600,3000));
    end;

    Function cAltar(C: Integer): boolean;
    begin
      if Reflect.Tiles.DistanceFromTile(Point(2585,4838)) < C then
        begin
          if reflectplayer.IsAnimating or reflectPlayer.IsMoving then
            begin
              exit;
            end;
          if R_InteractTile(Point(2585+RandomRange(0,2),4838+RandomRange(0,2)), 'Craft-rune Altar', 1, 1, C) then
            begin
              waitMove(1200);
              result :=  true;
            end;
        end;
          antibanned();
        repeat
          wait(randomRange(60,800));
        until not TReflectionInventory.IsFull();
      if not TReflectionInventory.isFull() then
        teleCW;
    end;

    Procedure WalkBank;
    begin
      if(getRunEnergy >= (40 +random(40))) and not isUsingRun then begin
        toggleRunning(true); end;
      if Reflect.Tiles.DistanceFromTile(Point(2444,3083)) > 15 then
        begin
          writeln('Error 221');
          exit;
        end;
      if Reflect.Tiles.DistanceFromTile(Point(2444,3083)) > 5 then
        begin
          repeat
            reflectPlayer.BlindWalkMM (Point(2444+RandomRange(0, 2),3083+RandomRange(0, 2)),2);
            wait(randomRange(800,2000));
          until Reflect.Tiles.DistanceFromTile(Point(2444,3083)) < 5;
        end;
      antibanned();
    end;

    Procedure WalkAltar;
    begin
      if(getRunEnergy >= (40 +random(40))) and not isUsingRun then begin
        toggleRunning(true); end;
      if Reflect.Tiles.DistanceFromTile(Point(2584,4840)) > 20 then
        begin
          writeln('Error 239');
          exit;
        end;
      if Reflect.Tiles.DistanceFromTile(Point(2584,4840)) > 5 then
        begin
          reflectPlayer.BlindWalkMM (Point(2584+RandomRange(0, 2),4840+RandomRange(0, 2)),2);
        end;
      antibanned();
    end;

    Procedure WalkRuins;
    begin
      if(getRunEnergy >= (40 +random(40))) and not isUsingRun then begin
        toggleRunning(true); end;
      if Reflect.Tiles.DistanceFromTile(Point(3311,3253)) > 20 then
        begin
          writeln('Error 255');
          exit;
        end;
      if Reflect.Tiles.DistanceFromTile(Point(3311,3253)) > 5 then
        begin
          reflectPlayer.BlindWalkMM (Point(3311+RandomRange(0, 1),3253+RandomRange(0, 1)),2);
        end;
      antibanned();
    end;

    procedure WithdrawItems(item: String; amount: Integer; Result: Boolean);
    var
      iitem: TReflectBankItem;
    begin
        if iitem.Find(item) then begin
        waitMove(250);
          iitem.Withdraw(amount);
          wait(random(600,1300));
          result := true;
        end else if not invItem.Find(item) then begin
         logoutPlayer;
         terminatescript;
         result := false;
         end;
    end

    function withDraw: Boolean;
    begin
      if TReflectionBank.IsOpen then begin
        begin
        if invItem.Find('Fire rune') then
          depositItem(3,-1,100);
        if not invitem.Find('Pure essence') then
          WithdrawItems('Pure essence', 28, true);
         end;
         Result := InvItem.Find('Pure essence');
         Reflect.Bank.Close;
         teleArena;
    end;
    end;

    Procedure mainLoop;
    begin
      if TReflectionBank.isOpen then
        begin
          writeln('Withdrawing Items');
          withdraw;
        end
      else if Reflect.Tiles.DistanceFromTile(Point(2444,3083)) < 5 then
        begin
          writeln('Opening Bank');
          openBank;
        end
      else if Reflect.Tiles.DistanceFromTile(Point(3311,3253)) < 5 then
        begin
          writeln('Clicking Ruins');
          cRuins(15);
        end
      else if Reflect.Tiles.DistanceFromTile(Point(2584,4840)) < 5 then
        begin
          writeln('Crafting runes');
          cAltar(15);
        end
      else if not invItem.Find('Pure essence') then
        begin
          writeln('Walking to Bank');
          walkBank;
        end
      if Reflect.Tiles.DistanceFromTile(Point(3312,3252)) < 20 and TReflectionInventory.IsFull() then
        begin
          writeln('Walking to Ruins');
          walkRuins;
        end
      else if Reflect.Tiles.DistanceFromTile(Point(2584,4840)) < 30 and TReflectionInventory.IsFull() then
        writeln('Walking to Altar');
        walkAltar;
    end;


    begin
      initAL;
      Reflect.Setup;
      reflectPlayer.Create;
      if not isLoggedIn() then
      if loginPlayer(false) then
         setCompass('Random');
       setAngle(ANGLE_HIGH);
      begin
        repeat
          mainLoop;
        until (false);
      end;
    end;

  2. #2
    Join Date
    Dec 2013
    Location
    Pitcairn Island
    Posts
    288
    Mentioned
    20 Post(s)
    Quoted
    166 Post(s)

    Default

    Quote Originally Posted by Clutch View Post
    I have no idea how to get it to detect the equip slots.
    Simba Code:
    program new;
    {$DEFINE SMART}
    {$i reflection/reflection.simba}

    function IsItemEquipped(Name: String): Boolean;
    var
      i: Integer;
      Items: TReflectWornEquipmentArray;
    begin
      Items.GetAll();
      for i := 0 to High(Items) do
        if Pos(Name, Items[i].GetName()) > 1 then
          Exit(True);
    end;

    begin
      Reflect.Setup();
      WriteLn(IsItemEquipped('Ring of duelling'));
    end.

  3. #3
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    Quote Originally Posted by TSN View Post
    Simba Code:
    program new;
    {$DEFINE SMART}
    {$i reflection/reflection.simba}

    function IsItemEquipped(Name: String): Boolean;
    var
      i: Integer;
      Items: TReflectWornEquipmentArray;
    begin
      Items.GetAll();
      for i := 0 to High(Items) do
        if Pos(Name, Items[i].GetName()) > 1 then
          Exit(True);
    end;

    begin
      Reflect.Setup();
      WriteLn(IsItemEquipped('Ring of duelling'));
    end.
    That's completely different from how I was trying to make TReflectEquipment to work - I was trying to use the atSlot and getall procedures. (may be off not looking at it right now just going off memory).
    Anyways that looks like that'll get me in the right direction for that - thank you very much! Rep'd!

  4. #4
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    Quote Originally Posted by Clutch View Post
    That's completely different from how I was trying to make TReflectEquipment to work - I was trying to use the atSlot and getall procedures. (may be off not looking at it right now just going off memory).
    Anyways that looks like that'll get me in the right direction for that - thank you very much! Rep'd!
    Yep the above doesn't work. I think Equipment functions all around are just broke.
    I attempted with multiple items - all returning false.

    I think I'm just going to keep what I currently have (switching to equipment tab) as a failsafe - will use ring that's within inventory for main teleporting - if for some reason a ring doesn't exist revert to equipment tab.
    Last edited by Clutch; 02-10-2016 at 01:49 AM.

  5. #5
    Join Date
    Jan 2014
    Posts
    51
    Mentioned
    5 Post(s)
    Quoted
    24 Post(s)

    Default

    Try this
    Simba Code:
    program new;
    {$DEFINE SMART}
    {$i reflection/reflection.simba}

    function IsItemEquipped(Name: String): Boolean;
    var
      i: Integer;
      Items: TReflectWornEquipmentArray;
    begin
      Items.GetAll();
      for i := 0 to High(Items) do
        if Pos(Name, Items[i].GetName()) > 0 then // Returns a number > 0 if found
          Exit(True);
    end;

    begin
      Reflect.Setup();
      WriteLn(IsItemEquipped('Ring of dueling')); // This was a typo should be Ring of dueling
    end.

  6. #6
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    Quote Originally Posted by mudda_fudda View Post
    Try this
    Simba Code:
    program new;
    {$DEFINE SMART}
    {$i reflection/reflection.simba}

    function IsItemEquipped(Name: String): Boolean;
    var
      i: Integer;
      Items: TReflectWornEquipmentArray;
    begin
      Items.GetAll();
      for i := 0 to High(Items) do
        if Pos(Name, Items[i].GetName()) > 0 then // Returns a number > 0 if found
          Exit(True);
    end;

    begin
      Reflect.Setup();
      WriteLn(IsItemEquipped('Ring of dueling')); // This was a typo should be Ring of dueling
    end.
    Yes I attempted that already - same issue. Regardless - I found an alternative and after rewriting the script and altering the integrity of everything it appears to be running fine. Plan on releasing an Official version once I finish up with progress reports and adding an automatic updater as well so that I can get feedback on the script overall.

    Thanks though!

  7. #7
    Join Date
    Mar 2008
    Location
    New Jersey
    Posts
    1,673
    Mentioned
    1 Post(s)
    Quoted
    9 Post(s)

    Default

    try this: (Found in the (SIMBAPATH) + \Includes\reflection\lib\widgets\gametabs)
    Simba Code:
    procedure TReflectWornEquipment.AtSlot(Slot: Integer);
    var
      EquipmentWidget, EquipmentChild: TReflectWidget;
    begin
      if not InRange(Slot, WornEquipment_Helmet, WornEquipment_Quiver) then
      begin
        Reflect.Logger.Warn('%d is not a valid worn equipment slot', [Slot]);
        Exit;
      end;
      Reflect.Gametab.Open(GameTab_WornEquipment);
      EquipmentWidget.GetWidget(Widget_WornEquipment_Container, Slot);
      EquipmentChild.GetChild(EquipmentWidget, 1);
      if (EquipmentChild.IsHidden) or (EquipmentChild.GetItemId = -1) then
      begin
        EquipmentChild.Free;
        EquipmentWidget.Free;
        Exit;
      end;
      with Self do
      begin
        Id := EquipmentChild.GetItemId;
        Quantity := EquipmentChild.GetItemStackSizes;
        EquipSlot := Slot;
      end;
        EquipmentChild.Free;
        EquipmentWidget.Free;
    end;

    use: WornEquipment_Ring to for the ring slot (or int 15). In the next procedure in the include, procedure TReflectionGametab.RemoveWornEquipment(Slot: Integer);, one line of it's body is InRange(slot, WornEquipment_Helmet, WornEquipment_Quiver);

    that's how I found out to use WornEquipment_Ring, with typing WornEquip and using code completion. It took me a while to find this in the include, so I hope you can utilize it. If you are having trouble then let me know and I'll take a try at it. Good luck scripting, your code's looking pretty nice.

    One suggestion though, I noticed this:

    Simba Code:
    Procedure teleArena;
    begin
      if getCurrentTab():=4 then
        begin
          typeByte(VK_F4);
        end
      begin

    when I play, I change my hotkeys all the time, depending on what I'm doing in game. It may be useful to tell people to set their in-game hotkeys the way you need them, otherwise you need to make sure they are all properly set prior to starting to avoid trouble. On my account, F4 does not open the equipment tab; it probably does nothing to be honest lol. I'd probably go the route of informing people to setup their hotkeys the way you need it at first, then worry about making the script do it on it's own later after the finished product.

    I could comment on more things, but than I'd just be coming off as a jerk and be nit picking, and I don't want to do that cause it does look nice. I just love giving suggestion, just as much as I love getting them. Hope I was able to help some. Maybe once it's done I'll let the script run a couple loops on my acc to give some more feedback.
    Last edited by Baked0420; 02-10-2016 at 05:11 PM.

  8. #8
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    Quote Originally Posted by Baked0420 View Post
    try this: (Found in the (SIMBAPATH) + \Includes\reflection\lib\widgets\gametabs)
    Simba Code:
    procedure TReflectWornEquipment.AtSlot(Slot: Integer);
    var
      EquipmentWidget, EquipmentChild: TReflectWidget;
    begin
      if not InRange(Slot, WornEquipment_Helmet, WornEquipment_Quiver) then
      begin
        Reflect.Logger.Warn('%d is not a valid worn equipment slot', [Slot]);
        Exit;
      end;
      Reflect.Gametab.Open(GameTab_WornEquipment);
      EquipmentWidget.GetWidget(Widget_WornEquipment_Container, Slot);
      EquipmentChild.GetChild(EquipmentWidget, 1);
      if (EquipmentChild.IsHidden) or (EquipmentChild.GetItemId = -1) then
      begin
        EquipmentChild.Free;
        EquipmentWidget.Free;
        Exit;
      end;
      with Self do
      begin
        Id := EquipmentChild.GetItemId;
        Quantity := EquipmentChild.GetItemStackSizes;
        EquipSlot := Slot;
      end;
        EquipmentChild.Free;
        EquipmentWidget.Free;
    end;

    use: WornEquipment_Ring to for the ring slot (or int 15). In the next procedure in the include, procedure TReflectionGametab.RemoveWornEquipment(Slot: Integer);, one line of it's body is InRange(slot, WornEquipment_Helmet, WornEquipment_Quiver);

    that's how I found out to use WornEquipment_Ring, with typing WornEquip and using code completion. It took me a while to find this in the include, so I hope you can utilize it. If you are having trouble then let me know and I'll take a try at it. Good luck scripting, your code's looking pretty nice.

    One suggestion though, I noticed this:

    Simba Code:
    Procedure teleArena;
    begin
      if getCurrentTab():=4 then
        begin
          typeByte(VK_F4);
        end
      begin

    when I play, I change my hotkeys all the time, depending on what I'm doing in game. It may be useful to tell people to set their in-game hotkeys the way you need them, otherwise you need to make sure they are all properly set prior to starting to avoid trouble. On my account, F4 does not open the equipment tab; it probably does nothing to be honest lol. I'd probably go the route of informing people to setup their hotkeys the way you need it at first, then worry about making the script do it on it's own later after the finished product.

    I could comment on more things, but than I'd just be coming off as a jerk and be nit picking, and I don't want to do that cause it does look nice. I just love giving suggestion, just as much as I love getting them. Hope I was able to help some. Maybe once it's done I'll let the script run a couple loops on my acc to give some more feedback.
    Thanks I'll check that out - as for your nit picking I encourage you to do that when I update with the official release as what you see above is much different to what I have currently - I cleaned up alot of the script.

  9. #9
    Join Date
    Mar 2008
    Location
    New Jersey
    Posts
    1,673
    Mentioned
    1 Post(s)
    Quoted
    9 Post(s)

    Default

    Awesome, can't wait to see a finished product! And ok, I just didn't want you to take offense from me pointing out every thing I see, from big things to little things that don't make all the difference. But I'll be sure to give it a good look once it's done and give you any suggestions I can think of.

    Also, you could still use the VK_F4, and then use a failsafe to just manually click the tab if the tab is still not open after X-amount of seconds. Just an idea.

  10. #10
    Join Date
    Jan 2014
    Posts
    51
    Mentioned
    5 Post(s)
    Quoted
    24 Post(s)

    Default

    I just tried
    Simba Code:
    program new;
    {$DEFINE SMART}
    {$i reflection/reflection.simba}

    function IsItemEquipped(Name: String): Boolean;
    var
      i: Integer;
      Items: TReflectWornEquipmentArray;
    begin
      Items.GetAll();
      for i := 0 to High(Items) do
      begin
      WriteLn(Items[i].GetName());
        if Pos(Name, Items[i].GetName()) > 0 then // Returns a number > 0 if found
          Exit(True);
      end
    end;

    begin
      Reflect.Setup();
      WriteLn(IsItemEquipped('Gold ring')); // This was a typo should be Ring of dueling
    end.
    And it worked, ill try again later with a ring of dueling.
    I'm all for writing functions if necessary, but doesn't look this this is broken to me.

  11. #11
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    Quote Originally Posted by mudda_fudda View Post
    I just tried
    Simba Code:
    program new;
    {$DEFINE SMART}
    {$i reflection/reflection.simba}

    function IsItemEquipped(Name: String): Boolean;
    var
      i: Integer;
      Items: TReflectWornEquipmentArray;
    begin
      Items.GetAll();
      for i := 0 to High(Items) do
      begin
      WriteLn(Items[i].GetName());
        if Pos(Name, Items[i].GetName()) > 0 then // Returns a number > 0 if found
          Exit(True);
      end
    end;

    begin
      Reflect.Setup();
      WriteLn(IsItemEquipped('Gold ring')); // This was a typo should be Ring of dueling
    end.
    And it worked, ill try again later with a ring of dueling.
    I'm all for writing functions if necessary, but doesn't look this this is broken to me.
    I'll be sure to experiment with all of the above tonight. Thanks.

    Quote Originally Posted by Baked0420 View Post
    Awesome, can't wait to see a finished product! And ok, I just didn't want you to take offense from me pointing out every thing I see, from big things to little things that don't make all the difference. But I'll be sure to give it a good look once it's done and give you any suggestions I can think of.

    Also, you could still use the VK_F4, and then use a failsafe to just manually click the tab if the tab is still not open after X-amount of seconds. Just an idea.
    It may or may not be tonight - I'm going to try and get everything done tonight though.
    Last edited by Clutch; 02-11-2016 at 12:34 AM.

  12. #12
    Join Date
    Jan 2014
    Posts
    51
    Mentioned
    5 Post(s)
    Quoted
    24 Post(s)

    Default

    Quote Originally Posted by Clutch View Post
    I'll be sure to experiment with all of the above tonight. Thanks.



    It may or may not be tonight - I'm going to try and get everything done tonight though.
    I also just tried with ring of dueling that also worked. The WriteLn is there so it will output what it does find in your inventory until it finds the item or if it doesnt find it it will list everything you have equipped.

  13. #13
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    Quote Originally Posted by mudda_fudda View Post
    I also just tried with ring of dueling that also worked. The WriteLn is there so it will output what it does find in your inventory until it finds the item or if it doesnt find it it will list everything you have equipped.
    Just finished everything and released it. Going to start looking over all the above. Thanks for all the help and suggestions thus far!

  14. #14
    Join Date
    Dec 2013
    Location
    Pitcairn Island
    Posts
    288
    Mentioned
    20 Post(s)
    Quoted
    166 Post(s)

    Default

    Sorry for the typo, I don't actually have an old school account so couldn't test!

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
  •