Post by mercenaryx on Jul 10, 2008 15:04:38 GMT -5
most of these issues has to do with what the player will interact with.
i was told to do a scene swap after making the party transparent in order to show what happens in the other room when an event is activated, and have them go through the wall. problem is, the room the character is in, and the room the point of interest takes place in are two totally different rooms. So i have to invoke a warp script, which means any code below it is ignored. does this mean i should go to world organization and change my [enter:] script from [common entrance] to [custom cut scene entrance] and then at the end of that script have it call [common entrance] so that it fades in and out normally before and after the event takes place? I'm pretty sure this is the only way but i just thought i'd ask.
anyway my biggest problem as of recent: i have 2 moving platforms (a single, concrete only tiled block created in building editor, and saved as common pushblock. note: ty for the common pushblock script in the sticky, it saved me some time) that slide back and forth on flat blocks in the dungeon (i had to add the flat ones in the dungeon editor because apparently buildings cant float in mid air so i had to give them some solid object for them to fall on, but it still works just as well) one block moves one space, back and forth, north to south ways slowly, stops when it reaches one side for 24 frames, then heads back the other direction and repeats the process, the other block is the same but moves west to east. The blocks are animated beautifully but a monkey wrench was thrown in my face when i went to go test the dungeon.
I walked up the ramp, waited for the block, when it came to me i walked over on top of it and waited for it to proceed to take me to the other side. When it began to move, it did as it was scripted and oh it moved alright, right out from underneath my feet, apparently gravity is not something thats automatically assumed by the game. So my character stood there in mid air like he was on top of an invisible block. Not only did my character not move with the block, but i couldn't even try to manually chase it and walk with it. I had to wait for it to come back before i could walk back onto the ramp.
So, i want this to be like a zeldaish sorta effect with platforms moving and you use them as the only means of getting to floating platforms. how should i do this. Please explain, as always, in the simplest, but most memory conservative way possible.
-----
also, the second problem... (this one im just barely starting to figure out how to fix, but i was wondering if you guys have an easier way.)
(question is at the end of the dungeon explanation, its not long)
i used your push block script, and my dungeon has a total of 5 zones, and 5 push blocks.
Dungeon Overview:
* denotes a push block
Puzzle Room 2**
|
Master Staircase====Main Room===Puzzle Room 1**
|
Puzzle Room 3*
each time you push a block in the designated direction, it affects something in the main room. Puzzle room 2 has blocks that fall down the middle of the staircase and plunge into the main room where they become the only means of reaching a certain platform (with the assistance of moving blocks that bring you to them)
the one in puzzle room 3 is pushed from the very top of the dungeon, and it plummets, again, down the middle of the spiral stairs, and it lands in puzzle room 1, filling a gap in the room you couldn't origionally cross to access that rooms second push block.
the only way to access the spiral staircase is by first going into puzzle room 1, and pushing the closest block to the entrance off the ledge and into a hole, which will open the door to the staircase.
the second block in puzzle room 1 isnt accessable until you go to puzzle room 3 and push that block off the ledge like i said earlier.
once you push the second block in puzzle room 1, you've basically finished the dungeon, as it will activate an elevator that will move up and down continuously and allow you to reach a high ledge in the main room you couldn't get to before, and lets you go into the room that your destination is in.
-----
Now, first, i couldn't push the blocks over the ledges. i tried a few things, but nothing worked, then i turned the events bypass objects on, and yeah that worked perfectly. Now the issue is getting the blocks to stay in their places, so that when the player re-enters the room, the blocks are where they left them.
About an hour ago, i successfully trouble shooted the first push block and made it work, and stay that way. I was wondering if i should repeat the process for the other 4 blocks, which would make it a pain in the ass.
This is what i did:
I changed the [common enter] script for the first room to a new script:
*denotes up until this point each push block had been sharing the same common pushblock script, as well as the same event "common pushblock" but in order to individualize each one and save where they will be upon entrance, it looks as if i have to create a seperate event for each block, and a separate, shortly written script before calling [common pushblock]
I changed the event name "common pushblock" to "CS.PR1.PB1"
then i switched the targeted script to execute to be "CS.PR1.PB1" instead of executing "common pushblock" (common pushblock is the same code you guys have in the sticky thread, and is activated by touch)
the event, previously known as common pushblock, i did not change anything in it except the script that it executes, which says:
(variable being 8 denotes that the player has already pushed the block, so dont execute anything if he stands atop of it once it has already fallen into the ground's square hole. 7 means they havent pushed the block yet)
if [story_progress] <=8
force script end
end branch
script call:[common pushblock]
script call:[story progress(+1)]
{[custom enter PR1] (puzzle room 1)}(i put this in "enter:" slot on world organization in place of common enter)
-Screen Display>effects>Color>all corners black(0F)
-if [story_progress]>=8 then:
-event>target>*CS.PR1.PB1(cave shrine, puzzle room 1, push block 1)
-event>location move>[the only place the player can push it into](0F)
-script branch end
-Call script:[common enter] (so to fade in as usual)
((({{{before the player moves the block, their story progress variable is 7}}})))
so, after reading through all that garbage, is that a good way of doing it for the other 4 as well? just keep increasing the variable and count it as progress toward the games story? or do you guys have a better way?
thanx in advance, you guys rock
-x
i was told to do a scene swap after making the party transparent in order to show what happens in the other room when an event is activated, and have them go through the wall. problem is, the room the character is in, and the room the point of interest takes place in are two totally different rooms. So i have to invoke a warp script, which means any code below it is ignored. does this mean i should go to world organization and change my [enter:] script from [common entrance] to [custom cut scene entrance] and then at the end of that script have it call [common entrance] so that it fades in and out normally before and after the event takes place? I'm pretty sure this is the only way but i just thought i'd ask.
anyway my biggest problem as of recent: i have 2 moving platforms (a single, concrete only tiled block created in building editor, and saved as common pushblock. note: ty for the common pushblock script in the sticky, it saved me some time) that slide back and forth on flat blocks in the dungeon (i had to add the flat ones in the dungeon editor because apparently buildings cant float in mid air so i had to give them some solid object for them to fall on, but it still works just as well) one block moves one space, back and forth, north to south ways slowly, stops when it reaches one side for 24 frames, then heads back the other direction and repeats the process, the other block is the same but moves west to east. The blocks are animated beautifully but a monkey wrench was thrown in my face when i went to go test the dungeon.
I walked up the ramp, waited for the block, when it came to me i walked over on top of it and waited for it to proceed to take me to the other side. When it began to move, it did as it was scripted and oh it moved alright, right out from underneath my feet, apparently gravity is not something thats automatically assumed by the game. So my character stood there in mid air like he was on top of an invisible block. Not only did my character not move with the block, but i couldn't even try to manually chase it and walk with it. I had to wait for it to come back before i could walk back onto the ramp.
So, i want this to be like a zeldaish sorta effect with platforms moving and you use them as the only means of getting to floating platforms. how should i do this. Please explain, as always, in the simplest, but most memory conservative way possible.
-----
also, the second problem... (this one im just barely starting to figure out how to fix, but i was wondering if you guys have an easier way.)
(question is at the end of the dungeon explanation, its not long)
i used your push block script, and my dungeon has a total of 5 zones, and 5 push blocks.
Dungeon Overview:
* denotes a push block
Puzzle Room 2**
|
Master Staircase====Main Room===Puzzle Room 1**
|
Puzzle Room 3*
each time you push a block in the designated direction, it affects something in the main room. Puzzle room 2 has blocks that fall down the middle of the staircase and plunge into the main room where they become the only means of reaching a certain platform (with the assistance of moving blocks that bring you to them)
the one in puzzle room 3 is pushed from the very top of the dungeon, and it plummets, again, down the middle of the spiral stairs, and it lands in puzzle room 1, filling a gap in the room you couldn't origionally cross to access that rooms second push block.
the only way to access the spiral staircase is by first going into puzzle room 1, and pushing the closest block to the entrance off the ledge and into a hole, which will open the door to the staircase.
the second block in puzzle room 1 isnt accessable until you go to puzzle room 3 and push that block off the ledge like i said earlier.
once you push the second block in puzzle room 1, you've basically finished the dungeon, as it will activate an elevator that will move up and down continuously and allow you to reach a high ledge in the main room you couldn't get to before, and lets you go into the room that your destination is in.
-----
Now, first, i couldn't push the blocks over the ledges. i tried a few things, but nothing worked, then i turned the events bypass objects on, and yeah that worked perfectly. Now the issue is getting the blocks to stay in their places, so that when the player re-enters the room, the blocks are where they left them.
About an hour ago, i successfully trouble shooted the first push block and made it work, and stay that way. I was wondering if i should repeat the process for the other 4 blocks, which would make it a pain in the ass.
This is what i did:
I changed the [common enter] script for the first room to a new script:
*denotes up until this point each push block had been sharing the same common pushblock script, as well as the same event "common pushblock" but in order to individualize each one and save where they will be upon entrance, it looks as if i have to create a seperate event for each block, and a separate, shortly written script before calling [common pushblock]
I changed the event name "common pushblock" to "CS.PR1.PB1"
then i switched the targeted script to execute to be "CS.PR1.PB1" instead of executing "common pushblock" (common pushblock is the same code you guys have in the sticky thread, and is activated by touch)
the event, previously known as common pushblock, i did not change anything in it except the script that it executes, which says:
(variable being 8 denotes that the player has already pushed the block, so dont execute anything if he stands atop of it once it has already fallen into the ground's square hole. 7 means they havent pushed the block yet)
if [story_progress] <=8
force script end
end branch
script call:[common pushblock]
script call:[story progress(+1)]
{[custom enter PR1] (puzzle room 1)}(i put this in "enter:" slot on world organization in place of common enter)
-Screen Display>effects>Color>all corners black(0F)
-if [story_progress]>=8 then:
-event>target>*CS.PR1.PB1(cave shrine, puzzle room 1, push block 1)
-event>location move>[the only place the player can push it into](0F)
-script branch end
-Call script:[common enter] (so to fade in as usual)
((({{{before the player moves the block, their story progress variable is 7}}})))
so, after reading through all that garbage, is that a good way of doing it for the other 4 as well? just keep increasing the variable and count it as progress toward the games story? or do you guys have a better way?
thanx in advance, you guys rock
-x