Hercules Ultimate Storage System (HUSS)

Protos

Core Developers
Messages
236
Points
0
Age
35
IRC Nickname
smoke
Github
smokexyz
Emulator
Hey all,

I had an idea to implement the ultimate storage system with which users of Hercules would be able to create as many storages as they want without a hassle. And so I worked on Hercules Ultimate Storage System (HUSS). The basic idea of the design has been completed and at this point it is ready to be tested. I wanted to gather suggestions to further extend the system, hence this topic.

To test the system, simply visit my fork of Hercules in the storages branch and clone it.

Storage.conf Example Entry

{
Id: (int) (required|unique) Unique Identifier
Name: (string) (required) Name of the storage sent to the client.
Capacity: (int) (required) Maximum capacity of the storage.
}



All storages are handled with dynamic arrays that will save a tonne of memory if and when created.
They are saved in the same storage database (SQL) as the original separating them by a storage identifier.
An infinite number of storages can be created, there are no limits.
The current design implementation only allows saving/loading of approximately 1600 items per storage due to packet size limits.

Script Command Changes

*openstorage(<storage_id>{, <storage_mode>})

Default Storage Access Mode: STORAGE_ACCESS_ALL

This will open character's Kafra storage window on the client connected to
the invoking character. It can be used from any kind of NPC or item
script, not just limited to Kafra Staff.

The storage window opens regardless of whether there are open NPC dialogs
or not, but it is preferred to close the dialog before displaying the
storage window, to avoid any disruption when both windows overlap.

mes("I will now open your stash for you");
close2();
openstorage(1);
end;

Storage Modes:
STORAGE_ACCESS_VIEW // View storage only
STORAGE_ACCESS_GET // Allow getting items from storage.
STORAGE_ACCESS_PUT // Allow putting items to storage.
STORAGE_ACCESS_ALL // Allow all actions.




So if you guys have any suggestions or ideas that would better the system for Hercules, feel free to comment below :)

 
Last edited by a moderator:
That's very cool! Does it mean now we can have shared storage, ie a chest on a map in which anyone can put or retrieve items?

 
That's very cool! Does it mean now we can have shared storage, ie a chest on a map in which anyone can put or retrieve items?
Not with current implementation of HUSS, currently it can create unlimited number of character storage I guess, and not shared storage.

 
That's very cool! Does it mean now we can have shared storage, ie a chest on a map in which anyone can put or retrieve items?
That's a good idea, but it'd have to work like the guild storage on a server level... which is not the same to the account-bound storage. Could be done if I do something similar for the guild storage in the future.

Maybe for now it could be edited to allow account and character based storage.

 
Last edited by a moderator:
Sorry for this. but is it possible for this system to be a plugin? or atleast someone can make one?

 
Is there any update for this project?

I compiled my server after changes and does't work (editado)

image.png


 

crash my map server

when i use "storage" command

 
Last edited by a moderator:
This is the HUSS diff that is compatible for latest herc, I am using this fine from my server.
Just get the sql-updates and config files from the git.

View attachment 7697
Thank you so much, 

I modified my src, but i have this errors

[Error]: intif_parse_account_storage: Multiple calls from the inter-server received.
[Error]: intif_parse_account_storage: Multiple calls from the inter-server received.
[Error]: intif_parse_account_storage: Multiple calls from the inter-server received.
[Error]: intif_parse_account_storage: Multiple calls from the inter-server received.
[Error]: intif_parse_account_storage: Multiple calls from the inter-server received.
[Error]: intif_parse_account_storage: Multiple calls from the inter-server received.
 

image.png

 
I dont understand why they didnt merged into Herc, this been going on for 5 years.

I really wanted to use Herc as my server, but it has no storage and battleground solution, its becoming really not attractive with far less features than rathena.

 
it's works ..!! thank you to ALL..

Just a question, how can I make the "@storage 2" or "@storage vip" command only be used by vip players.?????? help me

 
Last edited by a moderator:
Back
Top