[INACTIVE][FUN/MECH/RPG] EasyRPG v0.9.7 - The easiest RPG plugin you'll use! [928]

Discussion in 'Inactive/Unsupported Plugins' started by Mark Lohstroh, May 4, 2011.

  1. Offline

    Mark Lohstroh

    EasyRPG - Version: v0.9.7

    I am now going around and visiting public servers with my plugin. So if you want me to visit your server and get ideas from your people on your server please message me! I love doing it.

    NOW MCMMO COMPATIBLE!

    This is an easy RPG plugin (hence the name). There are currently four classes. Warrior, Mage, Rogue, and Archer. For each class there are two stats. A primary stat and a secondary stat. Each class has their own skills. Skills and stats will be explained below.

    Commands:
    • /rpgstats - Displays your level, primary and secondary stats and current mana
    • /points - Displays your points that you can distribute
    • /class - Lists classes you can chose from or displays your own class
    • /class [class_name] - Chooses your class
    • /points [1 or 2] [points to add] - Adds points to your primary [1] or secondary [2] stat
    • /xp - Displays how much XP you have left till your next level
    • /skill - Skills you've unlocked and lists their mana requirements
    • /skill [skill_name] - Switches your skill to that skill (Skill names are case sensitive)
    • /changeclass [class name] - Changes your class but cuts all your xp and stats in half!
    • /reloadrpg - Reloads all the constants and properties files
    • /resetplayer - Removes the player from the database allowing him to start over
    Download the Plugin


    Download SQL Lite Put in the same directory as bukkit.jar

    Requires Permissions,

    Nodes: 'easyrpg.canrpg' for normal users and 'easyrpg.canreload' for OP's

    Source Code

    Admin Info:
    The plugin creates a EasyRPG.config file where it includes customizable xp values when you kill or break blocks. For now, don't add in any extra blocks because I haven't put in any block ID recognition yet.

    Stat Info:
    When you attack, the damage dealt to the mob/player goes like this.

    initial damage * 1.03 ^ firstStat

    And defense goes like this

    1.06 ^ secondStat

    Very Simple


    When you level up, your mana will go up also. It goes up as much as your first stat.

    Mana regenerates every second and more regenerates when you add points to your second stat.

    All mage skill are used by a right clicking when holding stick (Wand or Redstone Torch). Archery skills work when you shoot an arrow. Depending on what your current skill is thats what will happen. Warrior skills are mostly passive. Leeching health is the only thing thats not passive. And it happens when you hit someone.

    Configuring Skills:

    To configure a classes' skill, you need to open up their config file. In there, you'll find the default skills. To make your own skills, you'll need to follow the format. The format should be included in the config file but here it is for reference anyways.

    The format goes like this [level of skill]:[skill name]:[skill effect]:[skill effectiveness]:[mana needed]

    So and example for a weak fire ball would be. 1:Weak Blast:fire:1:20

    [level of skill] is just what level the player needs to be.
    [skill name] is the name that the user will have to type in to switch to that skill
    [skill effect] is the effect that the skill will have on impact. They are pretty easy to figure out.
    [skill effectiveness] is basically how hard the skill will hit. You can currently only put 1 or 2 in here currently. But a 2 will have more effect than a one basically.
    [mana needed] is just the amount of mana needed to cast a spell.

    Skill Effect List - These are the exact effects that need to be put into the config file
    Show Spoiler


    Warrior - Can only use swords
    • att_up - Passively increases warriors attack
    • resist - Resists any skill effect cast on the warrior. The mana for this should be decently low to make the warrior a more appealing class. Note: Skill effectiveness will not change the efficiency of the skill.
    • leech - Leeches health
    Mage - Can't use a bow or above an stone sword
    • fire - Casts a fireball at the user, only catches on fire if the spell hits
    • heal - A healing spell. Note: The efficiency if this spell should be set to 1 and the priests heal set to 2 just to make the priests a bit nicer.
    • lightning - Casts one or five lightning bolts on the entity if the spell hits
    • explode - Creates an explosion if the spell hits the entity
    Archer - Can't use above an stone sword
    • fire - Same as mage, only if the arrow lands
    • lightning - Same as mage
    • poison - Right now, catches the user on fire for so long. So less powerful than the fire arrow.
    • explode - Same as mage
    Rogue - Can use bows and swords
    • vanish - Lets the user vanish from sight and do anything he likes. Until he reappears. Used by sneaking
    • trap - Traps the user in a spider web so the rogue can finish them off
    • poison - poisons the hit entity
    • STEALING TO COME
    Priest - Can't use a bow or above an stone sword
    • cure - Cures the user if the user is on fire.
    • group_heal - Heals everyone in the priests range. ALSO HEALS OTHER PEOPLE ALSO
    • heal - Recovers a certain amount of health. Note: Efficiency should be set to 2
    • barrier - Puts up a 3X3 barrier of cobble stone for protection. Note: Skill efficiency has no effect on this
    • passive_heal - When this is the priests current skill, and mana permits, the priest will regain health over time
    • cure_all - Cures everyone in the priests range of fire


    Known Issues:
    • People can work around the weapon restriction. (will be fixed in v0.9.7)
    • Fishing rods have the same effect as a arrow if the player is an archer
    TODO:
    • Switch from sqlLite to mySql
    Changelog

    Show Spoiler


    Version 0.9.7 - MORE BUG FIXES!

    • Permissons support has been added! 'easyrpg.canrpg' for normal users 'easyrpg.canreload' for OP's​
    • Stat names now change along with the class​
    • Invisiblity issues are fixed​
    • The book scrolling is finally fixed, NOTE: In order for this to work correctly, in the config file, you must line the skills up going from lowest level needed to highest level needed.
    • Leech SHOULD be fixed.​
    • Monsters are nastier and you can now defend against them​
    • Block xp should scale now.​
    • Fixed the stats disappearing and reload issues. You can now use /reload all with my plugin!​
    • Fixed the healing players when you attack them. (Thats probably why you couldn't kill anyone :p)​
    Version 0.9.6 - Mainly just a bug fix update
    • Hopefully fixed the disappearing info for the players NOTE: Not completely
    • Priests' barriers only last for 30 seconds
    • The stat system has been redone.
    • Monsters are now more powerful and you will now have defense against them.
    • Added more commands, allows for my plugin to reload my constants
    • CHANGED THE .CONFIG FILES TO .PROPERTIES YOU MUST SWITCH THE STATS OVER. This change was made due to some ftp clients not being able to handle .config files.
    • Changed /add to /points
    • Fixed the healing issues and mana draining NOTE: Nope...
    • Group xp now hopefully working ;)
    • Half step disappearing when lit on fire SHOULD not happen now.
    Version 0.9.5
    • Fixed the rogue reappearing bug
    • Xp now scales up when you are a higher level
    • Fixed stupid typos in my source
    Version 0.9.4
    • Added priests and rogues
    • Added skill effects for priests and rogues
    Version 0.9.3
    • No more sneaking for mana. Mana regens every second
    • Heal actually heals
    • Effect group_heal has been added, not tested yet.
    • Inventory null pointer fix
    • mcMMO compatible
    • changed /stats to /info
    • A redstone torch now acts as a wand
    Version 0.9.2

    • Bug fixes!
    • No more negative mana
    • Fast skill switching via right clicking while holding a book.
    • Found bug that i was surprised that no one complained about...
    • You will find a rouge.config, but don't screw around with it, it won't get you anything and you can't choose it yet. Thats in v0.9.3
    • I toned down the attacking a LOT. So all damage dealt is now multiplied by 0.2 so we don't have someone how just boosts his first stat a ton.
    Version 0.9.1

    • Fixed issues with fire destroying non-air blocks.
    • Fixed the calculations for damaging mobs.
    • Removed the weapon just disappearing and reassigned it to another empty inventory slot.
    • All skills are customizable and scalable! They are in their own config files in the EasyRPG directory
    • All you need is the jar file to run the plugin now. The plugin will take care of the rest.
    Version 0.9
    • Published the plugin

    This plugin may not be worth donating towards yet, so thats ok. Don't feel obligated.

    [​IMG]
     
  2. Offline

    smokie

    When i edit the class files to change the class skills around i have noticed that the book no longer will read all the spells i have unlocked. The spells are still there. A check of /skill shows them and i can change them with /skill skillname. I miss the book idea, it was realy nice just buggy i guess. :(
     
  3. Offline

    ndb

    Is it possible to customize spell effects, at all? I'm not sure if this would require something more advanced, such as source editing, but my basic idea was to turn the priest a bit monkish, and give him a timed ability where he does higher damage when punching opponents. Any clue on this one? Great plugin!
     
  4. Offline

    Mark Lohstroh

    Yes, /reload breaks my plugin. I'm not entirely sure WHY it does it or HOW.

    I will fix that leeching health issue. No one had told me it was that way.

    I am actually going to be doing my own quest plugin for this but I might integrate with uQuest also if people prefer that.

    Mana potions are a good idea. I don't think i can get key presses sadly enough. If I could that would change things immensely.

    Sorry about the invincible players..... my heal spell shouldn't have this many issues >.>

    They are healing others? Are they warriors with the leech or something else?

    Huh... i thought I had fixed that cause it worked on my side. I'll look into it cause the book is REALLY handy a lot of the time.

    You can only use the spell effects that I have listed. But I am trying to add more so the admins can have a better amount of spells to put in.

    I'll let you know when I put more effects in. And if you have any "monkish" spell effect ideas for the priest, please tell me :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  5. @Mark Lohstroh the users who reported the issue to me were mages - it seems to be the same with every class though. (Though I haven't tested with people who actually have low health - at the very least it's not letting people damage each other)
     
  6. Offline

    Mark Lohstroh

    So essentially, everyone can't really kill each other?
     
  7. Offline

    Mark Lohstroh

    I'll fix it... I have NO idea WHY its doing that though.....
     
  8. Offline

    raoulio

    Nice plugin!
    The only thin i kinda diddn't like was that if you are an Archer and you'r out of mana but still want to shoot arrows, it keeps spamming "out of mana" or am i doing something wrong.

    keep up the good work! ;)
     
  9. Offline

    Mark Lohstroh

    Switch to the None skill
     
  10. was looking through your source code, where do you hide the spell effects (the actual what it does, not the graphics though they are probably in the same place huh)?

    spell ideas: since archers and mages have virtually the same 'spells' might i suggest:

    mages - replace lightning with 'gravity flux' (yes the EQ1 spell), on impact launch the target mob into the air and let gravity do the rest.

    archers - poison arrow also has a slowing effect if that is possible, whatever effect 'soul sand' has, do that. So change the graphic effect from fire to the particles from fire if that's possible (like mushroom spores flying out or disease)
     
  11. Offline

    Mark Lohstroh

    Its in the XPHandler.java. And thanks for the suggestions.
     
  12. i would be nice so not all players can use this as like only people we trust can use the pugin people we call Trusted. :D
     
  13. Offline

    Kritines

    Love the plugin you made. Easily my favorite rpg-style one.

    Unfortunately, due to the latest patch my mage can no longer regenerate mana. I'm stuck at 18, unable to regenerate by waiting or sneaking. It'd be nice to be able to unleash my PHENOMENAL COSMIC POWER upon the masses, but alas, I'm stuck with a machine-gun magic missile barrage.

    If you'd like to visit the server I'm on, the IP is (88.190.23.227:25655).
     
  14. Offline

    Mark Lohstroh

    Ah, ok I see now. That, for whatever reason, did not occur to me :p Permissions support next release!

    And you're positive that you're not just regenrating it REALLY slowly?
     
  15. Offline

    Kritines

    I'm a level 17 mage with 37 luck and I've been on this server for two hours. It'd be an even bigger problem if that was the case.
     
  16. Offline

    Mark Lohstroh

    You're level 17? how much have you been grinding mobs? I'll search for that error...... My plugin may have just broken... i'm not sure though
     
  17. Offline

    Kritines

    Revenge is a powerful motivator, let's just say that.
     
  18. Offline

    Mark Lohstroh

    Gotcha... and i'm not whitelisted on the server :p So i won't be able to join you.
     
  19. Thank you so much all the server saff @ Mine-rp :D
     
  20. Offline

    Kritines

    How odd, the admin keeps saying there's no whitelist and I've never applied for the whitelist. I don't know why some can't join.
     
  21. Offline

    raoulio

    dont i lose my lvl's then?
     
  22. Offline

    Mark Lohstroh

    Your levels? no. you just don't have a skill currently equipped.
     
  23. I think the Rogues should have a "Blink" skill. This is basically a way to teleport. Perhaps limit how many blocks away they can teleport to dependant on level, as well as how often they can use it. It should be as simple as left clicking in a direction with a certain item in your hand (I'd suggest feather, but I know some teleport plugins use that, so perhaps paper?), then it'll teleport you x blocks in that direction. This would drain mana aswell as have a time limit between uses.
     
  24. Offline

    Mark Lohstroh

    I had planned something like that. I'll be adding it. But I must fix these stupid issues so you guys can stable plugin.
     
  25. Offline

    Ratchet

    what's the highest level, and with the default EXP values how long would it take an average player to reach the max level?

    Code:
    #Player and gold received depends on level.  This is a multiplier, keep it between 1-10
    player:5
    gold-recieved:5
    what is this? iconomy money? can't find any explaination on it.

    /changeclass [class name] - Changes your class but cuts all your xp and stats in half!

    when you change class and it does that, is that halfing the XP and stats of the class you changed from? it doesn't affect the new class?
    is there a way to disable that happening? or perhaps just resetting the players XP but keeping the level and stats the same?

    it also says: but your mana regen will be based on how long you sneak plus your second stat.

    but my mana is regenerating even when not sneaking, is that intentional?

    also as a request it would be great if we could configure what weapons (and even armour) certain classes could use
     
  26. Offline

    Rokamuda

    How I can use skill Vanish in Rogue class? I must shake something? sojrry for my English:)
     
  27. Offline

    Ratchet

    crouch

    some errors to report:

    Code:
    2011-06-17 06:10:09 [SEVERE] Exception in thread "Timer-5"
    2011-06-17 06:10:09 [SEVERE] java.util.ConcurrentModificationException
    2011-06-17 06:10:09 [SEVERE]     at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    2011-06-17 06:10:09 [SEVERE]     at java.util.AbstractList$Itr.next(Unknown Source)
    2011-06-17 06:10:09 [SEVERE]     at com.ninename.easyrpg.EasyRPG.checkForBarrierDestruction(EasyRPG.java:578)
    2011-06-17 06:10:09 [SEVERE]     at com.ninename.easyrpg.EasyRPG.handleAllTimerTasks(EasyRPG.java:538)
    2011-06-17 06:10:09 [SEVERE]     at com.ninename.easyrpg.EasyRPG.access$0(EasyRPG.java:525)
    2011-06-17 06:10:09 [SEVERE]     at com.ninename.easyrpg.EasyRPG$HandleTimer.run(EasyRPG.java:610)
    2011-06-17 06:10:09 [SEVERE]     at java.util.TimerThread.mainLoop(Unknown Source)
    2011-06-17 06:10:09 [SEVERE]     at java.util.TimerThread.run(Unknown Source)
    Code:
    2011-06-17 06:15:58 [SEVERE] Could not pass event PLAYER_INTERACT to EasyRPG
    java.lang.NullPointerException
        at com.ninename.easyrpg.RPGPlayerListener.onPlayerInteract(RPGPlayerListener.java:326)
        at org.bukkit.plugin.java.JavaPluginLoader$10.execute(JavaPluginLoader.java:306)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:166)
        at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:212)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:550)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-17 06:15:59 [SEVERE] Could not pass event PLAYER_TOGGLE_SNEAK to EasyRPG
    java.lang.NullPointerException
        at com.ninename.easyrpg.RPGPlayerListener.onPlayerToggleSneak(RPGPlayerListener.java:450)
        at org.bukkit.plugin.java.JavaPluginLoader$20.execute(JavaPluginLoader.java:376)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:807)
        at net.minecraft.server.Packet19EntityAction.a(SourceFile:34)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    I was trying this out with MobArena plugin, I threw up a couple Barriers as a priest and then noticed my mana wasn't regenerating, checked the log and saw these.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  28. Offline

    Matt

    First a few things....

    This plugin is great. It has tremendous potential to be a powerful dynamic rpg system. This is definitely on the right track to becoming one of the best plugins for bukkit in regards to rpg.

    That being said, at this point in development it is still very rough around the edges.

    I was initially debating using this plugin on my server, specifically because it works with mcmmo, which is fantastic. Its the perfect addon in conjuction with mcmmo to really make a comprehensive rpg experience.

    However I have compiled a list from testing of a few of its bugs and shortcomings, for your information and I hope you will be able to take this list and really make your plugin here take off.

    1. Persistance. The plugin is not persistant. At least not as far as I can tell. One of my Server Admins hosted it on his test server and we tried it out so I did not personally see any of the additional options you may have to make it more so. However a huge shortcoming is the inability to save directly and automatically rpg and player progress skills. If this is an option already please disregard.

    I would suggest on this matter having a drop in configuration for sqllite with additional configuration options for those who want to use mysql.

    On this note too, having to save manually using commands is kind of bulky. The name is EasyRPG it should be easy. Especially for the players, and not just the server administrators. Auto saving of stats and information should be a must. With database integration I cannot really see this being a problem. Especially since SQL lite is, well lite, and mysql is very quick depending on server speed.

    2. Commands.
    Command usage is a little.... rough. I believe in order to process correctly you need to verify the string commands and in the event of every wrong command hook a process that shows you the correct format or relevant list of commands or options you can use with each command. Frequently when trying to use your plugin I find myself wondering, did that work, or did that not work? Issueing a command incorrectly more often that not returns nothing in the chat to indicate it worked.

    That does not make it particularily easy to figure out the system. For instance with the priest or mage, upon assigning a class, say that you have chosen the mage class, use the stick as a wand to use your skills along with indicating you need to select your skill. Even better, a quick blurb that says, you have selected the mage, equip a skill and use it with the stick [280]. Also being able to use it with open hands would make sense too but thats just me.

    Also take the caps off. More often than not having to use capitol letters is not something most users will try right away. Either that or add a hook for lower and upper case, not case sensitive. Reduces confusion.

    All in all except for some gui and response issues me and my staff were very very impressed with your plugin. I sincerely hope it really takes off and I awaite future updates to add it to my server.

    Thank you for your time.
     
  29. Offline

    Mark Lohstroh

    Ah, i forgot about that. That value was if I ever wanted to put something like ecoCreature but I decided that I didn't want to screw around with that :p

    Now, mana recharges every second now. I'll update the forum post to reflect that.

    Barriers have issues and i'm fixing them right now actually. And for the first error, that will be fixed, the second error is fixed, and your third error SHOULD be fixed due to the second one being fixed. :p I think that the timer broke due to the fact that the barriers shut it down. I shall see.

    Ok, MOST of the bugs that you all mentioned are fixed. The few that are not fixed I either haven't gotten around to it or I just can't replicate them.

    But to tackle your HUGE post.

    1.What exactly do you mean by persistence? And my plugin saves every time the server is shut down or the player logs out. There is no command to save a players stats. I can put in a /rpgsaveall command to ensure that everyone is saved if thats what you mean.

    As for the sqlLite suggestion, apparentally mySql works with my plugin (for whatever reason) but it will only save to a sql lite file. I'm not sure what the issues are over mySQL vs SqlLite. I use SqlLite for basically all my plugins(i have some yet to be released) and SqlLite just works better I think. And like I said, the stats DO autosave. I'm not sure if you're having issues with that or not. And as for performance, I haven't seen a difference yet and no one has complained about it.

    2. Yes, you are right, I need a /rpg help. I'm actually thinking of redoing the whole command structure to be something like that /rpg [command] to make it nicer.

    Ah, empty hand can also work. I should try to make my plugin more user friendly. You are correct. I'll put that into this next version.

    Where exactly are the caps? I tried to eliminate that as much as I could. If you're talking about the spells then I don't control that. That is all configurable.

    This next version will fix (hopefully)all the bugs that you guys reported and some suggested user friendliness along with permission nodes.

    Any other suggestions are welcome :)
     
  30. Offline

    OutlawNL

    i really love you plug man! some great work your doing!
    1. if i use zap on a pig, it will never die but just disapear
    2. it would be nice to be able to hit other players with the spels, not only mobs? is that comming out soon?

    is there a way to check what version your downlaoded? because i am not sure about that. is there also a way to save the rpg stats when u update to the next version?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Aug 23, 2018

Share This Page