it's very hard to understand what you are trying to do...
maybe its because the solution is already writen in this post...
you just need to set the alias (woods1b.txt) on entity that will make the player go to the desire level... when is on woods1.txt...
i can post the jump to branch entity that iam using it works for all levels... it jumps to level when player touchs it
name allgo
type none
facing 1
subject_to_wall 0
subject_to_platform 0
subject_to_hole 0
shadow 0
offscreenkill 10000
hostile player
animationscript data/scripts/escript.c
anim idle
loop 1
delay 4
offset 35 120
bbox 0 70 80 60 30
movea -1
frame data/chars/misc/branch/in01.gif
@cmd attack1 -50 50 30 "ANI_FOLLOW1"
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in01.gif
@cmd attack1 -50 50 30 "ANI_FOLLOW1"
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in02.gif
@cmd attack1 -50 50 30 "ANI_FOLLOW1"
frame data/chars/misc/branch/in02.gif
movea 1
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in01.gif
@cmd attack1 -50 50 30 "ANI_FOLLOW1"
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in02.gif
@cmd attack1 -50 50 30 "ANI_FOLLOW1"
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in02.gif
anim follow1
loop 0
delay 5
offset 35 120
bbox 0 70 80 60 30
@script
void self = getlocalvar("self");
char Name = getentityproperty(self,"name");
if(frame==10){
jumptobranch(Name, 1);
}
@end_script
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in03.gif
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in03.gif
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in03.gif
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in03.gif
frame data/chars/misc/branch/in01.gif
frame data/chars/misc/branch/in02.gif
frame data/chars/misc/branch/in03.gif
frame data/chars/misc/branch/in01.gif
spawn in level
spawn allgo
alias woods1b.txt
coords 100 755
at 0
if you want to return to woods1 again while on woods1b just change the alias on the entity...
also another thing i wanted to share
iam playing the game / editing the levels images / and making it go to the next map that has unlocked stuff... this happens whenever a sequence of levels is finished...
for some reason branch only seems to read strings or something...
and it crashs when the values are int's etc... setglobalvar only makes int's values
and i could not find a way to past int's to strings... the c/c++ commands to pass int to string dindnt worked on the engine...
so BBW if's were very usefull in the setglobalvar...
0map.txt
spawn ghost1
@script
void main()
{
setglobalvar("map", 01);
}
@end_script
coords 30 240
at 0
levels.txt
branch 01
z 10 545 290
file data/levels/0map.txt
home exit (works for all maps *1 *2 *3...etc)
name homexit
type obstacle
score 0
health 15000
nolife 1
noatflash 1
flash Flash0
facing 1
offscreenkill 15000
subject_to_minz 0
subject_to_maxz 0
subject_to_wall 0
subject_to_platform 0
subject_to_obstacle 0
subject_to_hole 0
anim idle
loop 1
delay 6
offset 115 190
bbox 55 20 110 145 20
counterrange 0 10 1 1
followanim 1
frame data/chars/misc/branch/fplace20.gif
delay 8
frame data/chars/misc/branch/fplace21.gif
offset 115 189
frame data/chars/misc/branch/fplace20.gif
offset 115 188
frame data/chars/misc/branch/fplace20.gif
offset 115 187
frame data/chars/misc/branch/fplace20.gif
offset 115 186
frame data/chars/misc/branch/fplace20.gif
offset 115 185
frame data/chars/misc/branch/fplace20.gif
offset 115 186
frame data/chars/misc/branch/fplace20.gif
offset 115 187
frame data/chars/misc/branch/fplace20.gif
offset 115 188
frame data/chars/misc/branch/fplace20.gif
offset 115 189
frame data/chars/misc/branch/fplace20.gif
#char Name = getentityproperty(self,"name");
anim follow1
@script
void self = getlocalvar("self");
int exit = getglobalvar("map");
if (( exit == 01 )&&(frame == 15)){
jumptobranch("01",1);
}
if(( exit == 02 )&&(frame == 15)){
jumptobranch("02",1);
}
if(( exit == 03 )&&(frame == 15)){
jumptobranch("03",1);
}
if(( exit == 04 )&&(frame == 15)){
jumptobranch("04",1);
}
if(( exit == 05 )&&(frame == 15)){
jumptobranch("05",1);
}
if(( exit == 06 )&&(frame == 15)){
jumptobranch("06",1);
}
if(( exit == 07 )&&(frame == 15)){
jumptobranch("07",1);
}
if(( exit == 08 )&&(frame == 15)){
jumptobranch("08",1);
}
if(( exit == 09 )&&(frame == 15)){
jumptobranch("09",1);
}
if(( exit == 10 )&&(frame == 15)){
jumptobranch("10",1);
}
if(( exit == 11 )&&(frame == 15)){
jumptobranch("11",1);
}
if(( exit == 12 )&&(frame == 15)){
jumptobranch("12",1);
}
@end_script
loop 0
delay 6
offset 115 190
bbox 0 0 0 0
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
frame data/chars/misc/branch/fplace20.gif
frame data/chars/misc/branch/fplace21.gif
delay 1000
frame data/chars/misc/branch/fplace20.gif
in 2map.txt / 3map.txt /4map.txt etc... that is a new .txt map with new stuff unlocked
i only need to setglobalvar("map", 01); to 02 , 03 , 04...etc... to make the homeexit go to the desire map number
this also works for the unlocked bonus stages on map* in here ive used bloodbane map tutorial to make the bonus stage* inaccessable once you complete it 1 time while on the map...
bonus1b.txt
spawn ghost1
@script
void main()
{
void self = getlocalvar("self");
setglobalvar("bn1", 1); #<--- this 1 makes the icon show complete
int exit = getglobalvar("map");
if(exit == 02){
jumptobranch("02",0);
}
if(exit == 03){
jumptobranch("03",0);
}
if(exit == 04){
jumptobranch("04",0);
}
if(exit == 05){
jumptobranch("05",0);
}
if(exit == 06){
jumptobranch("06",0);
}
if(exit == 07){
jumptobranch("07",0);
}
if(exit == 08){
jumptobranch("08",0);
}
if(exit == 09){
jumptobranch("09",0);
}
if(exit == 10){
jumptobranch("10",0);
}
if(exit == 11){
jumptobranch("11",0);
}
if(exit == 12){
jumptobranch("12",0);
}
}
@end_script
coords 280 240
at 0
icon on the map that goes to current bonus stage (works for all bonus levels)...
name lvlbns
type enemy
health 100
nomove 1 1
facing 1
offscreenkill 10000
subject_to_wall 0
subject_to_platform 0
subject_to_hole 0
shadow 0
hostile player
setlayer 10
aggression 100
animationscript data/scripts/escript.c
#---------------all-going-start--------------------
anim pain
@script
void self = getlocalvar("self");
char Name = getentityproperty(self,"name");
if(frame==25){
jumptobranch(Name, 1);
}
@end_script
loop 0
delay 5
offset 11 11
bbox 0 0 0 0
frame data/bgs/0map/icons/2bonus01.gif
frame data/bgs/0map/icons/2bonus02.gif
frame data/bgs/0map/icons/2bonus03.gif
frame data/bgs/0map/icons/2bonus04.gif
frame data/bgs/0map/icons/2bonus05.gif
frame data/bgs/0map/icons/2bonus01.gif
frame data/bgs/0map/icons/2bonus02.gif
frame data/bgs/0map/icons/2bonus03.gif
frame data/bgs/0map/icons/2bonus04.gif
frame data/bgs/0map/icons/2bonus05.gif
frame data/bgs/0map/icons/2bonus01.gif
frame data/bgs/0map/icons/2bonus02.gif
frame data/bgs/0map/icons/2bonus03.gif
frame data/bgs/0map/icons/2bonus04.gif
frame data/bgs/0map/icons/2bonus05.gif
frame data/bgs/0map/icons/2bonus01.gif
frame data/bgs/0map/icons/2bonus02.gif
frame data/bgs/0map/icons/2bonus03.gif
frame data/bgs/0map/icons/2bonus04.gif
frame data/bgs/0map/icons/2bonus05.gif
frame data/bgs/0map/icons/2bonus01.gif
frame data/bgs/0map/icons/2bonus02.gif
frame data/bgs/0map/icons/2bonus03.gif
frame data/bgs/0map/icons/2bonus04.gif
frame data/bgs/0map/icons/2bonus05.gif
delay 20
frame data/bgs/0map/icons/2bonus05.gif #25
frame data/bgs/0map/icons/2bonus05.gif
frame data/bgs/0map/icons/2bonus05.gif
delay 100
frame data/bgs/0map/icons/2bonus05.gif
#---------------all-going-end--------------------
#---------------BONUS-1-SET------------------
anim spawn
@script
void self = getlocalvar("self");
int done = getglobalvar("bn1");
if(done == 1){
performattack(self, openborconstant("ANI_FOLLOW15"));
}
@end_script
loop 0
delay 5
offset 11 11
bbox 0 0 0 0
frame data/bgs/0map/icons/2bonus01.gif
frame data/bgs/0map/icons/2bonus01.gif
anim idle
loop 1
delay 180
offset 11 11
bbox 1 1 20 20 300
frame data/bgs/0map/icons/2bonus101.gif
delay 6
frame data/bgs/0map/icons/2bonus102.gif
frame data/bgs/0map/icons/2bonus103.gif
frame data/bgs/0map/icons/2bonus104.gif
frame data/bgs/0map/icons/2bonus105.gif
#---------------BONUS-1-SET-END--------------
#---------------/////------------------
#---------------BONUS-2-SET------------------
anim follow1
@script
void self = getlocalvar("self");
int done = getglobalvar("bn2");
if(done == 1){
performattack(self, openborconstant("ANI_FOLLOW15"));
}
@end_script
loop 0
delay 5
offset 11 11
bbox 0 0 0 0
frame data/bgs/0map/icons/2bonus01.gif
@cmd anichange "ANI_FOLLOW2"
frame data/bgs/0map/icons/2bonus01.gif
anim follow2
loop 1
delay 6
offset 11 11
bbox 1 1 20 20 300
frame data/bgs/0map/icons/2bonus203.gif
frame data/bgs/0map/icons/2bonus204.gif
frame data/bgs/0map/icons/2bonus205.gif
delay 180
frame data/bgs/0map/icons/2bonus201.gif
delay 6
frame data/bgs/0map/icons/2bonus202.gif
#---------------BONUS-2-SET-END--------------
#---------------all-X-complete--------------------
anim follow15
loop 1
delay 300
offset 11 11
bbox 0 0 0 0 #<---player map cursor cant hit it (bbox 0 0 0 0)
frame data/bgs/0map/icons/2bonus00.gif #<--- it has an X on it
iam using follows to spawning it in level so the icon image changes to b1/b2/b3 etc...
it's very simple it's just a map with stuff on it once you complete 1 stuff it show complete when you return to map / when you choose to play next level on map - you play next level / once level is complete it goes to a new map with more stuff unlocked...