Development


[Dev] Looking for beta-testers for an "item groups" feature

Hi,

I'm currently developping an item group feature, and I'm looking for beta tester.

The idea is simple : it allows you to put in a group some (wearable) items, and instantly move / equip a group, instead of having to do it one by one. It's currently in beta, meaning you might have some crashes (althoug really unlikely), and I'm expecting some feedback to polish the whole thing !

Currently, here's what you can do :
* Create an item group by wearing all the needed item and using the command /createGroup name_of_group. Note that the name must be unique and not used by another group (it will fail if another group with the same name exist)
* Equipping an item group by using the command /equipGroup name_of_group. This will try to equip item from the group by pulling from every available inventory
* Right-clicking an item which is part of a group to have a new submenu (beautifully named "uiGroup" for now) where you can :
* see the name of the group the item belongs too
* equip the group (same as previous command)
* move the group to an inventory. It will move items from all available inventory to destination. It won't work with equipped items, you'll need to manually unequip them. For example, if you have items split between your bag and your first mektoub and move to the second, it will pull items from your bag AND first mektoub (as long as there is enough room)
* Listing currently existing group with the /listGroup command
* A /naked command to get completely naked (jewels included)
* deleting a group with the /deleteGroup name_of_group command
* Doing this with all available inventory (bag, mektoub, room, guild). It's disabled by default in your guild room, but you can allow it by adding the following line to client.cfg (not client_default.cfg) :
ItemGroupAllowGuild = 1;
* Removing an item before equipping your group. For example, if youequip the group "light_armor", you will probably remove your helmet first. For this, you'll need to manually edit the file groups.xml and add the following line in the matching group :
<remove slot="head" />
Different possibles slots comes from SLOT_EQUIPMENT::TSlotEquipment, here's the matching between name and actual part (it's case insensitive, caps have no impact) :

Groups are stored in a XML file named groups_nameoftoon.xml (like keys/interface) in the save folder. You can manually edit this file if you want (it's currently the only way to rename a group).

I'm currently using itemSheet(only 2 items from the same crafting plan have the same itemSheet - HQ fyros ring is a different itemSheet than MQ fyros ring, for example), quality, userColor (all items have one, even when you don't see it like jewels / weapons) and weight to identify an item. This is enough in 99.9% of the time to have a pseudo-unique ID.

However on jewels, it's much harder to do because jewels weight range from 0.10kg to 0.20 kg, meaning there's much less variation (magic amps goes from 2.00 to 4.00 kg for example) than other items. So you can't differentiate recipes that are too similar (if they are the same quality and itemSheet, so it's still a pretty rare occasion).

You can use the price of an item to differentiate further, however note that this won't work in room / guild storage (because we don't have access to the price of price in those inventory), and that it may break later, because price changes according to the recipe of the item AND the current HP. It's basically a last resort solution. To do this, manually the value "minPrice" and/or "maxPrice" in the groups_name.xml file, and the item will now match item between minPrice(including) and maxPrice (including).


How to get it :


Mac version (use it at your own risk if you know how to use it), thanks to Siela : Ryzom.app
You'll need both the client(linux, 64 bits version only or windows ), the widgets.xml file, the macros.xmlcommands.xml[/url] file (right click > save link as ... or yourbrowser will open it directly). The first one must be in the same folder as your regular ryzom_client, the second & third one in your user/ folder.

To launch the game, simply change your executable with ryzom installer (preferences > profile > executable > choose "browse" and select the good one), or run ryzom_client_glorf instead of ryzom_client (if you use a one-folder installation).

The source code is available in my bitbucket repo, in the branch item_group.

---

Show topic
Last visit Thursday, 25 April 13:26:13 UTC
P_:

powered by ryzom-api