Author Topic: Show off your best Danmakufu patterns!  (Read 35185 times)

Re: Show off your best Danmakufu patterns!
« Reply #30 on: November 13, 2009, 05:57:29 PM »
Oh yes, this thread is for showing off patterns right?

Well here you go




« Last Edit: November 13, 2009, 05:59:33 PM by Suikama »

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Show off your best Danmakufu patterns!
« Reply #31 on: November 13, 2009, 07:43:18 PM »
Gee, it must have took like, a month to make.

Re: Show off your best Danmakufu patterns!
« Reply #32 on: November 14, 2009, 06:10:15 AM »
Fuck my last script, THIS IS THE BEAST.

CHECK THE FUCK OUT OF THIS. PRESS I, WATCH FOR TWENTY SECONDS.

Code: [Select]
#TouhouDanmakufu
#Title[Gap God "Black Hole"]
#Text[Oh what]
#BackGround[User(.\PIC\black.png, 1, 1)]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main {

let ImgBoss = "script\ExRumia\ExRumia.png";
let frame = 0;
let radius = 235;
let radius2 = 55;
let speed = 2.1;
let f = 0;
let th = 0;
let th2 = 0;
let th3 = 0;
let th4 = 0;
let i = 0;
let a = 0;
let b = 0;
let c = 0;
let ra = rand_int(0, 119);
let xpos = 0;
let ypos = 0;

//////////////////////Bonus graze points
let bonus = 1;
let bonus2 = 0;
let BS = 0;
let BF = 0;
/////////////////

let r = rand_int(0, 359);


    @Initialize {

if(GetPlayerType==REIMU_A){
        SetLife(5000);} else { SetLife(6200); }
SetTimer(42);
SetScore(1000000);
MagicCircle(false);
SetEnemyMarker(true);
        SetDamageRate(100, 20);
        SetInvincibility(150);
SetEnemyMarker(true);
        LoadGraphic(ImgBoss);
CutIn(YOUMU, "Gap God "\""Black Hole"\", "", 1, 1, 2, 2);

        SetMovePosition02(GetCenterX, GetCenterY, 20);
        SetGraphicRect(30, 30, 100, 100);

    }

    @MainLoop {
    SetCollisionA(GetX, GetY, 32);
    SetCollisionB(GetX, GetY, 0);

frame++;
if(frame==25){
gap(GetX, GetY, 3, 0.05,  i + r, PURPLE01, 6, f);
gap(GetX, GetY, 3, 0.05, i + 180 + r, PURPLE01, 6, f);
gap(GetX, GetY, 3, 0.05,  i + r + 2, PURPLE01, 6, f);
gap(GetX, GetY, 3, 0.05, i + 180 + r + 2, PURPLE01, 6, f);
gap(GetX, GetY, 3, 0.05,  i + r + 4, PURPLE01, 6, f);
gap(GetX, GetY, 3, 0.05, i + 180 + r + 4, PURPLE01, 6, f);
loop(6){
col(GetX + 240*cos(a + b), GetY + 240*sin(a + b), 0, a + b + 180, PURPLE01, 20, f);
b+=60;
}
a+=2;
i+=6;
f++;
frame = 24;
if(f==30){
f = 0;
frame = 30;
}
}
if(frame==60){
radius -= 0.025;
radius2 += 0.03;
f++;
if(f>=100){
CreateShot01(GetX + radius*cos(th + 60 + ra), GetY + radius*sin(th + 60 + ra), speed, th + 240 + ra, BLUE12, 8);
CreateShot01(GetX + radius*cos(th + 180 + ra), GetY + radius*sin(th + 180 + ra), speed, th + ra, BLUE12, 8);
CreateShot01(GetX + radius*cos(th + 300 + ra), GetY + radius*sin(th + 300 + ra), speed, th + 120 + ra, BLUE12, 8);
}
loop(5){
CreateShot01(GetX + (radius + 12)*cos(th3 + c), GetY + (radius + 12)*sin(th3 + c), 2, th3 + c, RED12, 0);
c+=72;
} c = 0;
CreateShot01(GetX + (radius2 + 12)*cos(th3 + 60), GetY + (radius2 + 12)*sin(th3 + 60), 2, th3 + 240, PURPLE04, 0);
CreateShot01(GetX + (radius2 + 12)*cos(th3 + 180), GetY + (radius2 + 12)*sin(th3 + 180), 2, th3, BLUE04, 0);
CreateShot01(GetX + (radius2 + 12)*cos(th3 + 300), GetY + (radius2 + 12)*sin(th3 + 300), 2, th3 + 120, AQUA04, 0);
DeleteEnemyShotImmediatelyInCircle(ALL, GetX, GetY, 5);
speed -= 0.0006;
th += th2;
th2 += th3;
th3 += th4;
th4 += 0.05;
frame = 59;
}

xpos = GetCenterX - GetPlayerX;
ypos = GetCenterY - GetPlayerY;
SetPlayerX(GetPlayerX + (xpos*0.005));
SetPlayerY(GetPlayerY + (ypos*0.005));
yield;

    }
    @DrawLoop {
SetTexture(ImgBoss);
SetGraphicRect(0,0,64,64);
DrawGraphic(GetX, GetY);
    }

    @Finalize {
DeleteGraphic(ImgBoss);
AddScore(BS);
    }

task gap(x, y, vi, vf, angle, graphic, delay, frame2){
let obj = Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj, x, y);
Obj_SetAngle(obj, angle);
ObjShot_SetGraphic(obj, graphic);
ObjShot_SetDelay(obj, delay);
ObjShot_SetBombResist(obj, true);
Obj_SetSpeed(obj, vi);

while(! Obj_BeDeleted(obj)){
frame2++;
if(Obj_GetSpeed(obj) > vf){
Obj_SetSpeed(obj, Obj_GetSpeed(obj) - 0.05);
}
if(frame2==100){
Obj_SetSpeed(obj, 0.03);
}
yield;
}
}
task col(x, y, vi, angle, graphic, delay, frame2){
let obj = Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj, x, y);
Obj_SetAngle(obj, angle);
ObjShot_SetGraphic(obj, graphic);
ObjShot_SetDelay(obj, delay);
ObjShot_SetBombResist(obj, true);
Obj_SetSpeed(obj, vi);

while(! Obj_BeDeleted(obj)){
frame2++;
if(frame2==100){
Obj_SetSpeed(obj, 0.025);
}
yield;
}
}
}

WHAT THE FUCK.

