Note: This file contains useful information on topics which are not so much discussed in the howto.txt. It is strongly suggested (to not say essential) to read the howto.txt before reading this. My helpfile will be updated when the editor will be updated. You can also send tips, comments or questions which aren't answered here to: spepclosive@hotmail.com.
1.When editing wallmap, since heroes/NPC walk 5 pixels from the bottom of the map, remember that you'll always see the top of their head if they're on a overhead tile (except is the upper tile is overhead too). Also remember that while placing NPC's that they'll actually be 5 pixels up the place where they seems to be.
2.While linking doors, you can link more than one door to the same door, but you can also link a door to more than one door (obviously not at the same time)! Make like three doors on a map (don't use door 0), then follow my example:
Click on the first statement, select enter door 1, exit door 2, exit map 0 and require tag 2=0FF.
Click on the second statement, select enter door 1, exit door 3 exit map 0 and require tag 2=ON.
Make a NPC that says a dialog that has the conditionnal: If tag 1=OFF(always)then tag 2=ON.
Now before you talk to the NPC when you enter the door 1 you'll go to door 2 because tag 2=OFF by default. Then, when you talk to the NPC then go through the door, the first statement can't be used because tag 2 is now ON so the next useable statement will be applied and you'll goto door 3.
Note:If you don't put a second statement, the door will not work the next time it'll be used. However, if you put Door 0 leads to door 1 on map 0 when tag 2=OFF, when tag 2 becomes ON you will go to door 0 on map 0 (because of default values).
Example: You want to make a drain attack. Make an attack named Drain, which will damage the enemy, and a Drain2 attack which returns the HP to you. Goto the Drain attack, set Chain to...Drain2 and chain% to 100. Putting a smaller number will result that the attacks will not be always chained. You can also use chain attacks to do Summon magic (the 1st attack is the apparition of the summoned beast, the 2nd is the attack who damages the enemy). Note: Set the attacker motion of the 2nd attack to Null to prevent the hero from stepping back and forth between the two attacks. Also, you can do a kind of critical hit by chaining an attack like 5% of the time after the normal Fight attack.
Attacker motions:
Strike uses the hero's attacks sprites. Cast uses the cast/use sprite. Dash In makes the hero go near the enemy then strike. Standing Cast is like cast but the character doesn't step forward before the attack. Jump is obvious but don't forget to chain to another attack with Land or you'll stay in the sky. Teleport makes the hero appear in front of the enemy then strike. SpinStrike make the hero goes speedily left/right then strike.
Attack motions:
Normal makes the sprite appear on the enemy. Projectile goes from the hero to the enemy. Reverse Projectile goes from the enemy to the hero. Ring flies around the enemy then hit it. Scatter flies randomly then hit.
Driveby crosses the screen. Wave crosses the screens in multiple rows. Drop falls on the enemy. Meteor falls from over the hero to the enemy. Sequential Projectile hits enemies one after the other in spread attacks.
Bitsets:
Always Cure cures the stated damage. Divide Spread Damage makes an attack with for example 100 of damage on one enemy, 50 on two enemies, 25 on four enemies... Bounceable means the attack is reflected by wall.(But status aliments aren't implemented yet.) Unreverseable Picture prevent the sprite from being mirrored when used by an enemy. Steal Item is not implemented yet....
Damage is used to make an elemental attack. (You can specify your elements in Edit Stat Names.) Bonus vs. makes the attack more efficient on this type of enemy. (Which you can again specify in Edit Stats Names.) Set/Unset has to do with status aliments which aren't implemented yet. Useable Outside of Battle is used for spells like Cure who can be casted anytime. Damage MP applies the stated damage to MP instead of HP. Selecting this and Always Cure will result in a MP restoring attack.
Notes:
1.Life-type attack could be done by selecting Always Cure and set the target to Ally (Including dead). Life2 attack could be done by doing a Life attack and set the Damage to Damage Pure: HP.
2.The damage of attacks is always randomized, although that option will probably be selectable later. So for now a Potion which should restore 100 HP will restore between 75 and 125 HP.
3.To do a timer battle (like if FF5 when you have 1 minute to kill Odin), first do an spread attack that has like 1000 of damage to kill your party. This attack should have a delay equal to your time limit (a delay of 10 is like 1 second, so with a delay of 600 you'll have one minute to kill the enemy). Then, make an invisible, untargetable, die without boss enemy that has this attack. Set the enemy you have to beat to boss, and give him normal attacks.
General Data:
All that's there is quite obvious, except the item thing. You can select an Item and set the % to 20 so that the enemy will drop this item about once each 5 times you fight it. Rare items are dropped REALLY rarely, even if you set the % to 100. The death text is not used and probably will never be.
Bitsets:
Weak To makes an attack of this element more efficient against this enemy. Strong To attacks of this element are less efficient on the enemy. Absorbs attacks of this element cures the enemy. Enemy Types you can select more than one type. Immune To / Always Aflicted By has to do with status aliments, which aren't implemented yet. Harmed By Cure makes the enemy an undead. MP Idiot enemies will cast spells even with not enough MP. Die Without Boss enemy will die if no Boss is remaining in the formation.
Notes:
See more information about enemies in howto.txt. An spawned enemy usually appear at the place of the dead enemy, but you can change by placing an enemy in the first unused enemy formation slot. Then set this slot back to empty. There will be no enemy but the position will be memorized for spawned enemies.
If a hero joins your party at his base level then you remove him using the conditional if tag ... then remove ... from the party, when he returns he will be back to his base level. If you want that your hero keeps his level when he leaves, use the conditionnal if tag ... then swap ... out of the party. When he'll return with swap in, he will be the same level that when he left. The hero's default weapon will disappear when he will equip a new one instead of going in the item list.
Bitsets: Similar to those of the enemies.
Spells:
Choose a spell type, then use the arrow keys to select the spells then use , (comma) and . (period) to select the level when the spell will be learned or if the spell is learned by item. Finally, goto Edit Strings and write a name for the command in the hero's menu. Here's the different spells types:
MP Consuming Attack - Normal spells, cost the amount of MP specified in Edit Attacks. Example: James' Bubble in Wandering Hamster or Magic in FF3. FF1 Style - Uses MP per level. Example: Bob's MagicSmite in WH and Magic in FF1(duh!). Random Effects - Usally cost no MP, chooses a spell at random in the available ones. (If there's only one spell, it will always do it.) Example: Dusty's Refresh in WH and Locke's Steal or Setzer's Slot in FF3. Item Consuming Attack - Not implemented yet.
When you set the item to be equipable, the 3 last commands are enabled:
Stat Bonuses, which are added to hero stats. Note: Currently there's a small bug so these bonuses becomes higher at level up, so the weapons and armors gain levels when equipped. Bitmask, which replaces hero bitsets. Who can equip it among your heroes.
Notes:
Items set to Cannot Be Sold / Dropped have unlimited use. You cannot currently remove them with a dialogue conditional, but you will be able to in a later update. You can use symbols in item names by using the Alt key with any typable character. You can now edit them in the Edit Font section. Here is the list of default symbols:
Alt +
~ | Hourglass | t | Fish |
1 | Spade | y | Bow |
2 | Club | u | Whip |
3 | Diamond | i | Shield |
4 | Heart | o | Helmet |
5 | Copyright | p | Helmet with spikes |
6 | LittleSword | [ | Hat |
7 | Sword | ] | T-Shirt |
8 | Axe | \ | Katana |
9 | Hammer | a | Jacket |
0 | Rod | s | Chain Mail |
- | Staff | d | Armor |
+ | Spear/Arrow | f | Book |
q | Shuriken | g | Bubble with Z |
w | Pot | h | Clock |
e | Claw | j | Potion |
r | Hand/Glove | k | Skull with bones |
Bitsets:
Buy - When selected, edit available stuff is enabled. Sell - Enable Selling. Sell price is normally 1/2 of buy price. Hire - Hiring is like buying heroes. Inn - When selected, Inn Price is enabled. Equip, Save, Map - Like in the normal menu.
Edit Available Stuff:
Type is set to either Item (Buy) or Hero (Hire). Scroll Item Number - to see the item Name you want. In Stock can be infinite or from 1 to 99. Tags - see below. GP Price can be changed from its default value. Must Trade - Trade for an item instead of money. Sell Price can be changed from its default value.
Sell Type - Normally just gives you the money. Acquire Inventory makes the item available to buy. Increment Inventory adds 1 to the In Stock value. Refuse To Buy prevent this item from being sold. Trade In For - Returns you an Item instead of money. Experience Level (Hero)- Changes the base level of the hero.
Example with tags:
" In my game, I have a shop where you can only buy 1 of the 5 items available, then the others disappear from the inventory. How do I do that?" First, I change each item's [No tag check] field to Require Tag 10:OFF. That means that the item will be available when tag 10:OFF. Then, I change each item's [No tag set] field to Set Tag 10:ON. When you buy one of the items, Tag 10:ON and all the other items disappear from the list.
The howto.txt covers most of this part but again, here's some useful tips about dialogue:
1.The conditional If Tag n:ON Then Stop means that if tag n:ON the program ignores the other conditonnals of the textbox. It will probably be removed in future versions since no one seems to use it.
2.In a dialogue, it is possible to make the hero choose between two things. To do that, first select edit choices, then set choice to enabled. Set the names of the choices and the tags they set. Example: The text 1 is "Ninja: Do you want me in your party". Goto to edit choices, and arrange the options like that:
Then, make two other textboxes. Let's call them Text 2 and 3 and set their texts to "So I'll join you." and "Too bad. Tell me if you change your mind.". Set text 1 conditionals to:
If tag 1:Off(Always) then jump to text 3.
Set text 2 conditionnals to:
If tag 1:Off(Always) then add Ninja to the party.
Set text 3 conditionnals to:
If tag 3:On then jump to text 2 immediately.
Now, when the ninja says text 1, you have to make a choice. After the choice, you always jump to text 3, but if you said yes, the text 3 will be skipped and the text 2 activated so that the Ninja will join you. Also, don't forget to Edit the Ninja NPC to "Appear on tag 3:Off". That will make the NPC disappear when he'll join you.
3.How to make an intro: First, make some textboxes for your intro. Let's say that you use text 1, 2 and 3 (I am so original). Goto text appearance and select backdrops and/or musics for your texts. Also, if you have a backdrop, it's good to set Show Box to No. Well do what you want with the appearance, it's just a matter of taste. When your textboxes are ready, just link them using the statement "If tag 1:Off(Always) then jump to text (text number).". Now the major thing: create an invisible, useable only once NPC who is activated when stepped on. Place it at your starting position, and set his text to the first textbox of your intro. Now you have a super intro. You can use this also for cutscenes (by placing the NPC on a door) or for an ending.
Note:
In the Wandering Hamster intro, there is a fade to black between each text. This can be done by adding two doors to the starting map. One which is unreachable (because of wallmap) and the other which is at the player's starting position. The first should link to the second, but the second should not link to another door. To make the blank screen effect between two texts, just add this conditional:
If tag 1:Off(Always) then instantly use door (# of the unreachable door).
Well, I don't have the most technical explication, just ask James if you really want to know it. However, here's some good reasons to use BAM files:
a) They're small. Yes, I know MIDIs are small too, but BAMs are REALLY VERY small. A big MIDI will maybe slightly slow down the game, but it won't when converted in BAM.
b) BAMs have fully customizable instruments, instead of MIDI's fixed palette of sounds... of course, there isn't any way to edit those instruments yet.
2.What to do if I want my MIDI to not sound too bad in BAM?
a) Try to record a limit of 9 notes a time.
b) Don't put too much percussion because percussion isn't so well played.
c) The real reason to not put so much percussion is that in BAM your melody will have almost the same volume that the others instruments. So if you put drums and heavy metal guitar in background (which WILL happen when importing FF7 battle theme), they will be quite annoying and you won't hear your melody.
d) Finally, don't use the synths effects (instruments #97 to 104 in General MIDI). I once used one and it didn't recognize it.
3. I don't hear anything in MIDI2BAM!
Don't run MIDI2BAM when another music sequencer/player is open.
Draw 80 by 80 pixels enemies that will be fragments of the main enemy. An alternative would be to draw the entire enemy in any drawing program, then cut it in 80 by 80 fragments and import them. Give the main part of the enemy (the one which will be targetable) the name and the stats for the entire enemy, and set it to be a Boss. The other parts should be Untargetable by Heros/Enemies, set to Die without Boss, have some HP but no attacks. Do not do that, though, if you want an enemy like NeoExdeath or FF3's Final Fight, where each part is attacking and can be killed separately. The only remaining step is to arrange the fragments togheter in an enemy formation.
2. What to do if the screenshots of your game (taken with F12) look bad.
Another way to take screenshots is to use the PrintScrn key on your keyboard, then paste it in your drawing program. Note: I don't guarantee that will work on all systems.
1. Split scenarios
To explain how to make split scenarios, I'll use as example FF3 (when you can choose between Locke, Sabin and Terra scenario). First, you need a hero that will act as a "cursor" (i.e.: Mog). When you arrive at the choose a scenario room, swap out all heroes except one, add the cursor then swap out the last hero. Place NPCs of the heroes (i.e.: Locke, Sabin, Terra) in the room who ask if you want to choose their scenario. Choose a tag for each scenario (i.e.: 21, 22, 23) and set this tag ON if the player answers Yes. Then if the tag is ON, use a door leading to the scenario and jump to texts that introduces it. Use them to swap in the heroes for that scenario and swap out the cursor.
At the end of the scenario, use a door that brings you back to the choose a scenario screen, swap out the heroes and in the cursor. The NPCs should appear if their scenario tag is OFF, so you can't choose the same twice. Finally, you need to exit the room when the 3 scenarios are complete. You have to make a exit NPC. Do three text boxes (i.e.: 51, 52, 53) that say You haven't finished all 3 scenarios and a fourth box (i.e.: 54) saying All scenarios completed. The 4th text uses a door that exits the room. Now arrange these conditionnals:
Text 51: If tag 21 = ON then jump to text 52 immediately.
Text 52: If tag 22 = ON then jump to text 53 immediately.
Text 53: If tag 23 = ON then jump to text 54 immediately.
2. Vehicules
Here's how I did my airship in SpellBind. This is not the only way, but it's the nearest to a real airship.
1.You have to make a hero and a walkabout for your airship.
2.Then I did a 2nd overworld map, reduced by 1/2 in size, and with no wallmap. Note: You don't need this if you do a boat. All the others point are identical.
3.Then, I place doors near each location on the 1st and 2nd map. I also place doors somewhere you can't reach in each map. So for 8 locations you need 16 doors on each map. The unreachable doors on each map lead to the doors near the locations on the other map.
4.Then I do 8 dialogues (3...2...1...Land!), (3...2...1...Launch!), that swap in my 4 characters and remove the airship when I land, then swap out the characters and add the airship when I launch.
5.I make two dialogues for each location, one asking if you want to land there and the other if you want to launch from there. Say text 100-101 are for SpellBind. Here's what I do...
Text 100
Edit text: Do you want to land to SpellBind City? Edit choice:Enabled Choice 1: Yes, set tag 100 = On Choice 2: No, set tag 100= Off Edit conditionnals: If tag 100 = On then use unreachable door on map 2 that leads near SpellBind on map 1 and jump to the texts (3...2...1...Land!)
Text 101
Edit text: Do you want to launch your airship? Edit choice:Enabled Choice 1: Yes, set tag 100 = Off Choice 2: No, set tag 100= On Edit conditionnals: If tag 100 = Off then use unreachable door on map 1 that leads near SpellBind on map 2 and jump to the texts (3...2...1...Launch!)
Do this for all your locations.
6.Place one airship NPC (step-on) near each location on map 1 that asks if you want to launch. They should appear when the corresponding tags (see the dialogues) is ON. Then place on invisible NPC (step-on) over each town in map 2 that asks if you want to land. Just make sure to never place an NPC over a door you placed before.
That's all (finally), you'll notice than this takes tons on doors, NPCs, dialogues and you can have many problems to deal with.
Level-up bugs: There are many famous level-up bugs. First, when an hero starts at level 10 for example, he needs all the exp. from 0 to 11 to reach level 11. Also, you cannot win more than one level in a battle. So if you win enough exp. for two levels in a battle, your exp. needed for level-up becomes negative!
Killed by the boss bug: If you battle and jump to a text box in the same text, you'll do the battle and the next text will appear after it. However, if you're killed during the battle, the text will appear anyway and THEN the red screen appears and you return to the game menu. Imagine being killed by the last boss of the game and seeing the ending!
Drop bug: If you set many hits to an attack having the motion Drop, it will screw up in the battle.
Life bug: If you make a Life (target ally including dead, useable outside of battle) attack, it will work on deads in battle both as an item and spell, it will work outside of battle as an item but not as a spell.
Erase Map bug: When you erase a map then edit the tilemap, the tiles are placed at many places on the map. (Try and you'll see what I mean.)
Die without boss bug: If there's a Boss enemy in the formation and a Die Without Boss one, the others will die without boss even if they're not supposed to.
Stretch your drawing bug: A rather funny bug. You should know that when drawing sprites you can move the whole picture by pressing Caps Lock and an arrow key.
Ex.: Caps Lock + Right = Moves whole drawing right by one pixel.
However, if you hold Caps Lock and press Left and Right at the same time, the leftmost pixels of your drawing will be "stretched" to the left. In the same manner, if you hold Caps Lock and press Up and Down at the same time, the upmost pixels of your drawing will be "stretched" to the up. Try it!
This ends this version of the helpfile. Hope it has been useful!
-Specplosive