1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. If you would like to submit a tutorial please visit the main tutorial page here.
    You can not submit them from this forum.
    Dismiss Notice

Ultima Live Map Streamer and Editor 0.75

Discussion in 'Tutorials' started by Redmoon, Oct 2, 2013.

  1. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    (Moved by suggestion to be easier to find)

    For the Ultima Live:
    1.I put the whole folder in my Scripts\Customs
    2. Rename Igrping.dll in my UO Client folder to Igrping_.dll and pasted the one from Ultima Live into it, leaving both
    3. Run Server and Ultima Live will create a folder in "C:\ProgramData\UltimaLive\Your Shard Name" and it will put all maps/staidx/statics in there.
    4. Add new map/staidx/static to folders "Custom Path Folder" and "C:\ProgramData\UltimaLive\Your Shard Name"
    5. edit these files:
    "Scripts\Mobiles\Playermobile.cs (I think this is the one most have issues with)
    First edit:
    Code (C#):
    1. namespace Server.Mobiles
    2. {
    3. /* Begin UltimaLive Mod */
    4. public interface UltimaLiveQuery
    5. {
    6. int QueryMobile(Mobile m, int previousBlock);
    7. }
    8. /* End UltimaLive Mod */
    9. #region Enums
    Second Edit:

    Code (C#):
    1.  public override void MoveToWorld(Point3D loc, Map map)
    2. {
    3. base.MoveToWorld(loc, map);
    4.  
    5.  
    6.  
    7.  
    8. this.RecheckTownProtection();
    9. }
    10. /* Begin UltimaLive Mod */
    11. public static UltimaLiveQuery BlockQuery;
    12. private int m_PreviousMapBlock = -1;
    13. /* End UltimaLive Mod *
    Third Edit:
    Code (C#):
    1.  public override void SetLocation(Point3D loc, bool isTeleport)
    2. {
    3. if (!isTeleport && this.IsPlayer())
    4. {
    5. // moving, not teleporting
    6. int zDrop = (this.Location.Z - loc.Z);
    7.  
    8.  
    9.  
    10.  
    11. if (zDrop > 20) // we fell more than one story
    12. this.Hits -= ((zDrop / 20) * 10) - 5; // deal some damage; does not kill, disrupt, etc
    13. }
    14.  
    15.  
    16.  
    17.  
    18. base.SetLocation(loc, isTeleport);
    19.  
    20.  
    21.  
    22.  
    23. if (isTeleport || --this.m_NextProtectionCheck == 0)
    24. this.RecheckTownProtection();
    25. /* Begin UltimaLive Mod */
    26. if (BlockQuery != null)
    27. {
    28. m_PreviousMapBlock = BlockQuery.QueryMobile(this, m_PreviousMapBlock);
    29. }
    30. /* End UltimaLive Mod */
    Last edit:
    Code (C#):
    1. public override bool CheckShove(Mobile shoved)
    2. {
    3. if (this.m_IgnoreMobiles || TransformationSpellHelper.UnderTransformation(shoved, typeof(WraithFormSpell)))
    4. return true;
    5. else
    6. return base.CheckShove(shoved);
    7. /* Begin UltimaLive Mod */
    8. if (BlockQuery != null)
    9. {
    10. m_PreviousMapBlock = BlockQuery.QueryMobile(this, m_PreviousMapBlock);
    11. }
    12. /* End UltimaLive Mod */
    "Scripts\CUSTOMS\UltimaLive\ServerSideScripts\MapsRegistry.cs"
    Code (C#):
    1. m_Definitions.Add(5, new MapDefinition(5, new Point2D(1280, 4096), new Point2D(1280, 4096))); //TerMur
    2. m_Definitions.Add(32, new MapDefinition(32, new Point2D(6144, 4096), new Point2D(6144, 4096))); //Doinsiun
    The numbers 32 are my new map numbers (map32.mul/staidx32.mul/statics32.mul)
    The numbers (6144, 4096) are the map size
    "Scripts\Misc\mapdefinitions.cs"

    Code (C#):
    1. RegisterMap(5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules);
    2. //Custom Map
    3. RegisterMap(32, 32, 32, 6144, 4096, 1, "Doinsiun", MapRules.TrammelRules);//Dungeons
    The "32,32,32," is my new map
    The "6144, 4096" is the new map size
    The "1" is the season (0 is desolation aka trees with no leaves)
    "Doinsiun" is the map name
    "MapRules.TrammelRules" well I'm sure ya know that one.
    I also edited my PublicMoongate.cs (I haven't finished with it yet, but I copied Trammel to use until I get it all sorted out)

    Code (C#):
    1. [Usage("MoonGen")]
    2. [Description("Generates public moongates. Removes all old moongates.")]
    3. public static void MoonGen_OnCommand(CommandEventArgs e)
    4. {
    5. DeleteAll();
    6.  
    7.  
    8.  
    9.  
    10. int count = 0;
    11.  
    12.  
    13.  
    14.  
    15. count += MoonGen(PMList.Trammel);
    16. count += MoonGen(PMList.Felucca);
    17. count += MoonGen(PMList.Ilshenar);
    18. count += MoonGen(PMList.Malas);
    19. count += MoonGen(PMList.Tokuno);
    20. count += MoonGen(PMList.TerMur);
    21. //Custom Maps
    22. count += MoonGen(PMList.Doinsiun);
    And add under Tokuno (Line 255 for me)
    (new PMList (#####,#####) These are cliloc numbers. The first is for the name, the second is to add the name with color
    Clicoc color ex:<BASEFONT COLOR=#2DDC1B>Malas</BASEFONT

    Code (C#):
    1. //Dungeons Start
    2.    public static readonly PMList Doinsiun =
    3. new PMList(1119784, 1119785, Map.Maps[32], new PMEntry[]
    4. {
    5. new PMEntry( new Point3D( 4467, 1283, 5 ), 1012003 ), // Moonglow
    6. new PMEntry( new Point3D( 1336, 1997, 5 ), 1012004 ), // Britain
    7. new PMEntry( new Point3D( 1499, 3771, 5 ), 1012005 ), // Jhelom
    8. new PMEntry( new Point3D(  771,  752, 5 ), 1012006 ), // Yew
    9. new PMEntry( new Point3D( 2701,  692, 5 ), 1012007 ), // Minoc
    10. new PMEntry( new Point3D( 1828, 2948,-20), 1012008 ), // Trinsic
    11. new PMEntry( new Point3D(  643, 2067, 5 ), 1012009 ), // Skara Brae
    12. /* Dynamic Z for Magincia to support both old and new maps. */
    13. new PMEntry( new Point3D( 3563, 2139, Map.Maps[32].GetAverageZ( 3563, 2139 ) ), 1012010 ), // (New) Magincia
    14. new PMEntry( new Point3D( 3450, 2677, 25), 1078098 )  // New Haven
    15. });
    16. //Dungeons End
    And around Line 341 (TerMur)
    Code (C#):
    1. public static readonly PMList TerMur =
    2. new PMList(1113602, 1119783, Map.TerMur, new PMEntry[]
    3. {
    4. new PMEntry(new Point3D(852, 3526, -43), 1113603), // Royal City
    5. new PMEntry(new Point3D(926, 3989, -36), 1112572), // Holy City
    6. });
    7. public static readonly PMList[] UORLists = new PMList[] { Trammel, Felucca, Doinsiun, DergogeaLach, Vollstrecker /*,Lune, Odland */ };
    8. public static readonly PMList[] UORListsYoung = new PMList[] { Trammel };
    9. public static readonly PMList[] LBRLists = new PMList[] { Trammel, Felucca, Ilshenar, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    10. public static readonly PMList[] LBRListsYoung = new PMList[] { Trammel, Ilshenar, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    11. public static readonly PMList[] AOSLists = new PMList[] { Trammel, Felucca, Ilshenar, Malas, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    12. public static readonly PMList[] AOSListsYoung = new PMList[] { Trammel, Ilshenar, Malas, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    13. public static readonly PMList[] SELists = new PMList[] { Trammel, Felucca, Ilshenar, Malas, Tokuno, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    14. public static readonly PMList[] SEListsYoung = new PMList[] { Trammel, Ilshenar, Malas, Tokuno, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    15. public static readonly PMList[] SALists = new PMList[] { Trammel, Felucca, Ilshenar, Malas, Tokuno, TerMur, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    16. public static readonly PMList[] SAListsYoung = new PMList[] { Trammel, Ilshenar, Malas, Tokuno, TerMur, Doinsiun, DergogeaLach, Vollstrecker ,Lune, Odland  };
    17. public static readonly PMList[] RedLists = new PMList[] { Felucca };
    18. public static readonly PMList[] SigilLists = new PMList[] { Felucca };
    19. private readonly int m_Number;
    20. private readonly int m_SelNumber;
    21. private readonly Map m_Map;
    22. private readonly PMEntry[] m_Entries;
    23. public PMList(int number, int selNumber, Map map, PMEntry[] entries)
    I haven't edited the [go command as I don't need it. But to go to your new map IG [set map 32 or [set map "new map name"
    Make sure to paste new map/staidx/statics into ~both~ "C:\ProgramData\UltimaLive\Your Shard Name" and "your custom data folder"

    Edit: Sheesh that's a lot of words,lol
    I left the codes "complete" due to people not being able to find the locations (Playermobile)
    sorry :oops:

    Edit: I forgot "UltimaLiveSettings.cs" just change the "Test" to "Your Server Name" so folder will be named "Your Server Name" and not "Test" in "C:\ProgramData\UltimaLive\"
    --- Double Post Merged, Oct 2, 2013, Original Post Date: Oct 2, 2013 ---
    **How this works for your players**
    Your players will ~only~ need the Igrping.dll/ Igrping_.dll mod.

    Once the player connects to your shard a folder will be created in their "C:\ProgramData\UltimaLive\Your Shard Name", with the map#.mul files. These files will be "blank" for your players until they walk around and "discover" areas. The screen may quickly blink as they "discover" areas, which is for me only a millisecond and only has happened when I visited a new land for the first time.

    Pics.
    --- Double Post Merged, Oct 2, 2013 ---
    ULRD-1.jpg ULRD-2.jpg ULRD-3.jpg ULRD-4.jpg ULRD-5.jpg ULRD-6.jpg ULRD-7.jpg
     
    • Like Like x 1
  2. tass23
    Offline

    Moderator

    Joined:
    Aug 28, 2013
    Messages:
    1,010
    Likes Received:
    131
    I haven't done much with the live editor since it was first released on RunUO. I am wondering though if your client is set to cache X number of houses, why if you logout in your house do you login to a black screen?
     
  3. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    I am unsure, but I'm thinking it is because of streaming packets. I have notified the scripter of this, and the issue is being looked into.
     
  4. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
    @Redmoon your stuff looks awesome, I like the custom artwork.

    I plan on using this, probably with a couple of prebuilt dungeon maps from DarkShard, at least until I can build my own maps!
     
  5. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
  6. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
  7. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    ROFLOL! I've been having this issue with the forums not posting my replies. :confused:

    I said:
    sorry I couldn't be more helpful right now as I'm working with custom animations (just finished tiger animation *woot woot*);
    Thank you, and darkshard has the desktop gumps I'm currently using (got it years ago). I do have many more that I created but that'd mean I'd have to look through my backup dvds. And, for darkshard's price on maps, it's worth it! They're not lying about the time it takes to create a custom map, unless you want one that looks like a toddler did it. :eek:
     
  8. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
    @Redmoon, I find if i do the @ thing to some one then hit enter a couple of times it eats my entire comment, so not sure if that's what is happening to you.

    I was considering the entire DarkShard Dvd, but like the idea of being able to just add the maps and stream them to players, get people up and running with minimal effort on their part.
     
    • Two Thumbs Up Two Thumbs Up x 1
  9. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    @sec_goat You can still stream the maps(any map), even if you get darkshard's dvd. ;)

    Yup, it must have been too many "enters" that deleted the post. Thanks for the heads up!
     
  10. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
    Oh what I meant was the custom art work, i am sure it is a bit different on how to get the players up on the custom artwork as well.
    But yes I plan on using at lest the DarkShard dungeon maps to help me develop my "New Player quests"
     
  11. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    It'd be sweeeeeet if we could stream the artwork! As of right now, you still have to give players a patch for artwork. :(
     
  12. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
    Well my question is this: Some one was able to stream the map, what is stooping some one from streaming the artwork, or even extending the slots available for in game art work? The obvious answer is the knowledge of UO and C# is all.
     
  13. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    Nothing is stopping you, as far as I can tell. The only issue I'd see is the lag wars with all the art streaming.
     
  14. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
    Well why couldn't it be like a one time stream? You connect tot he server and it checks to see if yo are using the same file version, or whatever then you download the content needed. That way it's just the initial connection that is slow.
     
  15. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    @sec_goat Hmmm, I do have a shard patcher that I'm planning on tinkering with, but it'd be along the lines of UO's autopatcher. So in essence you'd still technically be patching, just a different way. I'm sure it is possible to do, but at what cost?
     
  16. sec_goat
    Offline

    sec_goat Member

    Joined:
    Aug 26, 2013
    Messages:
    110
    Likes Received:
    14
    @Redmoon Won't Someone think of the children!
     
  17. Redmoon
    Offline

    Redmoon Active Member

    Joined:
    Sep 16, 2013
    Messages:
    264
    Likes Received:
    39
    Yeah, I am...well teens now.
     
Similar Threads: Ultima Live
Forum Title Date
Script Support ServUO, EC Client, and ultima live Jul 6, 2017
Script Support Anyone know if duplicating maps or dungeons is easy to do w/ ultimalive? Apr 29, 2017
General Discussion Ultima Live Reset Mar 27, 2017
Script Support Ultima Live Streamer Dec 21, 2016
Core Modifications UltimaLive Jul 12, 2016
Script Support Still having trouble with Ultima Live. Apr 15, 2016
Custom Releases [UltimaLive] StaticProcess Feb 6, 2015