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

Player Vendor Tile 1.0.2

Allow placing vendors on these tiles, anywhere in the world.

  1. Bittiez
    Requirements:
    This required edits to core script files
    What Is This?
    Do you have or want a public area for player vendors? Now you can have one that is completely player ran.

    All you have to do is place these tiles anywhere you wish to allow a player to place a vendor, and the player can place the their vendor there!



    Installation and ServUO version
    1. Unzip the file to /Scripts/Custom/
    2. Find and open the file Scripts\Items\Misc\PlayerVendorDeed.cs
      Go to line 56, you should see the following:
      Code (C#):
      1. else
      2.             {
      3.                 BaseHouse house = BaseHouse.FindHouseAt( from );
      4.  
      Directly under this line
      Code (C#):
      1. BaseHouse house = BaseHouse.FindHouseAt( from );
      Add the following:
      Code (C#):
      1.             #region VendorTile
      2.             Sector sector = from.Map.GetSector(from.Location);
      3.             foreach (Item i in sector.Items)
      4.             {
      5.                 if (i is VendorTile && i.Location.X == from.Location.X && i.Location.Y == from.Location.Y)
      6.                 {
      7.                     Mobile v = new PlayerVendor(from, house);
      8.  
      9.                     v.Direction = from.Direction & Direction.Mask;
      10.                     v.MoveToWorld(from.Location, from.Map);
      11.  
      12.                     v.SayTo(from, 503246); // Ah! it feels good to be working again.
      13.  
      14.                     this.Delete();
      15.                     return;
      16.                 }
      17.             }
      18.             #endregion
      Now it should look like this:
      Code (C#):
      1.             else
      2.             {
      3.                 BaseHouse house = BaseHouse.FindHouseAt( from );
      4.  
      5.                 #region VendorTile
      6.                 Sector sector = from.Map.GetSector( from.Location );
      7.                 foreach(Item i in sector.Items)
      8.                 {
      9.                     if (i is VendorTile)
      10.                     {
      11.                         Mobile v = new PlayerVendor(from, house);
      12.  
      13.                         v.Direction = from.Direction & Direction.Mask;
      14.                         v.MoveToWorld(from.Location, from.Map);
      15.  
      16.                         v.SayTo(from, 503246); // Ah! it feels good to be working again.
      17.  
      18.                         this.Delete();
      19.                         return;
      20.                     }
      21.                 }
      22.                 #endregion


    I have not tested this with Publish 54 yet, but I don't think there would be any problems.

    Usage:
    Start placing tiles. [add VendorTile