Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Player]
- #ScriptVersion[3]
- #ID["Satori"]
- #Title["Satori Komeji"]
- #Text["Hated Mind of the Earth Palace"]
- #ReplayName["Satori Komeji"]
- // Decalel all globelel variables
- let current = GetCurrentScriptDirectory();
- let player = GetPlayerObjectID();
- let playerObj = ObjPrim_Create(OBJ_SPRITE_2D);
- let hitboxObj01 = ObjPrim_Create(OBJ_SPRITE_2D);
- let hitboxObj02 = ObjPrim_Create(OBJ_SPRITE_2D);
- let focused = false;
- let playerTex = current ~ "satori.png";
- let hitboxTex01 = current ~ "hitbox01.png";
- let hitboxTex02 = current ~ "hitbox02.png";
- @Initialize // Start
- {
- SetPlayerSpeed(5,2.5); // Set the player speeds GOTTA GO FESADTTTSSS
- ObjPlayer_AddIntersectionCircleA1(player,0,0,2,16); // Make Hitbox
- SetPlayerClip(0+48,0,384+16,448);
- SetPlayerDownStateFrame(60); // Death time
- SetPlayerRebirthFrame(10); // DeathBomb time
- SetPlayerAutoItemCollectLine(120); // Auto collect Border
- renderPlayer;
- }
- @MainLoop
- {
- if( GetKey(VK_SLOWMOVE) )
- {
- focused = true;
- }
- else
- {
- focused = false;
- }
- yield;
- }
- @Event //Something exiting is happening!?!
- {
- alternative(GetEventType)
- case(EV_REQUEST_SPELL) // It's a tra- Spell
- {
- if(GetPlayerSpell > 0)
- {
- SetScriptResult(true);
- }
- else
- {
- SetScriptResult(false);
- }
- }
- case(EV_PLAYER_SHOOTDOWN) // It's a tra- Pichunn
- {
- SetForbidPlayerShot(true);
- SetForbidPlayerShot(true);
- ObjRender_SetAlpha(playerObj,0); // Set Alpha
- }
- case(EV_PLAYER_REBIRTH) // It's a tra- SECOND COMING OF CHRISHTING OMGHDAFH...
- {
- SetForbidPlayerShot(false);
- SetForbidPlayerShot(false);
- ObjRender_SetAlpha(playerObj,255); // Set Alpha
- SetPlayerInvincibilityFrame(120);
- SetPlayerSpell(2);
- }
- }
- task renderPlayer // Render Player
- {
- initializePlayerGraphic; // Initialize Player
- var graphicFrame = 0;
- var frameRate = 7;
- var frameNumber = 8;
- var spriteWidth = 32;
- var frame = 0;
- while(!Obj_IsDeleted(playerObj))
- {
- ObjRender_SetPosition(playerObj,GetPlayerX(),GetPlayerY(),0); // Set Player Position
- frame++; // Increase Frame Number.
- if(frame >= frameRate) // Time for a sprite change
- {
- graphicFrame++;
- if(graphicFrame == frameNumber)
- {
- graphicFrame = 0;
- }
- ObjSprite2D_SetSourceRect(playerObj,spriteWidth * graphicFrame,0,spriteWidth * (graphicFrame + 1),54); // Set Rect
- frame = 0;
- }
- if(GetKey(VK_LEFT)) // Going Left
- {
- ObjRender_SetAngleY(playerObj,0);
- }
- else if(GetKey(VK_RIGHT)) // Going Right
- {
- ObjRender_SetAngleY(playerObj,180);
- }
- else
- {
- }
- yield;
- }
- }
- task renderHitbox
- {
- let alpha = 0;
- let spin = 0;
- ObjPrim_SetTexture(hitboxObj01,hitboxTex01); // Set Texture
- Obj_SetRenderPriority(hitboxObj01,50); // Set Render Layer
- ObjRender_SetBlendType(hitboxObj01,BLEND_ALPHA); // Set To Alpha
- ObjRender_SetAngleXYZ(hitboxObj01,0,0,0); // Set Rot
- ObjRender_SetScaleXYZ(hitboxObj01,1,1,0); // Set Scale
- ObjRender_SetAlpha(hitboxObj01,255 / 2); // Set Alpha
- ObjSprite2D_SetSourceRect(hitboxObj01,0,0,62,61); // Set Rect
- ObjSprite2D_SetDestCenter(hitboxObj01); // Set Center
- ObjRender_SetPosition(hitboxObj01,GetPlayerX(),GetPlayerY(),0); // Set Player Position
- ObjPrim_SetTexture(hitboxObj02,hitboxTex02); // Set Texture
- Obj_SetRenderPriority(hitboxObj02,50); // Set Render Layer
- ObjRender_SetBlendType(hitboxObj02,BLEND_ALPHA); // Set To Alpha
- ObjRender_SetAngleXYZ(hitboxObj02,0,0,0); // Set Rot
- ObjRender_SetScaleXYZ(hitboxObj02,1,1,0); // Set Scale
- ObjRender_SetAlpha(hitboxObj02,255 / 3); // Set Alpha
- ObjSprite2D_SetSourceRect(hitboxObj02,0,0,10,10); // Set Rect
- ObjSprite2D_SetDestCenter(hitboxObj02); // Set Center
- ObjRender_SetPosition(hitboxObj02,GetPlayerX(),GetPlayerY(),0); // Set Player Position
- while(!Obj_IsDeleted(hitboxObj01))
- {
- ObjRender_SetPosition(hitboxObj01,GetPlayerX(),GetPlayerY(),0); // Set Player Position
- ObjRender_SetAngleZ(hitboxObj01, spin);
- ObjRender_SetAlpha(hitboxObj01, alpha);
- ObjRender_SetPosition(hitboxObj02,GetPlayerX(),GetPlayerY(),0); // Set Player Position
- ObjRender_SetAngleZ(hitboxObj02, -spin * 4);
- ObjRender_SetAlpha(hitboxObj02, alpha);
- if(focused)
- {
- alpha = 255;
- }
- else
- {
- alpha = 0;
- }
- spin += 2;
- yield;
- }
- }
- task initializePlayerGraphic
- {
- ObjPrim_SetTexture(playerObj,playerTex); // Set Texture
- Obj_SetRenderPriority(playerObj,31); // Set Render Layer
- ObjRender_SetBlendType(playerObj,BLEND_ALPHA); // Set To Alpha
- ObjRender_SetAngleXYZ(playerObj,0,0,0); // Set Rot
- ObjRender_SetScaleXYZ(playerObj,1,1,0); // Set Scale
- ObjRender_SetAlpha(playerObj,255); // Set Alpha
- ObjSprite2D_SetSourceRect(playerObj,0,0,32,54); // Set Rect
- ObjSprite2D_SetDestCenter(playerObj); // Set Center
- ObjRender_SetPosition(playerObj,GetPlayerX(),GetPlayerY(),0); // Set Player Position
- renderHitbox;
- }
- function GetKey(key) // Gets Key Press
- {
- if(GetVirtualKeyState(key) == KEY_PUSH || GetVirtualKeyState(key) == KEY_HOLD)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement