For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

Inventory Bank (Keep Inventory)

The section related to UnrealScript and modding. This board is for coders to discuss and exchange experiences or ask questions.
Post Reply
User avatar
Age
OldUnreal Member
Posts: 848
Joined: Sat Dec 29, 2007 5:25 pm

Inventory Bank (Keep Inventory)

Post by Age »

Someone should make a MUTATOR that saves every players inventory and score WITHOUT LAG every (can edit yourself) second/minute/hour, and the inventory saves in OTHER INI file not in unreal or user. The mutator must keep inventory and score all the time.
Last edited by Age on Thu Jan 03, 2008 3:51 pm, edited 1 time in total.
User avatar
Cheese
OldUnreal Member
Posts: 24
Joined: Tue May 22, 2007 11:38 pm

Re: Inventory Bank (Keep Inventory)

Post by Cheese »

Hmmm..

Saving in a different .ini file is as easy as

Code: Select all

class SomethingThatDoesStuff expands actor config(SomeOtherIniFile);
"Saving the items on a per-second basis without lag" is what we call an Oxymoron. :P
the mutator must keep inventory and score all the time
Hmm I'm not sure if that's possible or not. But if there were enough players and items the .ini file would be huge (saving all those variables) and you might get some RPC bunch overflows (?).


I know JcoopZ saves items and score after each level change, but I'm pretty sure those are all stored locally, because they're not saved when the server turns off.

I don't know. You could ask zombie about that, He knows more about that than most people.
Currently lurking...
User avatar
Zombie
Administrator
Posts: 322
Joined: Thu May 09, 2002 11:44 pm

Re: Inventory Bank (Keep Inventory)

Post by Zombie »

Cookies may want to visit to take ideas for the InventoryBank mod.

The optimal way to achieve the goal would be to have the mod only save the information when the player is leaving the server, and load what's missing shortly after joining when the player is authenticated. It's possible to save on a second/minute interval with minimal lag/slowness, but whenever the mod iterates thru a gigantic array for the first time for a player there could be lag. The array index of the player's information should be temporarily stored so that the mod doesn't need to iterate thru the entire array more then once. Some sorting for frequent players couldn't hurt if it's performed at idle server periods.

To answer about JCoopZ:
It only stores inventory and scores to server memory. It persists for a player as long as the server isn't shutdown or crashed. I could have had it save to an INI file for every player that ever joins the server. That could require an array large enough (many thousands) to give a sense of almost permanence. I decided against that partly because of what was already mentioned above and in this thread that has to be dealt with.

Unreal is not well suited as a database, and shouldn't be used as one. For these long term retention ideas I think it would be better to use real database software on a web server, and have the unreal server communicate with it using a TCPLink or UDPLink actor. At least in theory it may prove the best.


-Zombie
User avatar
mentalhunter
OldUnreal Member
Posts: 813
Joined: Sun Oct 07, 2007 10:31 am

Re: Inventory Bank (Keep Inventory)

Post by mentalhunter »

Cookies may want to visit to take ideas for the InventoryBank mod.

The optimal way to achieve the goal would be to have the mod only save the information when the player is leaving the server, and load what's missing shortly after joining when the player is authenticated. It's possible to save on a second/minute interval with minimal lag/slowness, but whenever the mod iterates thru a gigantic array for the first time for a player there could be lag. The array index of the player's information should be temporarily stored so that the mod doesn't need to iterate thru the entire array more then once. Some sorting for frequent players couldn't hurt if it's performed at idle server periods.

To answer about JCoopZ:
It only stores inventory and scores to server memory. It persists for a player as long as the server isn't shutdown or crashed. I could have had it save to an INI file for every player that ever joins the server. That could require an array large enough (many thousands) to give a sense of almost permanence. I decided against that partly because of what was already mentioned above and in this thread that has to be dealt with.

