Plugin Idea: The Bank

Questions, comments, and news on the server side plug-ins and it's API
Post Reply
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Plugin Idea: The Bank

Post by I_Died_Once »

Here is an idea I've floated around befrore. This would have to be for version 2.2, as it requires teh server's manipulation of score.

Now, I have no idea how to code and how some of this would work. I got ideas, and this is all based off of this. Feel free to tell me if this is even possible or not, or if I am out of my mind.

The plugin would give a series of /bank commands. /bank deposit Would take a players positive score, and reset it to zero. Those points would go into the player's "bank account" - and the plugin would likely need a writeable config file, maybe. We'll require a "token" from the list server and make it for registered users only. Players can play and store their scores and save up some points.

Another feature could be to "withdraw" those points, and pull those points from their account and onto their current score. Also, server owners could somehow provide a ilst of "items" that can be purchased. For example, a server owner can set that a Stealth flag costs Ten or Twenty-Five points. THe API would make sure that 1) there are ST flags to be had, 2) if there is a ST flag on the field, not in play and ABLE to be had, and if so, then 3) /flag give's said flag to player, and deducts the players account.

No borrowing from the bank, no going into the negatives as far as accoutns go. The plugin would check if the players account status before any transactions go through. ALl transactions saved to a history file, perhaps. If you die without making a bank deposit, you lose your points. No grabbing a flag and seeling it for points (that is, can't sell that ST back for ANY points at all, or any other flags you might pick up) - plugiin should be configurable as to what is for sale and how many points is should cost.

THis would encourage long term playing, serve as an effective way to reward good playing, and maybe even add a "Role Playing Game" aspect to BZFlag.

Commands could include

/bank - account status
/bank deposit - resets a positive score to 0, and all points go into your account. Plugin gives a confirmation.
/bank withdraw # - the # would be how many points you want to take from the bank and add to your acore. If the player has it, it's added. if not, the plugin tells you and no points are withdrawn. The only advantage would be to be number one on the score sheet. if you get beat and the score worn down, you permanatelyl lose those points. You can deposit what you have left, however.
/bank sale - provide a list of whats for sale and how many points.

Thats just what I can think of right now. I'm sure this can be expanded upon. It'd be great if someone coded it up.
...This has been a recording.
User avatar
Tedius
Sergeant First Class
Sergeant First Class
Posts: 142
Joined: Tue Sep 19, 2006 6:10 pm
Contact:

Post by Tedius »

It seems like it would work, and it sounds like a good idea to me.

I think a simpler solution than deducting points for a bank deposit would be to deposit all the points accumulated when a tank leaves. That way you would not have to subtract points from the score, and I don't see why you couldn't do that now with 2.0.*

So after having a good round, I can look forward to buying the ST flag three of four times the next time I join.
this signature intentionally left blank
User avatar
Joe-Schmoe
Private First Class
Private First Class
Posts: 192
Joined: Mon Jul 24, 2006 1:10 am
Location: This field unintentionally left blank.

Post by Joe-Schmoe »

That. Sounds. Awesome.

However, I think that 10 points for a flag is a bit much, unless the flag was so good you were all but garunteed to kill 11 people with it.

Also, you could do /bank deposit with a negative score too, it would be the same as a withdrawal :)

Would you buy things with points from your current score, or from your account?
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Joe-Schmoe wrote:That. Sounds. Awesome.

However, I think that 10 points for a flag is a bit much, unless the flag was so good you were all but garunteed to kill 11 people with it.

Also, you could do /bank deposit with a negative score too, it would be the same as a withdrawal :)

Would you buy things with points from your current score, or from your account?
Thanks for the positive feedback.

10 points for a flag was just an example. As this is just an idea (I have no knowledge of C++) The spirit would be to have the server owner be able to set a price for each flag. While I might price GM at 10, L at 15, and G at 25 points, the next server to use this plugin might want L to be 5, and G to not be on sale (you gotta find it!) but GM to be 50 each. SOmeone might price US flags out at 100 just to see if anyone would buy any. This needs to be configureable, someway, somehow, as not all server owners are going to want to use the same sales catalogue.

Admins are going to be able to manually modify accounts. At Planet MoFo, one of the ideas is to involve a million points to buy something outrageous (along the lines of a spot on the billboard or such, something you can't actually do "in game) so an admin will be able to manually deduct so many points. And being able to access these points via the web would be a big bonus.

If someone can think of another use, or additional function the bank can provide. would be great. Again, I really think this would give a nice RPG feel and engle to teh game.
...This has been a recording.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Also instead of /bank deposit - we could just go with /deposit

same for /withdraw.

Maybe make it where you can only withdraw a chosen amount. If I got 75 points, and I only wanna bank fifty, as the second scoring player has only nineteen points... /deposit 50 would deposit 50 points. Allow it to take percentages, "all", and some others.


Can a plugin "ask" a yes or no question? Kinda like in some command line programs, yuo have to give either a "y" or N" responce in order to proceed... can we force the same answers out of players? We could integrate a confirmation if so.

Also, while I'm at it, (and this might warrant a new thread of its own) - how about another tab in the dialogue box for the admin channel. You know, to go along next to Chat, Server, All, Misc. For administrative messages, like "so and so was lag kicked" server chat, variable notices, and just things only admin would know. It owuld only become visible when the client recieves verification that it is an @ at the server
...This has been a recording.
User avatar
too much loving
Private First Class
Private First Class
Posts: 94
Joined: Sun May 23, 2004 7:47 pm
Location: Denmark
Contact:

Post by too much loving »

That is a fascinating idea, but somehow it must be avoided that players abuse the system.

If I start bzflag clients on two computers, then I can log both clients in to the same empty server. If I let one client win over the other, then I can add a lot of credits to its bank account. Perhaps that trick will end up being annoying.

Anyway the final goal should be to create a bzcredit market on ebay :)
Legolas_
Private First Class
Private First Class
Posts: 513
Joined: Thu Jan 20, 2005 10:24 pm

