Post new topic    
Page 1, 2, 3 ... 43, 44, 45  »
Metal Slime
Send private message
OHRRPGCE feature requests/suggestions 
 PostTue Oct 18, 2016 11:02 pm
Send private message Reply with quote
Hello,

I wanted to start a thread for suggestions & feature requests. These aren't demands, but simply things I would like to see implemented in the future (if possible).

    *Let us choose accuracy/dodge stats for attacks much as with attack/defence (eg use speed as dodging stat, or attack as accuracy)

    *Option to set size of textbox choice dialogue to 1 or 2 lines. This can be done at present with menus, but requires a little more time and bloats the amount of menus

    *Naming of formation sets - for ease of use when mapping

    *Hiding money on status menu

    *Using shift+arrows to change the order of items in the item editor (not sure how feasible this would be, or if it would mess things up)


What ideas do other people have?

Cheers.
vvight.wordpress.com
A Scrambled Egg
Send private message
 
 PostWed Oct 19, 2016 12:43 am
Send private message Reply with quote
Choosing where to display a choice box would be super. Fuller controller support, alphabetical sorting of items in the item menu.
Super Walrus Land: Mouth Words Edition
Slime Knight
Send private message
 
 PostWed Oct 19, 2016 1:47 am
Send private message Reply with quote
I have a few related to the battle system.

    - Make it so items can be equipped to more than one slot, like an item could be specified to be equipped to the second, third and fourth slot instead of just one, or possible dual wielding shenanigans by allowing more than one weapon to be equipped.

    - A confusion status

    - Ability to create attacks that give temporary elemental resistances/weakness

Also, I agree with Guo's suggestion of letting us choose accuracy/dodge stats. There are probably more I would request, but usually those come up when I'm working on a game and think "wouldn't it be cool if I could do THAT".
Hoes mad (x24)
Metal Slime
Send private message
 
 PostWed Oct 19, 2016 2:46 am
Send private message Reply with quote
Quote:
- Ability to create attacks that give temporary elemental resistances/weakness


Totally!
vvight.wordpress.com
Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 4:14 am
Send private message Reply with quote
WitchHunters0003.png
Alphabetical gibberish! I didn't have anything better to work with. Should also group like.. SwordIcons with SwordIcons and so forth
The Wobbler wrote:
alphabetical sorting of items in the item menu.


Merry Christmas

Code:

Plotscript,AlphabeticalInventory,begin
variable (AlphaTainer)
variable (InventoryLoop)

AlphaTainer := CreateContainer

#Go through the entire inventory.
for (InventoryLoop,0,GetInventorySize--1)
do (
   variable (WhatItem,HowMany,ItemSlice)
   
   #Gets the ID and Quantity of the item in the given slot
   WhatItem := ItemInSlot (InventoryLoop)
   HowMany := ItemCountInSlot (InventoryLoop)
   
   #If there's no item in the slot, don't bother
   if (WhatItem == -1)
   then ( )
   
   #But if there is, create a slice to record how many and what type
   else (
   
      ItemSlice := CreateContainer
      SetParent (ItemSlice,AlphaTainer)
      SetSliceExtra (ItemSlice,0,WhatItem)
      SetSliceExtra (ItemSlice,1,HowMany)
      
      $1=""
      GetItemName (1,WhatItem)
      
      #Now the tricky part.
      variable (FirstLetter,SecondLetter,ThirdLetter)
      
      #We can only do the first three due to the limitations of OHR variables
      
      
      #This is paranoia: I don't want any old info to carry over from one loop to the next
      
      FirstLetter := 0
      SecondLetter := 0
      ThirdLetter := 0
      
      #This is also paranoia: I don't want to call a non-extant letter if there's an item smaller than three letters.
      
      
      
      If (StringLength (1)>> 0)
      then (
         FirstLetter := AsciiFromString (1,1)
         )
         
      if (StringLength (1)>> 1)
      then (
         SecondLetter := AsciiFromString (1,2)
         )
         
      if (StringLength (1)>> 2)
      then (
         ThirdLetter := AsciiFromString (1,3)
         )
         
         #If you want lower case letters to be treated the same as capitals uncomment the next lines
         
#         FirstLetter := LowerCaseToUpperCase (FirstLetter)
#         SecondLetter := LowerCaseToUpperCase (SecondLetter)
#         ThirdLetter := LowerCaseToUpperCase (ThirdLetter)         
         
         #Now we do some math.
         #Each letter is an ascii value from 0 to 255
         
         #By multiplying it, we can combine it into a single value to pass to SetSortOrder. So the final result will be like... 255255255 for LastLetterLastLetterLastLetter
         
         FirstLetter := FirstLetter * 1000000
         SecondLetter := SecondLetter * 1000
         
         #If we sorted it now, it'd be backwards, Z to A. So we make the big numbers small and the small numbers big to sort it the right way
         
#         FirstLetter := 0--FirstLetter
#         SecondLetter := 0--SecondLetter
#         ThirdLetter := 0--ThirdLetter

         #Heh! Scratch what I just said. 0-- is the route to Z first, A last. Uncomment the previous 3 lines if you'd rather it be that way.
         

         
         
         #Now set the sort order, so they'll be alphabetized later
         SetSortOrder (ItemSlice,FirstLetter+SecondLetter+ThirdLetter)

         

         #And delete the original copy of the item, just like in that movie with that guy
         
         SetItemInSlot (InventoryLoop,-1)
         
         #This quantity thing is probably paranoia
         
         SetItemCountInSlot (InventoryLoop,0)
         )
         
      )
      
