Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Using The GiftBoxWrapper

Junior Spellweaver
Apr 2, 2023
Reaction score
Haven't found anything about it, doubt the lot of you will need it, but there's always the exception.

The giftboxwrapper allows you to replace items with specified item id's with another item.
This function does not allow to set an option id for the new item, nor does it forward the old one.
If you want the new item to have a specific option id you can use the ChangeItem function.
If you use the ChangeItem function to change item and option id, make sure that you enter the correct id's accordingly.
Other than that, just make sure that there is at least an account binding on the item or the wrapper won't work.

Files used:
Server- GiftBoxWrapper.scp
Client- Cabal.enc

Opening the server file, you will find yourself a very straight forward
[GiftBoxWrapper] Class FromItemKind ToItemKind

The first number is your row number as per usual.
Class is the ID that you will have to specify in your wrapper item.
That also means that one item is enough for anything that is put into a single class.
FromItemKind contains the ID of the item you want to use the wrapper item on.
ToItemKind will be the result item that the player receives after confirming the item usage.

The client side equivalent can be found by searching for
<giftbox_wrap class="1" >
I believe everything should be clear enough from there.
Note that if you make an item account bind through the item.scp | .enc you can just add the original item ID to the FromItemKind.
If you add it later, you will have to add that to the ID in the list as well.

While it is a very simple function, this can be used to provide accessory upgrades, allowing to turn YourEpicRing to YourTotallyBrokenRing or maybe to allow your players to reroll some items in general by turning them into a random box.

As for the wrapper item:

Item Type = IDT_GBWC
AttckRate/Opt1 = GiftBoxWrapper Class

Item.enc (using the sweetscape 010 editor | item enc template):
enum Type type = IDT_GBWC (86)
uint attack_rate__opt_1 = GiftBoxWrapper Class

That's all there is to it.