| ~Hakurei Shrine~ > Rika and Nitori's Garage Experiments |
| SA Phantasm Investigation Thread |
| (1/11) > >> |
| Drake:
THREAD http://www.mediafire.com/download.php?qgy2inmnmbc INVESTIGATE I AM EXCITED AND HAVE BEEN RUMMAGING FOR THE PAST FEW HOURS Note: Dialogue is all images. The boxes, the portraits, fonts, everything. This is a VERY GOOD IDEA. Note: SOUND EFFECTS NEED TO BE QUIETER Note: Max Point Value Multiplier is right there to use. A few changes will prove easy to use. Note: Apparently using ZUN sound effects is fine. Note: SetDefaultStatusVisible(false); removes the data from the sidebar. Note: Drawing stuff on the side of the screen: --- Code: ---task PlayerOther{ LoadGraphic(sys); //the system image yield; loop{ nGraze = truncate(GetGraze); //gets graze and score etc nScore = truncate(GetScore); let i_nScore = ToString(nScore); //converts to strings let i_nGraze = ToString(nGraze); let i_nPower = ToString(nPower); ascent(let i in (length(i_nScore)-7)..(length(i_nScore))){ //a makeshift CharAt function i_nScore = erase(i_nScore,(length(i_nScore)-1)); } ascent(let i in (length(i_nGraze)-7)..(length(i_nGraze))){ i_nGraze = erase(i_nGraze,(length(i_nGraze)-1)); } while(length(i_nScore) < 10){ //cantonates zeros when the score doesn't have 10 digits i_nScore = "0" ~ i_nScore; } let oScore = []; //OBJECT ARRAYS WOO let oGraze = []; //GHOST BLOWJOB let oPower = []; ascent(let p in 0..length(i_nScore)){ //drawing, should be obvious oScore = oScore ~ [p]; oScore[p] = Obj_Create(OBJ_EFFECT); ObjEffect_SetPrimitiveType(oScore[p], PRIMITIVE_TRIANGLESTRIP); ObjEffect_CreateVertex(oScore[p], 4); ObjEffect_SetTexture(oScore[p],sys); ObjEffect_SetLayer(oScore[p],8); //this spontaneously works for some reason ObjEffect_SetVertexXY(oScore[p], 0, -8, -8); ObjEffect_SetVertexXY(oScore[p], 1, -8, 8); ObjEffect_SetVertexXY(oScore[p], 2, 8, -8); ObjEffect_SetVertexXY(oScore[p], 3, 8, 8); let cs = nString1(i_nScore[p]); ObjEffect_SetVertexUV(oScore[p], 0, cs, 22); ObjEffect_SetVertexUV(oScore[p], 1, cs, 37); ObjEffect_SetVertexUV(oScore[p], 2, cs + 15,22); ObjEffect_SetVertexUV(oScore[p], 3, cs + 15,37); Obj_SetPosition(oScore[p],525 + p * 12,82); //position of score = 525 + spaces } ascent(let p in 0..length(i_nGraze)){ //drawing again oGraze = oGraze ~ [p]; oGraze[p] = Obj_Create(OBJ_EFFECT); ObjEffect_SetPrimitiveType(oGraze[p], PRIMITIVE_TRIANGLESTRIP); ObjEffect_CreateVertex(oGraze[p], 4); ObjEffect_SetTexture(oGraze[p],sys); ObjEffect_SetLayer(oGraze[p],8); //SPONTANEOUSLY ObjEffect_SetVertexXY(oGraze[p], 0, -8, -8); ObjEffect_SetVertexXY(oGraze[p], 1, -8, 8); ObjEffect_SetVertexXY(oGraze[p], 2, 8, -8); ObjEffect_SetVertexXY(oGraze[p], 3, 8, 8); let cs = nString1(i_nGraze[p]); ObjEffect_SetVertexUV(oGraze[p], 0, cs, 22); ObjEffect_SetVertexUV(oGraze[p], 1, cs, 37); ObjEffect_SetVertexUV(oGraze[p], 2, cs + 15,22); ObjEffect_SetVertexUV(oGraze[p], 3, cs + 15,37); Obj_SetPosition(oGraze[p],525 + p * 12,162); //position of graze } yield; //lol ascent(let p in 0..length(i_nScore)){ //deletes used data to make room for more Obj_Delete(oScore[p]); } ascent(let p in 0..length(i_nGraze)){ //even still drawing new numbers every frame is memory sucking Obj_Delete(oGraze[p]); } } } --- End code --- Note: The graphics for system text (well, numbers) is actually a bit squashed/too large for Danmakufu. Note: The portraits needs anti-aliasing lol Note: The effect spawning the spell circle is nearly perfect. It stars out with an extra ring and develops. The extra circle was a terrible resolution though. Note: Their hitbox drawing code is inefficient, we'll probably be using the one I wrote. Note: The graphic rectangles for the heart bullets are off. Note: Marisa's hitbox is too small. Note: They didn't replace the star points with the yellow orbs. Note: The spawning items do not do the neat spinning effect. Note: I think I like their alpha setting+whatever for the cutin script better than Hele's :( Note: Bubble bullets do not spin. Note: Yes I do agree the difficulty is loleasy with the hitbox. --- Code: --- let OptionInv = GetCommonDataDefault("OI", 18); if(GetEnemyShotCountEx(GetPlayerX, GetPlayerY, [18, OptionInv][18 < OptionInv], ALL) > 1){ //◆当たり判定消滅判定 現在18 //無敵補助 SetIntersectionCircle(-3000, -3000, 3.5);//hahahahahahahaha }else{ SetIntersectionCircle(GetPlayerX, GetPlayerY, 0);//当たり判定登録 } --- End code --- hahahahaha oh wow Note: Maple leaf effect is slightly worse than Mokou's script, which we should use. Also, for some reason instead of using the effect when she's dying, it all happens after her graphic is deleted. After she disappears it just goes poofpoofpoofpoofpoofPOOF. Note: Jesus christ no wonder it's so slow. Look at all the damn variable initializations. letletletletletletlet at the beginning of every task. You guys don't need to save the variables after finishing the function holy cow. Note: I find it pretty ironic that I previously said "you shouldn't forbid the player from focusing" but the last survival card not only does that, but forbids you from moving left and right. Note: The image-based dialog stuff is a very very good idea. Although in this script I noticed the portraits don't move (as in when they're talking) to the foreground in a flowing motion, it just pops up there. For now, this is pretty much all I can determine from the visuals alone. I'll take a break and maybe do some more code gathering/cleanup later. |
| FinnKaenbyou:
dling now, but I don't have SA on this PC. Is that going to screw me over? >_> |
| Drake:
IT'S A DANMAKUFU SCRIPT THE MAIN REASON I'M EXCITED IS NOT BECAUSE OF DATA IT'S BECAUSE WE CAN WRENCH THROUGH THE CODE TO HELP WITH IJIYATSU LIKE SO HARD |
| FinnKaenbyou:
Oh, is this that one that showed up in the Touhou Festival on Nico? --- Quote ---THE MAIN REASON I'M EXCITED IS NOT BECAUSE OF DATA IT'S BECAUSE WE CAN WRENCH THROUGH THE CODE TO HELP WITH IJIYATSU LIKE SO HARD --- End quote --- Oh my jesus YES. |
| Suikama:
So much for "no posting ZUN stuff" :V (I'm refering to whoever uploaded this script) |
| Navigation |
| Message Index |
| Next page |