#By this point the script, we've gone through every item in the inventory and the player now has nothing. AlphaTainer is full of references to the treasure they used to have. It's time to restore their former glory.

#But first we gotta alphabetize 'em or everything's pointless

SortChildren (AlphaTainer,FAlse)

variable (AlphaLoop,AlphaSlot)

#Gets the handle of the first slice..
AlphaLoop := FirstChild (AlphaTainer)

#So long as there's slices to be tallied, keep tallying..
while (AlphaLoop)
do (
   WhatItem := GetSLiceExtra (AlphaLoop,0)
   HowMany := GetSliceExtra (AlphaLoop,1)
   
   #Now adds the proper quantity of items
   SetItemInSlot (AlphaSlot,WhatItem)
   SetItemCountInSlot (AlphaSlot,HowMany)
   
   #Increases AlphaSlot by one and goes to the next slice
   
   AlphaSlot += 1
   AlphaLoop := NextSibling (AlphaLoop)
   
   #When there's no more siblings, ALphaLoop will be false, the while loop will break, and everything will be right with the world.
   )
   
#And now I gotta name and add a billion items to see if this actually works!
   


   subscript,LowercaseToUpperCase,WhatValue,begin
   #Converts the Ascii for a lower case to its Upper Case form. This way Apple would be sorted to the same place as apple. This is of course, optional.
   If (WhatValue >> 96 && WhatValue << 123)
   then (ExitReturning (WhatValue -- 32))
   else (ExitReturning (WhatValue))
   end   

#Frees all the slices to keep them from piling up over the course of the game. I forgot this line at first
FreeSlice (AlphaTainer)
end

#This is just a test to give me items, since I don't actually have a game to test it on
plotscript,AddItemsToTest,begin
variable (GetLoop)
for (GetLoop,0,25)
do (
   SetItemInSlot (GetLoop,GetLoop)
   SetItemCountInSlot (GetLoop,GetItemMaximumStackSize)
   )
   
AlphabeticalInventory
end


EDIT: Bet I can do something about that choice thing too. Way better than actually working on a game!
Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 4:49 am
Send private message Reply with quote
ChoiceGame0007.png
WAY WAY better than working on my game
Code:
#What X and Y the box should appear at
#I have it set as globals so I can keep it saved between uses. This isn't necessary for most purposes.

globalvariable (1,ChoiceBoxX)
globalvariable (2,ChoiceBoxY)

plotscript,RandomChoice,begin
#This is the script the NPC runs when you talk to it.

#This tag is turned on if the player says "Yes", they like where the choice is. The choice never moves again.


if (CheckTag (2))

then ( )

#But so long as the tag is off,  the box's positon is randomized.

