Mthec

Members
  • Content Count

    292
  • Joined

  • Last visited

Posts posted by Mthec


  1. Mini Update

    Download

     

    Added Copy Price List action.

     

    With both buyers placed take the contract of the buyer you want to copy to, right-click on the other buyer and select Copy Price List.  You must own both buyers to dissuade people from copying other people's price lists and setting up easy competition.  Note - This will destroy the old price list.

    13 hours ago, Eject said:

    Hello @Mthec

     

    you do not have to apologize :D

     

    It seems the buyer is now working, btw. i dont know how to examine the buyers inv. because if i open the trade, its empty for gm.

     

    Is there any way to copy the pricelist to another buyer? maybe with the database? (i havent looked now to the db)

    Its because i am sure i have to summon near 10 buyers with the same pricelist (40 entrys)

     

    Hey mate, thank you for your fast updates ;)

     

    Eject

    Thank you.

     

    Not that it matters now, but if you select Look > Equipment as a GM, as well as the normal body window, you get a window showing the creatures inventory.

     

    I have been learning a lot about the action system recently and decided that would be the simplest way to add this.  I thought about copying price lists before I first released this mod, by allowing the owner to drag a copy down when trading, but didn't want any angry admins blaming me for creating free paper.  ?


  2. Bugfix

    Download

     

    Fixed issue with adding and removing pages.

    14 hours ago, Eject said:

    @Mthecthere is a little bug now at the buyer

     

    *snip*

    Sorry about that, one of those "don't know how I didn't notice" things.  Think I've fixed the bug but you might still have issues if it has already affected the item.

     

    If you still have trouble it would help if you could examine the buyers inventory with a GM character (looking for the book, how many pages its contains, and if any pages are in the inventory but outside the book) and any log entries you might think apply.    If the buyer wasn't important it might be simpler to dismiss and summon a new one, but if that is difficult let me know.  Sorry again.


  3. Update

    Download

     

    You can now sort the price list using the Sort button on Manage Prices.

    First it sorts alphabetically by name, then by minimum QL in descending order.  (e.g. acorn, log 50ql, log 10ql.)

    Updated Buyers to use books instead of a single sheet of papyrus.  This multiplies the space for entries by 10.  Old price lists will be silently updated.

    There were also some other minor fixes.

     

    I'm still working on Delivery Contracts.  Hit a few small snags but starting to get there.


  4. 8 hours ago, Eject said:

    Hello @Mthec

    Is it possible to insert a sort option at the popup where you add items?

    atm the items are very mixed

     

    Eject

     

    add:

    I can just do 26 entrys in the pricelist, is there any way to increase this value?

    Sorting shouldn't be difficult.

     

    The reason for the limit is that the mod uses paper inscriptions instead of the database.  However, whilst working on my next mod, I realised it might be a good idea to use a book, then just add more pages.  That would multiply the maximum by ten (which should be more than enough?) and be somewhat realistic.


  5. 16 hours ago, McKenna said:

    LOVE this mod, and so do those on my server THANK YOU for this mod!!!!!

     

    Any thoughts about a merchant contract that allows you to sell bulk items? like you buy a contract add 1-100 items, (title reflects name of item and amount on the contract) that players can put on there personal merchants and set the price they wish to sell it for?

    Thank you.

     

    I've had a quick go and it definitely seems doable.  There are just a few more details I need to work out.  The one issue I can think of is that it will mean people can store an infinite weight of items whenever they want (or can afford the cost), also bypassing the bulk storage system increasing item count on a server, but I guess that's just a drawback some server owners will be happy to take.

    3 hours ago, Batta said:

    Isn't this just the same as the regular merchant contracts that exist without mods?

    From this and the other posts on the forum I think McKenna means a type of contract that will bundle up a bulk set of goods to be sold as a single item on a merchant, and then deliver them when the player gets the contract back home.  At least I hope that's correct now that I've started.  ?


  6. 3 hours ago, Eject said:

    Hello Mthec

     

    Now i have no idea where i found this link in the buyer ^^

    I looked now and cant find it again lol.....it was somethink like save pricelist and than the url was written in the event window

    Eject

    How very strange.  I can't even imagine a situation when the mod would would send a url to event.  I've played around with it and checked all my logs and haven't received anything like that.

     

    Could it be another mod that sent the url and it's just a coincidence that you pressed a button at the same time?  Sorry I can't be of help.


  7. 10 hours ago, Eject said:

    Hello ?

     

    At the buyer we can make a save pricelist (or something like this) and get an url.

     

    The url that i get from my buyer is like http://127.0.0.1:8080/KwQ3XABW5wX

    the game is at an vds so i dont know why i get the local ip into the link.

    Have you any idea how i can fix this?

     

    Eject

    Sorry, I don't quite understand.  What is this url you are getting?

     

    Do you want a way to copy a price lists data to use on multiple Buyers?  If so I can work something out.


  8. Mini Update

    Download

     

    Added new contracts_on_traders option.

     

    If false then new traders will not have buyer contracts added to them, and if update_traders is also true then any contracts already on traders will be removed.

    Default is true.

    11 hours ago, Eject said:

    @Mthecsad, i forget to set update trader to false, is it possible in any way to remove the buyer contract from the traders?

    Or can you do it so if i switch to false, that the mod removes the buyer contracts?

    Because my wrong setting now players would be able to generate coins from the air lol

     

    Eject

    *hides bribe from Eject's players*


  9. Mini Update

    Download

     

    Added turn_to_player_max_power option.

    All trader types will now turn to face the player they are trading with so long as their power is not higher than this setting (default is 1).  Note, Traders and Merchants will always turn to face a player of power 1 or lower.

     

    Added shop total to GM start trading message when free_money is true.

    14 hours ago, Batta said:

    I would love it if this were changed, as it limits where we can set them.  I have a whole market set up already, with all stalls facing either east or west, so my Buyer merchant is always facing in the wrong direction.

    Done.

    11 hours ago, Eject said:

    If i open the trade, the buyer still says "i do not require any money" and he dont drag the items down

     

    :D

     

    Eject

    By items do you mean not coins?  Are you the owner?  If so the buyer won't ever accept items from their owner.  I can't see a problem otherwise, are you getting anything in the server logs?

     

    I have extended the "I do not require any money." message to always tell power 3+ GMs (the only time you'd see that message in the first place) how much cash they have on them.  Hopefully it will clear things up a little.


  10. Fix

    Download

    Note - Remove any coins traded to buyers whilst free_money was true, or set the shop database total in the database, before using this version.

     

    Fixed issue where money traded whilst free_money is true was not setting the buyer's shop total.

    On 12/25/2018 at 3:53 AM, Eject said:

    I set free_money=true

    If i drag items into the trade window the buyer say "I do not require any money"

    So i tried to give hime 1 gold and he takes it, than i tried again to give him items and he said again "I do not require any money"

    than i set free_money to false and restartet the server

    i gave him again 1 gold and tried to sell items...now he said "I have no money"

     

    Eject

    I, wrongly, assumed that people would either be using free_money as true or false, not swapping.  Have fixed this issue now.

     

    On 12/25/2018 at 3:31 AM, Eject said:

    I now playing more with the buyer and have the same problem with the face direction ?

    Starting the trade dont turn the buyer and summoning it to a other place while looking self in different directions also dont work to turn the buyer

     

    Eject

     

    add: at my server its also the south side where the buyer is looking

     

    On 12/25/2018 at 9:48 AM, Batta said:

    That is probably it, since I've been testing it on my LAN server, where both of my toons have at least Level 2 GM.  Thanks.  ?

    I mean, I can change this behaviour if people want me to.  I'm guessing it is this way because the developers don't want GMs affecting the world unless they mean to.

     

    They face south because that is the default spawn rotation, and I'm guessing summon just moves the character and does not rotate them.


  11. 6 hours ago, Batta said:

    @MthecIt's working great, with one small issue. No matter where I stand when I set the buyer merchant, it always faces south. When players come to trade, it doesn't turn to face them, and even summoning it with a GM wand doesn't change the direction it faces. I get no option to Move it, either.  

    Strange, works fine for me.  I did wonder actually why they weren't turning when I was testing them with a GM account, so I had a quick look through the code and players with GM power 2 or higher won't turn any type of trader.  Could that be causing some issue?

    11 hours ago, Eject said:

    yeahhhh

     

    This works wonderful ?

     

    Thank you very much and merry christmas ^^

     

    Eject

    No worries, Merry Christmas to you too.  :)

     


  12. Update

    Download

     

    Added Minimum Purchase option.

     

    If set the Buyer will only make a trade if that many items or more are offered in a single trade.  If the option isn't set it will default to 1 and appear no differently.

    The price is per item.  e.g. You want at least 100 bricks for 1c, then set the price to 1i.

     

    This also gave me the opportunity to clear up some message spam.  Instead of saying not authorised, no damage, etc. for every invalid item it will only say it once per trade change.

     

    @EjectLet me know if it's not quite right.


  13. Mini Update

    Download

     

    Added two new settings:

    max_items
    Sets the maximum number of items a buyer can hold. Technically it can go up to 2,147,483,647, but I wouldn't recommend it.

     

    apply_max_to_merchants
    If true merchants will use the above value as well.  If removed or changed merchants will keep the default 50.

     

    Note:

    Coins are not counted in the limit, but the Price List item buyers use is.  e.g. Setting max_items to 100 will set Buyers to 101 and Merchants to 100.

    On 12/19/2018 at 9:22 PM, Batta said:

    I would love that, if you don't mind.

    Can it be made higher than 100?  Like maybe 500?

     

    EDIT:  @MthecI should mention that the regular Merchant Max Items mod causes my server to crash, so hopefully that won't be an issue with adding it to this mod.

    Not a problem.  Would have had it finished last night but ran out of time because of a pesky bug.

     

    As you can see above it can go really high (maximum Java Integer value).  However whilst the mod will handle pretty much any value, there may be other parts of the Wurm code that won't.  I gave it a quick test and managed to give a merchant 1000 items, he already had about 50, and it worked.  Used a GM character to do it all at once and it caused a little lag spike, but since a player won't be able to hold that many items to transfer in one go it shouldn't be a problem.   Just something to be aware of.


  14. 1 minute ago, Batta said:

    What is the limit on how many items these Buyer merchants can hold?  Is it possible to make it really high, for when collecting mats?

     

    Currently it's set at the default of 50.  I (hopefully) made it compatible with asimus' Increase Merchant Max Items mod.  But if you would like I could add it to this mod too?


  15. Mini update

    Download

     

    Added two new settings:

    free_money

    Buyers will create unlimited money on demand, instead of needing it before hand.

    destroy_bought_items

    Destroys items on a successful trade.

     

    These two weren't difficult to add so I pushed them through first.  They are set to false by default but can be enabled separately or together.

    e.g. Free money but leave items to collect later, not free money but destroy to limit the money paid out but when you don't want to have to keep collecting the items.


  16. 12 hours ago, Batta said:

    Yes! That was it.  I was trying to sell to my own buyer, lol. Works great when someone else uses it.  Thanks!

    Great.  Glad it's working for you.

    9 hours ago, Batta said:

    If you add this, please make it configurable so I can turn it off.  I don't want people to just "buy" without any money.

    Absolutely.  The aim with this mod was to create a version of the merchant that still follows all the normal rules.  So any additions will be configurable in the settings.

    9 hours ago, Eject said:

    Hello @Mthec

     

    Another awesome mod ?

     

    I have just 3 little questions:

    Is it possible that i NOT restock original traders with the new contract, so i can just use it on gm deeds? answered in the properties

    can you expand it so that if one player sells 200 stonebricks that another one can buy it?

    Can you make a second mod based on this, for a new trader that gm´s can fill with own item templates and they restock automaticaly? (or merge that option in)

     

    add: it would be awesome if you can add the minimum amount of items a player can sell.

    i have an all time event where players can sell like 30 hammer 30 hatchet and so on...but for now i have to take the items by myself and add mojney to the players

     

    That all ;)

    Thank you

    Eject

     

    ps: just a suggestion that the buyer creates money from the air

    Should be feasible.  Not sure how long it will take with the holidays coming up, but can certainly work on it.

     

    For selling back I could re-add the price modifier, so that owners can set the markup from the normal price?  (i.e. bricks are 10i on the buyer, price modifier of 1.5 means they sell at 15i)  I could always create a second list, but didn't know if that might be too complicated when it comes to lots of items.  Although it would have the benefit of only allowing certain items to be resold and others bought but kept on the buyer.

     

    For the second a kind of empty trader?  Sounds okay.  I'm guessing by item templates you mean that it should still use the menu system of the buyer, so you don't have to add any real items to them?

     

    Creating money is pretty easy.  Might just have to rework some things.

     

    Thanks for the feedback.


  17. 14 hours ago, Batta said:

    @MthecI'm running into an error.

     

     

    I gather we have to trade money to it first.  Just letting you know my experience. Should be easy enough to correct it on my end.

     

    EDIT:  I put 10 silver on my buyer, then tried to sell her 10 items that I had set to be worth 15 iron each.  But my buyer won't do anything with them, won't bring them down into the lower box, nor Accept them.  Is there some trick I'm not doing right?  Same problem with a second item that I had configured her to accept.

    Yes, sorry I should have mentioned you have to trade them money to get them started.

     

    As for your second issue, I don't see anything immediately wrong.  Are you trading with a buyer you own?  The top message in your screenshot suggests so, but you may have been switching characters.  If so the items won't show up on the list as it would have made things confusing when it came time to take any bought items off the buyer.  If you use another player it should work fine.


  18. 5 minutes ago, Batta said:

    This looks great!  I'm unclear about a couple of things, though.

    Is it a merchant or a trader?  You used both words, so I'm confused which it is.

    Is it meant just to change traders so they will buy more types of items? Or is it a change to merchants, which currently only sell items, to make them also buy?

    Is it possible to configure different merchants to accept different items, for example, one merchant who buys only bricks, another who buys only pelts, and so on?

    Sorry, guess I need to go back and clear some things up.

     

    It is neither a merchant or a trader, but it is based on the merchant.

    So for your second question, it creates a new npc that buys instead of sells.  (It uses the same "Salesman" creature the others do.)

    Absolutely, you summon a buyer just like a merchant, using a new type of contract.  Each buyer has their own Price List and you can add whatever items you like to it.


  19. Buyer Merchant

    What does it do?

    Introduces a new type of NPC, based on the merchant, that will buy items from players instead of selling them.

     

    How to use

    Simply head to your nearest Trader and buy the new "personal buyer contract" and place it as you would a merchant.  The name will have a "Buyer_" prefix to distinguish from merchants.

    Then right click on the contract and choose "Manage traders".  This will bring up a menu like the merchants but with "Manage Prices" and "Add Item" buttons.

    Go through the add item menu (see the screenshots below) to add an item to the buyer's Price List and when a player trades all the items on the list will be shown, along with prices and minimum ql requirements.

    Trade some money to your buyer to get them started.  You can remove it any time you want before it's spent.

     

    Features

    Spoiler

     

    Add items to the buyer's list and specify material, minimum ql and price of items.

    Specify "Any" material, for example to accept any type of log.

    Will accept low weight items and charge appropriately.

    Multiple ql price bands.

    Want to pay 1c for up to 20ql but 2c for 50ql?  You can.  Gets price of the highest ql price band so if you want to pay more for low ql items, you can do that as well.

    Donations.

    Set the price to 0 for people to donate unwanted items.

    Only accepts items on the list so no worries about filling up with tonnes of wood scrap.  Unless that's what you want, of course.

    Minimum Purchase option

    Need more than a few items for it to be worth your while?  If you only want to buy bricks if there are more than 20, set the minimum purchase option.  Any extras will also be bought at the same price.

    Merchant fees.

    The buyer contract costs the same amount as the normal merchant contract.

    The buyer charges 10% on all transactions, which goes to the King as normal.

    Logging

    The mod provides a couple of lines output in the server logs, allowing you to keep an eye on where the money is going.

    Uses all item templates on the server.

    Apart from items marked "no trade", uniques, etc.

    So it should be compatible with any modded items.

    The mod is designed to be open to however people want to run their server, this does mean that you can add items and material combinations that cannot be made normally by players.  There is a filter for both lists however.

    Price List is an item.

    Part of my plan with this mod was to not add any extra database entries.

    The price list is a paper with inscription stored on the merchant.

    If the buyer is auto-dismissed or killed you can trade the list (found delivered or on corpse, respectively) to your new buyer and it will overwrite their list.

     

     

     

    Screenshots

    Spoiler

     menu_1.jpg?raw=1

    menu_2.jpg?raw=1menu_3.jpg?raw=1

     

    Beta

    Everything should now be working as it should.  However I haven't tested it on a populated server, and with all the item possibilities something might come up.  I also wanted some feedback on how it works. Menu improvements, etc.

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Settings

    Spoiler

    update_traders

    In order for already placed traders to stock the new buyer contracts the mod needs to add the item to their inventories.  There should be no perceptible performance impact, however you can change or just remove this entry in the property file to stop the search after the first run.  New traders will be stocked automatically.

    contracts_on_traders

    If false then new traders will not have buyer contracts added to them, and if update_traders is set to true then any contracts already on traders will be removed.  Default is true .

    gm_manage_power_required

     

    The GM "level" required to manage Buyers without needing the writ.  Default (10, disabled).

     

    free_money

    Buyers will create unlimited money on demand, instead of needing it in their inventory before hand.

    destroy_bought_items

    Destroys items on a successful trade.  Useful for when GMs control buyers and don't want to keep getting rid of items.

    max_items

    Sets the maximum number of items a buyer can hold. Technically it can go up to 2,147,483,647, but I wouldn't recommend it.  Coins are not counted in the limit, but the buyer's Price List item is.

    apply_max_to_merchants

    If true merchants will use the above value as well.

    turn_to_player_max_power

    Normally GMs do not trigger trader NPCs to turn when trading.  This setting allows you to raise or lower that.  Default 1.  Note, Traders and Merchants will mostly obey this setting, but will always turn to face players of power 1 or lower.

     

     

    Crafter

    What does it do?

    A new type of NPC who accepts orders from players for items to be improved in return for money.

     

    How to use

    Visit a Crafter with an item you want to have improved.  "Trade" the item to them and select what ql level you want.  Also, available is "Mail when done".  Add the requested amount of money and finalise the trade.  Type /crafters into chat to get messages from every Crafter you have current orders with, then pay them a visit when your item is ready to collect.

     

    To place your own buy a "crafter contract" from a trader and hire a Crafter just like other NPCs.  Choose which skills the Crafter will use (add individual skills to a whole set of crafters or just add them all for one super crafter).  Collect the money that comes pouring in (assuming the server owners haven't set money to tax and upkeep, or just tax).

     

    Features

    Spoiler

    Uses the same contract options as BuyerMerchant so they can be bought by players or restricted to GM placement.

     

    Placing an order

    To place an order just "Trade" with a Crafter.  As well as items that are ready to collect the top left window will contain options for you to use.  "Improve to XXql" selects how high you want the item(s) improved, there is a separate entry for each skill the Crafter can use so you can also select different qls for different item types.  "Mail when done" will add an extra fee and when the item is done it will be sent to you in the mail, otherwise it will need to be collected from the Crafter in person.  "Donate Items" allows you to donate items to the Crafter that they will then use to increase their skill.  Want to have a high ql sword at some point but your local Crafter is still new?  Donate a bunch of low ql weaponsmithing items now and reap the rewards later.

     

    Skills

    Crafter skill set is configurable, choose between specific skills or skill groups (all metal, all wood and all armour).

    Crafters gain skills as they work and can accept items as a donation to increase their skill.

    Crafter learning can be disabled or capped.  For example, if you wish for Crafters to only improve to a QL limit, leaving higher quality to player crafting.

    Initial Crafter skill level can also be set.

    A per Crafter skill cap (under the server cap) can also be set by the owner when hiring.

     

    Equipment

    Assign a forge to your Crafter if they need to improve metal items.  This locks the forge from other players to prevent any kind of mix-up.  The Crafter will walk a small distance to reach it.

    Just activate the contract and right-click on a forge and choose assign.  Once assigned you can also unassign the same way.

    The Crafter will create their own tools and resources.  I may add it so that players and/or the owner have to keep the Crafter in stock, but if so it will be an option.

    Offers "Mail when done" option (with configurable price).

     

    Money

    There are three server-wide options for what Crafters do with their earnings.

    for_owner (Default) - 10% to tax, the rest for the owner to collect (same as merchants).

    all_tax - All money goes to the King's coffers.  Particularly useful for GM controlled Crafters.

    tax_and_upkeep - A percentage of the money goes into the owners deed upkeep, percentage is configurable (same as traders).  A good option for if you don't want players to get money directly, but to have some benefit of hosting a Crafter.

    Crafters will hold onto money until the job is completed, if the Crafter is dismissed then the money will be refunded to the customers.

     

    Pricing

    Prices work on a scale, based on some research in the Trade forums.  Roughly speaking 70ql=10c, 80ql=30c, 90ql=90c, 91ql=1s.

    There is a base_price modifier (default 1.0), plus skill specific modifiers (default 1.0, except "dragon armour" which is 10.0), if you wish to increase or reduce the prices.

    Each Crafter has a "Price Modifier" option that can be set by the owner at any time, like merchants.

     

    Other info

    Crafters use the base human model that official NPCs do, so GMs can provide them with items to wear. (e.g. kingdom colours, coloured tunics, etc.)

    Currently Crafters ignore stamina, due to the way creature stamina works vs. players.

    Typing /crafters into chat will open up a "Crafters" tab where any Crafters that are working on items for you will let you know how many are being worked on and how many are ready for collection.  Owners can see total Crafter jobs using the contract.

    Output can be adjusted to help with testing and general logging.  The default is "save", in which case all messages sent from the server to the Crafter, plus some custom messages indicating what the Crafter is currently doing, will be saved to a file in the server directory.  "print", as well as saving, logs that output to normal server output.  Finally, set "none" to ignore all Crafter work logging.  Trading logs, like merchants and traders, are unaffected. 

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Screenshots

    Spoiler

    hire.jpg?raw=1management.jpg?raw=1trade.jpg?raw=1assign.jpg?raw=1

     

    Settings

    Spoiler

    update_traders

    In order for already placed traders to stock the new crafter contracts the mod needs to add the item to their inventories.  There should be no perceptible performance impact, however you can change or just remove this entry in the property file to stop the search after the first run.  New traders will be stocked automatically.

    contracts_on_traders

    If false then new traders will not have crafter contracts added to them, and if update_traders is set to true then any contracts already on traders will be removed.  Default is true .

    name_prefix

    The first part automatically added to names (e.g. Crafter_Roger), underscore _ is included automatically.  Default is blank.

    gm_manage_power_required

    The GM "level" required to manage Crafters without needing the writ.  Default (10, disabled).

    base_price

    Scale all prices by an amount (e.g. 0.5 would be half price, 2.0 would be double).  Default is 1.0.

    mail_price

    Price of "Mail when done" option in irons.  Default  is 100 (1c).

    blacksmithing, weaponsmithing, jewelrysmithing ,chainsmithing, platesmithing, carpentry, fine_carpentry, fletching, bowyery, leatheworking, clothtailoring, stonecutting, dragon_armour, moon_metal

    Price scales for individual skills.  Use these to scale to your economy.  Default is 1.0, except for dragon_armour which is 10.0.

    payment_option

    for_owner

    10% of all earnings are paid in tax, the rest is collected from the Crafter by the owner (merchant behaviour).  Default.

    tax_and_upkeep

    A percentage of all earnings goes to the owners village upkeep (configurable below), the rest is paid in tax (trader behaviour). 

    all_tax

    All earning go to the King's coffers.

    upkeep_percentage

    The percentage of a Crafters earnings that go into upkeep.  Only works with tax_and_upkeep.

    contract_price_in_irons

    As you'd expect, the price of the contract as sold by traders.  Default is 10000 (10s).

    can_learn

    If false then Crafter skills will not increase.  Useful for when GMs control Crafters.  Default is true.

    starting_skill

    The skill level newly placed Crafters have in their specified skills.  Default is 20.

    max_skill

    The maximum skill level Crafters can reach.  Overrides per Crafter skill cap if changed.  Default is 100.

    crafter_skill_gain_rate

    This overrides the server wide skill gain for Crafters, if applied.  Default is disabled.  Set 1 or comment out to revert back to the server skill gain value.

    output

    Specifies what kind of output is given for Crafter messages and work tasks, mainly for solving problems and finding bugs. 

    save (Default)

    One log file per Crafter will be placed in the server launcher directory.

    print

    Same as save, but also prints it to standard server output.

    none or just removed

    No logging will occur.

    use_owner_price_modifier

    Specify whether individual crafters can use a price modifier.  Default is true.

    minimum_price_modifier

    The minimum price modifier value for individual crafters.  Default is practically zero.

    mail_command

    Adds "/crafters collect" chat command for collecting mailed items when there are no mailboxes.  Default is false.

    remove_donations_at

    Set to a whole number (positive, zero or negative) to have crafters destroy donation items.  Default disabled.

    e.g. With 30 skill in Blacksmithing, a shovel will be destroy when the ql is greater than:

    • 10 - 40ql

    • -10 - 20ql

    • 0 - 30ql

    single_crafter_skill

    Crafters will only be able to have 1 skill assigned, instead of allowing multiple.  Default is not present.

    change_skill_after_placement

    If false then skills cannot be changed without dismissing and re-hiring the Crafter.  Default is not present.

     

    Delivery Contracts

    What does it do?

    A new type of contract that facilitates placing heavy items on a merchant.  Have the spirits deliver piles of bricks, forges, ovens, and many other items.  The bearer can take it all the way across the server without worrying about the weight, then have it delivered to their village token or a nearby waystone.

     

    Want to be a carpenter and sell carts on a merchant?  Now you can.  Want to sell "kits" such as starter packs or sets of tools (e.g. smithing set/carpenter set)?  Now you can.

     

    Note - You cannot highlight a range of items and only pack those.  If you pack one item in a group it packs all the others of that type in the container/inventory.

     

    * WARNING - Not PvP safe*

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Settings

    Spoiler

    update_traders

    In order for already placed traders to stock the delivery contracts the mod needs to add the item to their inventories.  There should be no perceptible performance impact, however you can change or just remove this entry in the property file to stop the search after the first run.  New traders will be stocked automatically.

    contracts_on_traders

    If false then new traders will not have delivery contracts added to them, and if update_traders is set to true then any contracts already on traders will be removed.  Default is true .

    contract_price_in_irons

    Set the price of the delivery contracts as sold by traders.

    max_items

    Higher numbers may cause performance issues when trading with Buyers with price and minimum purchase calculations.  Default 1000.  Higher should be okay, just something to be aware of.

    no_decay_in_contract

    If true items inside a contract will not be subject to decay.

    no_decay_food

    If true food inside a contract will not be subject to decay. Overridden by no_decay_in_contract.

     

    Server commands:

    #dcCleanup

    Checks for packed items that are no longer in contracts (bugged) and removes them across the whole server.  Limited to once per minute because it could cause lag with a lot of items on the server.

     

    MerchantCap

    What does it do?

    Set a per player trade cap for merchants.  If a player makes any trade with a capped merchant it will add to their player spending history and if any trade would go over that amount it will prevent the trade from completing.

     

    Using a GM character and wand, right-click on the merchant and there will be a "Cap Trade" option, with "Set Cap" as a sub-option.  This will bring up a window where you can set, and later remove, the cap.  After a cap has been set there will be a second sub-option, "Clear History", if you wish to remove all player transactions with this particular merchant.  Otherwise the history will remain, so you can toggle the cap on and off without losing history.

     

    Can be used without BuyerMerchant on normal merchants, or with BuyerMerchant to also work on buyers.


    Unlike most of my mods, this does use a database.  It is called "merchantcap.db" and can be found with all the other databases in <ServerName>/sqlite.

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Settings

    Spoiler

    clear_history

    Set a time period for player spending history to be erased.  Default is disabled, options are daily, weekly, monthly, yearly.

     

    CustomTrader (and Currency Trader)

    What does it do?

    Custom Trader - A new type of NPC based on the standard trader, that can only be placed by GMs.  Has various options for a custom inventory, including restocking rules.  Use a 'tag' to share the same inventory between multiple custom traders, or just use a unique inventory.

    Currency Trader - Based on the Custom Trader, this NPC trades items for a specific type of item used as a currency.  For example, claim prizes in return for HotA medallions.

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Screenshots:

    Spoiler

    item_list.jpg?raw=1manage.jpg?raw=1restocking_options.jpg?raw=1

     

    Settings

    Spoiler

    prevent_decay

    If true then decay is prevented from affecting items held by the Custom Trader.  Default is true.

    name_prefix

    The first part automatically added to names (e.g. Trader_Dave), underscore _ is included automatically.  Default is Trader.

     

    ToolPurchaser

    What does it do?

    A new NPC that will buy tools and weapons according to various factors.  (See Settings below.)

     

    Requirements

    ago's Mod Launcher

     

    Instructions


    Settings

    Spoiler

     

    ql_price in toolpurchaser.properties sets how much per item ql.

    MaterialModifiers.properties (found in the toolpurchaser mod folder) stores the multipliers for the ql price based on item material.

    EnchantmentPrices.properties (again in the toolpurchaser mod folder) stores the prices for any enchantments on the item.  Spell type enchantments (CoC, WoA, etc.) are multiplied by the power of the cast, enchantments (demise spells, etc.) are a flat rate.

    Both use the format id=price, see the individual files for what the ids are.

    All prices are in irons (fractions will be rounded down).

     

    name_prefix

    The first part automatically added to names (e.g. Trader_Roger).  Default is Trader.

     

    Banker

    What does it do?

    A new NPC that can manage bank accounts remotely.

     

    As well as the usual Manage/Withdraw options you get a deed token, you can also use the "Move account" option to move your bank account to other villages, with the same requirements, without visiting the actual village.

    Bribery can be configured in the settings (see below) to allow players to move their account instantly to another location, for a price.

    GMs and owners (if contracts made available on traders) can also set the face of the banker.  Note, there is some odd behaviour with how the client handles face changing. 

    • The face changer window will always show the gender of the player, not the banker.  Although most of the options will still work (no facial hair on females though), if just won't look right.
    • Whilst using the window your own characters face will change in the Character window, this doesn't happen to the face other players see and will return to normal after confirming changes. 
    • Also, for some reason, doesn't like setting the correct hair style when the window first opens, just toggle it back and forth to set it to the right one.

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Settings

     

    Spoiler

     

    Configuration options:

    • village_option
      • Defines which villages will be offered as locations for Bankers to transfer bank accounts to.
        • starter
          • A kingdom's starter (permanent) villages are always an option, use this setting to not allow any other options.
        • kingdom
          • Allow any villages of the same kingdom as the bank account holder.
        • alliance
          • Allow any allied deeds (including the holder's village).
          • Requires perform actions on alliance deeds role.
        • village
          • The village the account holder belongs to, if any.
      • Default village
    • allow_non_premium
      • By default non-premium (or "Guest") accounts cannot open banks. If this option is true then they can, but only through a Banker.
    • bribery_cost
      • In irons, 0 to disable.
      • Allows players to move their bank account location instantly, for a price, instead of waiting for the usual 24 hours.
      • Default 0 (disabled)
    • update_traders
      • If true then banker contracts will either be added to or removed from traders, depending on whether contracts_on_traders is true or not.
      • Default false
    • contracts_on_traders
      • If true traders will carry banker contracts, however this will only take effect if update_traders is true.
      • Default false
    • contract_price
      • In irons.
      • Default 10000 - 1 silver.
    • name_prefix
      • What Banker names will start with (e.g. Bob becomes Banker_Bob), although you can set to nothing for no prefix.
      • Default Banker
    • gm_manage_power_required
      • The GM "level" required to manage Bankers without needing the writ.
      • Default - 2.

     

     

    BeastSummoner

    What does it do?

    A new type of NPC that can be placed by GM, to offer creature spawning services to players.

    Features include:

    • Summon lists
      • Specify creature templates, prices, age, cap on amount spawned in one purchase, limit creature type modifiers.
    • Currency
      • Choose between normal coin and (nearly) any item type for payment.
    • Tagged summoners
      • Like CustomTrader, set a named tag to share a summon list between multiple summoners.
    • Set spawn point
      • Set the spawn point where the creatures will be created, it doesn't have to be near the summoner themselves, and you can also set a range (in tiles) where multiple creatures will be spread out.
    • Creature Type Price Modifiers
      • Set global modifiers for creature type modifier in .properties. e.g. Champion creatures could be set to 2 to double the price compared to other types.
    • Summoner customisation
      • Set the model, and optionally the face (if using human model), of the Beast Summoners.

     

    Disclaimer - In order to support the widest possible use of this mod, I've not limited the creatures you can spawn, offering all those offered by the GM Summon menu.  However this may mean that there are things you shouldn't be spawning.  Be sure to test any before you unleash try them on players.

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Settings

    Spoiler

    name_prefix

    The first part automatically added to names (e.g. Trader_Roger).  Default is Beast_Summoner.

    minimum_price

    The minimum price settable for spawning one creature.  Default is 0.

     

    MerchantDecayPrevention

    What does it do?

    Prevents items decaying whilst held by a merchant or trader.

     

    Requirements

    ago's Mod Launcher

     

    Instructions

     

    Settings

     

    Spoiler

     

    allow_cooling

    If true then items will still cool down whilst held by a merchant or trader.  Default true.

     

     

     


  20. 16 hours ago, Spode said:

    So it worked, but I think they're stuck inside the various hideouts. I'm gunna need to delete those too.

    Long story short; your code worked, I still get the error flooding.

     

    Sorry, now I see my mistake.  When I looked on my Creative server database I didn't see any dens so I wrongly assumed they wouldn't be a problem.  I just checked my Adventure server and there was one there.

     

    Deleting them is a little more tricky as they don't have Creature names attached, only ids which we don't know unless you want to read through the huge log output.  Fortunately the default Wurm creature ids only go up to 116 and from the log output you posted they are all much higher.

     

    I've updated the program I wrote, but it's probably just as easy to use the Sqlite browser I mentioned above.  Load up wurmzones.db, go to the "Browse Data" tab and select "DENS" from the dropdown.  Then just sort by "TEMPLATEID" and delete the high numbers.

    java -jar WurmDatabaseCleaner.jar -remove-modded-dens

     


  21. What has happened is that the mod has added creatures to the database, then the entries remain even after you remove the mod itself.  Without the mod Wurm doesn't know what kind of creatures they are so you get the errors.

     

    You can look at the database information with something like Sqlite Browser, but even if you deleted all the modded creatures there are other entries scattered in other databases.  Now, they might be perfectly fine to leave them there, but I don't know for certain.

     

    So I've written a quick program that will go through the database, find the creatures and delete all the related entries.  The one issue is I don't know which modded creatures you added, so you'll have to look up the mod you added and find the template names.  I mentioned the browser above because that could be useful to find some of the modded creatures, especially if the first run doesn't get them all.

     

    A quick disclaimer, this program is not particularly clever so I strongly recommend backing up your server in case it deletes the wrong things.

     

    Paste this jar into the "sqlite" folder of the server.  (e.g. WurmServerLauncher/Creative/sqlite)

    Then open a command line up and type:

    java -jar WurmDatabaseCleaner.jar Animal,Names,Separated,By,Commas

    The output will tell you if it has found anything.  Let me know if there's anything I've missed and I'll try to help.