Action RPG Framework

by Forum_account
Action RPG Framework
A framework for developing action RPGs.
ID:815663
 
Resolved
You can now specify a size for the on-screen prompt box by passing numbers to the prompt proc. For example:

mob.prompt("Hello!", 8, 2)

That'll create a box that's 8 tiles wide and 2 tiles tall. The default size is 6x4.

If you want to show a large amount of text, you just have to make a bigger prompt window. If you want to show lots of text but not all at once, you can use multiple prompts:

mob.prompt(page_1)
mob.prompt(page_2)
mob.prompt(page_3)

You can also pass null as a button name to hide the buttons. If you want to show a lot of text to describe a quest, then on the last page ask the player if they want to accept the quest, you can do this:

mob.prompt(page_1, null)
mob.prompt(page_2, null)
var/choice = mob.prompt(page_3, "Accept", "Cancel")
Applies to:rpg framework
Status: Resolved (7)

This issue has been resolved.
would be nice to have scroll bars for the prompt. for example, an npc talking about a long quest information would need scroll bars for the prompt window. this is my request. the following is only my suggestions

the inventory slots work good for a 32 icon but anything larger of an icon like 64 would make the inventory look cluttered. how about a variable in _constants.dm that would increase the inventory slot size.

when the health and mana has a large value, the health and mana meter is then drawn all the way to the right side of the screen changing the resolution. how about limiting the size that the health and mana meter can be drawn to. a five circle max for the health and mana meter would be preferable
Kalster wrote:
would be nice to have scroll bars for the prompt. for example, an npc talking about a long quest information would need scroll bars for the prompt window. this is my request. the following is only my suggestions

Scrollbars would be difficult to add. In the next version I plan to let you control how large the prompt() window is. If you have a lot of text to show, you can increase its size. I've also considered having a new type of interface for showing quest information but for now it's just using prompt().

the inventory slots work good for a 32 icon but anything larger of an icon like 64 would make the inventory look cluttered. how about a variable in _constants.dm that would increase the inventory slot size.

For simplicity's sake, I'd like to keep the HUD icons the same size as the turf and mob icons.

when the health and mana has a large value, the health and mana meter is then drawn all the way to the right side of the screen changing the resolution. how about limiting the size that the health and mana meter can be drawn to. a five circle max for the health and mana meter would be preferable

I used these graphics for the health and mana meters because I had them handy. I'd like to change how they look, though I'm sure they won't be sufficient for everyone.

I'd like the framework to provide features that are sufficient for a lot of people, but there will always be a point where people have to do things for themselves. If you want the inventory or health meters to work differently, you can replace what the framework provides with your own health meters or inventory interface.
Forum_account resolved issue with message:
You can now specify a size for the on-screen prompt box by passing numbers to the prompt proc. For example:

mob.prompt("Hello!", 8, 2)

That'll create a box that's 8 tiles wide and 2 tiles tall. The default size is 6x4.

If you want to show a large amount of text, you just have to make a bigger prompt window. If you want to show lots of text but not all at once, you can use multiple prompts:

mob.prompt(page_1)
mob.prompt(page_2)
mob.prompt(page_3)

You can also pass null as a button name to hide the buttons. If you want to show a lot of text to describe a quest, then on the last page ask the player if they want to accept the quest, you can do this:

mob.prompt(page_1, null)
mob.prompt(page_2, null)
var/choice = mob.prompt(page_3, "Accept", "Cancel")
In response to Forum_account

Kalster wrote:
the inventory slots work good for a 32 icon but anything larger of an icon like 64 would make the inventory look cluttered. how about a variable in _constants.dm that would increase the inventory slot size.
Forum_account wrote:
For simplicity's sake, I'd like to keep the HUD icons the same size as the turf and mob icons.

yes, but if you do that, this framework will only be suitable for 32 icon of size. what if someone wanted to use 64 icon size... then the inventory would be displayed in a cluttered layout. i am not suggesting to change the current layout in the game demo or framework. i am suggesting to give the option for others making a game with the framework to change the default size of the inventory
I'm not sure what you mean by "cluttered". Whether you use 32x32 icons or 64x64 icons for everything, things should look fine. I tried to make everything based on the icon size defined in the constants.
i could be incorrect but i am thinking that the inventory is drawn not from icons but by statements. when the constants of... ICON_WIDTH = 32
ICON_HEIGHT = 32
are changed to 64 and the icon_size is 64, the inventory looks like it is cut in sections. the inventory does not look correctly displayed.
If the inventory is still drawn using 32x32 icons and you've set ICON_WIDTH and ICON_HEIGHT to 64 then it'll probably look bad. If you're using 64x64 icons for everything it should look fine.

You could potentially use different icon sizes for everything, but I don't want to have constants for TURF_ICON_WIDTH, MOB_ICON_WIDTH, INVENTORY_ICON_WIDTH, etc. I'd like to handle cases where you use a single icon size for everything (even if it's not 32x32), but I don't want to get into supporting mixes of different icon sizes.
i thought that the inventory slots and the other inventory stuff where made with a drawing statement and not an icon. i should have had a better look into that.

all i did was scale the rpg framework icons. they look great now in 64 icon size.
mob.prompt(page_1, null)
mob.prompt(page_2, null)
var/choice = mob.prompt(page_3, "Accept", "Cancel")


how about for this code, in the framework, putting a press spacebar to continue for the null prompt?
Ok, I'll add that in the next version.