RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[2.0 RC1] Vendor Tile Mall

Henry_R

Sorceror
[2.0 RC1] Vendor Tile Mall

Vendor Tile Mall
By henry_r
12/27/07
Original author(s) unknown
Special thanks to Lord Greywolf for supplying the code for contract and tile
Addon made using Arya's Addon Generator

Overview:

Allows for placement of player vendors on special vendor tiles, regardless of location.
Player Vendor Tiles are added in-game by staff, as needed (tiles delete on use)
Minor revisions to SB info (noted below).



Contents:

Main folder; VendorTileMall:

1 script with 2 items (see VendorTile.cs) // Public Contract Of Employment and Player Vendor Tile // [add TownContractOfEmployment.

1 mobile; Vendor Mall Manager (see VendorMallManager.cs) // acts as NPC Banker as well.

SBVendorMallManager (see SBVendorMallManager.cs).

1 Vendor Mall Addon (see VendorMallAddon.cs) // overall dimensions approx. 33x19 // 499 items.

1 .txt file with instuctions (see VendorTileMall.txt)




Installation Instructions:

Drop VendorTileMall folder into your Customs folder.

Comment out (//) listings for Contract Of Employment on SBBanker.cs, SBInnkeeper.cs and SBTavernkeeper.cs.

Restart server.

Add Vendor Mall Addon at your desired location (optional) // decorate as needed // [add VendorMallAddon.

Add Vendor Mall Manager and move into bar area // [add VendorMallManager.

Add Player Vendor Tiles in desired location // [add PlayerVendorTile.



Player Instructions:

Purchase a Public Contract Of Employment from the Vendor Mall Manager.

Choose desired Player Vendor Tile location.

Double-click Contract, target desired Player Vendor Tile.




Comments:
This is a easy to use system for player vendors.
Please report any bugs.
Feel free to modify this package as you see fit for your application.


Enjoy

henry_r
 

Attachments

  • VendorTileMall.rar
    6.5 KB · Views: 570
  • Vendor Mall Addon.JPG
    Vendor Mall Addon.JPG
    156.2 KB · Views: 1,024

typhoonbot

Sorceror
Just something im wondering...

...is it possible to have the script replace the player vendor tile upon a vendor being dismissed.

IE: after a vendor has been dismissed, the white player vendor tile is no longer there. in which case a staff member would have to keep replacing them.

is it possible to get the script to do this ?

thanks alot for the script again

regards
 

Henry_R

Sorceror
Re:

typhoonbot;731525 said:
Just something im wondering...

...is it possible to have the script replace the player vendor tile upon a vendor being dismissed.

IE: after a vendor has been dismissed, the white player vendor tile is no longer there. in which case a staff member would have to keep replacing them.

is it possible to get the script to do this ?

thanks alot for the script again

regards


hi...

that might be possible...however....
at present time, that would be far outside my scripting capabilities...

maybe some gifted scripter could come up with something like you described.

in use, i have found its really no problem for staff to add tiles as needed...
i.e. staff should be making periodic checks on vendor inventories and can add tiles then, if needed.


glad u like...




henry_r


ps.... i have included a larger version of the vendor mall and a modular unit that can be added as many times as needed..... overall dimensions 27x33 and 720 items +/- .....(see attachements below)
 

Attachments

  • VendorMall2.rar
    5.7 KB · Views: 139
  • VendorMall2 and VendorMall2Modular.JPG
    VendorMall2 and VendorMall2Modular.JPG
    74.5 KB · Views: 346

typhoonbot

Sorceror
Hehe, one fo you great scripters out there, could u look into this issue ?

thanks


very nice addons again btw Henry_R


regards
 
First of all. Awesome script. I was working on something very similar but you beat me to it. +Karma

typhoonbot;731525 said:
Just something im wondering...

...is it possible to have the script replace the player vendor tile upon a vendor being dismissed.

IE: after a vendor has been dismissed, the white player vendor tile is no longer there. in which case a staff member would have to keep replacing them.

is it possible to get the script to do this ?

thanks alot for the script again

regards


Look inside the PlayerVendor.cs file and inside of this section... approx line 688

Code:
				else if ( ( toBackpack || House == null || !House.IsAosRules ) && this.Map != Map.Internal ) // Case 3 - Move to backpack
				{
					Container backpack = new Backpack();

					if ( HoldGold > 0 )
						Banker.Deposit( backpack, HoldGold );

					foreach ( Item item in list )
					{
						backpack.DropItem( item );
					}

					backpack.MoveToWorld( this.Location, this.Map );
				}

Add what is highlighted in red...

Code:
				else if ( ( toBackpack || House == null || !House.IsAosRules ) && this.Map != Map.Internal ) // Case 3 - Move to backpack
				{
					Container backpack = new Backpack();

                                        [COLOR="Red"]PlayerVendorTile pvt = new PlayerVendorTile();[/COLOR]

					if ( HoldGold > 0 )
						Banker.Deposit( backpack, HoldGold );

					foreach ( Item item in list )
					{
						backpack.DropItem( item );
					}

					backpack.MoveToWorld( this.Location, this.Map );

                                        [COLOR="Red"]pvt.MoveToWorld(this.Location, this.Map);[/COLOR]
				}

This will replace the Player Vendor with a new Player Vendor Tile upon dismissal. This is based off of SVN 279. So earlier scripts may look different.
 

Henry_R

Sorceror
Re

Callandor2k;731637 said:
First of all. Awesome script. I was working on something very similar but you beat me to it. +Karma




Look inside the PlayerVendor.cs file and inside of this section... approx line 688

Code:
				else if ( ( toBackpack || House == null || !House.IsAosRules ) && this.Map != Map.Internal ) // Case 3 - Move to backpack
				{
					Container backpack = new Backpack();

					if ( HoldGold > 0 )
						Banker.Deposit( backpack, HoldGold );

					foreach ( Item item in list )
					{
						backpack.DropItem( item );
					}

					backpack.MoveToWorld( this.Location, this.Map );
				}

Add what is highlighted in red...

Code:
				else if ( ( toBackpack || House == null || !House.IsAosRules ) && this.Map != Map.Internal ) // Case 3 - Move to backpack
				{
					Container backpack = new Backpack();

                                        [COLOR="Red"]PlayerVendorTile pvt = new PlayerVendorTile();[/COLOR]

					if ( HoldGold > 0 )
						Banker.Deposit( backpack, HoldGold );

					foreach ( Item item in list )
					{
						backpack.DropItem( item );
					}

					backpack.MoveToWorld( this.Location, this.Map );

                                        [COLOR="Red"]pvt.MoveToWorld(this.Location, this.Map);[/COLOR]
				}

This will replace the Player Vendor with a new Player Vendor Tile upon dismissal. This is based off of SVN 279. So earlier scripts may look different.


tested
yes, this works like a charm for **dismissed** vendors....
if staff removes a vendor manually, the vendor tile is not replaced




ty


henry_


ps.. ive discovered a glitch with the addons.... the vendor tiles drop below the floor tiles on restart.... what i did to work around this for now, is to convert the addon to static ([tostatic) and remove the floor tiles where the vendor tiles go.

here is a link for info on converting addons to static:


Usable ToStatic Command



good luck :)
 

typhoonbot

Sorceror
Ok awesome, everything worked fine.

im just wondering, where will I edit the script in order to remove the fact that the bag apears there after vendor has been dismissed ?

thanks again

regards
 

datguy

Sorceror
PlayerVendor.cs around line 701, comment out the backpack movetoworld

Code:
else if ( ( toBackpack || House == null || !House.IsAosRules ) && this.Map != Map.Internal ) // Case 3 - Move to backpack
				{
					Container backpack = new Backpack();
                    PlayerVendorTile pvt = new PlayerVendorTile();

					if ( HoldGold > 0 )
						Banker.Deposit( backpack, HoldGold );

					foreach ( Item item in list )
					{
						backpack.DropItem( item );
					}

					//backpack.MoveToWorld( this.Location, this.Map );
                    pvt.MoveToWorld(this.Location, this.Map);
				}
 

S-OD

Wanderer
Comment out the need?

Henry_R;731478 said:
Installation Instructions:

Drop VendorTileMall folder into your Customs folder.

Comment out (//) listings for Contract Of Employment on SBBanker.cs, SBInnkeeper.cs and SBTavernkeeper.cs.

Restart server.

:confused:Please tell me it will feel.
Why would you comment out?
Also, what would happen to be commented out?
SBBanker.cs, SBInnkeeper.cs and SBTavernkeeper.cs

Please tell me I'm so amateur.;)
 

talon____

Sorceror
Trying to update this system to be able to have a reocurring cost to " rent out" the tile which costs ALONGSIDE the vendors cost. And also to only drop a tile where a tile was removed. In other words i want to keep players able to use vendors and contracts for vendors at theyre homes while still enabling myself or other staff to set up a public vendor area and very the price to use a spot there on the quality or worth of the spot. IE front spots bieng the most, and back the least. Any help or offers for a more experienced scripter to do this would be muchly appreicated.
 

datguy

Sorceror
Just make more tiles with say differrent colors, white tile costs $, silver costs $$, gold costs $$$

so then you would have 3 separate scripts so they drop back the correct tile, make one more for staff vendors
 

pepper170

Squire
tax??

This is a great script well done!

Just one thing: Is there a way to "tax" the tiles the players rent? like the rentaldeed? I find players monopolizing spots, and is not fair to others. Thanks!
 

milva

Sorceror
We found a bug with this wondering if any one else has noticed? If a player has gold in the bank , it will take double the amount of gold. So say an item is priced for 10K on vendor- 20K will be removed from their bank. The vendor still only gets the 10K. Just not sure where this is coming from with looking at the scripts.
 
Top