</oldscripts>

Re: Show off your best Danmakufu patterns!
« Reply #33 on: November 14, 2009, 06:17:30 AM »
Whoa this is kinda tripOHGODWHATTHEHELLISTHIS

I AM GETTING 9 FPS

Re: Show off your best Danmakufu patterns!
« Reply #34 on: November 14, 2009, 06:25:31 AM »
It should be worth noting that the popcorning effect is completely unintentional and I have no idea what is causing it.

Re: Show off your best Danmakufu patterns!
« Reply #35 on: November 14, 2009, 06:38:12 AM »
It should be worth noting that the popcorning effect is completely unintentional and I have no idea what is causing it.
Oh

It looks like huge BLUE12 bullets are covering the screen or something...

Kylesky

  • *The Unknown*
  • Local Unbalanced Danmakufu Idiot Scripter
    • My useless youtube account... (will be useful in the future *I promise*)
Re: Show off your best Danmakufu patterns!
« Reply #36 on: November 14, 2009, 06:52:59 AM »
That happened to me before... usually when you're computing extremely high variables... or a lot of high ones... about 20K??
Danmakufu Script Thread :V Latest Script: Intertwining Mechanical Intervention (temp name)

Yooooouuutuuuubeeee Channel Latest Video: Contest #8 Entry

Johnny Walker

  • Perdition Crisis~
Re: Show off your best Danmakufu patterns!
« Reply #37 on: November 14, 2009, 08:58:45 AM »
What the hell Naut! My computer is bleeding.

Re: Show off your best Danmakufu patterns!
« Reply #38 on: November 28, 2009, 01:37:49 AM »
Reimu has some pretty cool spellcards




ChaoStar

  • Dark History Boy
Re: Show off your best Danmakufu patterns!
« Reply #39 on: November 28, 2009, 01:58:58 AM »
Reimu has some pretty cool spellcards

image
image
image

I must agree.

Blargel

  • RAWR!
  • I'M AN ANGRY LOLI!
Re: Show off your best Danmakufu patterns!
« Reply #40 on: November 28, 2009, 12:49:17 PM »
Code: [Select]
#TouhouDanmakufu #Title[Integral Test] #Player[FREE] #ScriptVersion[2] script_enemy_main {let OhMyGodWhatIsThisVariableIDontEven = -120;let WhyAreThereSoManyLongVariableNamesInHere = 0;let NeedlesslyComplicatedVariableNamesAreFun = 0; @Initialize{SetLife(3000);SetScore(5000000);SetMovePosition03(GetCenterX, GetCenterY, 20, 5)} @MainLoop{SetCollisionA(GetX, GetY, 48);SetCollisionB(GetX, GetY, 32);if(OhMyGodWhatIsThisVariableIDontEven%5==0 && OhMyGodWhatIsThisVariableIDontEven>0){NeedlesslyComplicatedVariableNamesAreFun = integral(-5, sin(OhMyGodWhatIsThisVariableIDontEven), 64, "cos(x)")*4-20.2;let WhyWouldYouDoThisOhGod = absolute(NeedlesslyComplicatedVariableNamesAreFun);;if(WhyWouldYouDoThisOhGod<0.5){WhyWouldYouDoThisOhGod = 0.5}CreateShot01(GetX+cos(NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+170, BLUE23, 30);CreateShot01(GetX+cos(NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+180, WHITE23, 30);CreateShot01(GetX+cos(NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+190, BLUE23, 30);CreateShot01(GetX+cos(60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+170, BLUE23, 30);CreateShot01(GetX+cos(60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+180, WHITE23, 30);CreateShot01(GetX+cos(60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 60+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+190, BLUE23, 30);CreateShot01(GetX+cos(120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+170, BLUE23, 30);CreateShot01(GetX+cos(120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+180, WHITE23, 30);CreateShot01(GetX+cos(120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 120+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+190, BLUE23, 30);CreateShot01(GetX+cos(180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+170, BLUE23, 30);CreateShot01(GetX+cos(180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+180, WHITE23, 30);CreateShot01(GetX+cos(180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 180+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+190, BLUE23, 30);CreateShot01(GetX+cos(240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+170, BLUE23, 30);CreateShot01(GetX+cos(240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+180, WHITE23, 30);CreateShot01(GetX+cos(240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 240+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+190, BLUE23, 30);CreateShot01(GetX+cos(300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+170, BLUE23, 30);CreateShot01(GetX+cos(300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+180, WHITE23, 30);CreateShot01(GetX+cos(300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, GetY+sin(300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere)*100, WhyWouldYouDoThisOhGod, 300+NeedlesslyComplicatedVariableNamesAreFun*60+WhyAreThereSoManyLongVariableNamesInHere+190, BLUE23, 30);WhyAreThereSoManyLongVariableNamesInHere = WhyAreThereSoManyLongVariableNamesInHere + 100}OhMyGodWhatIsThisVariableIDontEven = OhMyGodWhatIsThisVariableIDontEven + 1}@DrawLoop {}@Finalize {}}
Do I win yet? Oh, this actually does work, too. And it uses the integral function with some trig in there as well. Don't ask why, it just does.

EDIT: Baww, there's no word wrap on the code block to make it look worse.


EDIT: Here have another:
Code: [Select]
#TouhouDanmakufu
#Title[Rainbow Phasing Bullets]
#Text[Taste the rainbow.]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{

let CSD = GetCurrentScriptDirectory;
let imgBoss = CSD ~ "img\ExRumia.png";

let frame = 0;

@Initialize{
SetLife(3000);
SetTimer(600);
SetScore(350000);
SetInvincibility(30);
SetX(GetCenterX);
SetY(GetClipMinY+120);
LoadGraphic(imgBoss);
}

@MainLoop{
SetCollisionA(GetX,GetY,32);
SetCollisionB(GetX,GetY,16);

if(frame%30==29){
let randomAngle = rand(0, 360);
ascent(i in 0..18){
PsychoShotLeft(randomAngle+i*20, WHITE11, 10);
PsychoShotRight(randomAngle+i*20, WHITE11, 10);
}
}

yield;
frame++;
}

@DrawLoop{
SetTexture(imgBoss);
SetRenderState(ALPHA);
SetAlpha(255);
SetGraphicRect(64,1,127,64);
SetGraphicScale(01,1);
SetGraphicAngle(0,0,0);
DrawGraphic(GetX,GetY);
}

@BackGround{
}


@Finalize{
DeleteGraphic(imgBoss);

}

