+ Reply to Thread
Results 1 to 13 of 13

Thread: Getting this Error message everytime I use bot

  1. #1
    Join Date
    Jan 2012
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Getting this Error message everytime I use bot

    I am not sure where to post but since this was the "help" thread, i posted here. Any informatin regarding this fix, id appreciate it

    MSI_SetupSPS(tmpSurfaces[i], tmpAreas[i]);

  2. #2
    Join Date
    Apr 2008
    Location
    Marquette, MI
    Posts
    15,252
    Mentioned
    138 Post(s)
    Quoted
    680 Post(s)

    Default

    That's not an error, that's just a line of code.

  3. #3
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    Errors will appear in the debug box below simba.
    If you are getting one, copy/paste it here.

  4. #4
    Join Date
    Jan 2012
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Coh3n View Post
    That's not an error, that's just a line of code.
    But this is the code that is "red" and flags me

  5. #5
    Join Date
    Apr 2008
    Location
    Marquette, MI
    Posts
    15,252
    Mentioned
    138 Post(s)
    Quoted
    680 Post(s)

    Default

    Quote Originally Posted by Jukiahs View Post
    But this is the code that is "red" and flags me
    Yeah, but you don't tell us what the error is, just the line where the error occurs.

  6. #6
    Join Date
    Jan 2012
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Hey Coh3n since your very familiar with the forums here, do you know where the .99 version of Simba is at? I can't find it, and Simba message box says to download it off the forums.

  7. #7
    Join Date
    Jan 2012
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    MSI_SetupSPS(tmpSurfaces[i], tmpAreas[i]); is the line that is highlighted though.

    Code:
    (*
    Walking
    =======
    
    The Walking file includes functions & procedures that have anything to do with
    walking. You'll notice the defines ({$IFDEF REFLECTION}) used throughout these
    methods; these are used so MSI will still compile if the user decides to exclude
    reflection or if reflection is broken. This file handles walking for both SPS
    and reflection.
    
    The source for Walking.simba can be found
    `here <https://github.com/SRL/MSI/raw/master/MSI/Core/Walking.simba>`_.
    
    *)
    
    // Represent indexes of MSI_WalkVars
    const
      DIST_BETWEEN_POINTS = 20;  // pixels between points in a path
      DIST_FROM_END       = 10;
      DIST_RANDOMNESS     = 5;
    
    // had to be done :'(
    function MSI_AtLocation(loc: integer; relocate: boolean): boolean; forward;
    
    (*
    MSI_Flag
    ~~~~~~~~
    
    .. code-block:: pascal
    
      procedure MSI_Flag(FlagDist: Integer);
    
    MSI's custom flag function. It waits until the flag is within 'FlagDist' from
    the player. It also works if, for some reason, the flag has gone off the minimap,
    but the player is still moving.
    
    .. note::
    
      | Author: The MSI Team
      | Last Updated: 04 October 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      MSI_Flag(10);
    *)
    procedure MSI_Flag(FlagDist: Integer);
    var
      t: integer;
      anim: TAnimation;
    begin
      if (not loggedIn) then
        exit;
    
      t := (getSystemTime + 10000);
      anim := MSI_GetAnimation(ANIM_IDLE);
    
      while (getSystemTime < t) do
      begin
        MSI_FindRandoms(false);
        MSI_AntiBan(randomRange(200, 400), ANTI_BAN_CHANCE);
    
        // flag is gone and not moving
        if (not flagPresent) and (MSI_IsAnimating(anim)) then
          break;
    
        // danger zone warnings
        if (leaveDangerZone()) then
          MSI_SubDebug('Left danger zone');
    
        // if the player is going around an obstacle and the flag goes off the minimap
        if (not flagPresent) and (not MSI_IsAnimating(anim)) then
        begin
          MSI_Antiban(randomRange(500, 1000), ANTI_BAN_CHANCE);
          continue;
        end;
    
        // close enough to the flag or not moving
        if (flagDistance <= flagDist) or (MSI_IsAnimating(anim)) then
          break;
    
        //MSI_SubDebug('Flag distance: '+intToStr(flagDistance));
      end;
    end;
    
    (*
    MSI_SetupSPS
    ~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      procedure MSI_SetupSPS(surface: integer; areas: TStringArray);
    
    An MSI wrapper function for SPS_Setup (sps.simba).  Used to avoid needless
    repeated code.
    
    .. note::
    
      | Author: Coh3n
      | Last Updated: 07 October 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      var
        script: TScript;
      begin
        script := MSI_GetPlayerScript();
        MSI_SetupSPS(script.pathInfo.spsSurface, script.pathInfo.spsAreas);
        .
        .
      end;
    *)
    procedure MSI_SetupSPS(surface: integer; areas: TStringArray);
    begin
      {$IFDEF SPS}
      //SPS_Debug := true;
      SPS_Setup(surface, areas);
    
      MSI_Debug('MSI_SetupSPS: Surface: '+toStr(SPS_Surface.Name)+', Areas: '+toStr(areas));
      {$ELSE}
      MSI_Debug('MSI_SetupSPS: SPS isn''t defined');
      {$ENDIF}
    end;
    
    (*
    MSI_WalkToSymbol
    ~~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_WalkToSymbol(symbol: string): boolean;
    
    Returns true if the player walks to the minimap 'symbol.'
    
    .. note::
    
      | Author: Coh3n
      | Last Updated: 17 March 2012 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      If (MSI_WalkToSymbol('bank')) then
        MSI_Debug('Relocating to bank symbol');
    *)
    function MSI_WalkToSymbol(symbol: string): boolean;
    var
      x, y: integer;
    begin
      if (not loggedIn()) then
        exit;
    
      MSI_SubDebug('MSI_WalkToSymbol: Trying to walk to '+symbol+' symbol');
    
      symbolAccuracy := 0.4;
    
      if (findSymbol(x, y, symbol)) then
      begin
        MSI_SubDebug('Found '+symbol+' symbol');
        MSI_MultiMouse(x, y, 50, 4, false);
        MSI_Flag(0);
    
        result := true;
      end else
        MSI_SubDebug('MSI_WalkToSymbol: Didn''t find '+symbol+' symbol');
    
      symbolAccuracy := 0.8;
    end;
    
    (*
    MSI_GetMyPos
    ~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_GetMyPos(): TPoint;
    
    Gets the player's position by using either SPS or reflection depending on how
    the user has setup the script.
    
    .. note::
    
      | Author: Coh3n
      | Last Updated: 28 August 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      var
        playerPos: TPoint;
      begin
        playerPos := MSI_GetMyPos();
        ...
    *)
    function MSI_GetMyPos(): TPoint;
    begin
      {$IFDEF SPS}
      result := SPS_GetMyPos();
      {$ENDIF}
      MSI_SubDebug('MSI_GetMyPos(): '+toStr(result));
    end;
    
    (*
    MSI_WalkPoint
    ~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_WalkPoint(P, PlayerPos: TPoint; flagDist: integer): Boolean;
    
    Simply walks to the point 'P' if it's on the minimap.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 04 October 2011 by Nava2
    
    Example:
    
    .. code-block:: pascal
    
      MSI_EnterPoint(point(1234, 4321));
    *)
    function MSI_WalkPoint(P, PlayerPos: TPoint; flagDist: integer): Boolean;
    {$IFDEF SPS}
    var
      tP: TPoint;
    {$ENDIF}
    begin
      result := false;
    
      {$IFDEF SPS}
      tP := Point(MMCX + P.X - PlayerPos.X, MMCY + P.Y - PlayerPos.Y);
    
      result := (distance(tP.x, tP.y, MMCX, MMCY) < DIST_FROM_END);
      if (not result) then
        if (tP.x > 0) then
        begin
          mouse(tP.x, tP.y, 3, 3, true);
          MSI_Flag(flagDist);
          result := true;
        end;
      {$ENDIF}
    end;
    
    (*
    MSI_SetPlayerLoc
    ~~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      procedure MSI_SetPlayerLoc();
    
    Returns a walkable path from the location (loc) record given.  Uses the middle
    point of each TLocation.SubLocs tile and sps boxes.
    
    .. note::
    
      | Author: Coh3n
      | Last Updated: 23 August 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      path := MSI_PathFromLoc(MSI_Locations[LOC_VE_MINE]);
    *)
    function MSI_PathFromLoc(loc: TLocation): TPointArray;
    var
      i: integer;
    begin
      if (not loggedIn) then
        exit;
    
      setLength(result, length(loc._subLocs));
    
      for i := 0 to high(loc._subLocs) do
        result[i] := middleBox(loc._subLocs[i].spsBox);
    
      MSI_SubDebug('MSI_PathFromLoc: '+toStr(result));
    end;
    
    (*
    MSI_PointOnPath
    ~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_PointOnPath(var Index: integer; Path: TPointArray; P: TPoint; MaxDist: integer): boolean;
    
    Finds the closest point (Index) in a path (Path) within MaxDist of any point in
    the path.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 04 October 2011 by Nava2
    
    Example:
    
    .. code-block:: pascal
    
      See MSI_EnterPath in
      `Walking.simba <https://github.com/SRL/MSI/raw/master/MSI/Core/Walking.simba>`_.
    *)
    function MSI_PointOnPath(var Index: integer; Path: TPointArray; P: TPoint; MaxDist: integer): boolean;
    var
      I, H, DistC, DistS: integer;
    begin
      H := High(Path);
      Index := -1;
      if (H < 0) then
        Exit;
    
      DistS := Distance(P.x, P.y, Path[0].x, Path[0].y); // distance from player's position to the start of the path
    
      // look for the closest point
      for I := 0 to H do
      begin
        DistC := Distance(P.x, P.y, Path[I].x, Path[I].y);
        if DistC <= DistS then
        begin
          DistS := DistC;
          Index := I;
        end;
      end;
    
      Result := (DistS <= MaxDist);
      if (not(Result)) then
        Index := -1;
    
      MSI_SubDebug('MSI_PointOnPath: Index = ' + IntToStr(Index));
    end;
    
    (*
    MSI_FurthestPoint
    ~~~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_FurthestPoint(tPath: TPointArray; P: TPoint): Integer;
    
    Returns the index of the furthest point (that is on the minimap) in a path
    between given indices.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 18 October 2011 by Nava2
    
    Example:
    
    .. code-block:: pascal
    
      See MSI_WalkTPA in
      `Walking.simba <https://github.com/SRL/MSI/raw/master/MSI/Core/Walking.simba>`_.
    *)
    function MSI_FurthestPoint(tPath: TPointArray; P: TPoint): Integer;
    var
      i, h: Integer;
    begin
    
      // finds the furthest visible point
      h := high(tPath)
      for i := h downto 0 do
        if (Distance(tPath[i].X, tPath[i].Y, P.X, P.Y) <= 70) then
        begin
          Result := i;
          Exit;
        end;
    
      Result := -1;
    
      if (Result = -1) then
        MSI_SubDebug('MSI_FurthestPoint: Can''t find a point on the minimap');
    end;
    
    (*
    MSI_PathBetween
    ~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_PathBetween(fT, tT: TPoint; tDist, Rand: Integer): TPointArray;
    
    Creates a TPA between points (fT and tT), tDist intervals, Rand randonmness.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 04 October 2011 by Nava2
    
    Example:
    
    .. code-block:: pascal
    
      See MSI_EnterPath in
      `Walking.simba <https://github.com/SRL/MSI/raw/master/MSI/Core/Walking.simba>`_.
    *)
    function MSI_PathBetween(fT, tT: TPoint; tDist, Rand: Integer): TPointArray;
    var
      hyp, xR, yR: Extended;
      l: Integer;
    begin
      if not LoggedIn then
        Exit;
    
      // set Result Length and first point at initial Point
      SetLength(Result, Ceil(Distance(fT.X, fT.y, tT.X, tT.Y) * 1.0 / tDist) + 1);
      Result[0] := fT;
    
      // if no need for intermediate Points then nvm. :)
      if (Distance(fT.X, fT.Y, tT.X, tT.Y) <= tDist) then
      begin
        Result[High(Result)] := tT;
        Exit;
      end;
    
      // ratios for 'Similar Triangles' maths
      hyp := Hypot(fT.X - tT.x, fT.Y - tT.Y);
      xR := (tT.X - fT.X) / hyp;
      yR := (tT.Y - fT.Y) / hyp;
    
      // set points
      for l := High(Result) - 1 downto 1 do
      begin
        Result[l].X := Round(fT.X + l * tDist * xR) + RandomRange(-Rand, Rand);
        Result[l].Y := Round(fT.Y + l * tDist * yR) + RandomRange(-Rand, Rand);
      end;
    
      // last point is tT
      Result[High(Result)] := tT;
    end;
    
    (*
    MSI_ExpandPath
    ~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_ExpandPath(ctrlPoints: TPointArray; tDist, Randomness: Integer): TPointArray;
    
    Expands ctrlPoints into a path with tDist intervals and Randomness.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 04 October 2011 by Nava2
    
    Example:
    
    .. code-block:: pascal
    
      See MSI_WalkTPA in
      `Walking.simba <https://github.com/SRL/MSI/raw/master/MSI/Core/Walking.simba>`_.
    *)
    function MSI_ExpandPath(ctrlPoints: TPointArray; tDist, Randomness: Integer): TPointArray;
    var
      i, h: Integer;
      t: T2DPointArray;
    begin
      Result := [];
      h := High(ctrlPoints);
      SetLength(t, h);
    
      for i := 1 to h do
        t[i - 1] := MSI_PathBetween(ctrlPoints[I - 1], ctrlPoints[I], tDist, Randomness);
    
      Result := MergeATPA(t);
    end;
    
    (*
    MSI_EnterPath
    ~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_EnterPath(PPos: TPoint; Path: TPointArray; maxDist: integer): boolean;
    
    Simply calls the native SPS path walking method.  Will walk to the path if the
    player is within maxDist pixels (SPS), but not on the path.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 04 October 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      MSI_EnterPath(SPS_GetMyPos, [Point(1234, 4321)], 50);
    *)
    function MSI_EnterPath(PPos: TPoint; Path: TPointArray; maxDist: integer): boolean;
    var
      i: integer;
      tmpPath: TPointArray;
    begin
      if (MSI_PointOnPath(i, Path, PPos, maxDist)) then
      begin
        tmpPath := MSI_PathBetween(PPos, Path[i], DIST_BETWEEN_POINTS, DIST_RANDOMNESS);
    
        {$IFDEF SPS}
        result := SPS_WalkPath(tmpPath);
        {$ENDIF}
    
        if (result) then
          exit;
      end;
    
      MSI_SubDebug('MSI_EnterPath: false');
    end;
    
    (*
    MSI_WalkTPA
    ~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_WalkTPA(Path: TPointArray; Destination, MaxDist: Integer): Boolean;
    
    Walks the given path (Path) to the destination index (Distination). Will walk
    the entire path if Destination is set to -1. If within a maximum distance
    (MaxDist) of any point in the path, will walk to that point and continue with
    the rest of the path.
    
    .. note::
    
      | Author: Nava2
      | Last Updated: 15 March 2012 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      MSI_WalkTPA(somePath, -1, 100);
    *)
    function MSI_WalkTPA(Path: TPointArray; Destination, MaxDist: Integer): Boolean;
    var
      playerPos, dPoint: TPoint;
      h, d, nextPoint, attempts, dist: integer;
    begin
      if (not(loggedIn)) then
        exit;
    
      if (length(Path) <= 0) then
      begin
        MSI_SubDebug('MSI_WalkTPA (True): Path has no points');
        result := true;
        exit;
      end;
    
      MSI_AddHeader('MSI_WalkTPA: Path: '+toStr(Path));
    
      playerPos := MSI_GetMyPos();
    
      if (Destination = -1) then
        d := high(path)
      else
        d := Destination;
    
      // expand the path and set the new destination point
      dPoint := path[d];
      path := MSI_ExpandPath(path, DIST_BETWEEN_POINTS, 3);
      MSI_PointOnPath(d, path, dPoint, MaxDist);
      h := high(path);
    
      // finds you on a path and attempts to walk to it if possible
      if (MSI_EnterPath(playerPos, path, maxDist)) then
      begin
        // loops through the points and walks :)
        while (not result) and (attempts < 15) do
        begin
          MSI_WaitWhileResting();
          MSI_FindRandoms(true);
    
          nextPoint := MSI_FurthestPoint(path, playerPos);
    
          // if the furthest point is found, walk to it!
          if (nextPoint > -1) then
          begin
            MSI_Debug(format('Next Point: %d (%d, %d)', [nextPoint, path[nextPoint].x, path[nextPoint].y]));
    
            if (MSI_WalkPoint(path[nextPoint], playerPos, randomRange(5, 10)*integer(nextPoint<>h))) then
            begin
              attempts := 0;
              wait(100 + random(100));
              playerPos := MSI_GetMyPos();
            end;
          end;
    
          inc(attempts);
    
          dist := distance(path[h].x, path[h].y, playerPos.x, playerPos.y);
          MSI_Debug('Distance to the end: '+toStr(dist)+' pixels');
    
          result := (dist <= DIST_FROM_END);
        end;
      end;
    
      MSI_CloseHeader('MSI_WalkTPA: '+boolToStr(result));
    end;
    
    (*
    MSI_WalkPath
    ~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_WalkPath(pathInfo: TPath; toLoc: boolean): boolean;
    
    Walks the entire path (PathInfo), including obstacles. Returns true if the
    player is at the ending location. 'inverted' is used to determine which
    obstacles to load since they may be different depending on the player's
    location.
    
    .. note::
    
      | Author: marpis & Coh3n
      | Last Updated: 15 March 2012 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      MSI_WalkPath(MSI_Scripts[SCRIPT_VE_MINE].PathInfo, true);
    *)
    function MSI_WalkPath(pathInfo: TPath; toLoc: boolean): boolean;
    var
      tmpPath: T2DPointArray;
      tmpAreas: array of TStringArray;
      locPath, tmpLoc: TPointArray;
      i, h, endLocation, attempts: integer;
      intObs, tmpSurfaces: TIntegerArray;
      obs: TObstacle;
      legDone: TBooleanArray;
    begin
      if (not loggedIn) then
        exit;
    
      locPath := MSI_PathFromLoc(MSI_Locations[pathInfo.endLoc]);
    
      // set the temporary variables (may need to be inverted)
      if (toLoc) then // if walking from the BANK to the LOCATION
      begin
        MSI_AddHeader('MSI_WalkPath: '+MSI_Locations[pathInfo.startLoc].Name+' to '
                                      +MSI_Locations[pathInfo.endLoc].Name);
    
        endLocation := pathInfo.endLoc;
        intObs := pathInfo.obstacles[OBS_LOC_TO];
    
        tmpLoc := locPath;
        tmpPath := pathInfo.spsPath;
        tmpAreas := pathInfo.spsAreas;
        tmpSurfaces := pathInfo.spsSurfaces;
      end else begin
        MSI_AddHeader('MSI_WalkPath: '+MSI_Locations[pathInfo.endLoc].Name+' to '
                                      +MSI_Locations[pathInfo.startLoc].Name);
    
        endLocation := pathInfo.startLoc;
        intObs := pathInfo.obstacles[OBS_LOC_FROM];
    
        // invert the paths
        tmpLoc := MSI_MirrorTPA(locPath);
        tmpPath := MSI_MirrorATPA(pathInfo.spsPath);
        tmpAreas := MSI_MirrorATSA(pathInfo.spsAreas);
        tmpSurfaces := MSI_MirrorTIA(pathInfo.spsSurfaces);
      end;
    
      // set a defaul maxDist field
      if (pathInfo.maxDist <= 0) then
        pathInfo.maxDist := 70;
    
      h := high(tmpPath);
      setLength(legDone, (h + 1));
    
      while ((not result) and (attempts <= 10)) do
      begin
        inc(attempts);
        MSI_Debug('Walking attempts: '+toStr(attempts));
    
    	  for i := 0 to h do
    		begin
          // if a leg was successfully completely, we don't want to start over
          if (legDone[i]) then
          begin
            MSI_Debug('Leg '+toStr(i)+' already done, skipping...');
            continue;
          end;
    
          MSI_SetupSPS(tmpSurfaces[i], tmpAreas[i]);
    
          // attempt to walk the normal path
          result := MSI_WalkTPA(tmpPath[i], -1, pathInfo.maxDist);
    
          // try walking through sub-locations, then normal path
          if (not result) then
            if (MSI_WalkTPA(tmpLoc, -1, pathInfo.maxDist)) then
              result := MSI_WalkTPA(tmpPath[i], -1, pathInfo.maxDist)
            else
              result := MSI_WalkTPA(tmpPath[i], -1, pathInfo.maxDist);
    
          // if walked the final index, result true
          if (result) then
          begin
            legDone[i] := true;
            result := (i = h);
          end;
    
          // handle the obstacle for this leg of the path
          if ((i <> h) and (length(intObs) > 0)) then
          begin
            obs := MSI_GetObstacle(intObs[i]);
            legDone[i] := false;
    
            if (not MSI_SolveObstacle(obs)) then
            begin
              // try to relocate and solve obstacle again
              if ((obs.symbol <> '') and (MSI_WalkToSymbol(obs.symbol))) then
                if (MSI_SolveObstacle(obs)) then
                  continue;
    
              MSI_Players[CurrentPlayer].ReportInfo.FalseReason :=
                'Failed to pass obstacle: ' + obs.name;
    
              MSI_Debug('Failed to pass obstacle: ' + obs.name);
              attempts := 11; // to break out of the while..do loop
              break;
            end else
              legDone[i] := true;
          end;
    		end;
      end;
    
      // need to set the player's location
      if (result) then
        MSI_Players[CurrentPlayer].Location := endLocation;
    
    	MSI_CloseHeader('MSI_WalkPath: ' + boolToStr(result));
    end;
    
    (*
    MSI_DeathWalk
    ~~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_DeathWalk: Boolean;
    
    Attempts to walk to the starting location for each respective script if the
    player is lost. Teleports home and walks back if need be.  Keep in mind that
    currently this function doesn't support SPS as SPS requires the maps to be
    loaded and until we can figure out a fast way to loop through EVERY bitmap, SPS
    will not be supported for Death Walking.
    
    .. note::
    
      | Author: NCDS
      | Last Updated: 05 November 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      if MSI_DeathWalk then
        MSI_Debug('Back on track!');
    *)
    function MSI_DeathWalk: Boolean;
    var
      script: TScript;
      i: integer;
      home: boolean;
    begin
      if (not loggedIn) then
        exit;
    
      if (not(MSI_Settings[SETUP_DEATH_WALK])) then
      begin
        MSI_SubDebug('MSI_DeathWalk: Function disabled');
        Exit;
      end;
    
      MSI_AddHeader('MSI_DeathWalk');
    
      script := MSI_Scripts[MSI_Players[CurrentPlayer].Scripts[CurrentScript].Name];
    
      with MSI_Locations[script.pathInfo.startLoc] do
      begin
        if (length(deathPath.spsPath) <= 0) then
        begin
          MSI_Debug('No death path for location: '+name);
          MSI_CloseHeader('MSI_DeathWalk: '+boolToStr(result));
          Exit;
        end;
    
        result := MSI_WalkPath(deathPath, true);
    
        // teleport home!
        if (not result) then
          if (MSI_ClickSpell(SPELL_TELE_HOME)) then // teleport home
          begin
            MSI_Debug('Waiting to spawn in Lumbridge');
    
            for i := 1 to 45 do  // 45 seconds
            begin
              wait(1000);
              if (MSI_AtLocation(LOC_LB_SPAWN, false)) then
              begin
                home := true;
                break;
              end;
            end;
          end;
    
        // Walk back to the script's starting location
        if (not result) then
          if (home) then
          begin
            ClickNorth(SRL_ANGLE_HIGH);
            result := MSI_WalkPath(deathPath, true);
          end else begin
            MSI_Debug('Didn''t spawn after 45 seconds');
            result := false;
          end;
      end;
    
      if (result) then
        MSI_Players[CurrentPlayer].ReportInfo.FalseReason := '';
    
      MSI_CloseHeader('MSI_DeathWalk: '+boolToStr(result));
    end;
    
    (*
    MSI_PerformWalk
    ~~~~~~~~~~~~~~~
    
    .. code-block:: pascal
    
      function MSI_PerformWalk(pathInfo: TPath; toLoc: boolean): boolean;
    
    Will walk the path "pathInfo".  Takes into consideration both color and
    reflection paths depending on the user's preference as well as the current
    state of reflection.  Also uses MSI's death walking feature.
    
    .. note::
    
      | Author: Coh3n
      | Last Updated: 21 July 2011 by Coh3n
    
    Example:
    
    .. code-block:: pascal
    
      // Walks to VE mine only if your player is set to use SCRIPT_VE_MINER
      MSI_PerformWalk(MSI_Scripts[SCRIPT_VE_MINE].PathInfo, true);
    *)
    function MSI_PerformWalk(pathInfo: TPath; toLoc: boolean): boolean;
    begin
      if (not loggedIn) then
        exit;
    
      MSI_FindRandoms(true);
      result := MSI_WalkPath(pathInfo, toLoc);
    
      if (not result) then
        if (MSI_DeathWalk) then
          result := MSI_WalkPath(pathInfo, toLoc);
    
      if (not result) then
        // in case it's already set
        if (MSI_Players[CurrentPlayer].ReportInfo.FalseReason = '') then
          if (toLoc) then
            MSI_Players[CurrentPlayer].ReportInfo.FalseReason := 'Failed walk from '+
              MSI_Locations[pathInfo.startLoc].Name+' to '+
              MSI_Locations[pathInfo.endLoc].Name
          else
            MSI_Players[CurrentPlayer].ReportInfo.FalseReason := 'Failed walk from '+
              MSI_Locations[pathInfo.endLoc].Name+' to '+
              MSI_Locations[pathInfo.startLoc].Name;
    end;

  8. #8
    Join Date
    Dec 2011
    Location
    Toronto, Ontario
    Posts
    6,424
    Mentioned
    84 Post(s)
    Quoted
    863 Post(s)

    Default



    You see where it says the exp and stuff?
    That's the debug box, you must post what is says in there.

  9. #9
    Join Date
    Apr 2008
    Location
    Marquette, MI
    Posts
    15,252
    Mentioned
    138 Post(s)
    Quoted
    680 Post(s)

    Default

    Quote Originally Posted by Jukiahs View Post
    Hey Coh3n since your very familiar with the forums here, do you know where the .99 version of Simba is at? I can't find it, and Simba message box says to download it off the forums.
    Simba section.

    http://villavu.com/forum/forumdisplay.php?f=308

  10. #10
    Join Date
    Jan 2012
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks for the new link of .99 i appreciate it


    Error: Out Of Range at line 696
    The following DTMs were not freed: [Bronze Pickaxe, Iron Pickaxe, Steel Pickaxe, Mithril Pickaxe, Adamant Pickaxe, Rune Pickaxe, Dragon Pickaxe, Bronze Hatchet, Iron Hatchet, Steel Hatchet, Mithril Hatchet, Adamant Hatchet, Rune Hatchet, Dragon Hatchet, Normal Logs, Oak Logs, Willow Logs, Maple Logs, Yew Logs, Magic Logs, Clay Ore, Copper Ore, Tin Ore, Iron Ore, Silver Ore, Coal Ore, Gold Ore, Mithril Ore, Adamantite Ore, Runite Ore, Small Fishing Net, Crayfish Cage, Fishing Rod, Fishing Bait, Fly Fishing Rod, Harpoon, Barb-Tail Harpoon, Lobster Pot, Raw Shrimps, Raw Crayfish, Raw Sardines, Raw Anchovies, Raw Herring, Raw Trout, Raw Pike, Raw Salmon, Raw Tuna, Raw Lobster, Raw Swordfish, Raw Monkfish, Raw Shark, Cooked Shrimps, Cooked Crayfish, Cooked Sardines, Cooked Anchovies, Cooked Herring, Cooked Trout, Cooked Pike, Cooked Salmon, Cooked Tuna, Cooked Lobster, Cooked Swordfish, Cooked Monkfish, Cooked Shark, Uncut Sapphire, Uncut Emerald, Uncut Ruby, Uncut Diamond, Bird'S Nest, Feather, Staff Of Air, Staff Of Water, Staff Of Earth, Staff Of Fire, Air Rune, Body Rune, Mind Rune, Earth Rune, Fire Rune, Water Rune, Chaos Rune, Law Rune, Cosmic Rune, Death Rune, Nature Rune, Blood Rune, Soul Rune, Astral Rune, Rune Essence, Pure Essence, Soft Clay, Vial, Vial Of Water, Jug, Jug Of Water, Bowl, Bowl Of Water, Bucket, Bucket Of Water, Air Tiara, Body Tiara, Mind Tiara, Earth Tiara, Fire Tiara, Water Tiara, Dwarven Army Axe, Coal Bag, SRL - Lamp bitmap, 108]
    The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap]
    File[C:\Simba\Includes\MSI\Debug Logs\04-04-12 at 11 30 34 PM.txt] has not been freed in the script, freeing it now.

  11. #11
    Join Date
    Apr 2008
    Location
    Marquette, MI
    Posts
    15,252
    Mentioned
    138 Post(s)
    Quoted
    680 Post(s)

    Default

    Which script are you trying to run? It looks like something in the TScript record isn't set correctly.

  12. #12
    Join Date
    Jan 2012
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    It's when I try to run the Catherby/Fishing Guild script. "MSI" format

  13. #13
    Join Date
    Apr 2008
    Location
    Marquette, MI
    Posts
    15,252
    Mentioned
    138 Post(s)
    Quoted
    680 Post(s)

    Default

    What do you mean, "MSI format"? It happens when you run both of them? What about other scripts for other skills?

    E: This is fixed in the next version.
    Last edited by Coh3n; 04-12-2012 at 11:38 PM.

+ Reply to Thread

Thread Information

Users Browsing this Thread

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

Tags for this Thread

Posting Permissions

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