1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

UltimaLive Lumber Harvesting 0.43

Destructible Trees

  1. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    Praxiiz submitted a new resource:

    UltimaLive Lumber Harvesting - Lumber Harvesting

    Read more about this resource...
     
    • Two Thumbs Up Two Thumbs Up x 3
    • Like Like x 1
    • Winner Winner x 1
  2. Hank
    Offline

    Hank Active Member

    Joined:
    Nov 14, 2013
    Messages:
    972
    Likes Received:
    152
    If anyone needs any help with my graphics or any other graphics relating to UltimaLine Lune Harvesting by Praxiiz. You can also pm me for aid on adding the art/tiledata.
    Also check out his Map Streamer and Editor
     
    #2 Hank, Feb 26, 2014
    Last edited: Feb 26, 2014
  3. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
  4. Isidor
    Offline

    Isidor New Member

    Joined:
    Dec 13, 2013
    Messages:
    6
    Likes Received:
    2
    Excellent resource here, gentlemen. I've deployed it and UltimaLive on my own shard (http://www.13thrones.com), and I'm currently testing it. Working great so far, save for a scant few issues:

    1) Artwork for the downed trees needs to be added into sub 0x4000 blocks when importing - if added in the 0x4000 or 0x5000 range, the harvest system will not recognize the items as harvestable when targetted. Not sure if this is an issue with the harvesting scripts itself, UltimaLive, or simply client issues/limitations.

    2) Specifying a custom time between harvest phases/respawns doesn't appear to work - regardless of the timespan override, trees cycle through their regrowths on every save.

    Other than that, this is a pretty amazing system!
     
  5. m309
    Offline

    Admin Moderator ServUO Developer

    Joined:
    Mar 3, 2013
    Messages:
    1,243
    Likes Received:
    130
    In LumberHarvest.cs, line 33

    Code (C#):
    1. tiles[i] += 0x4000;
    Try raising that to 5000? I haven't implemented the system yet, but its the only reference I saw.
     
  6. Isidor
    Offline

    Isidor New Member

    Joined:
    Dec 13, 2013
    Messages:
    6
    Likes Received:
    2
    First thing I tried. At work now, but I can't remember if it threw me an error in compiling or just simply didn't work.
     
  7. m309
    Offline

    Admin Moderator ServUO Developer

    Joined:
    Mar 3, 2013
    Messages:
    1,243
    Likes Received:
    130
    Hrm, hopefully Praxiiz has an idea then, because that would definitely stink. My only available free slots are well into the 4-5k's.
     
  8. Milva
    Offline

    Admin Moderator

    Joined:
    Mar 3, 2013
    Messages:
    3,544
    Likes Received:
    389
    This will limit those who want to use this because of the "custom graphics" if one package could also be posted with out having the custom graphics, I'm sure more would like to use this :) Just my thoughts
     
  9. Hank
    Offline

    Hank Active Member

    Joined:
    Nov 14, 2013
    Messages:
    972
    Likes Received:
    152
    You could tell it to use any of the distro art. In HarvestableTrees.cs Look at the #region OhiiTree, #region Generic Tree 1 and so on.
    Most people will have to change their graphic hex values anyways because it unlikely everyone will be using the same exact graphic hex value.
    All someone needs to do is go through and change the hex values to use default in game art
    Not sure if praxiiz has a distro art style for this version.
     
  10. Isidor
    Offline

    Isidor New Member

    Joined:
    Dec 13, 2013
    Messages:
    6
    Likes Received:
    2
    That's pretty much required as is. Also a non artwork release would be doable if one were to just use the log art. Also Hank you may want to check your .csv files for mass imports. There were a few erroneous file paths in there specifically for Willow trees (willow vs. Willow1). Awesome work on the art by the way. Absolutely stunning.

    Sent from my SCH-I535 using Tapatalk
     
    • Helpful Helpful x 1
  11. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    I was planning on having a non-custom graphics version. I haven't decided if I am going to handle that with a separate script or something like a #define. I am currently working on making that available.

    You can see the stock graphics I was planning on using here:
     
  12. Milva
    Offline

    Admin Moderator

    Joined:
    Mar 3, 2013
    Messages:
    3,544
    Likes Received:
    389
    Awesome great news! :)
     
  13. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    The underlying HarvestSystem base class (found in HarvestSystem.cs) is what we're working with. It is a stock server file that is distributed with RunUO/ServUO. The flow of execution looks like this:

    BaseAxe.OnDoubleClick --> HarvestSystem.BeginHarvesting --> Sends new HarvestTarget

    HarvestTarget.OnTarget --> HarvestSystem.StartHarvesting-->GetHarvestDetails

    Code (C#):
    1.  
    2. public virtual bool GetHarvestDetails(Mobile from, Item tool, object toHarvest, out int tileID, out Map map, out Point3D loc)
    3. {
    4.   if (toHarvest is Static && !((Static)toHarvest).Movable)
    5.   {
    6.     Static obj = (Static)toHarvest;
    7.  
    8.     tileID = (obj.ItemID & 0x3FFF) | 0x4000;
    9.     map = obj.Map;
    10.     loc = obj.GetWorldLocation();
    11.   }
    12.   else if (toHarvest is StaticTarget)
    13.   {
    14.     StaticTarget obj = (StaticTarget)toHarvest;
    15.  
    16.     tileID = (obj.ItemID & 0x3FFF) | 0x4000;
    17.     map = from.Map;
    18.     loc = obj.Location;
    19.   }
    20.   else if (toHarvest is LandTarget)
    21.   {
    22.     LandTarget obj = (LandTarget)toHarvest;
    23.  
    24.     tileID = obj.TileID;
    25.     map = from.Map;
    26.     loc = obj.Location;
    27.   }
    28.   else
    29.   {
    30.     tileID = 0;
    31.     map = null;
    32.     loc = Point3D.Zero;
    33.     return false;
    34.   }
    35.  
    36.   return (map != null && map != Map.Internal);
    37. }
    The relevent portion of code is
    Code (C#):
    1.  tileID = (obj.ItemID & 0x3FFF) | 0x4000;
    It could be to support lower client versions. I haven't really dug into it to know for sure. What I do know is that it would need to be changed to support higher graphics slots.
     
    • Like Like x 1
  14. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    I just realized that I never actually implemented the growth timer. Currently it just regrows every time the world saves. This will be coming soon!
     
    • Like Like x 1
    • Two Thumbs Up Two Thumbs Up x 1
  15. Hank
    Offline

    Hank Active Member

    Joined:
    Nov 14, 2013
    Messages:
    972
    Likes Received:
    152
    are there missing install instructions?

    on this part (Modify Base Axe, and Polearm) I get the following error.
    Code (C#):
    1.  
    2. + Items/- BaseClasses/BaseAxe.cs:
    3.   CS0103: Line 68: The name 'UltimaLiveLumberjacking' does not exist in the cu
    4. rrent context
    5.  + Items/- BaseClasses/BasePoleArm.cs:
    6.   CS0103: Line 63: The name 'UltimaLiveLumberjacking' does not exist in the cu
    7. rrent context
    8.  
    I tried adding using UltimaLive; and using UltimaLive.LumberHarvest; and it still did not work.
     
  16. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    Check your LumberHarvest.cs and see if the top portion matches this:

    Code (C):
    1.  
    2. namespace Server.Engines.Harvest
    3. {
    4.   public class UltimaLiveLumberjacking :  HarvestSystem
    5.   {
    6.  
     
  17. Hank
    Offline

    Hank Active Member

    Joined:
    Nov 14, 2013
    Messages:
    972
    Likes Received:
    152
    line 13 - 16
    Code (C#):
    1.  
    2. namespace Server.Engines.Harvest
    3. {
    4.   public class UltimaLiveLumberjacking :  HarvestSystem
    5.   {
    6.  
    Also I extracted GraphicBasedHarvestSystems folder directly into Servuo/UltimaLive folder.
    aka I extracted the archive into the UltimaLive folder.

    (Post 300 :D)
     
  18. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    Does your BaseAxe.cs have

    Code (C#):
    1. using Server.Engines.Harvest;
    at the top?


    The method in BaseAxe.cs should look something like
    Code (C#):
    1.  
    2. public virtual HarvestSystem HarvestSystem
    3.   {
    4.   get
    5.   {
    6.   return UltimaLiveLumberjacking.System;
    7.   }
    8.   }
    9.  
     
  19. Hank
    Offline

    Hank Active Member

    Joined:
    Nov 14, 2013
    Messages:
    972
    Likes Received:
    152
    Yes it does

    This is my method in BaseAxe.cs
    Code (C#):
    1. public virtual HarvestSystem HarvestSystem
    2.   {
    3.   get
    4.   {
    5.          //return Lumberjacking.System;
    6.   return UltimaLiveLumberjacking.System;
    7.   }
    8.   }
    I am also having an issue with UltimaLive map streamer and editor, I can't moved my character to the example 'test' map 32. It causes my client to lock up. I'm using client version 7.0.18
     
  20. Praxiiz
    Offline

    Praxiiz Active Member

    Joined:
    Oct 22, 2013
    Messages:
    310
    Likes Received:
    87
    Are you using any kind of multistage compilation? i.e. do you have different script folders
     
Similar Threads: UltimaLive Lumber
Forum Title Date
Script Support Anyone know if duplicating maps or dungeons is easy to do w/ ultimalive? Apr 29, 2017
Core Modifications UltimaLive Jul 12, 2016
Custom Releases [UltimaLive] StaticProcess Feb 6, 2015
Script Support UltimaLive Map Streamer Dec 10, 2014
Script Support UltimaLive reset to original state Oct 18, 2014
Core Modifications UltimaLive Map Streamer and Editor [Deleted] Dec 22, 2013
Archived Bug Reports Lumberjack with uses? Jun 13, 2017