Page 1 of 3 123 LastLast
Results 1 to 10 of 21

Thread: Atlas

  1. #1

    Default Atlas

    Current version: v2017.01.12.02

    I had vacation to blow over the holidays and promised myself I'd do a non-work project. Atlas.lic, now on the repo, is the result. Slightly more than an alpha version, but maybe not quite yet beta, it is a work in progress far enough along to gather feedback.

    How do you use it?
    1. ;repos download atlas.lic
    2. ;repos download atlas_data.db3
    3. ;trust atlas
    4. ;atlas


    What is it?
    1. A hunting area setting GUI - It is a GUI front end to atlas_data.db3 that lists (most of) the creatures in the game and has a bunch of pre-set hunting areas. Click on "Activate", and it'll set the appropriate variables to have bigshot hunt the specified creatues in the given area. This is probably the most interesting bit in the current release.
    2. An editor for the above - This still needs a bunch of work. Creature editing is present, but delete is currently disabled. Area editing still needs to be enabled.
    3. A data source for other scripts to use to automate the above - This is really where it started out. I was tired of manually managing hunting areas between characters and there's a few old threads around sbounty and wanting shared hunting area definitions. I need to make this a little more usable in the next release, but for the programmer's out there....

      Code:
      File.file?("#{$script_dir}/atlas.lic")
      to get it loaded.

      Then you can use the Areas and Creatures modules to find huntable goo. As an example, my routine that autosets my hunting based on the current bounty looks like
      Code:
          # region and creature were regex'ed out of the bounty text. Omitted here 
          def self.sethunt(region, creature)
              respond "Looking for creature '#{creature.name}' in region '#{region}'\n" if $debug
      
              areas = Areas.find_by_region(region)
              distances = Hash.new
      
              area = areas.select{|area|
                  area.region == region && area.creatures.any?{|critter| critter.id==creature.id}
              }.each{|area|
                  previous, shortest_distances = Room.current.dijkstra(area.start)
                  distances[area.start] = shortest_distances[area.start]
              }.sort{|area1, area2|
                  distances[area1.start] <=> distances[area2.start]
              }.first
      
              if (area.nil?)
                  echo "#{name}: Ack! I can't find anywhere to hunt '#{creature.name}'"
                  return
              end
      
              UserVars.op['hunting_room_id'] = "#{area.start}"
              UserVars.op['hunting_boundaries'] = "#{area.boundaries.join(",")}"
              # I hunt just the bounty creature, you might want to include all of them.
              UserVars.op['targets'] = creature.name
      
              # For funsies, let's flee from anything more than 3 levels over our current level.
              flee_from = Array.new
              area.creatures.each{|c|
                  if ( c.level > (Char.level + 3) )
                      flee_from.push(c.name) unless (c.name == creature.name)
                  end
              }
      
              UserVars.op['always_flee_from'] = "#{flee_from.join(",")}"
              UserVars.save();
          end


    What isn't it?
    1. It is not a hunting script. It is a supplement to bigshot or other custom hunting scripts.
    2. It is not all inclusive. I have about 138 areas defined that are mostly around the Landing, Solhaven, Icemule, and Ta'Illistim
    3. Super user friendly. The backing data has existed for a while, but I use it entirely programmatically. Hence, my hunting areas, for example, how no name. There's just and ID starting at 1 and going to the last one. Great for me. Pretty sucky in the dropdown where someone is looking for a particular area.


    Anyhow, posting here to see if folks like it, hate it, or even use it. If folks find it useful, I'll flesh it out more and add features. If not, then I won't take the time since GUI work is about the bottom of the barrel in "fun" for me.
    Last edited by Jymamon; 01-13-2017 at 12:06 AM. Reason: Added current version to intro post

  2. #2

    Default

    This looks interesting. I'm game to try it out! Thanks for the work on this.

  3. #3

    Default

    seems it wont download the data.db3 file????

  4. #4

    Default

    Quote Originally Posted by Stavman View Post
    seems it wont download the data.db3 file????
    What exactly did you type and exactly what error did it give you? Looking at the repository stats, the file has been downloaded successfully a number of times.

  5. #5

    Default

    this is the error I get trying to download the db3 file from repo

    --- Lich: repository active.
    [repository: downloading atlas_data.db3 in 3 seconds... (;k repository to cancel)]
    >
    --- Lich: error: Permission denied - (C:/Users/Windows 7/Desktop/lich-old2/temp/87365232, C:/Users/Windows 7/Desktop/lich-old2/temp/5395254.repo)
    repository:889:in `rename'
    repository:889:in `block in _script'
    --- Lich: repository has exited.

  6. #6

    Default

    That looks like a perms issue on your machine and not directly related to the script. What happens if you manually try to rename the first file from the error to the second? (ren "C:\Users\Windows 7\Desktop\lich-old2\temp\87365232"
    "C:\Users\Windows 7\Desktop\lich-old2\temp\5395254.repo" from a command prompt).

  7. #7

    Default

    I renamed... deleted.. and no dice

    >;repos download atlas_data.db3
    --- Lich: repository active.
    [repository: downloading atlas_data.db3 in 3 seconds... (;k repository to cancel)]
    >
    You release 1 mana into the surrounding area.
    >
    --- Lich: error: Permission denied - (C:/Users/Windows 7/Desktop/lich-old2/temp/30383661, C:/Users/Windows 7/Desktop/lich-old2/temp/49180447.repo)
    repository:889:in `rename'
    repository:889:in `block in _script'
    --- Lich: repository has exited.

  8. #8

    Default

    I'll have to verify I have the latest repository when I'm online next, but looking at the code, line 889 is in the block to download the mapdb which further confuses me why it would show up when you'd downloading the script. Do you get the same error if you just ";repos download-mapdb". I expect you will, but, again, I may not be up-to-date.

  9. #9

    Default

    Verified I'm up-to-date on repository.lic. Does this happen just for atlas_data.db3? Do you run lich elevated? I'm basically at a loss. There's nothing special about the file and I see nothing in the repository script that would cause it to behave differently for a *.db3 v. *.lic file. I've nuked my local copies and tried re-downloading and can't repro the error.

  10. #10

    Default

    Love this thing so far, one request make the database searchable by level?

Posting Permissions

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