Show Posts
|
|
Pages: 1 2 [3] 4 5 ... 38
|
|
32
|
Oracles Hacking / Help / Re: Taking/giving rupees from/to Link?
|
on: December 14, 2013, 08:46:06 AM
|
|
Well, it turns out there's no magic address that lets you take away X rupees from the player. I mean, there's an assembly procedure that takes them away, but it's part of the shopkeeper's interaction assembly. The only way you'd be able to do it is to write your own interaction and assembly, which would be quite the pain unfortunately. If you're interested, the code where the game takes away rupees based on what item you're buying is at 09:440A.
|
|
|
|
|
33
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 09, 2013, 10:43:40 PM
|
Actually, the item flag wasn't set in that room. I was able to use the item flag in the script. When setting the item flag, the command is "setroomflag 40", but when checking, it's "checkitemflag". Same with the regular room flag (80), the command for setting it is "setroomflag 80" and checking it is "checkspecialflag". I haven't gotten the "checkroomflag ##" to work at all. I guess it does something else besides checking the room flag.
I also noticed that there is a command called "setglobalflag". What does that do?
Oh, right. Weird, I forgot about that. Checkroomflag ANDs the room flag by the current value and if it's not 0, the next instruction is skipped. And honestly, it's been so long that it seems I've forgotten. I think there are an extra 8 bytes in the memory for 256 additional global flags, but don't quote me on that. I sure wish Jigglysaint was here. He'd know for sure 
|
|
|
|
|
34
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 08, 2013, 08:50:44 PM
|
|
Hmmm... Interesting. If I remember correctly, that should've worked. Anyway, you CAN use flag 80 if you want, but you'll have to force the player to get the chest. Actually, you could just do a checktile YX openchesttile and then set the room flag to 80. That should make it work just fine.
|
|
|
|
|
36
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 07, 2013, 06:19:58 AM
|
|
Remove the checkroomflag and see if that fixes anything. Maybe I forgot the flag number. The setinteraction72 is a compile-only instruction - it's almost like a preprocessor directive (#define xx yy in C for example). And from the looks of it, the checkmemory is actually checkmemory address value. And the ZOSE defaults to hexadecimal number values, so the 0x isn't necessary.
|
|
|
|
|
37
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 06, 2013, 09:55:52 PM
|
|
Just an off-topic word of advice: For scripts, use the free space above 100000. All free space before that is usually very limited and possibly useful because specific data is bank-exclusive (eg. all music data resides in bank 3F, bank 04 is home to a lot of map scripts, tilesets, etc...). In case you don't know, a bank is just a group of 0x4000 bytes. Bank 0 is 0000-3FFFF, bank 1 is 4000-7FFF, etc...
An item flag is just bit 06 of the room's flag. If it's set, generally that means the item has already been obtained in that room.
In regards to the script not working, I believe (for some stupid reason), checkmemory requires the value to be first. So it would be checkmemory 1 CCA0.
|
|
|
|
|
38
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 06, 2013, 04:10:07 AM
|
|
Well if you're unable to modify the dungeon value and area flags (Which makes sense I guess. The minimap would be screwed up anyway) then you're stuck making your own map script. It's very simple though - you do a checkmemory on address CCA0 to wait until it's 1 and if the item flag isn't set, create a puff and set tile YX to the chest tile. A 5-line script that would resemble something like this. It's been a very long time since I wrote any scripts so this won't be accurate to the command syntax.
checkroomflag 40 (40 is the item flag I think) checkmemory CCA0 1 createpuff yx playsound 4D settilepos yx chest-tile
|
|
|
|
|
40
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 06, 2013, 12:30:37 AM
|
|
Hmm... I spent a while trying to test it myself and I might have found out the cause of it not working. I did exactly what I told you and even after messing with the area flags, nothing was working. But when I added chest data to the map, the empty chest was placed on the map upon entry - indicating the chest had already been opened, which is why the trigger wasn't activating. So what I did was tried it on a new save and voila, it worked just fine. I used the 900 type 8 for the trigger and the 2000 type 2 for the chest. But you also have to tamper with the area flags (the red flag at the top). "Dungeon Map" has to be checked, instead of "indoor map" and the dungeon value has to be 1 (or any real dungeon value, from what I can tell) instead of the 15 it was. Be cautious though, because this might mess with the item flag in the dungeon you edited the room's area to be.
|
|
|
|
|
41
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 05, 2013, 10:33:50 PM
|
|
Hmm... I'm not sure why it's not working. Maybe you actually can't place them in dungeons, but that doesn't sound right. Make sure for the type 2's X and Y you're putting (tileX)8 and (tileY)8, so like if you wanted it at (5, 7), you would put in 58 and 78, respectively.
Also, when you step on the switch, do you hear the "secret discovered" sound? That's one way to narrow it down.
|
|
|
|
|
42
|
Oracles Hacking / Help / Re: How to add regular people to overworld in Ages?
|
on: December 05, 2013, 10:22:53 PM
|
Well I'm glad you made that choice. The Oracles engine is incredibly flexible and object-oriented (since afterall, they wanted to make 3 games with it) that it's hard to make a solid editor because most of the game's content is dealt with using assembly pointers. And yeah, it is the only editor. A couple years ago, Dwedit released a map viewer and that's how ZOLE 3 got started and then ZOLE 4 took off. Here's some history on the subject if you're interested: http://zeldahacking.net/forum/index.php?topic=62.0And I do not. Feel free to get rid of it.
|
|
|
|
|
43
|
Oracles Hacking / Lists / Re: Standard Dungeon IDs
|
on: December 05, 2013, 08:17:56 AM
|
Okay, so I added a switch with ID 900 (type 8 interaction) and a chest with ID 2117 (type 2 interaction) but when I step on the switch, nothing happens. I've noticed in a lot of dungeons with switches in a room, there's also a type 3 interaction pointer in the room. Could this be causing any trouble? Because I have no idea on how to use a type 3 interaction.
Also, it should be noted I'm trying to do this in a cave with Area ID 45, not a dungeon, if that might be a problem.
Usually the type 3 interaction pointer just adds a group of enemies in the dungeon. I believe your problem is the 2117 might be the interaction that makes a chest appear and disappear. If you look at map 1C or 15 in level 1, you'll notice they use a type 2 ID 2000 interaction for the chests. Try using 2000 instead.
|
|
|
|
|
44
|
Oracles Hacking / Help / Re: How to add regular people to overworld in Ages?
|
on: December 05, 2013, 08:04:42 AM
|
Unfortunately, the only way to do such a thing is to try and find the text's start location in ZOTE. The tools weren't really designed with simplicity and ease-of-use in mind looking back. Since the forums were in a sort of boom back in 2011, my main focus was to just get tools out that could edit stuff since people were actually demanding them. Now here I am, developing ZOHS that's ZOLE 4 but 10x better with nobody asking for it 
|
|
|
|
|
45
|
Oracles Hacking / Help / Re: How to add regular people to overworld in Ages?
|
on: December 04, 2013, 12:04:22 AM
|
|
It's been such a long time since I've edited text and scripts. When you say it goes away without you pressing A, I believe that's normal - it goes away when you push any button. If not, I think the text ends when it encounters byte 00, but I don't remember exactly how ZOTE deals with this. It probably writes the 00 automatically.
|
|
|
|
|