Unreal is not well suited as a database, and shouldn't be used as one. For these long term retention ideas I think it would be better to use real database software on a web server, and have the unreal server communicate with it using a TCPLink or UDPLink actor. At least in theory it may prove the best.


-Zombie
Indeed, Cookies asked me to test it like a year ago, he never gave me a new version, so i still got it running, i can send it to you if you want.
User avatar
Cookies
OldUnreal Member
Posts: 12
Joined: Sat Sep 15, 2007 11:17 am

Re: Inventory Bank (Keep Inventory)

Post by Cookies »

Whoa.

I pretty much abandoned this idea about a year ago and i never really told mental. ( sorry about that :-/)

At the time i didn't think it would ever turn out into something decent and i had also stopped playing any coop earlier.

However seeing that some people are still waiting for something like this makes me want to try again and using a database sounds interesting :P

Unfortunatly i don't know if im going to have time for this for the next months, so it might take a while before i even can decide wheither i really will try again.
User avatar
mentalhunter
OldUnreal Member
Posts: 813
Joined: Sun Oct 07, 2007 10:31 am

Re: Inventory Bank (Keep Inventory)

Post by mentalhunter »

Whoa.

I pretty much abandoned this idea about a year ago and i never really told mental. ( sorry about that :-/)

At the time i didn't think it would ever turn out into something decent and i had also stopped playing any coop earlier.

However seeing that some people are still waiting for something like this makes me want to try again and using a database sounds interesting :P

Unfortunatly i don't know if im going to have time for this for the next months, so it might take a while before i even can decide wheither i really will try again.
Wait, your saying you never gave me the Inventorybank beta? i can show you our whole conversation we had about that. Man i'm confused..
Last edited by mentalhunter on Mon Jan 07, 2008 11:08 pm, edited 1 time in total.
User avatar
Cookies
OldUnreal Member
Posts: 12
Joined: Sat Sep 15, 2007 11:17 am

Re: Inventory Bank (Keep Inventory)

Post by Cookies »

Where did you see me say i didnt give you a beta :p, i abandoned it shortly after i had given my last version you.
Jâçkrâßßit

Re: Inventory Bank (Keep Inventory)

Post by Jâçkrâßßit »

oh! oH! oh! I bet smirftsch is a MySQL master!!!!!!!!!!!!! ;D
User avatar
.:..:
OldUnreal Member
Posts: 1634
Joined: Tue Aug 16, 2005 4:35 am

Re: Inventory Bank (Keep Inventory)

Post by .:..: »

I could have had it save to an INI file for every player that ever joins the server. That could require an array large enough (many thousands) to give a sense of almost permanence. I decided against that partly because of what was already mentioned above and in this thread that has to be dealt with.
Thats not quite correct.
You CAN use "PerObjectConfig" to give multiplie save entires for players, for example:

Code: Select all

Class Mysaver extends Object PerObjectConfig Config(MyInventory);

var() config string PlayerInv[100];
Then get output in MyInventory.ini in smilar to:

Code: Select all

[Player1Inv]
PlayerInv[0]="UnrealShare.DispersionPistol"
PlayerInv[1]="UnrealI.Rifle"
PlayerInv[2]=""
...

[Player2Inv]
PlayerInv[0]="UnrealShare.DispersionPistol"
PlayerInv[1]=""
PlayerInv[2]=""
...
But that is only if you know how to use this in a correct way.
1823223D2A33224B0 wrote:...and now im stuck trying to fix everything you broke for the next 227 release xD :P
(ಠ_ಠ)
Jâçkrâßßit

Re: Inventory Bank (Keep Inventory)

Post by Jâçkrâßßit »

wait, so this database structure will work inside the engine  :o ? This would be a seriously cool tool for admins who want their members to have a saved inventory!

I don't understand this really.. How does this script bring back the "string" information from the players inventory into this weapon database?  Nothing seems to be feching it.  Also, how are each individual player labeled by 1, 2, 3, 4?  Is it through their player ID?