Post by Legolas_ »

Interesting idea I_died_once, I would love to see this put into play. Has anyone talked to 'enigma' about this? He may be able to help if he has the time to do it.
User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Post by DTRemenak »

I_Died_Once wrote:Can a plugin "ask" a yes or no question? Kinda like in some command line programs, yuo have to give either a "y" or N" responce in order to proceed... can we force the same answers out of players? We could integrate a confirmation if so.
At the moment, the only way to do this is the way polls do it (keep track of each player who makes the request, and ask them to type e.g. "/bank yes").

In the Mysterious Future, there will be a Better Way to ask for user confirmation.
User avatar
Tropican8
Private First Class
Private First Class
Posts: 312
Joined: Fri Mar 18, 2005 11:51 pm
Location: As close to the grove as you can get

Post by Tropican8 »

I'm sure this is obvious, but I'd recommend for the purchasing of flags that they be /given the next time the player spawns, not immediately. Playing while typing can be inconvenient at times. Then again, it may force players to develop that skill on servers that use the plugin.

Nice idea.
User avatar
Think_Different
Private First Class
Private First Class
Posts: 108
Joined: Thu Jan 05, 2006 3:03 am
Location: Washington, DC

Post by Think_Different »

I like it. However, I think that the bank account should be reset after a certain amount of time, say 24 hours of no use. This could prevent a situation
such as what too much loving stated. Also, there could be two different accounts, checking and savings. Savings could exist on 1 server only, but checking could be accessible on many different servers on the server network (such as norang, mofo, etc.). Checking should be reset, and savings should not be, but there should be a limit to how many points are in the savings account.
Image
User avatar
Hannibal
Private First Class
Private First Class
Posts: 1073
Joined: Mon May 02, 2005 10:27 pm
Contact:

Post by Hannibal »

I think it would be lame and stupid to share that data across servers. That would prevent a player from cheating as TML suggested. I could go in, stock points against n00bs, then go in and rank up mad scores on the camp-fest of your choice with whatever flag I wanted.
Games don't make people violent, lag does.
ImageImage
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Bleh... I'm of no opinion here. I mean... One idea is to have something outrageous be for sale for a million points, like a billboard in their honor, or access to a top secret project, 24 hours as an "honorary admin" - something you can /set and make happen in game. So... being able to bank up a bunch of points would be essential, and thus why I said it would have to utilize a "writeable" config file, or a banking file. I'll leave all that up to the coders.

If it gets set up to where it works across multiple servers (like norang or the servers on Planet MoFo) I would envision this to work similar to how the server control plugin does... one file being written to by several servers, read by all, and updated "live" - that'd be great. But personally, I would be happy wityh being able to carry points and accounts over from server restart to server restart.
...This has been a recording.
User avatar
Joe-Schmoe
Private First Class
Private First Class
Posts: 192
Joined: Mon Jul 24, 2006 1:10 am
Location: This field unintentionally left blank.

Post by Joe-Schmoe »

I agree about the points not draining every 24 hours, I want to stock up a huge amount and then have the server write my name on all the textures :)

I don't think the problem that was raised would be too bad, an admin with a sharp eye would probably be able to figure out what was going on soon enough, and that would probably be enough to discourage potential abusers. It's already possible to rack up high kill counts with two clients, and I don't see it happening.

Anyway it would be a "just for fun" type thing anyway, if some guy cheats the system it probably wouldn't be the end of the world.
User avatar
macsforme
General
General
Posts: 2069
Joined: Wed Mar 01, 2006 5:43 am

Post by macsforme »

I like the idea... but now we have a ton of ideas that require the 2.2 protocol... and no 2.2. :-) Brainstorming is cool, but personally I would put a higher priority on helping in the actual development work to bring the 2.2 release closer. As I understand it, developer numbers have been dwindling, so progress becomes more and more difficult.

I believe that many of us have the potential to contribute development time to the project, even those who have no knowledge of C++ or programming in general. It all begins somewhere, and I would encourage those who have never done any programming but desire to help out the project to stop by the IRC channel and get some pointers on how to get started. We may see a BZFlag version 2.2 yet! :-)
Post Reply