Hello, people!
Well, to my 3rd quest project, I want to simulate the super mario bros. 3 maps.
Here's a preview of my first map:
As you can see,the first problemis to createmore than 4tilewarps,because there aremore than 4"stageboxes"on each mapscreen. So, I need aFFCthat hasthe properties of atilewarp like dmap and screen of destination and the warp effects.
... but I needsome kind ofwarpeffectwithout usingcombowarps. Has someone createdsomething like this?
The other problem is the reverse warp: return from the stage to the map. I thought about usingthereturncombocoordinatesorthe position of thiscombo. Butbetween2differentDMAPsI couldn'tapplyin the script.
Edit3: For some reason, the entire post glitched and added a bunch of "<p>" 's to the beginning and end of every line. The latest script is in a few posts down (#11). Sorry for this horrible inconvenience D:
FastCombo only draws a combo. None of a placed combo's functionality is there. The usual way to warp Link and retain warp effects is to set this->Data to one of the auto side warp combos. You can have four side warps in addition to the four tile warps, and you can set a side warp's destination with scripts so even that limitation doesn't mean much. You're still limited to four warp return points, though. The lazy way to get around that is to just have another script at the stage exit store the coordinates you want to return to into a global variable and set Link's position to that once he returns to the map screen.
first i just gotta say that the screen is amazing! i could barely read what you were asking because i just wanted to stare at the screen.
now, i think you could do it without scripting. i'm assuming the player can only move along the pathway... setup 3 warps that he could get to, and then have a hidden directwarp just on the path, warps player to identical screen with the next 3 warps set up.
I think the problem is withthe 2nd part of the script, whichis to returntothesame coordinateon the map.Linkgets stuckin thatcombo, as if thecombosaround himbecomessolid.
I'm alsoreally enjoyingdoingthisquest!I want to finishthe first mapas soon as possible, because it'sa christmas presentfor my dad
The obstaclewillbe to create variations of the sideviewstages,becauseI don't havemanytilesavailable to the externalscenarios(I'm takingsprites from SMB3to complement).
Ah, sorry about that. I forgot something simple but stupid (There is a true/false statement thing that teleports link to the spot when true. I just forgot to make it so it gets set to false after). Edited the script file in my first post, it should work perfectly now
Edit: If you need help with any other scripts, just ask me! I really need more things to do DX
Is it okay with you if I were to post this in the script database?
Arceus, of course that you can post the script in the database, dude!
The problem is that I tested the script again and the return warp isn't 100%yet ^^
I noticed thatthereturnwarpscreatedon different screensof themap position(00)willtransport Link tothesame coordinateof thereturnwarp (0B, for example). Furthermore,Linkis notreturningtothe same"stage box" coordinateon the map, buttothe "blue warp square A" on the beginning of themap... and the DMAPmusicstops playingwhenLinkreturns tothe map (weird bug).
This latest version is untested, due to my previous attempts to test my scripts, but...
My solution to the problem is to freeze link for 2 seconds, ajusting his position every frame. The animations on the screen, the enemies, and ffcs will continue to run. If you need them to freeze too, I can arrange for that. My delay was caused by me trying to alter the script so as to not require StdExtra and ffcscript. It failed every time, so I edited your version wil this little fix in it too.
Completely untested, but PLEASE tell me if it works, so that I know whether to submit it or not.
If you happen to need any more scripters, just ask me (Actually, D:, because your scripting knowledge is better than mine D: DX)
Edit: And now I feel like a complete idiot, because I misread your problem XD
Edit2:I, for the love of god, cannot fix the music problem D: However, I did fixe the map problem. Now, if only somebody could tell my why the dmap music isn't playing... A temporary fix could be teleporting link to a screen filled with direct warps, so then the real warp system handles it.
Edit3: This edit might fix the music problem. Untested, as usual. I will keep the unfixed one up there, and put the fixed one down here. I also fixed the screen freeze for 2 seconds.
Spoiler
import "std.zh"
import "string.zh"
import "ffcscript.zh"
import "stdExtra.zh"
// [FFC] FFC_Teleporter ----------------------------------------------------------------------------------------
const int AUTOSIDEWARP = 03;
int WARPBACKA;
int WARPBACKB;
int WARPBACKC;
int WARPBACKD;
bool WARPBACKE = false;
ffc script FFC_Teleporter
{
void run(int DMAP, int SCREEN, int TYPE, bool IsReturn, int RMAP, int RSCREEN){
while(true){
if (IsReturn == false){
if(DistanceLink(this->X+8, this->Y+8) <= 8 && Link->PressA){
Screen->SetSideWarp(0, SCREEN, DMAP, TYPE);
WARPBACKA = RSCREEN;
WARPBACKB = RMAP;
WARPBACKC = this->X;
WARPBACKD = this->Y;
this->Data = AUTOSIDEWARP;
}
}
if (IsReturn == true && DistanceLink(this->X+8, this->Y+8) <= 8){
Screen->SetSideWarp(0, WARPBACKA, WARPBACKD, TYPE);
WARPBACKE = true;
this->Data = AUTOSIDEWARP;
}
if (WARPBACKE == true){
Waitframes(10);
Link->X = WARPBACKC;
Link->Y = WARPBACKD;
WARPBACKE = false;
}
Waitframe();
}
}
}
Added 2 more attribute settings, here is the full list:
0: Dmap of the level you wish to go to.
1: Screen of the level you wish to go to.
2: Type of warp. 0 is the cave warp type, etc... (It goes in the order listed from top to bottom in tilewarp box in Zquest)
3: Is this a return warp? 1 = true, 0 = false. If true, the only attribute you need to fill out is Type. Otherwise, fill out everything.
4: The dmap you are on (Only set for world map).
5: The screen you are on (Only set for world map).
It is very strange. One of the updates (unreleased) I made had music playing until the screen fully loaded. It would play the regular music, then when I warped to another tilewarp again and back, it played the dungeon music. I think the dmap warping function is not working. I think that the script is not saving the dmap correctly, and I think it is saving the dmap as -1, dumping you onto map 1, which happens to be the map of the 1st dmap. If you dont mind entering the return dmap manually for each level warp, then I think that might work. Check the post above, I fixed the loading for 2 seconds problem (hopefully) and I added a version in the second spoiler that might fix the music problem. Hope this helps.
The reason your music isn't playing is because you have to be on a dmap to play music. Try my second script, without any other scripts. You just have to make sure to add the Return Dmap and the Return Screen functions. It should work if you do it right. Maybe the problem is that the dmap you want to warp to cannot be 0?