I wonder if this would use that "GetStringName()" (or somthing along those lines) to fetch the information for each player....
Last edited by Jâçkrâßßit on Fri Jan 11, 2008 4:59 pm, edited 1 time in total.
User avatar
.:..:
OldUnreal Member
Posts: 1634
Joined: Tue Aug 16, 2005 4:35 am

Re: Inventory Bank (Keep Inventory)

Post by .:..: »

Well heres a mod already using that code:
[url]http://www.unrealshredder.com/redirect_ut99/InvKeeper.zip[/url]

It is created/compiled on Unreal Gold, so I dont know how it works with rest of unreal versions!
Useage:
Add "InvKeeperClient" to ServerPackages.
Add "InvKeeper.InvKeeper" to mutators when you start your server.

And that should be it, it saves players inventory on "SavedInvFile.ini".
1823223D2A33224B0 wrote:...and now im stuck trying to fix everything you broke for the next 227 release xD :P
(ಠ_ಠ)
User avatar
Zombie
Administrator
Posts: 322
Joined: Thu May 09, 2002 11:44 pm

Re: Inventory Bank (Keep Inventory)

Post by Zombie »

Interesting config use. However, I don't see what can be done to delete unused object configurations from file. The INI file will keep growing without manual pruning. Letting it grow forever on its own without a function to prune doesn't settle well with me. Also, since 'DataObject' is not supported until UT2003/UT2004 those handy GameInfo DataObject functions can't be used. They don't exist in UE1, nor does Object.ClearConfig() to delete specified PerObjectConfig entries.


-Zombie
Pcube

Re: Inventory Bank (Keep Inventory)

Post by Pcube »

Personally, I like Zombie's idea of a remote database best. I think the KAOS clan is fairly adept at using the internetlink classes, and I remember them trying to implement some remote database for stats a long time ago... Massive arrays are indeed cumbersome, but are usually more appealing to coders than making some complex communication hierarchy.

Also, I remember trying to use perobjectconfig in Zeldagame (as per .:..:'s suggestion), and it didn't work. Saveconfig in a perobject class simply did NOT save config.. Chances are that I was doing something wrong, but it looks like the idea's shot anyway.
Last edited by Pcube on Sat Jan 12, 2008 10:29 pm, edited 1 time in total.
User avatar
Quasar
Posts: 1
Joined: Mon Dec 21, 2020 10:11 am

Re: Inventory Bank (Keep Inventory)

Post by Quasar »

Well heres a mod already using that code:
[url]http://www.unrealshredder.com/redirect_ut99/InvKeeper.zip[/url]

It is created/compiled on Unreal Gold, so I dont know how it works with rest of unreal versions!
Useage:
Add "InvKeeperClient" to ServerPackages.
Add "InvKeeper.InvKeeper" to mutators when you start your server.

And that should be it, it saves players inventory on "SavedInvFile.ini".
Have someone a new link for this? I cannot find InvKeeper anywhere.
User avatar
Rubie
OldUnreal Member
Posts: 170
Joined: Sat Jan 19, 2013 9:30 am
Location: Belgium
Contact:

Re: Inventory Bank (Keep Inventory)

Post by Rubie »

Here you go :)

http://redirect.rubiesunreal.com/Public/InvKeeper.rar

Greets,

Rubie



Well heres a mod already using that code:
[url]http://www.unrealshredder.com/redirect_ut99/InvKeeper.zip[/url]

It is created/compiled on Unreal Gold, so I dont know how it works with rest of unreal versions!
Useage:
Add "InvKeeperClient" to ServerPackages.
Add "InvKeeper.InvKeeper" to mutators when you start your server.

And that should be it, it saves players inventory on "SavedInvFile.ini".
Have someone a new link for this? I cannot find InvKeeper anywhere.
I have no signature :)
Post Reply

Return to “UScript Board”