task PsychoShotLeft(angle, graphic, delay){
let obj = ColorChangeShot(GetX, GetY, 5, angle, graphic, delay);
loop(60){
Obj_SetSpeed(obj, Obj_GetSpeed(obj)-5/90);
Obj_SetAngle(obj, Obj_GetAngle(obj)+3);
yield;
}
loop(30){yield;}
Obj_SetSpeed(obj, 3);
Obj_SetAngle(obj, Obj_GetAngle(obj)+80);
}

task PsychoShotRight(angle, graphic, delay){
let obj = ColorChangeShot(GetX, GetY, 5, angle, graphic, delay);
loop(60){
Obj_SetSpeed(obj, Obj_GetSpeed(obj)-5/90);
Obj_SetAngle(obj, Obj_GetAngle(obj)-3);
yield;
}
loop(30){yield;}
Obj_SetSpeed(obj, 3);
Obj_SetAngle(obj, Obj_GetAngle(obj)-80);
}

function ColorChangeShot(x, y, speed, angle, graphic, delay){
let parent = Obj_Create(OBJ_SHOT);
Obj_SetPosition(parent, x, y);
Obj_SetSpeed(parent, speed);
Obj_SetAngle(parent, angle);
Obj_SetAlpha(parent, 0);
ObjShot_SetGraphic(parent, graphic);
ObjShot_SetDelay(parent, delay);
ColorChangeShotParent(parent, graphic, delay);
return parent;
}

task ColorChangeShotParent(id, graphic, delay){
loop(delay){yield;}
let red = 255;
let green = 0;
let blue = 0;
while(!Obj_BeDeleted(id)){
loop(51){
green+=5;
ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
yield;
}
loop(51){
red-=5;
ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
yield;
}
loop(51){
blue+=5;
ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
yield;
}
loop(51){
green-=5;
ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
yield;
}
loop(51){
red+=5;
ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
yield;
}
loop(51){
blue-=5;
ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
yield;
}
yield;
}
}

task ColorChangeShotChild(x, y, angle, r, g, b, graphic){
SetShotColor(r, g, b);
let child = Obj_Create(OBJ_SHOT);
Obj_SetPosition(child, x, y);
Obj_SetAngle(child, angle);
Obj_SetSpeed(child, 0);
ObjShot_SetGraphic(child, graphic);
ObjShot_SetDelay(child, 0);
Obj_SetCollisionToPlayer(child, false);
yield;
Obj_Delete(child);
}

}

This one, although the pattern is simple, has a really weird effect. Too bad it's not practical to use this function in a real pattern cause of how much processing power it eats up. :V
« Last Edit: November 28, 2009, 03:36:35 PM by Blargel »
<WorkingKeine> when i get home i just go to the ps3 and beat people up in blazblue with a loli
<Azure> Keine: Danmakufu helper by day, violent loli by night.

ChaoStar

  • Dark History Boy
Re: Show off your best Danmakufu patterns!
« Reply #41 on: November 28, 2009, 06:34:42 PM »
oh god what
Code: [Select]
#TouhouDanmakufu
#Title[Mokou wishes she could do this.]
#Text[lol whut]
#Player[FREE]
#ScriptVersion[2]


script_enemy_main{

let CSD = GetCurrentScriptDirectory;

let imgBoss = CSD ~ "img\ExRumia.png";



@Initialize{
SetLife(10000);
SetTimer(600);
SetScore(350000);
SetInvincibility(30);
SetMovePosition01(GetCenterX,GetCenterY,5);
LoadGraphic(imgBoss);

CutIn(YOUMU,"Fuck sign: sr. red bsns",NULL,0,0,0,0);


mainTask;
}

@MainLoop{
SetCollisionA(GetX,GetY,32);
SetCollisionB(GetX,GetY,16);
yield;
}

@DrawLoop{
SetTexture(imgBoss);
SetRenderState(ALPHA);
SetAlpha(255);
SetGraphicRect(64,1,127,64);
SetGraphicScale(01,1);
SetGraphicAngle(0,0,0);
DrawGraphic(GetX,GetY);
}

   @BackGround{
      SetTexture(NULL);
      SetRenderState(ALPHA);
      SetAlpha(255);
      SetGraphicRect(0,0,1024,1024);
      SetGraphicScale(1,1);
      SetGraphicAngle(0,0,0);
      DrawGraphic(GetCenterX,GetCenterY);
   }


@Finalize{
DeleteGraphic(imgBoss);

}

task mainTask{
yield;
mainFire;
secondFire;
movement;
}

task movement{
SetMovePosition01(GetCenterX,120,5);

yield;

}


task mainFire{
let count = 0;
loop{
spock(GetX,GetY,1,sin(count)*rand(30,70)+90,RED31,0);
count += 10;
wait(1);
yield;
}
}

task secondFire{
loop{
CreateShot01(GetX,GetY,1,180+rand(-10,10),RED03,0);
CreateShot01(GetX,GetY,1,0+rand(-10,10),RED03,0);
CreateShot01(GetX,GetY,1,180+rand(0,20),RED03,0);
CreateShot01(GetX,GetY,1,0+rand(0,-20),RED03,0);

wait(45);
yield;
}
}





task spock(x,y,v,dir,graphic,delay){
let obj = Obj_Create(OBJ_SHOT);

Obj_SetPosition(obj,x,y);
Obj_SetSpeed(obj,v);
Obj_SetAngle(obj,dir);
ObjShot_SetGraphic(obj,graphic);
ObjShot_SetDelay(obj,delay);
ObjShot_SetBombResist(obj,true);

while(!Obj_BeDeleted(obj)){
if(Obj_GetY(obj) > GetClipMaxY){
loop(26){CreateShot01(Obj_GetX(obj),Obj_GetY(obj),1,dir,RED31,0); dir+=360/26;}
Obj_Delete(obj);
}


yield;

}
}


function wait(w){
loop(w){yield;}
}
}

Azure Lazuline

  • Looooove!!
  • PM me for free huggles and love!
    • Entanma Project - indie game development
Re: Show off your best Danmakufu patterns!
« Reply #42 on: November 28, 2009, 10:03:51 PM »
This one, although the pattern is simple, has a really weird effect. Too bad it's not practical to use this function in a real pattern cause of how much processing power it eats up. :V

What about this?

Code: [Select]
#TouhouDanmakufu
#Title[Rainbow Phasing Bullets]
#Text[Taste the rainbow.]
#Player[FREE]
#BackGround[User()]
#ScriptVersion[2]

