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

6887 downloads
Version 10
Date added: May 22 2012
Last updated: Jul 7 2012
115 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

Claytonctc: (Feb 7, 6: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, 2: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
Medicator: (Aug 30 2014, 9:33 pm)
You're missing libraries that should have been automatically included. Did you use the main 'Download' button, or did you click the 'Zip' link up top? The Download button loads it and all required libraries to compile it through the pager. The zip link does not.
Zetasis: (Aug 11 2014, 7: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, 4:17 pm)
What's the license for the music and stuff in this? It's very good. :)