Action RPG Framework

by Forum_account
Action RPG Framework
A framework for developing action RPGs. [More]
To download this library for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://Forum_account.ActionRpgFramework##version=10

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:

byond://Forum_account.ActionRpgFramework##version=10

8040 downloads
Version 10
Date added: May 22 2012
Last updated: Jul 7 2012
126 fans
The Action RPG Framework is a library that provides functions specific to action RPGs. It handles things like:
  • Combat and dealing damage
  • Health, mana, money, and experience
  • Graphical effects and sound effects
  • Enemy AI
  • Managing passive, temporary, or periodic effects
  • On-screen displays (health meter, inventory, etc.)
  • Special abilities with mana costs and cooldowns
  • Picking up items and equipping them
  • Targeting enemies
  • Projectiles
  • Sound effects and music
  • Saving and loading
  • Character creation and selection
  • Quests
  • Enabling/Disabling PvP
  • Forming parties and inviting players
  • On-screen display of party members
  • Medals
  • Banking
The library provides the underlying features you need to create an action RPG. It also comes with a sample game that shows how to implement some basic features.

It's hard to determine where to draw the line between the library and a game that uses the library. For example, the framework only defines the player's health and mana stats. There are no stats like strength or agility - there's no way for the framework to know what stats you'll need. All additional stats must be defined in the project that uses the framework.

Comments

Raffile: (Aug 20 2019, 12:15 am)
I am having a clipping issue with the mobs in screen when they move towards the edge of the "tile" I don't understand how this has happened since I have played with this framework before with no problems I assume it has something to do with new byond updates but I figured i should post this here to let people know.
Claytonctc: (Feb 7 2017, 7:38 pm)
I had a question as to why you used tmp for your "wander_distance" bit of code. Is it just because you didn't want it cluttering up save files or is there some bonus to this i'm missing?
Lavitiz: (Sep 9 2014, 3:12 pm)
For those of you that are having trouble including the required libraries, I've repackaged it all for you. Just extract it and you're ready to go. Keep in mind that I recommend you use the download button on the hub so that all of the libraries can automatically receive updates if Forum_account releases any.

