Announcement

Collapse
No announcement yet.

RPG Maker 2 Tips & Tricks 2.0

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    RPG Maker 2 Tips & Tricks 2.0

    It's baaaaaaaaaaaack. Post any useful scripts and/or script manipulation techniques you may have to make RPGM2 less of a drag for newcomers and veterans alike.

    RELICS FROM THE ANCIENT PAVILION RUINS

    Resize your characters, make them UNdeformed: By EZALB

    This is the way to get nice looking charactor models that are not SD.

    First go to Script Editor and create a new Script. Make sure it says contents on it and then continue to the event options. Heres the path you need to go to...

    Members
    Effects
    *Size

    Click on *Size it should be marked by a astrerik now go to where it says "members" and highlight the party member you wish to edit. Load him up and your ready to rock. For some reason it doesnt display your party member so simply highlight "Preview" and pick the model that matches your charactor.

    Here is my UNSuper Deformed Model

    NOTE:CAREFUL adjuding the attributes the models sizes are very sensitive to even the slightest change. These percenatages are also based off of the "Hero" model so other models may vary but you get the idea.

    X-axis-110%
    Y-axis-90%
    Z-axis-140%

    When increasing size make sure everything stays proportional.

    After all this make sure you make all your size changes at the boot of the game.

    Have fun!

    Button Mapping: By Draygone

    I figured out how to apply multiple uses of the [] button! Yay me! I'm sure there are others that have figured this out by now, but I'm gonna post this anyway.

    1) Go to Hard Mode.

    2) Go to Scripts > Scripts > Create New Data

    3) Name your script something like "[] used". (Make a note about it if you want.)

    4) Keep the Type of the script on Content, or change it. (I only tried this on Content, but it should work with the other options.)

    5) In the script box, select Input Creations > Buttons

    6) Keep it on Constant wait, or put in the F Wait (the latter being used if you want to limit the amount of time the player has to press the button).

    7) Go to Script Branch > Condition

    8) Mark Variable, and in the Variable list, select 004:User Button (this is the only one that will work for this process).

    9) In the box with Variable and Fixed, select fixed. Set it to one of these numbers, depending on which button you want pressed:

    -1: Nothing (if you gave the player a time limit to press the button)
    O: Up
    1: Down
    2: Left
    3: Right
    4: Triangle
    5: O
    6: []
    7: X
    8: START
    9: SELECT
    10: L1
    11: L2
    12: L3 (press the left analog stick)
    13: R1
    14: R2
    15: R3 (press the right analog stick)

    10) Two new pieces of script appear:
    Script Branch
    Script: Condition End
    In between those two, put what you want to happen if the button you want is pressed.

    (This way, say you want the player to press [] a second time, so you want the variable to be set to 6. When the player presses that button, the variable will be set to 6, then the branch will do what you put in it.)

    11) If you want more than one button option to be available (such as [] + O and [] + R1), repeat steps 7-10, setting the variable condition for the branch to work to a number corresponding the button you want to be pressed.

    12) Update Data and Exit, and head back to the main menu.

    13) Now go to Scripts > Events > Create New Data

    14) Create a name for it, and a note if you wish.

    15) Select the box right under name (by default it's Normal), and select System.

    16) Go down to the box marked Apply, and select the script you just created in the steps above.

    17) Update Data and Exit, and head back to the main menu.

    18) Go to Game > Game Settings, and click on the Adv tab.

    19) Click in the Settings tab, and go down to the box marked [] Button.

    20) Select the event you just created in the steps above.

    21) Update Data and Exit. You're done!

    I've tested this, and it works. Now you're that much closer to creating a 3D platformer. But what if you wanted to use a button combination? Simple. Go back into the script editor, in the script you created.

    A) In one or more of the branches, select Input Creation > Buttons, and set it to what you want.

    B) Create a new branch, using the same variable condition as before (004:User Button)

    C) Next select Script > Force Script End. Otherwise, one of the other branches might be triggered if they are triggered by the second button the player pressed.

    Once again, Update Data and Exit. I've tested this as well, and it works. I believe that's it. Any questioins?
    Oh, and I'm sorry if this was already posted in a different topic. I sort of went to this topic first-thing.

    EDIT: I forgot to mention, the way this is set up, it can activate in any location, without there being an event on the map to trigger it. There's probably a way to use this feature to do something like press buttons on a door to unlock it (requiring the player to be at the event), but I ran out of time, so I couldn't try to figure it out.

    Custom Victory Music: By MarkS99

    For those who have been wondering just how the hell you make a custom victory music that doesn't play over the Dungeon/Overworld music as soon as a random battle/event battle ends, I've discovered the solution. And it's very simple too.

    Note: You can do this by either loading up the Beginner or Normal mode data. Then you must switch over to Hard mode.

    Here's how to do it:

    Go to Scripts > Scripts > File 23-Enemy Defeated > Edit

    When the Script Editor appears highlight the Script Editor window and press X. Then highlight Line 001 - Sound: Replay Saved, press X, and delete it. Then between Line 000 and Line 001 press X and choose Sound > SFX > (Choose Victory Music). The victory music should now be set on Line 001. Then Update Data and Exit to save the changes.

    Next, go to Scripts > Scripts > File 25-Battle Success > Edit

    When the Script Editor appears highlight the Script Editor window and press X. This time, scoll to the bottom and place the cursor line after Line 022 - Text: Close Message Window. Press X and choose Sound > Replay Saved. This should now be set on Line 023. This will play whatever previous music was playing just before the battle start upon exitting the battle. Now Update Data and Exit to save the changes.


    And that's it! You now have custom victory music of your choosing, and it transitions to wherever you previously were before the battle perfectly with the BGM!

    Creating Custom Music: By Judgem

    To create custom music:

    1) Create a Context script for each instrument part:
    - Sound: SFX ... (Adjust Tempo to match the following Wait command)
    - Other: Wait ...
    - (repeat these steps for each note, or just the Wait command for rests)

    2) Create an Action script for the music (all instrument parts put together):
    - Script Branch: Repeat: Flag [FlagXXX] On (this flag can be any flag not yet used, and it will be on whenever it's ok to play the corresponding music)
    - Script Control: Apply Together
    - Script: Call ... (call an instrument part script created earlier)
    - (repeat this last step for each instrument part)
    - Script Control: Apply In Order
    - Script: Branch End

    3) Create a Page Condition Script for a music event:
    - Script Branch: Condition: Flag [FlagXXX] On (same flag as earlier)
    - Data: Flag: [Satisfy Page] On
    - Script: Condition End

    4) Create an Event for the music:
    - Type: Normal
    - Condition Type: Script
    - Script: (The Page Condition script created earlier)

    EDIT: I think I made things a little more complicated than they need to be. You could probably just put the flag directly as the page condition. But I'll leave it here as an example of how to use a page condition script.

    - Model: -None-
    - Motion: (The Action script created earlier)
    - Start: (Doesn't matter, as there's no Apply script)
    - Apply: -None-

    5) Place the event somewhere on the map that you want the music to play in.

    6) Go to the Graphics/World Organization/Script, and turn on the above FlagXXX in the Enter Map script.

    Does anyone do it a different way? I have a small problem creating very short notes in the scripts in part one; I created another topic to ask for help on this. But basically, the problem is that when using a short Wait period, the note will carry on even when the next note starts.

    I found a trick to have enemies do a special animation when they first enter the battle. Yeah, one might think it's simple, but only applying text to tell when the enemy enters is simple. But took me a half-hour to try to get an enemy to animate once then do its Wait animation. It either always just repeated its battle entry animation or skipped right to the Wait animation. Well, I figured it out, and I'm sharing it with you, just because I care that if I didn't mention this first and somebody else did people would think that I used information that someone posted. Anyway, here's how to do it.

    1) First, create the animation in the Enemy Action editor. It can be as simple as it doing Action A once, or as complex as an enemy coming through a lightning-filled black hole.

    2) Now, go to the script editor. Create a Content Script called Enemy Intro 2 (I'll explain why later).

    3) Put in the command Script > Apply Together.

    4) Put in the command Battle > Enemy > Enemy Action.

    5) Set the action to the one that holds the enemy's intro animation. Uncheck "Enable Marker".

    6) Put in Battle > Enemy > Default Enemy Action. This'll automatically apply the Wait animation for the enemy. (One could probably just select the Wait animation in Batte > Enemy > Enemy Action, but I couldn't get it to work that way.)

    7) Update Data and Exit.

    8) Create another script, called Enemy Intro 1. This is the actual script that will be used to start the enemy's intro.

    9) Put in another Script > Apply Together command.

    10) Go to Script > Call Script, and select Enemy Intro 2.

    11) Update Data and Exit.

    12) Go to the Event editor.

    13) Create an Event called Enemy Intro, and set the type to System.

    14) In the Apply Box below, select Enemy Intro 1.

    15) Update Data and Exit.

    16) Go to the Enemy editor, create a new enemy (or select one you already made).

    17) Click on Adv > Directing.

    18) In the box marked Battle Start, select the event you made (Enemy Intro).

    You're done. I think I explained everything. Oh, but keep in mind, when the battle loads, the enemies have already started their Wait animations. So if you set their intro animations for them to appear from nowhere, you'll end up seeing them, they'll disappear, then fade in. I'm sure there's a way to make it so you can't see the enemies before you start the intro animation, but I haven't found out how.


    Enemy Introduction Animations: By Draygone

    I found a trick to have enemies do a special animation when they first enter the battle. Yeah, one might think it's simple, but only applying text to tell when the enemy enters is simple. But took me a half-hour to try to get an enemy to animate once then do its Wait animation. It either always just repeated its battle entry animation or skipped right to the Wait animation. Well, I figured it out, and I'm sharing it with you, just because I care that if I didn't mention this first and somebody else did people would think that I used information that someone posted. Anyway, here's how to do it.

    1) First, create the animation in the Enemy Action editor. It can be as simple as it doing Action A once, or as complex as an enemy coming through a lightning-filled black hole.

    2) Now, go to the script editor. Create a Content Script called Enemy Intro 2 (I'll explain why later).

    3) Put in the command Script > Apply Together.

    4) Put in the command Battle > Enemy > Enemy Action.

    5) Set the action to the one that holds the enemy's intro animation. Uncheck "Enable Marker".

    6) Put in Battle > Enemy > Default Enemy Action. This'll automatically apply the Wait animation for the enemy. (One could probably just select the Wait animation in Batte > Enemy > Enemy Action, but I couldn't get it to work that way.)

    7) Update Data and Exit.

    8) Create another script, called Enemy Intro 1. This is the actual script that will be used to start the enemy's intro.

    9) Put in another Script > Apply Together command.

    10) Go to Script > Call Script, and select Enemy Intro 2.

    11) Update Data and Exit.

    12) Go to the Event editor.

    13) Create an Event called Enemy Intro, and set the type to System.

    14) In the Apply Box below, select Enemy Intro 1.

    15) Update Data and Exit.

    16) Go to the Enemy editor, create a new enemy (or select one you already made).

    17) Click on Adv > Directing.

    18) In the box marked Battle Start, select the event you made (Enemy Intro).

    You're done. I think I explained everything. Oh, but keep in mind, when the battle loads, the enemies have already started their Wait animations. So if you set their intro animations for them to appear from nowhere, you'll end up seeing them, they'll disappear, then fade in. I'm sure there's a way to make it so you can't see the enemies before you start the intro animation, but I haven't found out how.

    2D Custom Graphic Editing Using Building and Dungeon Editors: By ValhallaRPG

    As you know, unlike its predecessor, RPG Maker 2 don't have an Anime Maker nor an image editor - only import digital camera and screenshot feature. However it's possible to simulate a graphic editor by using the Dungeon and Building editor. In that case the blocks will represent pixels that you place on a big 32 x 32 "image grid".

    Here's how it basically works:

    1- Draw your image by using blocks with different textures in a dugeon. Use also buildings to make variations in colors. You then place those buildings in the dungeon (main image).
    2- Create a script containing camera effects to set the camera in 90° at a very far distance so you can clearly see the 32 x 32 region during play test mode.
    3- Place the script in an event and then apply it for the dungeon to start when entering dungeon.
    4- Make your party member(s) invisible - no character models. That way they won't interfer with the image you wanna snap.
    5- During game test, make a screenshot of your zoomed dungeon.
    6- Save the image from the screenshot in the Image editor.
    7- Enjoy.

    Here's the steps more in-depth

    1- Create a dungeon that will be used as the main image. You should use it as the main frame of your image. Use textured block to "draw" the "pixels". For example, use black textured blocks to make the contours. I recommend filling the sides and top of the blocks even if it seems like only the top will be visible after the camera zoom effect. It'll be also easier to work your image that way. Also, if your image has a dominant color, use the background color feature to fill it You'll save a lot of blocks that way. (Also, the background color will be easy to fill with shades of light by using transparent blocks in building that we'll see later) For my Dragon Warrior Slime, I used a blue background as the dominant color and black textured blocks to make the shape.

    Using Buildings for your dungeon:
    Althought there's a good choice of textures, you'll probably lack in variety of colors. In that case you can use buildings to draw different regions of your image with different colors. How? In the Building editor in the Custion Dialog box section, you can change the color property of the building. By default, it's grey (neutral). Use the Lower Texture #28. (default texture when entering edit mode) This texture adapts well to the specified building color. You should enter your Dungeon in the database to refer to it when editing your blocks.It'll make your design time easier. One of my buildings is simply the mouth part of the Slime image. I changed the color to red in the Custom Building properties.

    Making shades of colors:
    Remember when we used a background color in the dungeon editor as the main color for the image? By using buildings, it's possible to alter the shades of this background color. Let's take again the DW Slime example. On the left part of the slime I wanted to have a white light that reflected to give some volume. So I made different buildings with different white blocks regions to cover the slime. Each building has a different percentage of transparency in the Custom properties. So with the slime it gives different shades of blue. You can also darken you background with a transparent black block building. Or use transparent colored buildings to make other shades of color.

    As you draw, you may want to see the final result with all the building parts ("drawing regions") in your dungeon. So edit the Object Placement and then follow the next steps to be able to view your image in play test mode.

    2- Script for camera effects:
    To get a good screenshot, you'll have to adjust the camera settings to act as if you were in a graphic editor, not as a playable dungeon. Create a "Content" script and enter the following commands:

    000 Camera Vertical Angle = +90 0F
    001 Camera Distance = 1000 0F
    002 Camera Viewpoint Height = +1000 0F
    003 Screen Effect: Mask(122, 70)~(382, 370) Color Black 0F

    The first line is a camera effect to have the camera look down at 90 degrees. The second and third are camera effects for raising the camera's height. The fourth line is optional. It's to mask the surroundings outside the 32 x 32 dungeon. Depending of what you want and the graphic size, you'll may want to adjust the camera distance and mask effect. These settings are just a suggestion. Save the script and go in the Event editor.

    3-Create a "System" event and put the previous script in the Apply section. Save and exit. In the World Organisation editor, make the assembly of the dungeon and object placement. Since we made a System event, you can put it in the section where it will start when you enter the dungeon. (I don't remember the exact name) Exit the World Organisation editor.

    4- Make your party member(s) invisible - no character models. That way they won't interfer with the image you wanna snap. Also make you party start in the proper "image" dungeon and put tem at the center of your image to save time in test play mode.

    5- You're now ready to play test your image. During game test, make a screenshot of your zoomed dungeon. If you're not satisfied, then go make modification to the corresponding dungeon and buildings. At least your "Zoom camera" script is made.

    6- Save the image from the screenshot in the Image editor.

    7- Enjoy.

    This drawing method can be quite tricky at first, but at least it gives you some possibilities to draw your custom graphics, apart from the digital camera feature. You could also use Maps instead of dungeons to draw.

    ***
    Now the problem you'll face is that this method uses a lot of dungeon and building memory that you'll want to keep for RPG purpose instead of custom graphics. And even if you're done with the source dungeon and buildings and made your screenshot, you'll probably want to keep them for further updates on your images. The solution is simple. Create a totaly different file on your memory card just for these "custom graphics editors". Once you make the screenshot that you want to keep, save your RPG Maker2 data used for custom graphics. To load your other RPG Maker2 data (The one with your game progress) you'll have to delete all the current data. Don't worry, you don't have to delete the snapshot saved in the clipboard. You'll be asked this question: "Do you wish to delete Screenshot Image Data as well?". Answer NO and you'll be able to use your screenshot with other RPG Maker2 data!

    BTW, a dungeon has a 32x32 grid and a limit of 1024 blocks. 32 * 32 = 1024. So you should have enough blocks for your custom image.

    If you want to make bigger custom images than 32 x 32, you can adjust multiple image parts together with the Special effect editor.

    Hope you find this trick useful.

    Creating Doors That Work Without The Use of Variables: By Giels

    First, make an object model of the doors you want to use.

    You'll want to make 2 scripts.

    Script 1
    Change TYPE to ACTION
    ->Events>Effects>Single Action. Select Model to Object and None. Change speed to 0.

    Script 2
    TYPE = CONTENT
    ->Events>Effects>Single Action. Select Model to Object and None, check disable motion after action, and set Speed to 100.
    ->Events>Movement>Bypass Members. Set to YES.

    Now, time to make the event. Go to the event editor and make a new event.
    TYPE = NORMAL
    DISPLAY TYPE = OBJECTS
    DISPLAY MODEL = DOORS
    MOTION = Set to Script 1
    START = Touch and -None-
    APPLY = Set to Script 2

    Now place the event. You can place as many as you want on the same map and they will all open seperately. You can also add your sound effects to Script 2.

    (Almost) Real Timer & Events Moving Simultaneously: By Shawnforbes

    Okay, so I experimented with a few things and came up with a solution for two problems.

    1. (Almost) Real time timer.
    2. (Almost) Dual action event.
    3. Activate Event From Specific Direction

    Here's what you do:

    (ALMOST) REAL TIME TIMER

    1. Create an ACTION script: Name it "TIMER".
    2. Input the following:

    TEXT BOX: 3
    WAIT 30 F (Note: 30 F = 1 second)
    CLOSE TEXT BOX
    TEXT BOX: 2
    WAIT 30 F
    CLOSE TEXT BOX
    TEXT BOX: 1
    WAIT 30 F
    CLOSE TEXT BOX
    TEXT BOX: 0
    DATA>FLAGS>FLAG X ON
    WAIT 10 F (Note: This is optional - only so the player will see "0" before it's removed.)
    CLOSE TEXT BOX (Note: This is also optional, as I will explain later.)

    (Feel free to add as much time as you wish, I just use 3 seconds as an example.)

    3. Create a CONTENT script: Name it "WIN/LOSE"
    4. Input the following script (which is use for example only, you can use whatever you want):

    SCRIPT BRANCH>CONDITION>FLAG X ON
    DATA>FLAGS>FLAG X OFF
    SCREEN DISPLAY>TEXT>MESSAGE "YOU LOSE!"
    PARTY>TELEPORT>WARP>LOCATION (pick a location you want the party to move to)
    CONDITION END
    SCRIPT BRANCH>CONDITION>FLAG X OFF
    CLOSE TEXT BOX (Note: Optional - this would close the ACTION text box from before if it hasn't already been closed.)
    SCREEN DISPLAY>TEXT>MESSAGE "YOU WIN!"
    EVENT>EFFECTS>DISPLAY OFF (Note: This is just so that you will actually SEE the results.)
    DATA>FLAGS>FLAG Y ON
    CONDITION END

    5. Create an EVENT: Name it "TIMER&WIN/LOSE" and select any model (Note: Again, this is just so that you actually SEE the results.)
    6. Place "TIMER" in the MOTION option.
    7. Place "WIN/LOSE" in the APPLY option.
    8. Set START to TOUCH (or whatever you want).
    9. Add a second page with no graphic and set the page condition as FLAG Y ON
    10. Place your event on the dungeon/world map that you want it.
    11. Test play.

    If you've followed this, what'll happen is that the timer will count down to zero and stop. Now, if you touch it BEFORE it gets to zero it'll say "YOU WIN!" then it'll disappear. However, if you touch it AFTER it gets to zero it'll say "YOU LOSE" and warp you to whatever location you picked.

    This could also be done with variables, and adding a few more conditions could cause your event to do different things depending on what veriable the ACTION script has reached. (Eg. The variable could be preset to 3 and subtract 1 for every second that passes. Then the conditions of the WIN/LOSE event could be different for every variable/second. Making sure to take into consideration that you don't want the event to activate the LOSE condition before the timer gets to 0 - you may want to substitute the FLAG you used in the appropriate place within the script.)

    BTW - I tried many different ways to get the event to activate automatically (without having to press SQUARE then CIRCLE), but none of them worked. If someone else finds a way, I'm very interested to know.

    EVENTS MOVING SIMULTANEOUSLY

    So, I finally managed to firgure out how to move two (or more) events in the same (or different) direction at the same time, within a content script.

    Here's how it works:

    1. Create an EVENT: Name it "MOVE1" and select a model.
    2. Create an EVENT: Name it "MOVE2" and select a model.
    3. Create an EVENT: Name it "COMBINED", don't use any graphic and set the START as AUTO. (This is just so you'll see the results.)
    4. Place "MOVE1", "MOVE 2" and "COMBINED" on the dungeon/world map that you want them to be on. (Optional - can be done later.) Just make sure that "MOVE1" and "MOVE2" are where you want them to start, it doesn't matter where "COMBINED" is placed.
    5. Create a CONTENT SCRIPT: Name it "CONTROL A"
    6. The Script should read:

    EVENTS>CONTROL>CHANGE>"MOVE1"
    EVENTS>MOVEMENT>Move the event however you want it to move.

    7. Repeat 5 & 6: Name the script "CONTROL B" and change EVENTS>CONTROL>CHANGE>"MOVE1" to EVENTS>CONTROL>CHANGE>"MOVE2".
    8. Create another CONTENT SCRIPT: Name it "COMBINE"
    9. The script should read:

    SCRIPT>APPLY TOGETHER
    SCRIPT>CALL SCRIPT>"CONTROL A"
    SCRIPT>CALL SCRIPT>"CONTROL B"

    10. Go back to "COMBINE" event and add "COMBINE" into the APPLY option.
    11. Test play.

    If you've followed this, what'll happen is that the two events that you placed on the map will move (at the same time) to wherever you wanted them to go.

    This can aslo be combined with text, player movement, camera movements and some more things too (I'm sure):

    A. Allowing for the camera to zoom in/out (whatever) while the events are moving.
    B. Waiting a certain amount of time before saying a message.
    C. Having the event(s) move while the party moves as well.

    Lastly, since you can control the members of your party individually, you could also have the party members move off in different directions while the events are moving too.

    Pickpocketing: By WilliamKirk

    An extremely easy way to do this(possible in RPGM1 too) is make it so when you talk to people you get a 2-Way Choice to either talk to the event or steal from the event. Then you just use a script branch and a flag to make it so you can only steal once. And on top of that you could make it so when you steal you have a __% of stealing this or a __% of stealing that or a __% of stealing nothing.

    Random Weather Script: Posted By WilliamKirk; Credit Chocobo Knight Reika

    Script Branch : Repeat : Flag "Off (Fixed)" = Off
    Script Branch : Condition : Variable "Weather" </= +50
    Other : Wait 500F
    Script Branch End
    Script Branch : Condition : Variable "Weather" > +50
    Script Branch : Condition : Variable "Weather" </= +80
    Screen Effect : Weather (Rain) Strength = 20%
    Other : Wait 500F
    Script Branch End
    Script Branch : Condition : Variable "Weather" > +80
    Screen Effect : Weather (Rain) Strength = 100%
    Screen Effect : Weather (Clouds) Strength = 100%
    Sound : World "Rain" Volume = 100
    Other : Wait 500F
    Script Branch End
    Script Branch End
    Sound : World "-None-"
    Screen Effect : Default (Weather)
    Data Varible : "Weather" = (+1) ? (+100)
    Script Branch End

    "With this script you have a 50% change of clear weather, a 30% chance of light rain, and a 20% chance of heavy rain.

    Change the #s and weather patterns to anything you'd like. If you want more patterns just add more conditions. Oh yeah, and this should be an action type script."

    MP Cost & Spell Damage by % Value: By WilliamKirk

    If you put this in a script called up by the spell it'll work just fine:

    (variable#1 * variable#3) = variable#4
    variable#4 / variable#2 = MP Cost or Spell Damage

    variable#1 would be different per spell(don't have it exceed 100 as it is in essence a percentage)
    variable#2 would always be 100(to make variable#1 a percentage)
    variable#3 would always be equal to the casters max MP
    variable #4 would just be a variable to transfer the data of the other variables without changing them

    **BlueSenshi Note: To deduct the MP from the Caster, just use the sample Script that deals with MP consumption. As long as your characters are set up properly, it should work, even in a CBS.**

    Random Item Generation: By Dungeon Warden

    The easiest way to generate a randon item is to set up a variable to generate a number from the first item to the last item.

    For example; if item 15 to 20 were all random prize items (note: numbers are assigned when you make the item), you would generate a number from 15 to 20 using Data > variable:
    Var ??? (any unused variable) = 15 ? 20

    Then you would load the data of the character you wanted to give the prize to. Do this by setting var 086: Member number to the number of the party member (this is the character number in the character creation list, not the characters position). data > member info > load. check variables 117 - 128 using a branching script command. These contain the items the player is caring. If any variable contains a -1, the character does not have an item in that slot. If all the variables are full, you can print a message saying the character can't hold any more items. Otherwise, change the variable of the first slot that contains a -1 to the number randomly generated. Use data > member info > save and the character will now be carring the item.

    Talking or Examining at the Same Time: By Giels

    WARNING: This is for more advanced users because you'll also have to edit the 'System Errors' script.

    1. To start, edit the System Errors script. Delete lines 001-015 or edit the wording to make it say, "Entered Talk Mode" or "Entered Examine Mode".

    2. Create a script for your event. I will call this script "DualScript".
    000-Script Branch>Variable>01System Generate=0?
    001-Text>enter your talking text here.
    002-Script End
    003-Script Branch>Variable>01System Generate=4?
    004-Text>enter your examination text here.
    005-Script End

    3. Make an event like normal, Make sure the Start say TOUCH and none. Change apply to your "DualScript".

    4. Place your event and voila!

    NOTES
    This system is not perfect. System Generate variable is what the game uses for identifying errors. 0 is the default. So at the start of the game, all you have to do is touch the event and it will display your 'talk' command. To get it to search, press X to bring up the menu and select 'Look'. As long as there is not an event in front of you that has it's start set to 'Examine', you'll get an error 4(if you deleted line 001-015 then nothing is displayed, if you edited the script then it will say "entered examine mode") Now whenever you touch the event, it will search it. Also, if you trigger any other System Generate error(for example, if you try to use an item from a member who has no item, then system generate changes to 16.) If System Generate does not equal 0 or 4, then when you touch that event, it will not do anything at all.

    Permanently Change Party Graphics: By Cloud the HUmar

    First Go to game>Game Settings>go to the "ADV" tab and click on settings. See the enter map and exit map system events? that's what we'll be messing with.

    Alright, go to Scripts>Scripts>Select the Enter Map script, copy and paste it. Now enter the newly pasted script, and between 000 and 001 go to members>effects>choose model and make the change.

    Next, go back to effects again and select color, then change the color to the model you want. Now, go to events>go and select "Enter Map"and make a new page, apply that script that you just changed, and put up a flag.

    This trick is useful if your character grows up or undergoes a transformation that is permanent.

    Boss Battles: By Cloud the HUmar

    If you played Fu-Ma and made it to the end (or if you cheated by loading it from edit game and warped to the ending battle) you will notice that when you kill the end boss, it doesn't display the text "(Monster's Name) is dead!". Well, here's how. Go to Events and hunt down the event that says "Enemy Defeated". Once you've found it, make a new page and assign a flag to it. Now, before the event battle begins, use that flag to turn the event off, then after the battle turn that flag you used off to make things normal again. You could probably use this with the event "Party Defeated" to make a fixed battle.

    Vibration in Battle: By Cloud the HUmar

    First, go to "Other">Controller Vibration.

    Next, go into Scripts and look for the script "Normal Damage|Member Directing|"

    Finally, go into it and set the vibation script after the SFX.

    Custom Music Sample: By Lilly of Tinto

    Here's an example, try it out for kicks. (its only the first intro measure, the melody comes in at measure 3, using the flute SFX)

    Measure 1 looks like this (Note: All the tempos of the SFX = 15):

    script>apply together
    sound>sfx>ocarina vol=20 pitch=+4
    sound>sfx>harp v=30 p=+4
    sound>sfx>guitar1 v=20 p=+11
    sound>sfx>bass v=40 p=-3
    Other>Wait=24F
    script>apply inorder
    script>apply together
    sound>sfx>orcania v=40 p=+4
    sound>sfx>harp v=50 p=+2
    sound>sfx>guitar1 v=40 p=+11
    sound>sfx>bass v=60 p=-3
    other>wait=24F
    script>apply inorder
    script>apply together
    sound>sfx>orcania v=45 p=+7
    sound>sfx>harp v=55 p=+1
    sound>sfx>guitar 1 v=45 p =+11
    sound>sfx>bass v=65 p=-3
    other>wait=12F
    script>apply inorder
    script>apply together
    sound>sfx>orcania v=20 p=+7
    sound>sfx>harp v=30 p=+1
    sound>sfx>guitar1 v=20 p=+9
    sound>sfx>bass v=40 p=-3
    other>wait=36
    script>apply together

    Repeat this twice and you have the first two measures.

    According to the sheet music I have the first four notes go from quiet to loud to quiet in, thus the differences in volume. Listen and you'll hear the difference. Its complicated, but just like the rest of RPG Maker 2 its easy once you get the hang of it.
    Last edited by Valkysas; 02-22-2009, 03:03 PM.

    ~Updates weekly on Sundays~

    #2
    Re: RPG Maker 2 Tips &amp; Tricks 2.0

    Cool this will be really useful stuff. I've have something for the chest item script in another topic i did here.

    Also i've written down some of the old notes on how to edit the Magic Formula by someone but i forgot to put down the name by who figured it out and i don't want any credit for finding this since it would'nt by honerable anyhow.

    But anyway i've too still have some of that info from the pavillion and agetec boards to post if you want to.
    Last edited by RPG Learner; 07-09-2005, 12:51 PM.
    There is one thing that pretty much disturbes me in an SRPG....

    Maronakins.

    Comment


      #3
      Re: RPG Maker 2 Tips &amp; Tricks 2.0

      Go Right ahead.

      VFX tips, though, should be saved for the VFX Q&A I'm compiling.

      ~Updates weekly on Sundays~

      Comment


        #4
        Re: RPG Maker 2 Tips &amp; Tricks 2.0

        Here we go.

        Here is something from the old pavilion ruins that i've found helpful for those that want to edit the Magic Formula. Unfortunetly i've don't know the name of the person that did this but it was very helpful to me. If someone knows the person that figured this out please give that person credit.

        Here's what the info said.

        In Scripts find Script 76 "Magic Formula" Go all the way down to line 59. Edit it and change the 1000 so that it represents the increase you want.

        1000 = .1% increase per INT
        500 = .2% increase per INT
        200 = .5% increse per INT
        100 = .1% increse per INT

        Change this to suit the balance you want for your game. Now go down to line 69 edit it, and change the 1000 just like you did above.

        Here is some more info that was there on that post also (I think it's been a long time since i've seen that post.)

        I aslo found out how to load the data into variables. What caused my confusion was that you can't control the variables the information gets loaded into. To find out where the information is going so you can edit it. hit start before selecting the command from the menu.

        In the example process from my question above. you would use the Data command to Load Direct Effect Info to load the rate into a tempary variable.
        you would use the Battle command Make Active Character. followed by Substitute Target Attribute for Variable to load the casters INT into into the default variable 101: Intelligence and then save this into a tempoary variable.

        Well this is all i've remebered about that post by someone.

        But it should help.
        Last edited by RPG Learner; 07-09-2005, 06:36 PM.
        There is one thing that pretty much disturbes me in an SRPG....

        Maronakins.

        Comment


          #5
          Re: RPG Maker 2 Tips &amp; Tricks 2.0

          Well for those interested in the main formulas I have worked them out, mainly because I want to change them myself. And though I'm sure RPG Learner is aware of this if you leave it the way it is it is .1% for each int point not 1%. And 100 is 1% the others are right now though, I know it was just another typo on your part.

          So the Magic Formula 1 is used for all normal attack magic excluding status magic, all out magic, and absorb magic. Healing magic just uses the Direct Rate and nothing else to determine amount healed. And status removal magic always works if they have the status you're trying to heal.

          Normal Damage = Direct Effect Rate * ((100 - Enemy Magic Resist) / 100) * (Intelligence + 1000) / 1000

          or

          Normal Damage = Direct Effect Rate * [1 - (Enemy Magic Resist / 100)] * [1 + (Intelligence / 1000)]


          and then a random amount from 10% to -10% of this calculation is added to the final damage

          Final Damage = Normal Damage + [(-Normal Damage * .1) ? (Normal Damage * .1)]


          And if the enemy selected defend Final Damage is Cut in half.

          if (Defend)
          Final Damage = Final Damage / 2


          Now this looks slightly different in the script as I have simplified the formula and used a bit of math to combine certain parts to emphasise their effect.

          Magic Formula 2 just uses the Instigators MP * 3 (or HP for the sacrifice ability) instead of the Direct Effect Rate. This is only used for Magic fire and the Sacrifice and Suicide abilities, it is meant for all out attacks that use all your MP or HP.

          Magic Formula 3 is used for the success rate of status effect magic, including insti death. All it is

          if (Direct Success * (100 - Target Magic Resist) >= 0 ? 10000)
          __then Insti Success



          Magic Formula 4 is used for Absorb HP only, and Magic Formula 5 is the exact same except it's for Absorb MP. This only gives damage, the actual heal part of absorb is done in another script, but just uses the damage calculated from these scripts.

          This is the exact same as Magic Formula 1, except you replace Direct Rate with

          [(Direct Rate * Target Max HP/MP) / 100]

          The rate used by the game is 10 so the damage will be 10% of the targets Max HP.

          Skill Formula used for skills, which typically use HP. This formula is exactly the same as Magic Formula 1 with the exception that it uses Strength instead of Intelligence. You could easily combine these to save some memory.

          EDIT: Ok the default battle formula is fairly similar to the Magic one, except it adds in dodge capability and critical hits

          Battle Formula

          So dodge is stated in the Battle Formula script and is

          if (Target Agi - Insti Agi) * 10 >= (0 ? 10000)
          __then dodge succesful (Target Dodge flag set to ON)


          (NOTE the left side of the if statement is clamped to be between 100 and 5000 resulting in a dodge percentage from 1% to 50%)

          The success rate for an attack is just if it is greater than a random number from 1 to 100. This is halved if the character is blinded.

          Critical rate is just the Direct Effect rate so

          if (Direct Rate > (0 ? 100)
          __ Then Critical Success


          The actual formula for damage is

          Normal Damage = (Insti ATT - (Target DEF / 2)) * [1 - (Enemy Wpn Resist / 100)] * [(Damage Rate A) / 100]


          for critical it is

          Normal Damage = (Insti ATT - (Target DEF / 10)) * [1 - (Enemy Wpn Resist / 100)] * [(Damage Rate A) / 100]

          then like magic a random amount from -10% to 10% is added

          Final Damage = Normal Damage + [(-Normal Damage * .1) ? (Normal Damage * .1)]

          same for defend

          if (Defend)
          Final Damage = Final Damage / 2


          For attacks if the Final Damage is less than 0 it had a 50% chance of doing 1 damage.

          *note* the m ? n indicates a random number from m to n

          EDIT: All of these are finished now, so now you know the basic formulas used for battles. And knowing is half the battle.
          Last edited by thetruecoolness; 07-10-2005, 08:08 PM.
          はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
          http://www.thetruecoolness.com/

          5198-2124-7210 Smash

          Comment


            #6
            Re: RPG Maker 2 Tips &amp; Tricks 2.0

            Whoops sorry but this is what i've found on a post in the pavillion forums but i wish i knew who though this up cause i know i did'nt. and now we'll never know.

            Sorry i forgot to put the decimals in.
            There is one thing that pretty much disturbes me in an SRPG....

            Maronakins.

            Comment


              #7
              Re: RPG Maker 2 Tips &amp; Tricks 2.0

              Use the "square" and "circle" Symbols
              In the script editor, place a show map script. Buried within it in two text blocks are the symbols for [] and O, just copy and paste them.
              Everything is a Riemann sum of a lot of nothing.

              Comment


                #8
                Re: RPG Maker 2 Tips &amp; Tricks 2.0

                I believe DW posted that up.

                Comment


                  #9
                  Re: RPG Maker 2 Tips &amp; Tricks 2.0

                  Are you sure William? If it is he get's credit for this.
                  There is one thing that pretty much disturbes me in an SRPG....

                  Maronakins.

                  Comment


                    #10
                    Re: RPG Maker 2 Tips &amp; Tricks 2.0

                    It could have been me, I don't remember. I know I figured that stuff out on my own, but it's not hard to use the help files to figure out what things do. I do have the complete list of everything that is loaded with all the load commands written down in my notes. I should post it some time so people don't have to rely on the help menu. There is also a couple errors in the help files, but not anything important.




                    The Crown of Order demo is here.

                    Comment


                      #11
                      Re: RPG Maker 2 Tips &amp; Tricks 2.0

                      I command you to archive your useful scripts and such in this topic ASAP. With enough volume, people should be able to copy and paste their entire game system in a flash through this, CMS and CBS included. That goes for everyone.

                      HOP TO IT!
                      Last edited by RPGD; 07-10-2005, 04:22 PM.

                      ~Updates weekly on Sundays~

                      Comment


                        #12
                        Re: RPG Maker 2 Tips &amp; Tricks 2.0

                        ^^^ CBS's too?!?!! Holy **** that would take forever with ACBS games like mine. Especially now since I have different vearieties of the ACBS, the shadow style being fastest and most fluid.

                        Also that [] O icon thing I posted waaaaay back at the old pavillion board long ago. As far as I recall i was the first to post it in there, and I know I discovered it on my own a looong time ago. Considering I had the game pre-ordered and got it when it came out and sat there and went through every single script and everything when I got it, its quite possible I was the first to discover this weather it was posted somewhere else before me idk?

                        Would maybe a summary of ACBS's or tricks to do things in the game w/ acbs's work?
                        Everything is a Riemann sum of a lot of nothing.

                        Comment


                          #13
                          Re: RPG Maker 2 Tips &amp; Tricks 2.0

                          Alright i'll post this what i had in a topic i wrote.

                          Chest Item Trick by RPG Learner.

                          Since there is that you need a flag for each treasure chest for one item why not have one for multiple items here's how i did it.

                          First copy and paste the Chest item script

                          Here's mine for example

                          Script 428 Chest Item

                          Here are the edits i did.

                          1st. Make an item called Equipment. put this item in a script that is called...

                          005- Data: Substitute Database number for variable.

                          This should have.
                          Variable #134 (Item Number)
                          Record (Item) Equipment

                          Then here's the edit how i did it.
                          014- Target Data: Item +(Equipment)
                          015- Target Data: Item +(Iron Pipe)
                          016- Target Data: Item +(Baseball Cap)
                          017- Target Data: Item +(Garbage Can Lid)
                          018- 014- Target Data: Item +(Healing Cream)
                          019- Target Data: Item -(Equipment) [Remove Equipent from the inventory]
                          *020- Member Info (Character 1) Equip +Iron pipe

                          *If you want to have the character equip the item use this.

                          Now for the bag one. This will be short.
                          050- Party: Bag (Equipment) +1
                          051- Party: Bag (TreeBranch) +1
                          050- Party: Bag (Equipment) -1

                          That's all.

                          How to make a double blow like skill.

                          Remember BOF 3 and 4 where there was this skill that allowed you to have a two hits and Triple blow now you can easily do a skill like that.

                          First you need the script Act x2 which can be found in the defaults.
                          Script 219 Actx2
                          Data: Variable Battle Turns=(0 fixed) + (+2)

                          For this skill here's the example i did.
                          (Direct Effect) Skill
                          Name Double Blow
                          Note Attack Skill (x2)

                          Directing (Success) Normal Attack
                          (Crtical) Normal Attack
                          (Fail) Normal Attack

                          Flow 1
                          Turn End (Actx2) (Should this be put in Turn Start?)
                          Check Start: Start HP
                          Check Fail: Ban Ability
                          Effect Start: Technique
                          Consume: Consume HP 1

                          Flow 2 Multi Effect
                          *First Effect
                          *Second Effect
                          *(I wondered if i should put Consume HP 1 here in this script?)
                          Success Check: Skill Formula

                          Result Success (Attack Success)
                          (Crtical) Attack Crtical
                          (Custom) -None-
                          Fail: Attack Failure
                          Dodge: Attack Dodge

                          There's just one minor problem with this. when use use the attack the consupion takes effecy twice with the Attack x2 command but this will also make some interesting things for it.

                          Also there's little trice on how to change the music into something else but since Rodak found this out first before me he should get full credit for this.

                          http://www.pavilionboards.com/forum/...ead.php?t=2043
                          Last edited by RPG Learner; 07-11-2005, 12:01 PM.
                          There is one thing that pretty much disturbes me in an SRPG....

                          Maronakins.

                          Comment


                            #14
                            Re: RPG Maker 2 Tips &amp; Tricks 2.0

                            Here is my time script which includes calls to a random weather generator, which has a fairly natural progression of weather so it's not sunny at one point and then a thunderstorm pops up. I still need to fix it so it doesn't redo the weather when you enter another map and it happens to be on a transitional time. I'll post that later tonight. This also keeps track of the day of the week too, though it doesn't keep any dates. I'll also add in my time and day display scripts to this later tonight.

                            *Note* This is an action script and must be used as the motion script of an event. This event must be placed on a map in order for the map to be able to keep track of time. So you could omit it on indoor dungeons and such to not make time progress in them, though you would probably want to call the first part of this script which just sets up the beginning time of day.

                            Variables used:

                            Hours of Day - Variable to keep track of hours
                            Day of Week - variable to keep track of day of the week
                            -- 0 Is Monday and 6 is Sunday

                            Script Control: Apply Together // needed for smooth transitions of times of day
                            // Sets up correct day effect when you enter a map
                            Data: Flag: [Temp Flag 0] Off // used to see if it's night when they enter Off if it is
                            Script Branch: Condition: Variable [Hours of Day] >= 6
                            - Script Branch: Condition: Variable [Hours of Day] < 11
                            -- Screen Effect: Time (Dawn) 0F
                            -- Data: Flag: [Temp Flag 0] On
                            - Script: Condition End
                            Script: Condition End
                            Script Branch: Condition: Variable [Hours of Day] >= 11
                            - Script Branch: Condition: Variable [Hours of Day] < 17
                            -- Screen Effect: Time (Noon) 0F
                            -- Data: Flag: [Temp Flag 0] On
                            - Script: Condition End
                            Script: Condition End
                            Script Branch: Condition: Variable [Hours of Day] >= 17
                            - Script Branch: Condition: Variable [Hours of Day] < 22
                            -- Screen Effect: Time (Dusk) 0F
                            -- Data: Flag: [Temp Flag 0] On
                            - Script: Condition End
                            Script: Condition End
                            Script Branch: Condition: Flag [Temp Flag 0] Off
                            - Screen Effect: Time (Night) 0F
                            Script: Condition End
                            // Actual time loop
                            Script Branch: Repeat: Flag [Off (fixed)] Off // infinite loop since it's an action script
                            -Script Call: [Apply Weather] // does the weather effect based on weather stored in Input: Current Weather
                            -Script: Call [Day of Week] // displays the day of week in a text box based on the value of Variable Day of Week
                            -Script Branch: Repeat: Variable [Hours of Day] < 24
                            -- Script Branch: Sort: Variable [Hours of Day]
                            --- Script Branch: Apply If: Number is 5 // Morning starts
                            ---- Screen Effect: Time (Dawn) 60F // Smooth out transition by making it take an hour in game time
                            -----Script Call: [Calculate Weather] // gets next weather conditon
                            -----Script Call: [Apply Weather]
                            --- Script Branch: To End
                            --- Script Branch: Apply If: Number is 10 // Noon starts
                            ---- Screen Effect: Time (Noon) 60F
                            -----Script Call: [Calculate Weather]
                            -----Script Call: [Apply Weather]
                            --- Script Branch: To End
                            --- Script Branch: Apply If: Number is 16 // Dusk starts
                            ---- Screen Effect: Time (Dusk) 60F
                            -----Script Call: [Calculate Weather]
                            -----Script Call: [Apply Weather]
                            --- Script Branch: To End
                            --- Script Branch: Apply If: Number is 21 // Night starts
                            ---- Screen Effect: Time (Night) 60F
                            -----Script Call: [Calculate Weather]
                            -----Script Call: [Apply Weather]
                            --- Script Branch: To End
                            -- Script: Branch End
                            -Data: Variable: [Hours of Day] = [Hours of Day] + 1 // increment hour
                            -Other: Wait 60 F // 2 second wait change this to make your hours longer or shorter right now 2 Sec = 1 hour
                            -Script: Branch End
                            -Data: Variable: [Day of Week] = [Day of Week] + 1
                            -Data: Variable: [Hours of Day] = 0 + 0 // reset hour - VERY IMPORTANT other wise the game will freeze
                            Script: Branch End
                            Last edited by thetruecoolness; 07-10-2005, 09:59 PM.
                            はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
                            http://www.thetruecoolness.com/

                            5198-2124-7210 Smash

                            Comment


                              #15
                              Re: RPG Maker 2 Tips &amp; Tricks 2.0

                              Originally posted by RPGProgrammer
                              I command you to archive your useful scripts and such in this topic ASAP. With enough volume, people should be able to copy and paste their entire game system in a flash through this, CMS and CBS included. That goes for everyone.

                              HOP TO IT!
                              YOU ASKED FOR IT...

                              Put the camera behind the character:

                              Data:Game Info Load
                              Script Branch Sort:Variable {85?} [Party Dir]
                              Apply if=0
                              Camera Rotate E : Frames=15
                              Branch : To End
                              Apply if=1
                              Camera Rotate SE : Frames=15
                              Branch : To End
                              Apply if=2
                              Camera Rotate S : Frames=15
                              Branch : To End
                              Apply if=3
                              Camera Rotate SW : Frames=15
                              Branch : To End
                              Apply if=4
                              Camera Rotate W : Frames=15
                              Branch : To End
                              Apply if=5
                              Camera Rotate NW : Frames=15
                              Branch : To End
                              Apply if=6
                              Camera Rotate N : Frames=15
                              Branch : To End
                              Apply if=7
                              Camera Rotate NE : Frames=15
                              Branch End

                              ===========

                              I was gonna use this as my [] button script and call it "examine" but I'm not sure now... either way it is useful :

                              Call Script [Camera Behind] *see above*
                              Apply together
                              Party:Hide Party
                              Camera:Viewpoint Angle=1 Degree Frames=15
                              Cameraistance =100 Frames=15
                              Input : User Button : Constant wait
                              Apply together
                              Party:Show Party
                              Cameraefault Frames=15

                              This zooms in on whatever the character is looking at just at that moment.

                              I found too many instances where I needed to adjust the height as well so I may not use it for the [] button, but it (or a variation of it) gets a lot of use in other circumstances.

                              ===============


                              This is in the manual, but since many used games come without the manual this is not a complete waste of bandwidth.

                              To change the BackGround Music in a Boss Fight (or any other "Event Battle"):

                              Sound : Temporary Save
                              Sound : BGM=[moo!] vol=...
                              Script : Apply Together
                              Screen Effect : {all squares black with 0% Transparency} : 40 Frames
                              Effect : Apply Wipe
                              Other : Wait : 40 Frames
                              Script : Apply In Order
                              Other : Event Battle: ("Uncheck" Battle Start Defaults Box)
                              Sound : Replay Saved

                              The 40 frame rate set in two lines above is equal to the 40 frames the system takes to transport you to the battle screen.

                              This script can easily be tweaked and modified to allow for things like using the "other" wipe {the one not set in default settings} for boss battles (first set wipe, then apply).

                              If you used a character (or object) look-alike for an intro to the Boss Fight you can have them perform a "Ya Got Me, You Racially Impure Lower Life-Form" (A real line from my game) scene, then flash and vanish (or whatever you like) right after this bit of script.

                              You can even lead right into a second fight with no chance to heal.

                              ===============[/COLOR]

                              A little trick to fill a map with tiny scrambling "mice" for effect.

                              Set this Action Script to the motion slot of an event with a resized (smaller) fish for a model. I named the event MEESES, but you can call it anything you like.

                              Script Branch: Repeat: Flag [Off Fixed]: Off
                              Event Control: Duplicate [MEESES]: Coordinates (+1, +1, 0)
                              Event Move: Bypass Members=Yes
                              Event Action: Random Move Facing=Movement 4F (Set the E/W and S/N values very high... I used 111 for all 4 slots and kept the height adjust at 0)
                              Script: Branch End

                              Place the event at coordinates 0, 0, 0 (or whatever Z coordinate is ground level). There is no content script, so you can set "Start" to anything you like or just ignore it.

                              This gives a map full of tiny little meeses running every which way. The map I used was relatively flat and that matters as meeses can get caught inside things and not be able to move. You do not want to use Bypass Objects to get around this as it causes them to run through everything.

                              Just another "little touch" to make dungeons and other areas more interesting.

                              +=+=+=+=+=+=
                              EDIT:
                              +=+=+=+=+=+=

                              I remembered I originally did have a content script in this!

                              I made a squeaky sound and set the "start" condition to Equal.

                              That way when you stepped on them, they made noise.

                              I did not like the results enough to keep, but it was worth mentioning.

                              ===============


                              Here is the script that runs the heart of the puzzles in the "Puzzle Room" of my demo (another shameless plug!). Basically you are stopping a spinning block with a carefully timed button press. Each side of the block has a different texture. I used three variations; a single block with the candle texture lit on one face and unlit on the other three; a four block puzzle with four "corner textures" that line up only on one of the faces (2 combinations that do not form patterns and one that does, plus one side blank for the "null position"); and a sadistic 9 piece puzzle.

                              The nifty part is the timing part. You need only a little practice to get it down, so it seems a well constructed script. I found the hard part to be getting a "Deny" sound to play when the button press was mistimed.

                              There are messages based on conditions surrounding this script excerpt, but they would be different for everybody, so here is the hard part (this script is attached to a "lever" object, so the "single action" command simply "flips the switch"):


                              Data: Flag: [Puzzle X Solved]: Off
                              Sound: SFX [Door Squeak]
                              Event: Effects: Single Action {check the "Disable Motion After" box}
                              Event Control: Change Target to [Puzzle X Piece X]
                              Script Branch: Repeat: Variable [User Button] /= {not equal to} 4
                              Sound [Switch 2]
                              Script Control: Apply Together
                              Event Move: Rotate Clockwise 90 degrees: 2 frames
                              Input: Buttons: Wait 2 frames
                              Script Branch: Sort: Variable User Button
                              Script Branch: Apply If: Number is +4
                              Sound: SFX [Deny]
                              Script: Branch End
                              Input: Buttons: Wait 3 Frames
                              Script: Branch End
                              Event Control: Event Info Load
                              Data: Variable [Puzzle Attempts] = [Puzzle Attempts] + 1
                              Script Branch: Condition: Variable [Event Dir] = +2 {or whatever}
                              Sound: SFX [Bell]
                              Text: Message "THAT'S IT!"
                              Data: Flag: [Puzzle X Piece X] On
                              Data: Game Info: Save
                              Script: Condition End
                              Text Message: "Wasn't Dat Fun?" {uncheck "Close Window" box}
                              Script Branch: Sort: Variable [User Button]
                              Script Branch: Apply if: Number is +4
                              Input: Buttons: Constant Wait
                              Script Branch: To Top
                              Script Branch: End
                              Text: Close Window
                              Script: Condition End

                              At the end, after the messages, I call a script to check all the flags for all the pieces of that puzzle. If they are all on I trip another flag for the entire puzzle (which controls the very beginning of the script messages). Of course the One-Piece Puzzle does not need to call a script, but the 4 piece and especially the 9 piece, puzzles need it.

                              The "Number of tries" variable is there so I could do something nice if they keep trying, and failing. I figure I'd just give it to those who have difficulty with the timing, but keep trying anyhow. If the variable gets big enough, I can slow it down or give them it outright, just as a reward for trying so hard (and because you do not want the player to lose interest or get completely stuck with no way to continue).

                              Peace.

                              +++++++
                              EDIT:
                              +++++++

                              The "Wasn't Dat Fun?" question part is essential to the script, even though it seems irrelevant. You need to change the value of the user input or it will confuse the script when it runs the next puzzle piece. The way I have it set up any button other than Triangle will close the window and change the user input variable's value.

                              If anyone knows a better way to do this, please let me know.

                              ===============

                              Here's one that gave me more trouble than it had any right to give, so I'm posting it here in case anyone else is as slow as me about these things.

                              It is a way to keep random things more random by preventing repeats. I have found that I can generate the same random number 3 or 4 times in a row and that can really ruin some aspects of gameplay if the randomized bit needs variety.

                              This is a very useful concept for making random things appear more random. It is set up for ten different possibilities with no repetition for at least 4 turns.


                              Script Branch: Repeat: [Temp Variable 8] =/= {not equal to} 100
                              __Data: Variable: [Temp Variable 9] = 0 ? 9
                              ____Script Branch: Condition: [Temp Variable 9] = [Last Try]
                              ________Script Branch: To Top
                              ______Script: Condition End
                              ____Script Branch: Condition: [Temp Variable 9] = [2 Tries Ago]
                              ________Script Branch: To Top
                              ______Script: Condition End
                              ____Script Branch: Condition: [Temp Variable 9] = [3 Tries Ago]
                              ________Script Branch: To Top
                              ______Script: Condition End
                              __Text: Message "" {No entry; Uncheck "close window" box}
                              __Text: Content: Variable: Display: [Temp Variable 9]
                              __Data: Variable: [Temp Variable 8] = [Temp Variable 8] + 1
                              __Data: Variable: [3 Tries Ago] = [2 Tries Ago] + 0
                              __Data: Variable: [2 Tries Ago] = [Last Try] + 0
                              __Data: Variable: [Last Try] = [Temp Variable 9] + 0
                              Script: Branch End
                              Text: Message "MOO!" {Check "close window" box}
                              ____Data: Variable: [Temp Variable 8] = 0 + 0 {for repeat uses}


                              This gave consistent strings with no repeats for at least 4 numbers.

                              While this is written in the form of a test script (one that displays the results in conversation form and intended to be placed on an NPC) it could be adapted by replacing the text lines with a Sort command and a few (10) "Apply If's" for your chosen actions. And the overlayed repeat loop (the one for temp variable 8) can be removed too. It was just there so I could get a long enough list to detect duplications.

                              I use this in battle for random abilities on an NPC that I do not want to repeat (he yells insults, and repetition in a case like that detracts from the whole concept... especially when it repeats 4 times!!).

                              My thanks to Nash for putting me on the right track!

                              Peace.

                              ==============


                              Some Default Music Modifications that work nicely:

                              Try these (all available in my demo for The Clean Underwear Quest... *shameless plug*...)

                              Home 9
                              Pitch 7
                              Tempo 240

                              Town 5
                              Pitch 9
                              Tempo 240

                              Castle 3
                              Pitch -12
                              Tempo 125

                              Mellow 5
                              Pitch 1
                              Tempo 300

                              Theme 6
                              Pitch -4
                              Tempo 125

                              Town 4
                              Pitch 8
                              Tempo 250

                              A good tip for this kind of playing around is to listen to the time signature of the music. If it is 3/3 time multiply the tempo by increments divisible by 3. Likewise, 4/4 time gets multiples of 4.

                              Of course, if something sounds just right for your purposes, use it no matter what the numbers!

                              Peace.

                              ===============

                              Here is a link to a DBS Modification I posted a while ago:

                              http://www.pavilionboards.com/forum/...ead.php?t=1504

                              It lets you create additional enemy actions and call them smoothly through the DBS when needed.

                              ==============


                              Finally:
                              Originally posted by RPGProgrammer
                              VFX tips, though, should be saved for the VFX Q&A I'm compiling.
                              Here is a link to a VFX editor tip for creating your own coordinate system.

                              http://www.pavilionboards.com/forum/...ead.php?t=1219

                              Don't for get that for your VFX Q&A!

                              ======================

                              That's all for now.
                              Last edited by Rodak; 07-11-2005, 05:08 AM. Reason: color changes for clarity

                              MOO!




                              Comment

                              Working...
                              X