script_enemy_main{

   let CSD   = GetCurrentScriptDirectory;
   let imgBoss = CSD ~ "img\ExRumia.png";

   let frame = 0;
   
   @Initialize{
      SetLife(3000);
      SetTimer(600);
      SetScore(350000);
      SetInvincibility(30);
      SetX(GetCenterX);
      SetY(GetClipMinY+120);
      LoadGraphic(imgBoss);
   }

   @MainLoop{
      SetCollisionA(GetX,GetY,32);
      SetCollisionB(GetX,GetY,16);
     
      if(frame%30==29){
         let randomAngle = rand(0, 360);
         ascent(i in 0..36){
            PsychoShotLeft(randomAngle+i*10, WHITE12, 0);
            PsychoShotRight(randomAngle+i*10, WHITE12, 0);
         }
      }
     
      yield;
      frame++;
   }

   @DrawLoop{
      SetTexture(imgBoss);
      SetRenderState(ALPHA);
      SetAlpha(255);
      SetGraphicRect(64,1,127,64);
      SetGraphicScale(01,1);
      SetGraphicAngle(0,0,0);
      DrawGraphic(GetX,GetY);
   }
   

   @Finalize{
      DeleteGraphic(imgBoss);

   }
   
   task PsychoShotLeft(angle, graphic, delay){
      let obj = ColorChangeShot(GetX, GetY, 4, angle, graphic, delay);
      loop(60){
         Obj_SetSpeed(obj, Obj_GetSpeed(obj)-5/90);
         Obj_SetAngle(obj, Obj_GetAngle(obj)+3);
         yield;
      }
      loop(30){yield;}
      Obj_SetSpeed(obj, 3);
//      Obj_SetAngle(obj, Obj_GetAngle(obj)+110);     
      loop(60){
         Obj_SetAngle(obj, Obj_GetAngle(obj)-4);
         yield;
      }
   }
   
   task PsychoShotRight(angle, graphic, delay){
      let obj = ColorChangeShot(GetX, GetY, 4, angle, graphic, delay);
      loop(60){
         Obj_SetSpeed(obj, Obj_GetSpeed(obj)-5/90);
         Obj_SetAngle(obj, Obj_GetAngle(obj)-3);
         yield;
      }
      loop(30){yield;}
      Obj_SetSpeed(obj, 3);
//      Obj_SetAngle(obj, Obj_GetAngle(obj)-110);     
      loop(60){
         Obj_SetAngle(obj, Obj_GetAngle(obj)+4);
         yield;
      }
   }
   
   function ColorChangeShot(x, y, speed, angle, graphic, delay){
      let parent = Obj_Create(OBJ_SHOT);
      Obj_SetPosition(parent, x, y);
      Obj_SetSpeed(parent, speed);
      Obj_SetAngle(parent, angle);
      Obj_SetAlpha(parent, 0);
      ObjShot_SetGraphic(parent, graphic);
      ObjShot_SetDelay(parent, delay);
      ColorChangeShotParent(parent, graphic, delay);
      return parent;
   }
   
   task ColorChangeShotParent(id, graphic, delay){
      loop(delay){yield;}
      let red = 255;
      let green = 0;
      let blue = 0;
      while(!Obj_BeDeleted(id)){
         loop(12){
            green+=20;
            ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
            yield;
         }
         loop(12){
            red-=20;
            ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
            yield;
         }
         loop(12){
            blue+=20;
            ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
            yield;
         }
         loop(12){
            green-=20;
            ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
            yield;
         }
         loop(12){
            red+=20;
            ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
            yield;
         }
         loop(12){
            blue-=20;
            ColorChangeShotChild(Obj_GetX(id), Obj_GetY(id), Obj_GetAngle(id), red, green, blue, graphic);
            yield;
         }
         yield;         
      }
   }
   
   task ColorChangeShotChild(x, y, angle, r, g, b, graphic){
      SetShotColor(r, g, b);
      let child = Obj_Create(OBJ_SHOT);
      Obj_SetPosition(child, x, y);
      Obj_SetAngle(child, angle);
      Obj_SetSpeed(child, 0);
      ObjShot_SetGraphic(child, graphic);
      ObjShot_SetDelay(child, 0);
      Obj_SetCollisionToPlayer(child, false);
      yield;
      Obj_Delete(child);
   }
   
}

Re: Show off your best Danmakufu patterns!
« Reply #43 on: December 02, 2009, 05:41:32 AM »
I regret nothing.

I could have made a better background if I could use GIMP at all, but... =/

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Show off your best Danmakufu patterns!
« Reply #44 on: December 05, 2009, 04:20:37 PM »
CAW HAW HAW.
Code: [Select]
#TouhouDanmakufu
#Title[!!!!!! !!!!]
#Text[!!!!]
#Image[]
#BackGround[IceMountain]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main {
    let frame = -300;
    let BossImage = "script\img\ExRumia.png";
    let bossname = "!!!!!!! !!!!!!";
    let Spell = 0;
    let SpellName = "!!!「!!」";
@Initialize {
SetLife(630); SetDamageRate(12, 5); SetTimer(103);
SetEnemyMarker(true); MagicCircle(true); SetInvincibility(180);
LoadGraphic(BossImage);
CutIn(YOUMU, SpellName, "", 0, 0, 0, 0); SetScore(12000000);
LoadGraphic(BossImage);
TMain;
SetEffectForZeroLife(60, 55, 3); //LastSpell;
SetShotAutoDeleteClip(200, 200, 200, 200);
}

@MainLoop {
if(Spell <= 1) {
SetCollisionA(GetX, GetY, 36); SetCollisionB(GetX, GetY, 10);
}
yield;
}

let animation = 0;
@DrawLoop {
SetFontColor(255, 255, 255, 255, 128, 0);
DrawText(bossname, 40, 36, 12, 255);
SetTexture(BossImage);
animation++; if(animation==600){animation=0;}
if(GetSpeedX()==0){
if(animation<=300){ SetGraphicRect(64,1,127,64); }
else if(animation>300 && animation<=600){ SetGraphicRect(0,1,63,64); }
}
else if(GetSpeedX()>0){SetGraphicRect(192,1,255,64);}
else if(GetSpeedX()<0){SetGraphicRect(128,1,191,64);}
SetGraphicAngle(0, 0, 0);
SetGraphicScale(1, 1);
SetRenderState(ALPHA);
SetAlpha(255);
SetColor(255, 255, 255);
DrawGraphic(GetX, GetY);
}