else (
   #This works a little different than you'd think
   #It's center aligned so 0 is the dead center of the screen
   #I had it set for 0,320
   #and half of the time it was off the screen and the other half it was always on the right
   ChoiceBoxX := Random (-140,140)
   
   #The Y axis seems to be the normal top alignment.
   
   #I could chjeck this if I really wanted to by suspending box advance and using Ctrl+F4 to open the slice collection debug, but I don't really want to
   ChoiceBoxY := Random (0,180)
   )
   
FancyChoice (1,ChoiceBoxX,ChoiceBoxY)

end

plotscript,FancyChoice,WhatBox,ChoiceX,ChoiceY,begin
#Shows the textbox...
ShowTextbox (WhatBox)
variable (ChoiceBox)

#Seriously, check out the plotscripting dictionary for LookupSlice. You can do some *NASTY* stuff with this

#Looks up the choice box with a special look up
ChoiceBox := lookupslice (sl:textboxchoicebox)

#Puts the box where we randomly determined earlier
PutSlice (ChoiceBox,ChoiceX,ChoiceY)

#If this were a real game, you could have a switch statement here for all of your WhatBoxes, and set your ChoiceX, ChoiceY's accordingly. Or not!

#Wait for textbox is paranoia
waitfortextbox
end
Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 5:42 am
Send private message Reply with quote
ChoiceGame0009.png
This multiple line stuff is a bit trickier. So far I got, tacked into the old code:

Code:

#BONUS CONTENT! Let's make the text something crazy for funsies
variable (Choice1,Choice2)

#\n is the Line Break special character, one of those string things that's really hard to find in the dictionary. It's in the entry for $1d="some text"

$1 = "Yes\nThats Great!"
$2 = "No \nThats Awful!"

Choice1 := Lookupslice (sl:textboxchoice0)
Choice2 := lookupslice (sl:textboxchoice1)

SetSliceText (Choice1,1)
SetSliceText (Choice2,2)

#Because the new text is taller than the old one, we gotta move the boxes so they don't overlap

#We'll try 2 pixels more than the bottom edge of the first choice
SetSliceY (Choice2,SliceEdgeY (Choice1,edge:Bottom)+2)

#And because the options are bigger, now we gotta resize the box.


But so far I haven't been able to pleasingly resize the ChoiceBox to fit its larger words. But it definitely is doable.
Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 9:10 am
Send private message Reply with quote
edit_status_menu.png
James has been working on converting built-in menus to slices. Tell him to finish it!
alphabetically.png
Since Alectormancy!
Whoa there Giz, an admirable effect but you've gone all-in perhaps a tad too quick, as it looks like someone's beaten you to it! I'll take "sorting strings" as your feature request though.

There ought to be options to resize the choice box (and overhauling textboxes is on the cards), but as your script showed, it's quite possible to manipulate the textbox slices to achieve a lot of things.

guo wrote:
Let us choose accuracy/dodge stats for attacks much as with attack/defence (eg use speed as dodging stat, or attack as accuracy)

I keep thinking that we already have that. It's quite straightforward to add.

guo wrote:
Naming of formation sets - for ease of use when mapping

Naming gets requested for lots of things. As we update the file formats for different types of objects (which happens very slowly) we'll add the option to assign names.

guo wrote:
*Using shift+arrows to change the order of items in the item editor (not sure how feasible this would be, or if it would mess things up)

It's interesting how often people request the ability to reorder item definitions and other things. The answer is that the simplest implementation would mean that the item ID numbers would be wrong everywhere that you used them, and save files wouldn't be compatible either. We could automatically fix up all of those, but it's much more work. Just being able to rearrange the order the items appear in the editor without changing their ID numbers would be significantly less work, but is that good enough?

Idontknow wrote:
Make it so items can be equipped to more than one slot, like an item could be specified to be equipped to the second, third and fourth slot instead of just one, or possible dual wielding shenanigans by allowing more than one weapon to be equipped.

I've seen this requested quite a few times, so I wanted to make sure that the Plan for improved items allows it. However, I might that plan might be overly complicated.


Gizmog wrote:
#I could chjeck this if I really wanted to by suspending box advance and using Ctrl+F4 to open the slice collection debug, but I don't really want to

