Page 15 of 42

Re: Bt Builder

Posted: Thu Apr 30, 2015 1:41 pm
by dulsi
Methuselas wrote:Make it happen! :P The job/skill thing sucks, since it requires the most work, but I could do a lot with the other two.
You know you've got me working on features beyond the Bard's Tale games again. Luckily I liked the technical challenge of this request. It's not easy to use but I have successfully added a lawful/neutral/chaotic step. It won't be part of the sample games but I'll include information on how to do it when I make the next release.

Re: Bt Builder

Posted: Fri May 01, 2015 7:11 am
by Methuselas
dulsi wrote:
Methuselas wrote:Make it happen! :P The job/skill thing sucks, since it requires the most work, but I could do a lot with the other two.
You know you've got me working on features beyond the Bard's Tale games again. Luckily I liked the technical challenge of this request. It's not easy to use but I have successfully added a lawful/neutral/chaotic step. It won't be part of the sample games but I'll include information on how to do it when I make the next release.
Oooh! :shock: Does this mean you can use it as a special and to limit class and skills? What about items? Does it allow you to limit items? I didn't even think about that one. :/

I'll add it to the Appendix of the Manual, since it's optional.

I really loved Bane of the Cosmic Forge and Crusaders of the Dark Savant, that's why I ask for stuff beyond what the BT Engines could do. I want the best of both worlds. :)

Re: Bt Builder

Posted: Fri May 01, 2015 1:22 pm
by dulsi
Methuselas wrote:Oooh! :shock: Does this mean you can use it as a special and to limit class and skills? What about items? Does it allow you to limit items? I didn't even think about that one. :/
No. It doesn't limit class, skills or items at the moment. But you can use detect it in specials.
sombunall wrote:Also for a future improvement it would be nice to be able to pass a counter to another script and then run that script. That way I could have a master treasure and master trap script. The higher the counter the more extreme it gets and would de-duplicate, organize and ease code.
I'm not really sure what you are asking for. The counter available in the special functions is available from all specials. There is only one counter in that case.

Re: Bt Builder

Posted: Sat May 02, 2015 5:28 am
by dulsi
Bt Builder 0.5.2 released. Do not allow teleport in combat. Display zero for value of teleports initially. Restore proper graphics after selecting a teleport location in map editor. Added party passes skill check, party has tag, add tag, remove tag, and run xml special commands. Add the ability to specify actions in the building xml files. Add cut/copy/paste to the special editor. Support exclamation point as a not operator for effect tags.

How do you do an alignment screen during character creation? You could make screen 12 (the gender selection) go to a new screen 13.

Code: Select all

	<screen number="13">
		<line>Do you wish your character to be</line>
		<choice keys="lL" action="setlawful" screen="5" >Lawful</choice>
		<choice keys="nN" action="setneutral" screen="5" >Neutral</choice>
		<choice keys="cC" action="setchaotic" screen="5" >Chaotic</choice>
	</screen>
You also need:

Code: Select all

 <action>
  <name>setlawful</name>
  <body>
   <command><type>62</type><text>lawful</text></command>
   <command><type>63</type><text>neutral</text></command>
   <command><type>63</type><text>chaotic</text></command>
  </body>
 </action>
 <action>
  <name>setneutral</name>
  <body>
   <command><type>63</type><text>lawful</text></command>
   <command><type>62</type><text>neutral</text></command>
   <command><type>63</type><text>chaotic</text></command>
  </body>
 </action>
 <action>
  <name>setchaotic</name>
  <body>
   <command><type>63</type><text>lawful</text></command>
   <command><type>63</type><text>neutral</text></command>
   <command><type>62</type><text>chaotic</text></command>
  </body>
 </action>
