| |||
Views: 88,499,042 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-29-24 03:26 AM |
|
Guest: Register | Login |
0 users currently in Super Mario RPG Hacking | 2 guests |
Main - Super Mario RPG Hacking - Event Script tutorial | New thread | New reply |
Elementalpowerstar |
| ||
Paratroopa Level: 29 Posts: 59/155 EXP: 144407 Next: 3478 Since: 12-29-08 From: --- Last post: 3799 days Last view: 3692 days |
Event Script v1.0 FINAL.
Any additions will be pictures, videos, etc. EVENT TUTORIAL... NOTE: The ROM address speciifed in multiple commands is the number after 1E in the far left of the command. I.E. "[1ED532] Obj: Mario, length 23 bytes, sync = true" _______________________________________________ ACTION QUEUE... This enters a command that makes the set NPC do that list of commands below it. Here are the list of Objects to control: 000 Mario: Controls the player. 001 Toadstool: Not exactly sure. 002 Bowser: See above. 003 Geno: See above. 004 Mallow: See above. 005 DUMMY 0x05: Controls nothing. 006 DUMMY 0x06:Controls nothing. 007 DUMMY 0x07:Controls nothing. 008 Character is Slot 1: Controls character in slot 1, aka, Mario. 009 Character in Slot 2: Controls character in slot 2. Usure what this means. 010 Character in Slot 3: Controls character in slot 2. Unsure what this means. 011 DUMMY 0x0B: Controls nothing. 012 Screen Focus: Controls the screen. This is used for panning the screen to a certain position. Try using shift steps/16px units instead of Shift to Isometric coords. 013 Layer 1: Controls the movement of the first layer of graphics on themap, I.E. tables, stools, etc. 014 Layer 2: Controls the movement of the second layer of graphics on the map, I.E. ground, floor tiles, etc. 015 Layer 3: Controls the movement of the third layer of grpahics on the map, I.E. rain, clouds, shadows, etc. 016-020 Mem 00:70A8 - 00:70AB: Controls objects set to that specific address. Your going to need to have some skill to work with these, or set an object to that address. 021 NPC #0-27: Controls the NPC character set to whatever the NPC number is. _________________________________________________ JOYPAD... Joypad enable exclusively (reset @ return)... Check the input commands to be used. Resets all to normal at return. Joypad enable exclusively... Same as above, only it doesn't set it back to normal after return. _________________________________________________ PARTY MEMBERS... Activate Party Member... Make the selected party member join or leave the party. To make the character join for the first time, check increment party capacity. After incrementing party capacity, if you want to remove the character, activate the character an additional time without incrementing part capacity. This will make the character not be in your party. Equip item to character... equips set item to the characters specified. Be sure to select one the character CAN use. HP -= mem 00:7000, character... Subtract the number of hit points for the character by reading the stored number at common memory 00:7000. Expirence += expirence packet data: There are no commands for this one. Was it even used...? Restore all HP: Give all characters 100% health. Expirence Packet - mem 00:700: Gives the character expirence based on what expirnece packet memory 00:7000 is set to. _________________________________________________ INVENTORY... Inventory Store x1, item: Store the set item once. Inventory Remove x1, item: Removes the item from storage. I assume you actually need to HAVE the item... Add to coins...: Adds the number of coins specified. Add to frog coins...: Adds the number of frog coins specified. FP -= mem 00:7000: Subtracts Flower Points by the number specified in memory 00:7000. Store mem 00:70A7 to item inventory: Stores the item number set to the memory 00:70A7 to regular item inventory. Store mem 00:70A7 to equipment inventory: Store the item number set to the memory 00:70A7 to equipment inventory. Coins += mem 00:7000: adds the number of coins in memory address 00:7000 to your inventory. Coins -= mem 00:7000: subtracts the number of coins in memory address 00:7000 from your inventory. Frog coins += mem 00:7000: same as "Coins += mem 00:7000" but with frog coins. Frog coins -= mem 00:7000: same as "Coins -= mem 00:7000" but with frog coins. Currnet FP += mem 00:7000: Adds to FP by how much is speicifed in memory address 00:7000. Maximum FP += mem 00:7000: Raises the max FP by how much is specified in memory address 00:7000. Restore all FP: Gives the player maximum FP. _________________________________________ BATTLE... Engage battle with pack @ 00:700E: Engages battle with the formation number stored at memory address 00:700E. Engage battle with pack...: Engages battle with pack specified, at which area specified. ___________________________________________ LEVELS... Open, world map point...: Opens up the world map point specified. Unknown bits 5, 6, and 7 can be checked for use. Open level...: Opens level specified, at what position specified (XYZ) where mario will appear. Has the option to show message specified in-level and to run the entrance event specified in-level. Modify layer of level... Modifies layer of level specified. Nothing else is prompted to be specified.... Modify solidity of level... Modifies solidity of level specified. Nothing else is prompted to be specified.... ________________________________________ MENUS... Open, shop menu...: Opens the shop menu specified. So just in case you DONT want to go looking for it, heres a list: SHOP NUMBER | SHOP NAME AND/OR LOCATION 000 | Mushroom Kingdom 001 | Rose Town: Items 002 | Rose Town: Armor 003 | Frog Disciple Shop, Seaside Town 004 | Molevillie Shop 005 | Marrymore Shop 006 | Frog Coin Emporium 007 | Sea Item shop 008 | Seaside Town Items, Before Yaridovich 009 | Juice Bar (No Cards) 010 | Juice Bar (With an Alto Card) 011 | Juice Bar (With a Tenor Card) 012 | Juice Bar (With a Soprano Card) 013 | Seaside Weapons 014 | Seaside Armor 015 | Seaside Accessory 016 | Seaside Health Foods 017 | Monstro Town shop 018 | Nimbus Land Shop 019 | Hinopio's Shop 020 | Baby Goomba Shop 021 | Nimbus Land Item/Weapon 022 | Croco's Shop 1 023 | Croco's Shop 2 024 | Toad's Shop 025 | DUMMY SHOP 026 | DUMMY SHOP 027 | DUMMY SHOP 028 | DUMMY SHOP 029 | DUMMY SHOP 030 | DUMMY SHOP 031 | DUMMY SHOP 032 | DUMMY SHOP Open, window...: Opens the selected "window." Choices are as follows: 000 | Choose Game 001 | Overworld Menu (stats, items) 002 | World Map 003 | Mushroom Kingdom Shop 004 | Save Game 005 | Items maxed out 006 | ___ (DUMMY) 007 | menu equip tutorial 008 | new star piece 009 | molevillie mountain (Mode 7 Mine cart level) 010 | ___ (DUMMY) 011 | intro molevillie mountain (Mode 7 Mine cart level in intro sequence.) 012 | ___ (DUMMY) 013 | 7 star pieces 014 | Flower Garden Intro 015 | Enter Factory Gate (falling) Open, save game...: Prompts the "Save Menu" menu... usually, to save your game. Important. Open, menu tutorial...: Prompts you to open a menu... it doesn't give specifics. Clarification? Open, level-up bonus: Opens the level-up bonus sequence. You may need to gain experience before doing this, or just not use it. It might have been used for a common event, I.E. Super Star/ End Battle. _____________________________________________ DIALOUGES... Note! If in dialogue choosing, if left without a "if dlg option B" or "if dlg option B/C" is not chosen, then it will continue with the script. Run dlg...: Runs any of the game's 6045 dialogue sequences. Specify which dialogue to run, what object it's above, if it is closable, to sync with the event, to be more than one line, and have the paper background. If Paper Background is disabled, text automatically floats, and has blue outlines and text instead of black. Run dlg mem 00:7000...: Runs dialogue number stored in memory 00:7000. Has the option of selecting what object it runs above, weither it's closeable, syncs with the event, multi-lined, or has a paper background. Run timed dlg...: Runs the dialogue selected, and a number that I believe to be frames. The only options other than those are if it is synced with the event or not. Append to dlg: mem 00:7000...: End current dialogue being displayed, and add on to the dialogue specified without making the previous one disappear. Options are closable and asynchronous. Close dlg: Closes the dialogue early, no control by the player. Un-sync dlg: If asynchronous is unchecked, then it will make other commands stop unless until the end of the dialogue. If dlg option B selected, jump to... If the secondary option is selected then jump to rom address specified. If dlg option B/C selected, jump to... Same as the above, only if the third option is chosen, you need to specify the ROM address. _________________________________________________ EVENTS... Note!: Most commands require a fade-in black command to continue playing. Stupid rules. Run synchronous event...: Makes another event run at the same times as the event currently going. Specify the event. The other options are to stop event if the player exits the level, bit 6 and bit 7. Run Common Event: makes a common event happen. Here are all common events and prompts with each: NUMBER | EVENT NAME | PROMPTS 000 | Open select game 001 | open overworld menu 002 | open world map point | World Map Points (see sprites or other tutorial) 003 | open shop menu | Shop menu numbers (see shop numbers) 004 | open save game 005 | open items maxed out menu, toss item | Item to throw out. 006 | UNKNOWN 007 | open menu tutorial | ?-000 How to Equip items ?-001 How to use items ?-002 How to switch allies ?-003 How to play Beetle Mania mini-game. 008 | star collenction star piece add 009 | molevillie mountain cart race 010 | UNKNOWN 011 | Molevillie mountain intro 012 | UNKNOWN 013 | star piece endings 014 | garden intro 015 | entering gate to smithy factory (falling scene) 016 | world map event ?-000 | Mario falls to pipehouse ?-001 | Mario returns to Mushroom Kingdom after saving Peach at Marrymore ?-002 | Mario uses Nimbus Bus to go to Bowser's Castle, second time. Run event (jump to)...: Runs event specified, ends current event. Run event (sub-routine)...: Runs event specified, used for springboard animation, etc? Run star piece scene...: Runs star piece event, specify which star event to run. Up to 7. Run molevillie mountain: Runs the Mine Cart Mode 7 obstacle course game. Run molevillie mountain intro: Runs the intro for the Mine Cart Mode 7 obstacle course game. Run character intro title...: Makes a black Bar appear and says the characters' name, or "In...." "From top" is the Y position from the top of the screen where the text is to appear. Run ending credits: Runs the credits and the parade for the ending. Run Ecor crash into keep: Runs the scene where Exor impales Bowser's keep and scatters Star Road. _____________________________________________ JUMP TO... Note!: I know the least about this catagory of commands. Jump to...: Jumps to the ROM address specified. Jump to sub-routine...: Jumps to ROM address specified. No idea what the differnce is. Loop start, loop count...: Begins a loop process. Whatever is after the loop, is inside the loop. Specifiy how many times the loop section loops. (Too many "loops") Loop end: Stops loop, begins at top if loop count is 1+. Jump to script start(A): Jumps to the beginning of the script. Jump to script start(B): I don't see any noticable difference. ______________________________________________ SCREEN EFFECTS... Fade-in from black (sync): Fade the screen in from most commands dealing with transistions. This one fades with the other commands. Fade-in from black (async): Does the exact same as the above command, only it does not fade with other commands, meaning other commands will not start until this event ends. Fade-in from black (sync) for duration...: Does the exact same as "Fade-in from black (sync)" except you can specify how the fade takes in 8-bit frames. Fade-in from black (async) for duration...: Does the exact same as "Fade-in from black (async) only you can specify how many 8-bit frames it takes for it complete it's fade. Fade-out to black (sync): Fades out to black in cooperation of other commands. Fade-out to black (async) Fades out to black without cooperation of other commands. Fade-out to black (sync) for duration...: Fades out to black with cooperation from other events for the specified number of 8-bit frames. Fade-out to black (async) for duration...: Fades out to black without cooperation from other events for the specified number of 8-bit frames. Fade-in from color...: Fades in from any of these colors for a specified amount of 8-bit frames: 000 Black 001 Blue 002 Red 003 Pink 004 Green 005 Aqua, light blue 006 Yellow 007 White Fade-out to color...: Fades out to any of the colors listed above for a specified amount of 8-bit frames. BG Star frame expand: Makes a star-shaped image expand to reveal level. BG Star frame shrink: Makes a star-shaped image shrink to hide level. BG Circle frame expand: Makes a circle image expand to reveal the level. BG Circle frame shrink: Makea a circle image shrink to hide the level. BG battle frame close: Makes the battle transition occour, but no battle. Layer tinting, color: Tints the layers specified to the colors specified. (RGB Values 0-254) Only one tint command can be used at a time, but it can tint multiple layers. Speed is unknown, didn't seem to make any difference between 5 and 100. Layer pixels, size: x...: Makes the pixels of the specified layer as many times as set. (I.E. if size times set to "5" then pixels will be 5 times larger than normal.) Duration in 8-bit frames can be set. Can choose Layers 1-4 to pixelize. This is generally used in blurring the screen. Palette Transform, set: I'm not entirely sure what this command does, but so far, it seems to set, or fade the palette set identified, if set to glow, it will cause seizure inducing results. Closing circle effect (non-static), to object: Doesn't seem to do anything, its always set to "Mario, 0px, 0 speed." Closing circle effect (static), to object: Does nothing but make the screen go black, can set to any object, and size, any speed. Just use the regular BG Circle frame. Screen, unfixed: Makes the screen unfixed to it's current location. Screen, Fixed: Makes the screen fixed to it's current location. I can think of mulitple uses for this one command. ___________________________________________________ AUDIO PLAYBACK... Playback start current volume, track...: Playes the specified track at the current volume. Playback start default volume, track...: Plays the specified track at the default volume. Playback fade-in, track...: Plays and fades in specified track. Playback fade-out track: Fades out the current track. Playback stop track: Stops the current tracks where it is. Fade-out track, duration...: Fades the current track out for the 8-bit frames specified, to what volume specified (0-255) Playback adjust tempo, duration...: Either speeds up, or slows down the current track. Try a varable for 10 as a starting point, and expiremnt from there. Look at script where you give the man the Seed and Water that grows the vine to see what exactly is x2 track speed. DO NOT speed up the track to a number and try to speed up the track again to a lower number. THIS WILL FREEZE THE GAME. Playback adjust track pitch, duration...: Lower or raise the track pitch. This does not give pitches to raise or lower to, just raise or lower. The duration is how many 8-bit frames it takes to get lower... or something. The track, by default, is already "raised", so your only option is to lower. Playback stop sound: Stop the playing of a sound. Some sounds need this, as they loop forever. Playback start, sound...: Start playback of one sound. Playback start (speaker balance), sound...: Start playback of sound. 0 is for far right sound, 255 is for far left sound. Playback fade-out sound, duration...: Fades out the current sound by amount of 8-bit frames specified, to what volume specified. Playback start, sound (sync)...: Starts the playback of a sound effect, and is in sync with the rest of the script. This is the only way to play two or more sound effects at a time. Playback, slow down track: Same as effect as Lower Pitch, but does it automatically, used in "Game Over" sequences. Playback, speed up track back to normal: Same as "Raise pitch" but set automatically, similar to "Playback, slow down track." ___________________________________________________ MEMORY... Note! 8-bit Address can handle up to 255 in value. Do not exceed this value. Note! 16-bit addresses can handle up to 65535 in value. Do not exceed this value. Set mem...: sets the memory address bit. Specifiy which address and bit to enable. Clear mem...: clears the memory address bit. Specifiy which address and bit to clear. Store a mem a value (8-bit): Store a value to memory between 0 and 255. Add to mem (8-bit)...: Add a specified amount to the memory bank specified. Increment mem (8-bit): Increment memory by an 8-bit value of 1. (max 255) Decrement mem (8-bit): Decrement memory by an 8-bit value of 1. (Max 255) Store a mem a value (16-bit): Store a value to memory between 0 and 65535. Add to mem (16-bit): Add a value specified to the memory bank specified. Increment Mem (16-bit): Increment memory by a 16-bit value of 1. (Max: 65535) Decrement Mem (16-bit): Decrement memory by a 16-bit value of 1. (Max: 65535) Store to mem from mem 00:7000 (8-bit): Store the current value of memory address 00:7000. Store random # to mem: Store a random number in the memory specified less than the number speciifed. Store to mem from mem 00:7000 (16-bit): Store current value of memory address 00:7000. Store to mem from mem (choose both, 16-bit): Choose two memories, one to transfer the value, and one to absorb that value. Exchange mem: Exchange memory values from two addresses. Address one's value becomes adress two's value, and vice versa. Mem compare to: "Compare to mem a value (16-bit)" I'm not sure what this means. Object Memory = mem: "Store to mem from mem 00:7000 (16-bit)" I think you need to change this to a more specific name. If set, mem: If the memory bit is set, then jump to ROM address specified. If clear, mem: If the memory bit is clear, then jump to ROM address specified. If mem = (8-bit): If that memory address equals that value, then jump to ROM address specified. If mem ! = (8-bit): ??? If mem = (16-bit): If that memory's value is equal to the value specified, then jump to ROM address specified. If mem ! = (16-bit): If that memory's value is equal to the value specified, then Jump to ROM address specified. If random # > 128, jump to: If the random number created is less than 128, then jump to ROM address specified. If random # > 66, jump to: If the ranodm number created is less than 66, then jump to ROM address specified. Double mem: Doubles the memory of the address? Generate Random # < mem: Generate a random number less than the value of the memory specified. __________________________________________ MEMORY 00:7000... Mem 00:7000 = party capacity: Makes momeory address 00:7000's value equal that of your party's current capacity. Mem 00:7000 = character @ slot: Makes the character selected be stored in the memory. Mem 00:7000 = open item slots: Records how many open item slots there are and stores them in that memory. Mem 00:7000 = current FP: Whatever your FP is, that is the value of memory 00:7000. Set mem @ mem 00:7000: Nothing else is specified. Clear mem @ mem 00:7000: Nothing else is specified. Clears current memory? Mem 00:7000 =: Makes the memory equal the specified value. (max 65535) Mem 00:7000 +=: Makes the memory add the amount specified. (max 65535) Mem 00:7000 increment: Adds a value of 1 to the memory address. Mem 00:7000 decrement: Subtracts a value of 1 from the memory address. Mem 00:7000 = mem (8-bit): Makes the value of the specified address the same as 00:7000, in 8-bit values. Mem 00:7000 = random # less than: Makes the memory store a random number less than 65535. Mem 00:7000 += mem: Adds the current value of the specified address to 00:7000. Mem 00:7000 -= mem: Subtracts the value of the specified address from 00:7000. Mem 00:7000 = mem (16-bit): Makes the current 16-bit value of the memory specified to 00:7000. Mem 00:7000 compare to/ compare to address: Not sure. Mem 00:7000 = current level: Makes 00:7000 equal the current level Mario is on. Mem 00:7000 = object Z coord: Makes 00:7000 store the current Z height of the specified object. Mem 00:7000 = Held joypad register: Stores the buttons held to memory 00:7000? Mem 00:7000 = tapped joypad register: Stores the buttons tapped to memory 00:7000? If mem 00:7000 bit(s) set, jump to: Jumps to specified rom address if any bits set. If mem 00:7000 bit(s) clear, jump to: Jumps to specified ROM address if all bits cleared. If mem 00:7000 =: If memory 00:7000 is equal to value specified, then jump to ROM address specified. If mem 00:7000 !=: ??? If mem 00:7000 set, no bits: If the specified bit is not set, then jump to ROM address? If mem 00:7000 set, any bits: Same as above, appearntly, only if it is set, jump to ROM address. If equal to zero, jump to: If 00:7000 value is equal to zero, jump to ROM address specified. If not equal to zero, jump to: If 00:7000 value is anything except for zero, jump to ROM address specified. If greater than/ equal to, jump to: It only specifies ROM address, no value to compare to. If less than, jump to: Same as above, only less than whatever it's supposed to be. If negative, jump to: If the value is negative (?) then jump to ROM address specified. If positive, jump to: If the value is more than 0, then jump to ROM address specified. Mem 00:7000 = quantity of item: Memory 00:7000 is equal to the number of the item specified. Mem 00:7000 = coins: makes the value in 00:7000 the number of coins you have. Mem 00:7000 = frog coins: makes the value in 00:7000 the number of frog coins you have. Mem 00:7000 = equipment of character: Specify which character, and if it is a weapon, accessory, or armor. The value of 00:7000 will be the item number. Mem 00:70A7 = quantity of inventory of item @ mem 00:7000: Makes the 8-bit value in 00:70A7 the number of items in inventory slot specified in Mem 00:7000. Mem 00:7000 = mem 7f: :Makes the value set in Mem 00:7000 to the 7F: address specified. Mem 00:7000 isolate bits: ? Mem 00:7000 set bits: Sets the bits in Mem 00:7000. Mem 00:7000 xor bits: (clear bits?) Mem 00:7000 isolate bits = mem: ? Mem 00:7000 set bits = mem: Makes the bits set in Mem 00:7000 to the address specified? Mem 00:7000 xor bits: (Cleared?) ____________________________________________ PAUSE SCRIPT... Delay, frames (8-bit): Delay the script by up to 255 frames. Delay, frames (16-bit) Delay the script by up to 65535 frames. Pause script, resume on next dlg page(A): Pauses script, lets sync'd dialouge run, then continues script after a the dialouge gets a new page, line, or pause. Pause script, resume on next dlg page(B): What's the difference...? ______________________________________ RESET GAME... Reset game, choose game: Resets the game and lets you choose the save file to load to. Reset game: Resets the game, loads from last save point. ______________________________________ RETURN... Return: Returns the current script. Other commands can be placed after return, but need to be jumped to to work. Return all: Returns all commands. _____________________________________ ____________________ Introduction to The Lazy Shell Editor (youtube) Super Modify RPG's Youtube Channel. |
Omega45889 |
| ||
Red Paratroopa Level: 31 Posts: 170/178 EXP: 183122 Next: 2241 Since: 01-18-08 Last post: 5485 days Last view: 4792 days |
A great start. If this sees good progress, ill put it in the next version. |
Sukasa |
| ||
Red Birdo Level: 92 Posts: 1630/2112 EXP: 7691012 Next: 65925 Since: 02-19-07 Last post: 4450 days Last view: 3222 days |
I've seen the experience += Packet thing, I believe that may be used in certain scripted fights. |
marioKid |
| ||
Newcomer Level: 3 Posts: 1/1 EXP: 66 Next: 62 Since: 02-09-12 Last post: 4462 days Last view: 4455 days |
good stuff for noobies like me >=D keep at it ftw~ |
Main - Super Mario RPG Hacking - Event Script tutorial | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 52, rows: 75/76, time: 0.015 seconds. |