No, I will not give you a break. In fact, if this is truly your first time scripting it's all the more reason for me
not to give you a break. You start at the
beginning of scriptmaking, not at creating a player. You did all this without checking for errors or actually regarding any syntax or how anything works or anything. If you're watching Helepolis' tutorials, you should have gone through
twelve tutorials and scripts already before this.
These are your errors.
Things you missed are in
BLUEThings you screwed up are in
RED
#TouhouDanmakufu[Player]
#Menu[Lady Yuyuko]
#Text[
Ready to shoot butterflies
]
#ReplayName[Lady Yuyuko]
#Image[.\yuyukoselect.png]
#ScriptVersion[2]
script_player_main{
let CSD = GetCurrentScriptDir
rectory;
let maritex = CSD
` "yuyukodoll.png";
let f = 0;
let f2 = 0;
let count = 01;
@Initialize{
SetSpeed(4,2)
; SetPlayerLifeImage(maritex, 0, 0, 23, 48);
LoadGraphic(maritex);
LoadPlayerShotData(CSD ~ "ShotData.txt");
{ @DrawLoop{
SetTexture(maritex)
; SetAlpha(255)
; S
et GraphicScale(1, 1)
; if(GetKeyState(VK_LEFT)==KEY_PUSH || GetKeyState(VK_LEFT)==KEY_HOLD) {
SetGraphicAng
el(0, 0, 0)
; if(f2<5) {
setGraphicRect(0, 0, 32, 48); }
if(f2>=5 && f2<10) {
setGraphicRect(32, 48, 64, 96); }
if(f2>=10 && f2<15) {
setGraphicRect(64, 48, 96, 96); }
if(f2>=15) {
setGraphicRect(96, 48, 128, 96); }
f2++;
}
else if(GetKeyState(VK_RIGHT)==KEY_PUSH || GetKeyState(VK_RIGHT)==KEY_HOLD) {
SetGraphicAng
el(0, 0, 0)
; if(f2<5) {
setGraphicRect(0, 0, 32, 48); }
if(f2>=5 && f2<10) {
setGraphicRect(32, 48, 64, 96); }
if(f2>=10 && f2<15) {
setGraphicRect(64, 48, 96, 96); }
if(f2>=15) {
setGraphicRect(96, 48, 128, 96); }
f2++;
}
else {
if(f<15) { setGraphicRect(0, 0, 32, 48); }
if(f>=15 && f<30) { setGraphicRect(32, 0, 64, 48); }
if(f>=30 && f<45) { setGraphicRect(64, 0, 96, 48); }
if(f>=45 && f<60) { setGraphicRect(96, 0, 128, 48); }
f2 = 0;
} { @Missed{
yield;
{ @SpellCard{
UseSpellCard("DeathSign", NULL);
{ @Fina
llize{
{ @MainLoop{
if((GetKeyState(VK_SHOT)==
Key_Push || GetKeyState(VK_SHOT) == KEY_HOLD) && count == -1){
count = 0;
}
//when focused
if(GetKeyState(VK_SLOWMOVE)==KEY_PUSH || GetKeyState(VK_SLOWMOVE) == KEY_HOLD){
if(count == 5)
{ mainShot(GetPlayerX, GetPlayerY-16, 20, 270, 1, 5);
mainShot(GetPlayerX, GetPlayerY-18, 20, 265, 1, 5);
mainShot(GetPlayerX, GetPlayerY-20, 20, 265, 1, 5);
mainShot(GetPlayerX, GetPlayerY-22, 20, 270, 1, 5);
count = -1
; }
}
//when normal
else {
if(count == 5)
{ mainShot(GetPlayerX, GetPlayerY-18, 20, 265, 1, 5);
mainShot(GetPlayerX, GetPlayerY-20, 20, 265, 1, 5);
count = -1
; }
}
if(count >=0) {
count++;
} SetIntersectionCircle(GetPlayerX, GetPlayerY, 0);
yield;
}
task mainshot(
MISSING ALL YOUR PARAMETERS WHAT IS THIS I DON'T EVEN) {
let obj = Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj, x, y);
Obj_SetSpeed(obj, speed)
; Obj_SetAng
el(obj, dir)
; O
Bj_SetAlpha(obj, 155)
; ObjShot_SetGraphic(obj,graphic);
ObjShot_SetDamage(obj, dmg);
ObjShot_SetPenetration(obj, 1);
} function wait(w) { loop(w) {yield
;} }
}
//spell card coding
script_spell DeathSign {
let CSD = GetCurrentScriptDirectory;
let textdata = CSD ~ ".\spellcardanm.png";
let special1 = CSD ~ ".\spellblade.png";
let special2 = CSD ~ ".\spelltag.png";
let special3 = CSD ~ ".\spellblast.png";
let cut = CSD ~ ".\yuyukospellcard.png";
@Initialize{
SetSpeed(2,2)
; Loa
d Graphic(special3)
; LoadGraphic(cut)
; CutIn(KO
AMA, "Death Sign: Reaper's Defense", c
ut 0,0, 512, 512)
; SetPlayerInvincibility(240);
SpellTask;
@MainLoop {
yield;
CollectItems;
}
@Finalize {
}
task SpellTask{
wait(60);
Scythe(GetPlayerX, GetP
LayerY)
; wait(180);
End;
}
task Scythe(x, y)
{ let obj =
obj_Create(OBJ_
CREATE);
let blade = 0;
let c = 0;
let scale = 0.5
; obj_SetPosition(obj, GetPlayerX, GetPlayerY);
obj_SetAngle(obj, 0)
; objEffect_SetTexture(obj, special2);
objEffect_SetLayer(obj,3)
; ObjEffect_SetPrimitiveType(obj, PRIMITIVE_TRIANGLESTRIP);
ObjEffect_CreateVertex(obj, 4);
ObjEffect_SetVertexXY(obj, 0, -32, -32);
ObjEffect_SetVertexUV(obj, 0, 0, 0);
ObjEffect_SetVertexXY(obj, 1, 32, -32);
ObjEffect_SetVertexUV(obj, 1, 64, 0);
ObjEffect_SetVertexXY(obj, 2, -32, 32);
ObjEffect_SetVertexUV(obj, 2, 0, 64);
ObjEffect_SetVertexXY(obj, 3, 32, 32);
ObjEffect_SetVertexUV(obj, 3, 64, 64);
while(!Obj_BeDeleted(obj)) {
ObjEffect_SetAngle(obj, 0, 0, blade)
; ObjEffect_SetScale(obj, scale, scale)
; Obj_SetPosition(obj, GetPlayerX, GetPlayerY)
; if(c > 120)
{ ObjSpell_SetIntersecrionCircle(obj,
obj_GetX(obj), Obj_GetY(obj), 512, 700, true);
} task CutIn{
task hexagontext(x,y,v,draai,sx,sy) {
let obj = Obj_Create(OBJ_EFFECT);
let alphret = 0;
let as = 0;
let c = 0;
let angle = draai;
let speed = v;
Obj_SetPosition(obj,x,y);
ObjEffect_SetRenderState(obj,ADD);
ObjEffect_SetTexture(obj,textdata);
ObjEffect_SetScale(obj, sx, sy);
ObjEffect_SetLayer(obj,2);
ObjEffect_SetPrimitiveType(obj, PRIMITIVE_TRIANGLESTRIP);
ObjEffect_CreateVertex(obj, 4);
ObjEffect_SetVertexXY(obj, 0, -48, -128);
ObjEffect_SetVertexUV(obj, 0, 0, 0);
ObjEffect_SetVertexXY(obj, 1, 48, -128);
ObjEffect_SetVertexUV(obj, 1, 128, 0);
ObjEffect_SetVertexXY(obj, 2, -48, -104);
ObjEffect_SetVertexUV(obj, 2, 0, 32);
ObjEffect_SetVertexXY(obj, 3, 48, -104);
ObjEffect_SetVertexUV(obj, 3, 128, 32);
while(! Obj_BeDeleted(obj)){
ObjEffect_SetAngle(obj,0,0,angle);
ObjEffect_SetVertexColor(obj,0,alphret,255,255,255);
ObjEffect_SetVertexColor(obj,1,alphret,255,255,255);
ObjEffect_SetVertexColor(obj,2,alphret,255,255,255);
ObjEffect_SetVertexColor(obj,3,alphret,255,255,255);
if(as==0){alphret+=20; if(alphret>185){as=1;} }
if(as==1){c++; if(c==90){as=2;} }
if(as==2){alphret-=10; if(alphret<0){ Obj_Delete(obj); } }
angle += speed;
yield; function wait(w) { loop(w) {yield
;} }
}
http://www.shrinemaiden.org/forum/index.php/topic,6181.0.htmlThis is the great information thread. It contains tutorials galore and lots of other useful stuff. PLEASE READ THEM.