(As I said it's not pretty to have to edit directly.)

Hopefully the new special commands are understandable. One is "run xml file $$". You can copy data/shop.xml to data.shop2.xml. Change all the shop="1" in the file to shop="2". Specify "run xml file $$" with an argument of "data/shop2.xml" and you now have a second shop.

The sample games really need some improvement. I'm not opposed to letting someone else take over their creation if they would like. You could even throw mine out and create a new one instead. I assume no one wants to be stuck with BTCS restrictions so I will probably continue to maintain the first sample game. I've been wondering if my scripts are too complex by trying to restore state that isn't saved. Something simple to show off the possibilities might be a better idea.

Re: Bt Builder

Posted: Sun May 03, 2015 12:03 am
by Methuselas
dulsi wrote:Bt Builder 0.5.2 released. Do not allow teleport in combat. Display zero for value of teleports initially. Restore proper graphics after selecting a teleport location in map editor. Added party passes skill check, party has tag, add tag, remove tag, and run xml special commands. Add the ability to specify actions in the building xml files. Add cut/copy/paste to the special editor. Support exclamation point as a not operator for effect tags.

How do you do an alignment screen during character creation? You could make screen 12 (the gender selection) go to a new screen 13.

Code: Select all

	<screen number="13">
		<line>Do you wish your character to be</line>
		<choice keys="lL" action="setlawful" screen="5" >Lawful</choice>
		<choice keys="nN" action="setneutral" screen="5" >Neutral</choice>
		<choice keys="cC" action="setchaotic" screen="5" >Chaotic</choice>
	</screen>
You also need:

Code: Select all

 <action>
  <name>setlawful</name>
  <body>
   <command><type>62</type><text>lawful</text></command>
   <command><type>63</type><text>neutral</text></command>
   <command><type>63</type><text>chaotic</text></command>
  </body>
 </action>
 <action>
  <name>setneutral</name>
  <body>
   <command><type>63</type><text>lawful</text></command>
   <command><type>62</type><text>neutral</text></command>
   <command><type>63</type><text>chaotic</text></command>
  </body>
 </action>
 <action>
  <name>setchaotic</name>
  <body>
   <command><type>63</type><text>lawful</text></command>
   <command><type>63</type><text>neutral</text></command>
   <command><type>62</type><text>chaotic</text></command>
  </body>
 </action>
(As I said it's not pretty to have to edit directly.)

Hopefully the new special commands are understandable. One is "run xml file $$". You can copy data/shop.xml to data.shop2.xml. Change all the shop="1" in the file to shop="2". Specify "run xml file $$" with an argument of "data/shop2.xml" and you now have a second shop.

The sample games really need some improvement. I'm not opposed to letting someone else take over their creation if they would like. You could even throw mine out and create a new one instead. I assume no one wants to be stuck with BTCS restrictions so I will probably continue to maintain the first sample game. I've been wondering if my scripts are too complex by trying to restore state that isn't saved. Something simple to show off the possibilities might be a better idea.

Where do the <Action> Elements go? Is that on Screen 13, as well, or is that a separate file? I'll make a new xml that has this all inclusive and put it on my shared drive, so it's available.

Also on the load xml special, does that mean we can use that to create new Guilds and Review Boards as well?

This is getting VERY exciting. 8)

Re: Bt Builder

Posted: Sun May 03, 2015 2:20 am
by dulsi
Methuselas wrote:Where do the <Action> Elements go? Is that on Screen 13, as well, or is that a separate file? I'll make a new xml that has this all inclusive and put it on my shared drive, so it's available.
action, screen, and error elements are all at the same level (indentation? whatever you call it.). It doesn't matter to the code what the order is.
Methuselas wrote:Also on the load xml special, does that mean we can use that to create new Guilds and Review Boards as well?
Yes. That is exactly what it means. BTW if you want a file to work under linux and windows, use / not \ and match the case for the file. For example the code loads "data/shop.xml" for Garth's. If you did "Data/shop.xml" it will work under windows and fail under linux. (Probably should do something to fix that.)

Re: Bt Builder

Posted: Sun May 03, 2015 4:09 am
by Methuselas
dulsi wrote: action, screen, and error elements are all at the same level (indentation? whatever you call it.). It doesn't matter to the code what the order is.
Okay. So if I just lumped all the elements under the 13th screen area, in the xml file, it will work? I am asking so I can just make a default guild screen to post on my shared folder.

[EDIT] - Nevermind. I got it. :)
Dulsi wrote: Yes. That is exactly what it means. BTW if you want a file to work under linux and windows, use / not \ and match the case for the file. For example the code loads "data/shop.xml" for Garth's. If you did "Data/shop.xml" it will work under windows and fail under linux. (Probably should do something to fix that.)
No need to "fix" it. When I update the manual, I will list directions to comply with both windows and linux. Does this mean we will be getting Roscoe and temples soon?