@Finalize {
DeleteGraphic(BossImage);
}

task TMain {
SetMovePosition02(GetCenterX, GetClipMinY+100, 20);
loop(60){yield;}
Concentration01(120); PlaySE("se\se_ch00.wav");
loop(120){yield;}
move;
attack1; attack2; attack3;
}
task move {
let mf = 5;
loop {
SetMovePosition02(GetCenterX+rand(-200, 200), GetClipMinY+100+rand(-75, 175), mf);
loop(mf) { yield; }
}
}
task attack1 {
let num = 20; let a = 0;
loop {
loop(num) { CreateShot01(GetX, GetY, 7, a, WHITE02, 10); a+=360/num; }
a+=14;
loop(5) { yield; }
}
}
task attack2 {
let num = 30; let a = 0;
loop {
loop(num) { CreateShot01(GetX, GetY, 10, a, WHITE01, 10); a+=360/num; }
a-=17;
loop(9){ yield; }
}
}
task attack3 {
let num = 5; let a = 0;
loop {
loop(num) { CreateShot01(GetX, GetY, 10, a, ORANGE03, 10); a+=360/num; }
a-=103;
loop(90){ yield; }
}
}
}

EDIT: It didn't have to be possible, did it?

KomeijiKoishi

Re: Show off your best Danmakufu patterns!
« Reply #45 on: December 05, 2009, 05:02:24 PM »
http://www.youtube.com/watch?v=sbbQPmvL1Qg

Something I'm working on at the moment.

KomeijiKoishi

Re: Show off your best Danmakufu patterns!
« Reply #46 on: December 14, 2009, 05:48:54 PM »
Code: [Select]
#TouhouDanmakufu
#Title[China's Punch "Time To Revive The Color"]
#Text[Test script]
#BackGround[User(.\black.png, 1, 1)]
#BGM[script/st6boss2.wav]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main {

    let ImgBoss = "script\img\ExRumia.png";

    let count = -120;

    let SMT = 0;
   
    let fire = 0;

    @Initialize {
        SetLife(400);
        SetDamageRate(10, 20);
        SetTimer(90);
        SetInvincibility( 200 );
        LoadGraphic(ImgBoss);
        SetScore(1000000);
        SetMovePosition02(GetCenterX, GetCenterY-120, 120);
        CutIn(YOUMU, "Broken Border "\""This Time, It Wasn't Yukari's Fault"\", "", 0, 0, 0, 0);
        LoadUserShotData("\lib\SHOT_REPLACE\shot_All.dnh");
        SetGraphicRect(0, 0, 64, 64);
    }

    @MainLoop {
    SetCollisionA(GetX, GetY, 32);
    SetCollisionB(GetX, GetY, 16);

    if ((count == 0)){
    particle;
    Red; 
    }
   
    count++;
    SMT++;
    yield;
    }

    @DrawLoop {
      SetTexture(ImgBoss);
      DrawGraphic(GetX, GetY);
    }

    @Finalize {
      DeleteGraphic(ImgBoss);
    }

   
   task particle{
   let b = 180;
   let bup = 4;
   let reverse = 0;
   let lrar = 0;
   let kput = 4;
   let krar = 90;
   
   
   let Length = 400;
   yield;

   let x = 2.3;
   
   let n = 0;
   
   let q = 0;
   
   let RollerX;
   let RollerY;
   let random;
   
   loop{
   
   PlaySE(GetCurrentScriptDirectory~"SE\se_tan01.wav");
    ascent(a in 1..kput+1){
    RollerX = GetCenterX + Length * cos((a*krar+b)+1*(360/2));
    RollerY = GetCenterY + Length * sin((a*krar+b)+1*(360/2));
   CreateLaserA(1, RollerX, RollerY, 800, 30, 159, 40);
   SetLaserDataA(1, 0, (a*krar+b)-count*2, 0, 0, 0, 0);
   SetShotKillTime(1, 80); 
   FireShot(1);
  }
   if (reverse == 0){
   if (bup > -0.7){
   bup += 0;
   }
   else{
   reverse++;
   }
   }
   else{
   if (bup > 120){
   bup -= 0;
   }
   else{
   reverse--;
   }
   }
   b += bup;
   if (Length > -200){
   Length -= 0;
   }
   
   loop(5){
   yield;
   }
   }
   }

   task Red{
   let b = 180;
   let bup = 4.2;
   let reverse = 0;
   let lrar = 0;
   let kput = 50;
   let krar = 360/kput;
   
   
   let Length = 400;
   yield;

   let x = 2.3;
   
   let n = 0;
   
   let q = 0;
   
   let RollerX;
   let RollerY;
   let random;
   
   loop{
   
   PlaySE(GetCurrentScriptDirectory~"SE\se_tan01.wav");
    ascent(a in 1..kput+1){
   CreateShotA(1, GetX, GetY, 10);
   SetShotDataA(1, 0, 2, (a*krar+b), 0, 0, 0, 39);
   SetShotDataA_XY(1, 0, 0, 0, 0, 0, 0, 0, 39);
   SetShotKillTime(1, 360);
   FireShot(1);
   AddShot(a*3, 3, 17, 0);
  }
   if (reverse == 0){
   if (bup > -0.7){
   bup += 0;
   }
   else{
   reverse++;
   }
   }
   else{
   if (bup > 120){
   bup -= 0;
   }
   else{
   reverse--;
   }
   }
   b += bup;
   if (Length > -200){
   Length -= 0;
   }
   
   loop(40){
   yield;
   }
   }
   }

 




    task TheshotUp(x, y, v, angle, graphic, delay){
        let obj = Obj_Create(OBJ_SHOT);
      let a = 0;
      let b = 0;
      let dir = angle;
        Obj_SetX(obj, x);
        Obj_SetY(obj, y);
        Obj_SetSpeed(obj, v);
        Obj_SetAngle(obj, angle);
        ObjShot_SetGraphic(obj, graphic);
        ObjShot_SetDelay(obj, delay);
   Obj_SetAutoDelete(obj, false);
        while (!Obj_BeDeleted(obj)){
      if (count == 160){
   Obj_SetAutoDelete(obj, true);
        Obj_SetSpeed(obj, v+2);
     }
      a++;
      b++;
      yield;
      }
}



    task TheshotCircle(x, y, v, angle, graphic, delay){
        let obj = Obj_Create(OBJ_SHOT);
      let a = 0;
      let b = 0;
      let dir = angle;
        Obj_SetX(obj, x);
        Obj_SetY(obj, y);
        Obj_SetSpeed(obj, v);
        Obj_SetAngle(obj, angle);
        ObjShot_SetGraphic(obj, graphic);
        ObjShot_SetDelay(obj, delay);
      ObjShot_SetBombResist(obj, true);
        while (!Obj_BeDeleted(obj)){
      if (a == 120){
        Obj_SetSpeed(obj, v*8);
     }
      a++;
      b++;
      yield;
      }
}

}