http://files.byondhome.com/Lavitiz/ Forum_account.ActionRpgFramework%20-%20Standalone%20Repack.r ar
Zetasis: (Aug 11 2014, 8:05 pm)
loading action-rpg-framework.dme
loading demo\interface.dmf
player-saving.dm:187:error: focus: undefined var
demo\enemies.dm:73:error: base_state: undefined var
demo\enemies.dm:107:error: base_state: undefined var
combat.dm:38:error: base_state: undefined var
combat.dm:39:error: base_state: undefined var
combat.dm:36:error: set_state: undefined proc
combat.dm:45:error: move: undefined proc
combat.dm:131:error: stop: undefined proc
enemy-ai.dm:140:error: move_towards: undefined proc
enemy-ai.dm:142:error: stop: undefined proc
enemy-ai.dm:177:error: path: undefined var
enemy-ai.dm:184:error: move_to: undefined proc
events.dm:67:error: overlay: undefined proc
hud-inventory.dm:474:error: client.focus: undefined var
hud-inventory.dm:481:error: client.focus: undefined var
hud-inventory.dm:490:error: client.focus: undefined var
hud-loot-window.dm:147:error: inside: undefined proc
hud-shopkeeper.dm:200:error: client.focus: undefined var
medals.dm:41:error: client.AddMedal: undefined proc
medals.dm:73:error: client.AddMedal: undefined proc
player-targeting.dm:37:error: client.keys: undefined var
player-targeting.dm:153:error: px: undefined var
player-targeting.dm:153:error: pwidth: undefined var
player-targeting.dm:154:error: py: undefined var
player-targeting.dm:154:error: pheight: undefined var
player-targeting.dm:156:error: a.px: undefined var
player-targeting.dm:156:error: a.pwidth: undefined var
player-targeting.dm:157:error: a.py: undefined var
player-targeting.dm:157:error: a.pheight: undefined var
effects-visual.dm:116:error: camera.px: undefined var
effects-visual.dm:117:error: camera.py: undefined var
effects-visual.dm:105:error: set_camera: undefined proc
enemy-ai.dm:75:error: moved: undefined var
enemy-ai.dm:80:error: client.clear_input: undefined proc
enemy-ai.dm:82:error: slow_down: undefined proc
enemy-ai.dm:113:error: moved: undefined var
enemy-ai.dm:114:error: moved: undefined var
enemy-ai.dm:116:error: slow_down: undefined proc
enemy-ai.dm:121:error: path: undefined var
enemy-ai.dm:121:error: destination: undefined var
enemy-ai.dm:122:error: follow_path: undefined proc
hud-abilities.dm:272:error: client.focus: undefined var
hud-info.dm:49:error: moved: undefined var
player-saving.dm:236:error: client.focus: undefined var
hud-prompt.dm:239:error: key_down: undefined proc
player-overlays.dm:66:error: moved: undefined var
player-overlays.dm:67:error: STANDING: undefined var
player-overlays.dm:69:error: MOVING: undefined var
player-overlays.dm:79:error: base_state: undefined var
player-targeting.dm:29:error: client.focus: undefined var
demo\custom-hud.dm:73:error: client.focus: undefined var
demo\mobs.dm:29:error: base_state: undefined var
demo\mobs.dm:31:error: pwidth: undefined var
demo\mobs.dm:32:error: pheight: undefined var
demo\mobs.dm:85:error: camera.pixel_x: undefined var
demo\mobs.dm:131:error: move_speed: undefined var
demo\mobs.dm:133:error: move_speed: undefined var
demo\mobs.dm:129:error: action: undefined proc
demo\npcs.dm:37:error: moved_to: undefined proc
demo\npcs.dm:87:error: path: undefined var
demo\npcs.dm:88:error: move_to: undefined proc
projectiles.dm:16:error: move_speed: undefined var
projectiles.dm:35:error: m.px: undefined var
projectiles.dm:35:error: m.pwidth: undefined var
projectiles.dm:35:error: pwidth: undefined var
projectiles.dm:35:error: m.py: undefined var
projectiles.dm:35:error: m.pheight: undefined var
projectiles.dm:35:error: pheight: undefined var
projectiles.dm:35:error: set_pos: undefined proc
projectiles.dm:54:error: vel_x: undefined var
projectiles.dm:54:error: target.px: undefined var
projectiles.dm:54:error: target.pwidth: undefined var
projectiles.dm:54:error: px: undefined var
projectiles.dm:54:error: pwidth: undefined var
projectiles.dm:55:error: vel_y: undefined var
projectiles.dm:55:error: target.py: undefined var
projectiles.dm:55:error: target.pheight: undefined var
projectiles.dm:55:error: py: undefined var
projectiles.dm:55:error: pheight: undefined var
projectiles.dm:60:error: vel_y: undefined var
projectiles.dm:60:error: move_speed: undefined var
projectiles.dm:62:error: vel_y: undefined var
projectiles.dm:62:error: move_speed: undefined var
projectiles.dm:65:error: vel_x: undefined var
projectiles.dm:65:error: move_speed: undefined var
projectiles.dm:67:error: vel_x: undefined var
projectiles.dm:67:error: move_speed: undefined var
projectiles.dm:70:error: vel_x: undefined var
projectiles.dm:70:error: vel_x: undefined var
projectiles.dm:70:error: vel_y: undefined var
projectiles.dm:70:error: vel_y: undefined var
projectiles.dm:71:error: vel_x: undefined var
projectiles.dm:71:error: vel_x: undefined var
projectiles.dm:71:error: move_speed: undefined var
projectiles.dm:72:error: vel_y: undefined var
projectiles.dm:72:error: vel_y: undefined var
projectiles.dm:72:error: move_speed: undefined var
projectiles.dm:85:error: set_state: undefined proc
projectiles.dm:97:error: inside: undefined proc
projectiles.dm:120:error: vel_x: undefined var
projectiles.dm:120:error: vel_y: undefined var
action-rpg-framework.dmb - 100 errors, 32 warnings (max count reached)


I get these errors/warnings when trying to compile. I'm fairly new to byond so any suggestions?
CliffracerX: (May 13 2014, 5:17 pm)
What's the license for the music and stuff in this? It's very good. :)