OT, but concerning counters. Would TAG counters be possible? Basically have an "unlimited" number of counters defined by TAGs?

Re: Bt Builder

Posted: Sun May 03, 2015 6:09 am
by Methuselas
Okay.

I added the extra screen to the guild. I added the action element above the error elements, but it didn't work. So, I tried to put it in the 13th Screen. Didn't work. Finally, I put it above the Screen elements. Still wouldn't go to that page, after selecting race. Am I missing something?

Do I need to make a new xml file that has the actions? If so, I'm not sure what to name it.


[EDIT] - HA! Tricky Boy! I figured you out! :P

Okay, I've got Alignment in the Manual now. :P

There's no way to show Alignment yet in the Status screen, is there?

Re: Bt Builder

Posted: Sun May 03, 2015 7:24 am
by Methuselas
Dulsi,

I want to make sure I have the format for the Job's correct. Is this how it goes?

Code: Select all

	<job>
		<name>
		<abbreviation>
		<malePicture>
		<femalePicture>
		<toHit>
		<improveToHit>
		<save>
		<improveSave>
		<hp>
		<skill>
		<changeRuleSkill>
		<improveRateAttacks>
		<maxRateAttacks>
		<xpChart>
		<advanced>
	</job>

Re: Bt Builder

Posted: Sun May 03, 2015 8:27 am
by Methuselas
Manual's been updated. There's a new Section past the Appendix called XML Editing. It has the Alignment stuff there. It's a bit messy in that section, so be patient.


Dulsi, am I to understand that a Character can have an unlimited amount of tags attached to it on the roster file, thanks to the give selected PC tag $$? If it does, I think I know how to make an alchemy skill. :P

Re: Bt Builder

Posted: Sun May 03, 2015 9:20 pm
by Methuselas
Dulsi, does the effects element under skills support all the effects? In other words, could you create a skill that paralyzes, stones, withers, etc?

Re: Bt Builder

Posted: Mon May 04, 2015 9:51 pm
by Methuselas
Dulsi,

Concerning xml files. Is there a master list of actions that can be executed via xml? After reading and reviewing all of the specialty xml files, to start work on creating new shops, I realized just how robust BTBuilder's engine is.

Are there actions for removing statuses that can be used in xmls? Are there actions for taking gold away from players via xml? What are the current, functional limits of xml files?

Guys, we may have editable temples and taverns sooner than we think.

This is basically what I have down. I'm sure there's more to it, under the hood.

Code: Select all

screenset
	picture
	label
	building
	clearMagic
	screen
		barrier
		choice
		col
		line
		readString
		selectGoods
		selectInventory
		selectParty
		selectRace
		selectJob
	action
		body
		command
		name
      effect
Dulsi, is this possible:

<effect type="Poison" action="removePoison"><Name /> is no longer poisoned!</effect>

Manual's updated. Started adding text for Building.xmls. Partial list of actions, effects and commands. Dulsi, can you look them over and give me a list of the other one's available, so I can start writing what they do?

Re: Bt Builder

