Hello. I have a problem when loading shots from shotsheets.
Can anybody point out what's wrong in the following code? In the task fire, 134 is supposed to be the id of the custom shot I want to use. At least, that's the id that the shotsheet I used points out. But the shot aren't fired at all. Is there anything wrong in the CreateShot01 functions, or in the LoadUserShotData function, or am I missing something else?
(The path to the shotsheet is correct, by the way; maybe its syntax isn't.)
#TouhouDanmakufu
#Title[Spellcard 1]
#Text[A spellcard I made just for fun.]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main{
let CSD = GetCurrentScriptDirectory;
let imgBoss = CSD ~ "images\img1.png";
let cut = CSD ~ "images\img2.png";
let bg = CSD ~ "images\bg1.png";
let bgm = CSD ~ "sound\track.mp3";
@Initialize{
LoadUserShotData(CSD ~ "\shots\supershot.png");
SetLife(10000);
SetTimer(99);
SetScore(200000);
SetMovePosition01(GetCenterX,GetCenterY,5);
LoadGraphic(imgBoss);
LoadGraphic(cut);
LoadGraphic(bg);
LoadMusic(bgm);
PlayMusic(bgm);
CutIn(YOUMU,"XXXXXXXXXX - XXXXX",cut,0,0,300,384);
mainTask;
}
@MainLoop{
SetCollisionA(GetX,GetY,32);
SetCollisionB(GetX,GetY,16);
yield;
}
@DrawLoop{
SetTexture(imgBoss);
SetRenderState(ALPHA);
SetAlpha(255);
SetGraphicRect(0,0,300,300);
SetGraphicScale(0.25,0.25);
SetGraphicAngle(0,0,0);
DrawGraphic(GetX,GetY);
}
@BackGround{
SetTexture(bg);
SetRenderState(ALPHA);
SetAlpha(100);
SetGraphicRect(0,0,512,512);
SetGraphicScale(1,1);
SetGraphicAngle(0,0,0);
DrawGraphic(GetCenterX,GetCenterY);
}
@Finalize{
DeleteGraphic(imgBoss);
DeleteGraphic(cut);
DeleteGraphic(bg);
DeleteMusic(bgm);
}
task mainTask{
yield;
fire;
fire_laser;
fire_laser_2;
movement;
}
task movement{
loop{
SetMovePosition01(rand_int(GetCenterX-100,GetCenterX+100),rand_int(90,140),5);
wait(60);
SetMovePosition01(rand_int(GetCenterX-100,GetCenterX+100),rand_int(90,140),5);
wait(60);
yield;
}
}
task fire_laser{
loop{
CreateLaser01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer,100,10,BLUE02,0);
wait(60);
yield;
}
}
task fire_laser_2{
loop{
CreateLaser01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-10,50,8,BLUE02,0);
CreateLaser01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+10,50,8,BLUE02,0);
CreateLaser01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-15,50,8,BLUE02,0);
CreateLaser01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+15,50,8,BLUE02,0);
wait(10);
yield;
}
}
task fire{
loop{
CreateShot01(GetEnemyX,GetEnemyY,3,0,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,45,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,90,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,135,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,180,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,225,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,270,134,10);
CreateShot01(GetEnemyX,GetEnemyY,3,315,134,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-10,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+10,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-20,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+20,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-30,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+30,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-5,AQUA01,20);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+5,AQUA01,20);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-15,AQUA01,20);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+15,AQUA01,20);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-25,AQUA01,20);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+25,AQUA01,20);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer-35,AQUA01,10);
CreateShot01(GetEnemyX,GetEnemyY,4,GetAngleToPlayer+35,AQUA01,10);
wait(30);
yield;
}
}
function wait(w){
loop(w){yield;}
}
}