TheMasterSpark

  • Lunatic lemurialist
Re: Show off your best Danmakufu patterns!
« Reply #47 on: December 15, 2009, 07:36:19 PM »
This is probably not much at all in the grand scope of things but since it is so far my only done spellcard, it is per definition also my best one. :)

Shikieiki's "Final Verdict"

Code: [Select]
#TouhouDanmakufu
#Title[Shikieiki]
#Text[just a tutorial to present it]
#Player[FREE]
#ScriptVersion[2]
#BGM[.\bgm\Fate.mp3"]
#PlayerLevel[Normal]


script_enemy_main{

let CSD = GetCurrentScriptDirectory;
let ShotData   = CSD ~ "system\supershot2.txt";

let imgBoss = CSD ~ "system\boss21.png";
let cut = CSD ~ "system\slpl13.png";
let bg = CSD ~ "system\judgment.png";
let lay = CSD ~ "system\cdbg21b.png";

let f = 0;
let f2 = 0;
let attack = 0;


let b = 0;


@Initialize{
SetLife(1000);
SetTimer(60);
SetScore(100000);
SetMovePosition01(GetX,120,5);
LoadGraphic(imgBoss);
LoadGraphic(cut);

wait(60);
LoadGraphic(bg);
      LoadGraphic(lay);
LoadUserShotData(ShotData);

CutIn(YOUMU,"Judgement: "\""Final Verdict""\",cut,0,0,256,512);

mainTask;
}

@MainLoop{
//SetCollisionA(GetX,GetY,32);
//SetCollisionB(GetX,GetY,16);
yield;
}

@DrawLoop{
SetTexture(imgBoss);
SetRenderState(ALPHA);
SetAlpha(255);
SetGraphicScale(1.2,1.2);
SetGraphicAngle(0,0,0);

if(int(GetSpeedX())==0){
if(attack==0){

if(f<10){SetGraphicRect(0,0,64,80);}
if(f>=10 && f<20){SetGraphicRect(64,0,128,80);}
if(f>=20 && f<30){SetGraphicRect(128,0,192,80);}
if(f>=30 && f<40){SetGraphicRect(192,0,256,80);}
}
if(attack==1){
SetGraphicRect(0,160,64,240);

}
f2 = 0;

}

if(GetSpeedX()>0){
if(attack==0){
if(f2<5){SetGraphicRect(0,80,64,160);}
if(f2>=5 && f<10){SetGraphicRect(64,80,128,160);}
if(f2>=10 && f<15){SetGraphicRect(128,80,192,160);}
if(f2>=15){SetGraphicRect(192,80,256,160);}
} f2++;

if(attack==1){
SetSpeed(0);
SetGraphicRect(0,160,64,240);
}

}

if(GetSpeedX()<0){
if(attack==0){
SetGraphicAngle(180,0,0);
if(f2<5){SetGraphicRect(0,80,64,160);}
if(f2>=5 && f<10){SetGraphicRect(64,80,128,160);}
if(f2>=10 && f<15){SetGraphicRect(128,80,192,160);}
if(f2>=15){SetGraphicRect(192,80,256,160);}
f2++;
}
if(attack==1){
SetSpeed(0);
SetGraphicRect(0,160,64,240);
}
}

DrawGraphic(GetX,GetY);

f++;

if(f==40){f = 0; }

DrawText("Shikieiki Yamaxanadu",35,30,12,255);
}

   @BackGround{
      SetTexture(bg);
      SetRenderState(ALPHA);
      SetAlpha(135);
      SetGraphicRect(0,0,512,512);
      SetGraphicScale(1,1);
      SetGraphicAngle(0,0,0);
      DrawGraphic(GetCenterX,GetCenterY);

      SetTexture(lay);
      SetGraphicRect(0,0 + b,448, 480 + b);
      SetRenderState(ALPHA);
      SetAlpha(255);
      SetGraphicScale(1,1);
      DrawGraphic(224, 240);
   

      b++;

   }
@Finalize{
if(GotSpellCardBonus){
                PlaySE(CSD ~ "SFX\se_cardget.wav");
        }
DeleteGraphic(imgBoss);
DeleteGraphic(cut);
DeleteGraphic(bg);
}

// main task, activates stuff.
task mainTask{
yield;
wait(75);

fire;
fire2;




}



task fire{
loop{
if(GetTimer<31){
PlaySE(CSD~"sfx\se_power0.wav");
Concentration01(120);
wait(50);
attack = 1;
wait(10);


//CreateLaser01(GetX, GetY, 2, GetAngleToPlayer, 200, 16, RED01, 20);
CreateLaserA(1, GetEnemyX, GetEnemyY, 700, 80, PURPLE03, 60);
SetLaserDataA(1, 0, GetAngleToPlayer, 0, 0, 0, 0);

CreateLaserA(2, GetEnemyX, GetEnemyY, 600, 20, BLUE01, 60);
SetLaserDataA(2, 0, GetAngleToPlayer-60, 0, 0, 0, 0);
CreateLaserA(3, GetEnemyX, GetEnemyY, 600, 20, BLUE01, 60);
SetLaserDataA(3, 0, GetAngleToPlayer-90, 0, 0, 0, 0);
CreateLaserA(4, GetEnemyX, GetEnemyY, 600, 20, BLUE01, 60);
SetLaserDataA(4, 0, GetAngleToPlayer-120, 0, 0, 0, 0);
CreateLaserA(5, GetEnemyX, GetEnemyY, 600, 20, BLUE01, 60);
SetLaserDataA(5, 0, GetAngleToPlayer-145, 0, 0, 0, 0);
CreateLaserA(6, GetEnemyX, GetEnemyY, 600, 20, RED01, 60);
SetLaserDataA(6, 0, GetAngleToPlayer+145, 0, 0, 0, 0);
CreateLaserA(7, GetEnemyX, GetEnemyY, 600, 20, RED01, 60);
SetLaserDataA(7, 0, GetAngleToPlayer+120, 0, 0, 0, 0);
CreateLaserA(8, GetEnemyX, GetEnemyY, 600, 20, RED01, 60);
SetLaserDataA(8, 0, GetAngleToPlayer+90, 0, 0, 0, 0);
CreateLaserA(9, GetEnemyX, GetEnemyY, 600, 20, RED01, 60);
SetLaserDataA(9, 0, GetAngleToPlayer+60, 0, 0, 0, 0);

SetShotKillTime(1,120);
SetShotKillTime(2,120);
SetShotKillTime(3,120);
SetShotKillTime(4,120);
SetShotKillTime(5,120);
SetShotKillTime(6,120);
SetShotKillTime(7,120);
SetShotKillTime(8,120);
SetShotKillTime(9,120);

PlaySE(CSD~"sfx\se_lazer00.wav");
FireShot(1);
FireShot(2);
FireShot(3);
FireShot(4);
FireShot(5);
FireShot(6);
FireShot(7);
FireShot(8);
FireShot(9);


wait(120);
attack = 0;
wait(60);


yield;
} else {
yield;
}

}
yield;
}



task fire2{

attack = 1;
wait(30);

loop{


if(GetTimer==51){

PlaySE(CSD~"sfx\se_power1.wav");
Concentration01(120);
wait(10);

}



if(GetTimer==31){

PlaySE(CSD~"sfx\se_power1.wav");
Concentration01(120);
wait(10);

}



if(GetTimer==21){

PlaySE(CSD~"sfx\se_power1.wav");
Concentration01(120);
wait(10);

}






if(GetTimer>50){
PlaySE(CSD~"sfx\thump.wav");
CreateShot01(rand(5,35),20,2,90,255,50);
CreateShot01(rand(40,65),5,2,90,255,50);
CreateShot01(rand(70,95),20,2,90,255,50);
CreateShot01(rand(100,125),5,2,90,255,50);
CreateShot01(rand(130,155),20,2,90,255,50);
CreateShot01(rand(160,185),5,2,90,255,50);
CreateShot01(rand(190,215),20,2,90,255,50);
CreateShot01(rand(220,245),5,2,90,255,50);
CreateShot01(rand(250,275),20,2,90,255,50);
CreateShot01(rand(280,305),5,2,90,255,50);
CreateShot01(rand(310,335),20,2,90,255,50);
CreateShot01(rand(340,365),5,2,90,255,50);
CreateShot01(rand(370,395),20,2,90,255,50);
CreateShot01(rand(400,425),5,2,90,255,50);
wait(60);

} else if (GetTimer>40){

PlaySE(CSD~"sfx\thump.wav");
CreateShot01(rand(5,35),20,3,90,255,50);
CreateShot01(rand(40,65),5,3,90,255,50);
CreateShot01(rand(70,95),20,3,90,255,50);
CreateShot01(rand(100,125),5,3,90,255,50);
CreateShot01(rand(130,155),20,3,90,255,50);
CreateShot01(rand(160,185),5,3,90,255,50);
CreateShot01(rand(190,215),20,3,90,255,50);
CreateShot01(rand(220,245),5,3,90,255,50);
CreateShot01(rand(250,275),20,3,90,255,50);
CreateShot01(rand(280,305),5,3,90,255,50);
CreateShot01(rand(310,335),20,3,90,255,50);
CreateShot01(rand(340,365),5,3,90,255,50);
CreateShot01(rand(370,395),20,3,90,255,50);
CreateShot01(rand(400,425),5,3,90,255,50);
wait(50);

} else if (GetTimer>30){

PlaySE(CSD~"sfx\thump.wav");
CreateShot01(rand(5,35),20,3,90,255,50);
CreateShot01(rand(40,65),5,3,90,255,50);
CreateShot01(rand(70,95),20,3,90,255,50);
CreateShot01(rand(100,125),5,3,90,255,50);
CreateShot01(rand(130,155),20,3,90,255,50);
CreateShot01(rand(160,185),5,3,90,255,50);
CreateShot01(rand(190,215),20,3,90,255,50);
CreateShot01(rand(220,245),5,3,90,255,50);
CreateShot01(rand(250,275),20,3,90,255,50);
CreateShot01(rand(280,305),5,3,90,255,50);
CreateShot01(rand(310,335),20,3,90,255,50);
CreateShot01(rand(340,365),5,3,90,255,50);
CreateShot01(rand(370,395),20,3,90,255,50);
CreateShot01(rand(400,425),5,3,90,255,50);
wait(40);

} else if (GetTimer>20){

PlaySE(CSD~"sfx\thump.wav");
CreateShot01(rand(5,35),20,4,90,255,50);
CreateShot01(rand(40,65),5,4,90,255,50);
CreateShot01(rand(70,95),20,4,90,255,50);
CreateShot01(rand(100,125),5,4,90,255,50);
CreateShot01(rand(130,155),20,4,90,255,50);
CreateShot01(rand(160,185),5,4,90,255,50);
CreateShot01(rand(190,215),20,4,90,255,50);
CreateShot01(rand(220,245),5,4,90,255,50);
CreateShot01(rand(250,275),20,4,90,255,50);
CreateShot01(rand(280,305),5,4,90,255,50);
CreateShot01(rand(310,335),20,4,90,255,50);
CreateShot01(rand(340,365),5,4,90,255,50);
CreateShot01(rand(370,395),20,4,90,255,50);
CreateShot01(rand(400,425),5,4,90,255,50);
wait(30);

} else if (GetTimer>10){

PlaySE(CSD~"sfx\thump.wav");
CreateShot01(rand(5,35),20,4,90,255,50);
CreateShot01(rand(40,65),5,4,90,255,50);
CreateShot01(rand(70,95),20,4,90,255,50);
CreateShot01(rand(100,125),5,4,90,255,50);
CreateShot01(rand(130,155),20,4,90,255,50);
CreateShot01(rand(160,185),5,4,90,255,50);
CreateShot01(rand(190,215),20,4,90,255,50);
CreateShot01(rand(220,245),5,4,90,255,50);
CreateShot01(rand(250,275),20,4,90,255,50);
CreateShot01(rand(280,305),5,4,90,255,50);
CreateShot01(rand(310,335),20,4,90,255,50);
CreateShot01(rand(340,365),5,4,90,255,50);
CreateShot01(rand(370,395),20,4,90,255,50);
CreateShot01(rand(400,425),5,4,90,255,50);
wait(20);

} else {

PlaySE(CSD~"sfx\thump.wav");
CreateShot01(rand(5,35),20,4,90,255,50);
CreateShot01(rand(40,65),5,4,90,255,50);
CreateShot01(rand(70,95),20,4,90,255,50);
CreateShot01(rand(100,125),5,4,90,255,50);
CreateShot01(rand(130,155),20,4,90,255,50);
CreateShot01(rand(160,185),5,4,90,255,50);
CreateShot01(rand(190,215),20,4,90,255,50);
CreateShot01(rand(220,245),5,4,90,255,50);
CreateShot01(rand(250,275),20,4,90,255,50);
CreateShot01(rand(280,305),5,4,90,255,50);
CreateShot01(rand(310,335),20,4,90,255,50);
CreateShot01(rand(340,365),5,4,90,255,50);
CreateShot01(rand(370,395),20,4,90,255,50);
CreateShot01(rand(400,425),5,4,90,255,50);
wait(15);
}


}
wait = 60;
attack = 0;
yield;
}





// wait function
function wait(w){
loop(w){yield;}
}
}


Edit: Credit goes to ZUN for the artwork and music, while Radiant Silvergun served as the grand inspiration.
« Last Edit: December 15, 2009, 07:40:58 PM by MasterSpark »

Fujiwara no Mokou

  • Hourai Incarnate
  • Oh, so this trial of guts is for ME?
    • Profile
Re: Show off your best Danmakufu patterns!
« Reply #48 on: December 17, 2009, 04:32:40 PM »
Should I show off my best spellcard, hmmmmm....

Should I?
Maybe I'll wait until I finish the entire stage with the background and all.  When I make cards, I really want to "Wow" the player.

Look forward to it. You'll see me again soon.

Re: Show off your best Danmakufu patterns!
« Reply #49 on: December 25, 2009, 11:27:21 PM »
Not my best, but here, have some shit:

Naut's Arbitrary Scripts

Includes Cold Pizza, Hong Meiling's Warmup and Yuka Kazami's Extra Battle v2.

Edit: Changed the link because mediafire is being ass lately.
« Last Edit: December 26, 2009, 12:48:35 AM by Naut »

Re: Show off your best Danmakufu patterns!
« Reply #50 on: December 27, 2009, 12:53:10 AM »
Not my best, but here, have some shit:

Naut's Arbitrary Scripts

Includes Cold Pizza, Hong Meiling's Warmup and Yuka Kazami's Extra Battle v2.

Edit: Changed the link because mediafire is being ass lately.
Finally :V

DgBarca

  • Umineko fuck yeah
  • Spoilers ?
Re: Show off your best Danmakufu patterns!
« Reply #51 on: January 03, 2010, 03:47:42 PM »
EDIT => Update : Download Sanae-like danamku here : (after you do whatever you want with the bullet, inculding rape good patterns)
« Last Edit: January 03, 2010, 08:29:48 PM by DgBarca »
[21:16] <redacted> dgbarca makes great work
[21:16] <redacted> i hope he'll make a full game once

Re: Show off your best Danmakufu patterns!
« Reply #52 on: January 05, 2010, 02:55:19 AM »
EDIT => Update : Download Sanae-like danamku here : (after you do whatever you want with the bullet, inculding rape good patterns)
Needs more sin/cos action :V

Nimono

  • wat
Re: Show off your best Danmakufu patterns!
« Reply #53 on: January 05, 2010, 05:50:16 AM »

Will most likely never be as good as my awesome Miracle Matter script, but eh. Boss is Alice because I don't have any other graphics to use, the jewels were drawn by me.

THE REAL THREATS ARE THE KNIVES, EXPLOSIONS OF GREEN05, AND CURVY, HOMING LASERS. (thank you, OBJ_SINUATE_LASER. :D) (Knives because everything will lure you into them, the explosions because they keep catching you off guard, or at least me, and the lasers because HOMING IS SO DANG ANNOYING, RIGHT?)


and they get their colors through SetColor. Isn't SetColor just wonderful? :D You make one set of graphics using gray shades, and you can then create every color in the rainbow using that and SetColor :D

(Also, I'm not really liking this spellcard much because of what little ideas I had for it, but I like it somewhat. =< )

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Show off your best Danmakufu patterns!
« Reply #54 on: January 05, 2010, 05:54:44 AM »
I already made a Riolu boss, but I'm not happy with it. Sooooo I'm making everything over again! ^^ Will edit this post after finishing.

EDIT: But for now... A half-finished version!

Re: Show off your best Danmakufu patterns!
« Reply #55 on: January 05, 2010, 06:10:39 AM »
There is a glitch where I couldn't shoot after her timefreeze card.

Also those spellcards are way too hard :/

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Show off your best Danmakufu patterns!
« Reply #56 on: January 05, 2010, 03:38:20 PM »
There is a glitch where I couldn't shoot after her timefreeze card.

Also those spellcards are way too hard :/
Which timefreeze card? The red one or the blue one?
Oh, wait. Both.
Him.
I'll be making a very quick fix for that.

Be patient, Suikama!

EDIT: I fixed his timefreeze card. Nothing added yet.
« Last Edit: January 05, 2010, 04:02:12 PM by ル⑨リオ »

Nimono

  • wat
Re: Show off your best Danmakufu patterns!
« Reply #57 on: January 05, 2010, 06:18:01 PM »
Two things:

1: Lucario and Riolu? Interesting. They look odd, but I guess that's what happens if you try to turn them into Touhou-ish characters, huh? :P *likes Lucario and Riolu*
2: Uhhh... Your attacks all come with slowdown. Lots of slowdown. Like, range-of-30-FPS slowdown. And this is on a VERY recent laptop with good speed on it. Lighten up on the bullets and effects that could create slowdown... o_o ...please?

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Show off your best Danmakufu patterns!
« Reply #58 on: January 06, 2010, 05:29:07 PM »
They look odd
:V I guess they really do.

FPS slowdown
It seems the FPS just drops to 57 on this 1-year-old comp of mine...
Hmmm.

+: Why is everyone commenting on Ansatsusya and not Reika? :O

Nimono

  • wat
Re: Show off your best Danmakufu patterns!
« Reply #59 on: January 06, 2010, 09:17:44 PM »
+: Why is everyone commenting on Ansatsusya and not Reika? :O
Because the former is in the filename, not the latter, so it's assume that you only want comments on the former. :P

What I said for point 2 last time stands for Reika, though. A lot of slowdown there, and I've got a good laptop...