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
    Requirements:
    UltimaLive v0.97
    (optional) Cut Down Trees, Stumps and Saplings v.0.30 or greater
    Normal Tree:
    [​IMG]

    After one harvest:
    [​IMG]

    After two harvests - Stock Graphics:
    [​IMG]

    After two harvests - Custom Graphics:
    [​IMG]


    Introduction

    UltimaLive Lumber Harvesting is a graphics based harvest system. It allows players to actually chop down trees and cut them into pieces. Tree locations are saved and re-spawned according to a minimum time interval set by shard owners.

    This system uses statics and map data that is already in the Server's memory - it does not create a new tree object for each tree on a map. Changes are written directly to the map via the UltimaLive system, which means it has a very low memory overhead. Only tree locations that have been cut down are saved off to disk during a world save.



    Features
    • Destructible trees
    • Two sapling phases per tree type
    • Resources and bonus resources can be given out by graphic ID or during a phase change (when a tree is chopped from a standing position to a fallen position). This allows random wood types for each tree or specific wood types based on tree type.
    • Trees are regrown in the same place with the same graphics.
    • Only changed trees are saved off to disk during a world save, when they grow back they are no longer saved. This results in a small file for saving tree locations.
    • Low memory overhead
    • One tree object for each tree phase, not for each of the millions of trees on a map
    Coming Soon
    • Racial Bonuses
    • Collision detection
    Limitations
    • There is currently no region control included in this project.
    • There is currently no collision detection included in this project
    • There is currently no way for players to remove stumps
    Installation
    1. Unzip the archive into your UltimaLive folder.
    2. Modify Base Axe, and Polearm
    3. (optional) Install Custom Graphics
    In both BaseAxe.cs and BasePoleArm.cs, find the HarvestSystem Property:
    Code (C#):
    1.  
    2. public virtual HarvestSystem HarvestSystem
    3. {
    4.   get
    5.   {
    6.     return Lumberjacking.System;
    7.   }
    8. }

    Change it to use UltimaLiveLumberJacking.System

    Code (C#):
    1.  
    2. public virtual HarvestSystem HarvestSystem
    3. {
    4.   get
    5.   {
    6.     return UltimaLiveLumberjacking.System;
    7.   }
    8. }
    To change the delay between tree regrowth, modify the following line in LumberHarvest.cs
    Code (C#):
    1. public static TimeSpan TimeBetweenRegrowth = TimeSpan.FromMinutes(1);

    If you are using custom graphics, you will need to uncomment the following line at the top of HarvestableTrees.cs:
    Code (C#):
    1. //#define CUSTOM_TREE_GRAPHICS

    Changelog
    v.0.42
    Fixed an issue that was causing a crash on save due to invalid map

    v.0.41
    Fixed an issue that prevented wood from being distributed
    Fixed an issue that caused the server to crash when harvesting
    Fixed an issue that caused the server to crash when saving/loading

    v.0.40
    Implemented the configurable regrow rate. Setting TimeBetweenRegrowth in LumberHarvest.cs now has an effect, which is the minimum time that the system will wait before it regrows trees on a world save.

    Added support for Stock Graphics. The system uses stock graphics by default. To enable custom graphics, uncomment #define
    CUSTOM_TREE_GRAPHICS in HarvestableTrees.cs

    v.0.31
    Fixed Namespaces

    v.0.30
    Initial Release
    Support for custom graphics only

    Credits
    Hank
    otimpyre
    gametec
    sahisahi and Hank like this.

Recent Updates

  1. Fixed Typo
  2. Fixed crash on save
  3. Bug Fixes

Recent Reviews

  1. ACME_INC
    ACME_INC
    5/5,
    Version: 0.43
    .43 is great. This is a great idea both to add more depth to the game as well as to make it harder for mining bots. There doesn't seem to be any real memory overhead with this system. Perhaps I didn't chop down enough trees between system saves! Very clever system Praxiiz.
  2. Hank
    Hank
    5/5,
    Version: 0.31
    Magical, Praxiiz's addition to his UltimaLive with Lumber Harvesting is pure genius. It adds a new level of depth to the game that players can enjoy for years to come! A system the community has wanted for years. 5/5