You're referring to Ctrl+F4 advancing the textbox before you get to inspect the slices, which is very annoying, but they way around it is to press F8 to get to the debug menu and open the slice debugger there.
Metal Slime
Send private message
 
 PostWed Oct 19, 2016 10:14 am
Send private message Reply with quote
That's some impressive stuff, TheGiz. What about if I want eg one line in the choice box? Just like "go on, tell me more" without the player being able to scroll down and select the empty "choice"? It's not entirely necessary, but nice to give the illusion of interactive dialogue in places.
vvight.wordpress.com
Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 12:28 pm
Send private message Reply with quote
ChoiceGame0010.png
The choice doesn't flash yellow and white the way they usually do when highlighted, I dunno why, but you could fake it.
TMC wrote:
Whoa there Giz, an admirable effect but you've gone all-in perhaps a tad too quick, as it looks like someone's beaten you to it! I'll take "sorting strings" as your feature request though.


Bah, you bums! Remember the time you waited till a week after OHR Typewriter to add strings?! Or the time you waited till a week after "BAD FELLOWS" to have strings that automatically wrap to the size of the screen?! Your preview of the new interpreter scares the bajeezus out of me, I barely recognize my own code!

I can't even remember my feature request... a football? No, a Red Ryder carbine action BB gun with a compass in the stock and a thing that tells time!



TMC wrote:

You're referring to Ctrl+F4 advancing the textbox before you get to inspect the slices, which is very annoying, but they way around it is to press F8 to get to the debug menu and open the slice debugger there.


That's good advice that I'm probably going to forget. Thanks!

[quote="guo"]
Oh, is that what you meant by one or two lines? Hehe, whoops!

Code:

plotscript,ChoiceWithoutAChoice,begin
ShowTextbox (2)
FreeSlice (lookupslice (sl:textboxchoice1))
end


Though I'm sure there's some terrible,horrible, reason you're not supposed to do it this way.
Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 2:40 pm
Send private message Reply with quote
Hey now, new features turning up the next week and stealing your thunder is one thing (and I note it wasn't me to blame in either of those cases!), but in this case I beat you by over four years!

Gizmog wrote:
Though I'm sure there's some terrible,horrible, reason you're not supposed to do it this way.

I was going to say "the reason is: we forgot to protect that slice", but it turns out that actually no slices are protected except the Special slices (which are things like walkabout layers, the textbox layer), Map slices, and walkabout containers. Either we can lock down everything, or we can just make sure the engine gracefully handles you deleting or modifying slices it was expecting to find. I think the latter is obviously the way to go.
Liquid Metal King Slime
Send private message
 
 PostWed Oct 19, 2016 2:51 pm
Send private message Reply with quote
I'd like more Npcs allowed on a map at once.
Metal Slime
Send private message
 
 PostWed Oct 19, 2016 10:31 pm
Send private message Reply with quote
Thanks, TheGiz.

Edit: How do I shrink the box Hurr
vvight.wordpress.com
Metal King Slime
Send private message
 
 PostThu Oct 20, 2016 12:52 am
Send private message Reply with quote
guo wrote:
Thanks, TheGiz.

Edit: How do I shrink the box Hurr


Been havin' trouble with that myself, but

Code:
plotscript,ChoiceWithoutAChoice,begin
variable (ChoiceBox)
ShowTextbox (2)
FreeSlice (lookupslice (sl:textboxchoice1))
ChoiceBox := lookupslice (sl:textboxchoicebox)
#Subtracting 10 pixels, 8 for the font and 2 for the space between, seems ideal
SetSliceHeight (Choicebox,SliceHeight(Choicebox)--10)
end


Seems to work. There's codes for all kinds of different things you might want to monkey with in the Plotscripting dictionary entry for lookup slice.[/url]
Liquid Metal King Slime
Send private message
 
 PostThu Oct 20, 2016 1:14 am
Send private message Reply with quote
I do think think that deleting the slice will probably be handled gracefully... Probably nothing worse than some warning spam in your g_debug.txt file.

I think a better solution is to make the second string equal to the first, and move them both to the same place on the screen

And yes, once the textbox storage format has changed, I'll add single or many choices as a built in feature
Display posts from previous:
Page 1, 2, 3 ... 43, 44, 45  »