Is it possible to make a script that turns all of the boss doors/blocks in a dungeon into shutters once the triforce piece for that dungeon has been collected?
Boss Doors Become Shutters
#1
Posted 05 March 2017 - 07:37 PM
#2
Posted 05 March 2017 - 08:32 PM
I think you not need the scripts for that. You can just put the secret flag on the boss door/blocks and while you got the Triforce piece you can put an invisible tile on a cutscene(if you use a cutscene) somewhere and set up all your settings. (you should use the carry over and the map and screen at your choice.) I trying and that will works perfectly if you put the right setting, that usefull for me to open certain shutters at outside a dungeons/mini dungeons to get certain keys to open your dungeon.
#3
Posted 05 March 2017 - 08:41 PM
I think you not need the scripts for that. You can just put the secret flag on the boss door/blocks and while you got the Triforce piece you can put an invisible tile on a cutscene(if you use a cutscene) somewhere and set up all your settings. (you should use the carry over and the map and screen at your choice.) I trying and that will works perfectly if you put the right setting, that usefull for me to open certain shutters at outside a dungeons/mini dungeons to get certain keys to open your dungeon.
I don't know if I'm understanding what you're saying, but I don't believe secret combos change door tiles, so I don't think that would work.
#4
Posted 06 March 2017 - 09:25 AM
In Interior:
- You can't really use the F6 Door Dialogue to place doors automatically. Walls and doors, maybe, but not shutters, locked doors, or boss doors.
- Secrets can be permanent. This is major.
- No invisible one or two tile borders on the edges of the screen. They're freely walkable.
In Dungeons:
- All secrets are always temporary. Any recurring secrets must be done via either script (I don't even know if this is true. It probably is.) or via an elaborate "Boss event" sort of trick that was used in 1.92 way back when.
- Doors work. Locked doors don't even have to be lock block combos. They can just be regular, boring ol' unwalkable combos that look like locked doors, and as long as they're set to "Locked Door" or "Boss Lock" they'll work as their description.
So here's what I would do in this case. You don't need scripting. But you do need to utilize the concepts I listed above. Like a Ninja.
On every screen where there is a lock or door you want to close as a result of this request, make sure there are no screen secrets. This is critical to the success of this, because this trick will use the screen's secrets for itself.
On the screen where you get the Triforce (whatever it is) and on every screen where there's a door you want relocked, press F9 and in the upper-left corner of that first pane (The left tab) choose Interior Style room. That way the secrets can be permanent.
On the screen with the triforce, put the floor around the triforce on layer 1 or 2, then put Step-> Secrets (Permanent) or whatever it's called. I'm not worried about the player stepping two inches in front of the Triforce and then walking back through the doors. Either that, or lock the player in so they can't leave, and place a warp pad behind the Triforce to let the player leave. Then again, they can't come back in because it's now locked, so it doesn't really matter. Good.
On that same screen with the triforce, go to the 4th tab of the screen flags dialogue (F9) and this is where the fun begins. We're going to make a "loop" of screens whose secrets will be triggered. If you have more than one door that will be locked/shuttered as a result of getting the Triforce, then we have to set more than one of these. Set the "Next" Map and Screen to the first screen where a door will lock. It's not a Dmap number, but a Map number.
If you have no more doors to lock, you're good to go for that. But if you do have more than one door to lock, go to the screen that you just set the "Next" thing for, and set the next screen even after that on that screen.
So, from the Triforce room, set the screen with Lock #1, then from Lock #1's screen, set the map/screen for the screen with lock #2, and so on.
Then on each screen, making sure it's set to Interior style room, set the screen's secrets and secret flags. Text them with preview mode (Press "x" then "s") and if it looks good, test it out in ZC.
The complication here is that you can't have Shutters on the screen at all if there are secrets, except via clever use of combo cycling and "Step->Next" and "Step->Next(Copycat)" combos.
That should do it. I make it sound more complex than it is.
-----------------
I'll summarize.
- Set all screens involved in this to Interior Style, including the Triforce room.
- Hide Secret-Trigger(Perm) combos beneath the Triforce all around it.
- Link the Triforce room (no pun intended) to the first door, then from the first door to the second door, etc.
- Set secret combos where the door is a shutter.
- Avaro and MarinaraSauce like this
#5
Posted 09 March 2017 - 11:07 AM
- Omega likes this
#6
Posted 09 March 2017 - 12:44 PM
void ChangeBossDoors(int doortype){ for ( int q = 0; q < 4; q++ ) { if ( Screen->Door[q] == D_BOSSLOCKED ) { Screen->Door[q] = doortype; } } } void ChangeBossLocks(int doortype){ if ( if(Game->LItems[Game->GetCurLevel()]&LI_TRIFORCE) ) { ChangeBossDoors(doortype); ChangeBossLockBLocks(); } } void ChangeBossLockBLocks(){ for ( int q = 0; q < 176; q++ ) { if ( Screen->ComboT[q] == CT_BOSSLOCKBLOCK || Screen->ComboT[q] == CT_BOSSLOCKBLOCK2 ) { Screen->ComboT[q] = 0; Screen->ComboD[q]++; } } } global script example{ void run(){ while(true){ ChangeBossLocks(D_BOSSUNLOCKED); Waitdraw(); Waitframe(); } } }I'm not sure why a more convoluted approach is desirable for this, at all. The above code should do what the OP wants; automatically unlocking boss doors and lock blocks when the player has Triforce for a given level in inventory.
This will only affect doors in Dungeon DMaps. You can affect doors in other DMap types similarly to lockblocks.
Edited by ZoriaRPG, 09 March 2017 - 12:47 PM.
- ShadowTiger likes this
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users