Posted: Tue May 05, 2015 10:07 am
by Methuselas
Manual's updated again. Has text for Buildings, Classes, and Races in the XML Editing Section. Each Editor text now follows the Engine's editors. Added Experience Level Tables. A complete list of actions, commands, effects and errors from all the xml files available (I'm not sure if they can all be used and none have definitions.) Added text for creating new Shops. Updated all the new special functions and added text descriptions.

Dulsi, may we have ranged critical as well?

Re: Bt Builder

Posted: Tue May 05, 2015 5:17 pm
by dulsi
I can't believe I forgot a way of displaying tags on the status screen. I'll fix that when I have a chance.

Yes, you can have an unlimited number of tags. Right now it is a simple array. If people start using hundreds of tags, that structure will need to change in order to not cause performance problems.

Yes, you can have a skill that stones, withers, etc.
Methuselas wrote:Concerning xml files. Is there a master list of actions that can be executed via xml? After reading and reviewing all of the specialty xml files, to start work on creating new shops, I realized just how robust BTBuilder's engine is.
The only list is in the source code (line 1251 at the time of this writing). My eventual goal would be to remove those hard-coded actions. Add all the needed functionality to the special commands. For example, right now the gender selection action is hard coded. What if I want to create a game where all the characters are female or maybe all of a particular race/class are male or female? Right now I can't. If I create a set gender special command, I can now implement the current gender selection action plus those other situations. (You could also add ways to change gender in the game if you wanted.)
Methuselas wrote:Are there actions for removing statuses that can be used in xmls? Are there actions for taking gold away from players via xml? What are the current, functional limits of xml files?
No. No. All the actions I've created are to implement the current screens. If you don't see it in Character Status, Guild, Shop, or Review Board, it doesn't exist.
Methuselas wrote:is this possible:

<effect type="Poison" action="removePoison"><Name /> is no longer poisoned!</effect>
No. Effect tag runs immediately when the specified effect is active. Effects are created by spells/songs (and items via spells). If you had a "Poison" spell running, it would cause that to happen. However, if a regular attack poisoned you, that would not trigger the effect tag.

Re: Bt Builder

Posted: Tue May 05, 2015 10:21 pm
by Methuselas
dulsi wrote:I can't believe I forgot a way of displaying tags on the status screen. I'll fix that when I have a chance.

Yes, you can have an unlimited number of tags. Right now it is a simple array. If people start using hundreds of tags, that structure will need to change in order to not cause performance problems.
Yeah, I just noticed how you were doing it in the source. I haven't looked at it in a LONG time.

My original idea was to have people "buy" tags for recipes, so when they use an Alchemist's lab, it could list all the items the character could make. Alignment, though, should have it's own, separate tag to make it easier to display.
dulsi wrote:Yes, you can have a skill that stones, withers, etc.
I had a feeling, but wasn't sure. I'll check this out later, when I start pooling the scraps of notes I have together, about skills. I'm in the process of pulling all the old BTCS text out of the manual. You still won't be able to release it with your game, though, 'cos the definitions of specials is still pulled directly from the original manual.
dulsi wrote: The only list is in the source code (line 1251 at the time of this writing). My eventual goal would be to remove those hard-coded actions. Add all the needed functionality to the special commands. For example, right now the gender selection action is hard coded. What if I want to create a game where all the characters are female or maybe all of a particular race/class are male or female? Right now I can't. If I create a set gender special command, I can now implement the current gender selection action plus those other situations. (You could also add ways to change gender in the game if you wanted.)

No. No. All the actions I've created are to implement the current screens. If you don't see it in Character Status, Guild, Shop, or Review Board, it doesn't exist.
Okay, I have all these. In fact, I added the combat.xml actions as well. Should I remove those from the text, if they're not useable? I basically went through every screenset xml and added all the actions, conditionals, errors and effects to the manual. Looks like I already have most of the editable screen stuff defined and in the manual.

Looks like we won't be getting Temples like I was hoping. Taverns will be a problem too. Meh.

I'd much rather have statuses removed from hard-code and into an xml file, so we could create more. :P

Oh and dulsi, I really need a X Rounds Per X Level +/-N spell duration.

One other thing about "locked doors." Is there a way we could get a special Action that's something to the effect of "remove impassable wall." I can now make locked doors, via specials and use skills to pick or bash the door. However, it still will allow you to walk through the door, if you somehow break the special.

I basically want this functionality.

Find locked door via special directly in front of door. (impassable wall)
Do open lock or bash door skill check or use a key.
If succeeds, remove impassable wall in front of party, move party forward and clear special.
If fails, print "Failed." and recycle through the special.

An impassable wall is the only way to prevent moving through walls and doors. Would be even better if there were a Yellow one, to show the door is locked, but I'll take the impassable wall thing, since it's already in engine.


Oh and Dulsi, one more thing. Looking at the Skill.C, it appears we have "autocombat", "autocombat-melee", "autocombat-ranged". I take it it's safe to assume that for skills that have autocombat use, we can specifiy melee, ranged or both?

Thanks for my ranged critical. :)