[Info]Rp character info, ingame. [Formatted]

Discussion in 'Archived: Plugin Requests' started by Ferkswe, Apr 23, 2012.

  1. Offline


    Plugin category:
    Not sure

    Suggested name:
    The rp infomatic, fruitsoda. I have no idea.

    A bit about me:
    I'm Ferkswe, I'm a server owner and I am currenly helping a friend set up a roleplaying server. I love all server related things and I help others whenever I can. This here is my second request, the first one is currently in use on our server and it's working perfect.

    What I want:
    This plugin is a bit bigger than my previous requests but it has potential and I am supriced it doesn't already exist. So what I want is a way to neatly organize your characters information ingame such as your biography and basic info like your rp-limits but also what weaponry you have and how you obtained them. This is to keep people from "OH I HAVE A DIAMONDSWORD, THAT I FOUND" and force them to have a legit RP reason that everyone can see.
    So another player/admin (depending on how you set it up) can read up on other peoples biographs before they start roleplaying with them to avoid confusion. While this might seem like an insane ammount of metagaming it depends on how you look at it. Sure it can be used to powergame in an rp, but since we aim for good professional roleplayers it will mearly be used as a tool to know what and why happened. It can also contain day to day events like "Severely wounded but survived. Now crippled in left leg" which will let better roleplayers make sure that newer/less good roleplayers stick to thier storyline.

    TL;DR Plugin for keeping track of character biograph, events and weaponry.

    Ideas for commands:
    That all depends on how it all turns out in the end but something simple like
    /something bio and here you can put your biograph in, this command only adds to the biograph, so you can do it multiple times for longer bios.
    /something edit linenr This will let you edit a specific line in your biograph.
    /something delete
    /something Limits This is where you can put in your Rp limits.
    /something Armor This is where you can put info on what armor you use and how you got it.
    /something weapons This is where you can put info on what weapons you have and how you got it.

    Ideas for permissions:
    When I'd like it by:
    Whenever possible but I realize it might be a bit big so no hurry.

    Similar plugin requests:
    No idea.

    Devs who might be interested in this:
    All the roleplaying nerds out there.

    Final words
    I know this might seem like a bit of a mess but I have it all so very clear in my head how I want it. If you have any questions just let me know and I can try to answer them. This is just an idea that I got and figured I would try it out. What fun is it to spend hours and hours on a biography only to have noone read it.

  2. It is true, it has potential. Please specify a clear list of requirements and I will begin working on it.
  3. Offline


    Well, uhm.
    There will be three parts of it, the bio, the limits and the physical character.
    The bio part needs to support easy editing of a lot of text. Since you cannot input a whole not in minecraft it would need a write and an edit command. The write command adds more text to the bottom of the text. With edit you can edit things written on a specific line, so when you bring up your biograph using a command it will be numbered by lines so /something edit 2 will let you input new stuff on line two.
    Maybe there could be an adding mode (similar to how Citizens 2 works) where you only have to input the adding command once and then you can just type in regular chat, and it cuts it from the chat and puts it into the plugin.
    So that's my idea for the bio part right from the top of my head. Could use some expanding and thinking.

    (The next two parts are the ones I actually need, the Bio part is just added fun.)
    Next part is the limits part. This is just so when you see a player you can look up thier roleplaying limits and know how far you dare take things. This too could need an add and an edit mode depending on how much limits you will have.

    Then it's the characters physics part.
    This would contain if the player has reported any injuries, cripples, weaponry/armor (with expansion to read "how-I-got-it"lure) It could also contain a small day to day journal for one line inputs. Like "Went exploring, hurt foot." I have seen something similar to that in another game which worked pretty nicely and it was fun reading other's day to day stories.

    That's pretty much it.
    Thanks for showing intrest! If you have any questions just ask away.

    Biopart: Easy adding and editing long texts.
    Limitspart: Easy adding and editing shorter texts.
    Characterpart: General physical status showing cripples, injury, discease. Weaponry/armor part showing what you have and how you obtained it. Day to day journal for one line comments about your life.
    Nodes for reading others and your own texts.
    Nodes for editing others and your own texts.
  4. Offline


    As I read over this, I think that surely its possible, and in fact it should be fairly simple for its core functionality. The major problems I foresee are as follows:
    • Size. I mean data storage. Where would all this text go? On host computer? In a SQL Database? If I know my RP'ers, I know these backstorys/bios will be pretty huge. Sometimes pages long!
    • Text Walls. Sadly, so far as I know, minecraft doesn't doesnt handle text very well. The text system is meant to be used for player to player msgs and commands, and even these are shortened. In your mind you think "pagination" but that extends the commands even longer. My in game name is Bunny_Bacon. So even if we try to shorten the command as small as possible, like "/rp" the command would look like this: "/rp bio Bunny_Bacon 1" which prints a wall of text then "/rp bio Bunny_Bacon 2" and so on. While this is possible, I know many people are going to be much too lazy to go through so much trouble. We would need some kind of shortening system.
    • Editing. I think this is going to be the worst part of it. So far as I know there isnt any way to add something into your command line or add it to your clipboard. So if someone made a typo... Ouch. Of course theres ways around this but with just that alone theres going to be a major hole.
    As I said. Surely its possible, but I think that doing this might be going about it the wrong direction. I dont know if you have a website or anything, but I think the safest and most constructive way could be to have a YAML file that stores each player and in that storage it host a series of links for each person. Each leading to their respective piece. With one of them not being a link but instead a mini description about themself. Like /rp bunny_bacon bio that is only 255 characters long.


    Ok. With that in mind there is a much nicer way of handling this. Which would require you to have your own website / SQL server. You could, create a form on your website that saves its information to a database. Its schema would look something like this:

    | ID | username | character_name | bio.......................... | equipment.................... | etc | key
    | 01 | bunny_b..| Bunny the awes..| There once was a....| He got his sword like... | etc | H21GA9

    With it being on a form, all the editing, creating, manage, is all handled in the same place that the users register. They register at your website, then it takes them to a character creation which is tied to the account and returns to them the key that they copy and paste into their minecraft client while on your server. To do this all they need to do is:

    /rp character new [INSERT KEY HERE]

    This severely lessens the load on the plugin itself, which now only needs roughly 3 core commands, and then another series of much smaller commands for each section you actually want. Should look like this:

    1. Character new (key) - Sends the key to the server, requesting the database ID for the listed character. This location is saved in a YML for quick reference. The reason for the roundabout method is for the sake of security. Wouldnt want to give players access to the database number. You could instead just use the players own name. But a key allows for multiple characters to be saved and loaded for future editions of the plugin.
    2. Character Print (msg, page = 1) - This is the function that does the actual posting to the minecraft server to whomever asked. Here is where the paging is handled. Text walls are unavoidable if you want them posted to the server.
    3. Listener (command, asker, page ) - This function listens for whomever asked the question (who wants to know) and handles what to retrieve from the server. Where it then gets the ID from the yml, goes the the database location and retrieves the data requested. It then generates the msg, then calls the print function who pages it, and sends it.

    This project will be more heavily reliant on what you, as the server host, have at your disposal. Ie a website and database.
    And the reason why I posted all this here is.. while I am a programmer... I dont know java. >_> Dont judge me.
  5. Offline


    Very good points. While going with Hardcore mode would be rather sweet I have no idea how to set such a thing up. If you feel like programming it, go right on ahead.
    And yeah, loads and loads of text might not be fun to read ingame. Maybe just keep it to the rp limits and equiptment that you might actually have to look up on the go.
  6. Wall-of-text is my concern aswell.
    I will begin development tomorrow. I will update you on the progress when I know if I can achieve what you have described in a meaningful way.

    This is a made up usecase, to see if this is something you are interested in.
    1. Player joins the server
    2. Player types /srpg create <Char Name>
    3. Player types /srpg select <Char Name>
    4. Server changes Player's name to <Char Name>
    5. Player types /srpg prefix <Prefix>
    6. Server adds/changes prefix to selected char
    7. Player types /srpg suffix <Suffix>
    8. Server adds/changes suffix to selected char
    Now you have set up your characters name(s).
    A player will only be able to select Char's they have made.
    Number of chars pr. person could be specified in config.

    I need to know what kind of RP you want. Do you want a World of Warcraft-style, where levels, hp, skills and so on doesn't matter, or do you want a DnD style RP plugin, where everyone has a set of skills that can be incremented by points they get, from leveling up their char?

    Leveling up a char would be automatic, but experience should be given by a GM.


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 25, 2016
  7. This is done by the players:
    1. /srpg create John
    2. /srpg select John
    3. /srpg prefix Sir
    4. /srpg suffix Doe
    5. /srpg set age 20
    6. /srpg set gender Male
    7. /srpg set occupation Royal Jester
      • (or /srpg set work Royal Jester)
    8. /srpg set bodytype Scrawny
    9. /srpg set scars No visible
      • (or /srpg set scar No visible)
    10. /srpg set other Tattoo on back partially visible on neck
    11. /srpg set currently Wounded in arm, looking for help.
      • (or /srpg set current Wounded in arm, looking for help.)

    Would give the following information when typing "/srpg info John":

    ==========[ Information ]===========
    Name: Sir John Doe
    Age: 20
    Gender: Male
    Occupation: Royal Jester
    ==========[ Physical Traits ]===========
    Body-Type: Scrawny
    Scars: No visible
    Other: Tattoo on back partially visible on neck
    ==========[ Currently ]===========
    Wounded in arm, looking for help.

    Is there anything else, that won't be too large to show in the text-window? :)
  8. Offline


    Wow that Plugin sounds awesome, would love to have that for my server, but i also have a few ideas to make it better, the plugin could actually hook into for example the k/d list from heroes or something similiar and print it there, something like "I fighted 123 times and won 120 of my fights" etc. :D would be really cool and if we are speaking over hooking into heroes, it would be AWESOME if it could display what class you're in etc. :) and if it also could hook with Marriage and some Questplugin (yeah i know i'm going to far here and i know, hooking into another plugin is really hard to do, but with such hooks here, we could make THIS ONE one of the greatest roleplay plugins eva ...
    so all my "hook with that and this" are just suggestions for FAR in the future , that i and propably a lot of other people would LOVE to have ^.-
    p.s.: a hook with towny for the players hometown would also be nice and if we are that far, the faction he is in should be displayed also ... wow, if we find a developer with skills like Steve Jobs*Bill Gates + Chuck NorrisĀ²*the developer of the Matrix, this could be possible ... and one of the best plugins out there xD
  9. Shouldn't be a problem at all, given that those mentioned plugins are programmed decently.
    The problem of a WALL-OF-TEXT is still an issue.. :/
    I will work on releasing it tomorrow :)
  10. Offline


    Hey! Sorry for the terribly slow response! I love where you are going with this. My idea with this is to give easy access to vital information when you are in-game and just about to engage into rp. An extra idea I had was to be able to give points to players, so if I RP with you, and I have a good experience, I can give you a + and if it was bad I can give you a -. This can later be used to see if the player has repeatedly gotten downvoted or upvoted.
    When it comes to hooking into other plugins for stats I personally do not see a use for it, it's not for bragging, it's for keeping track of your character.
    When it comes to giant walls of text this plugin seems to have a good way of handling it http://dev.bukkit.org/server-mods/bookworm/

    Thanks for doing this!
  11. Offline


    TheSommer Any progress? :D I can help you test and document it once it's out.
  12. Ferkswe Give me ~an hour~ and I will have a working jar for you to test.
  13. Offline


    Sweeeeet. :D Thanks for doing this!
  14. @Ferkswe I've been confusing myself with some HashMaps, need additional time to fix.
  15. Offline


    Ooow, What's HashMaps? :O
    Anyways, take your time. I just wanted to check that development wasn't dead.
  16. HashMaps is a way of storing Data. It has a Key and a Value. After the creation of a HashMap you can use the Key to find a Value. I use it alot to keep track of players, since player-names are good as Keys. Problem is, it gets confusing when you are too lazy to do a proper design analysis and you have HashMapCeption.
  17. Offline


    That was not nearly as fancy as I thought it would be but thanks for explaining! Now I'll know for the next time someone say's HashMaps.

Share This Page