A new contest right before exams! :toot:
ALRIGHT LETS DO THISLEEERRRROOOYYYYY JEEENNNKKK*pichun*
We only get one text file... does that mean we're limited to a singleNot at all. What you do with your one boss file is up to you; you can have just one pattern, or you can make several, you can make object enemies, or even a small game. How you accomplish that is up to you. You can use the IRC channel (http://webchat.ppirc.net/?channels=danmakufu) to ask specific questions.cardpattern?
task DrawInteger(x, y, Number, scale, layer){
let number = ToString(Number);
loop(7){
number = erase(number, length(number)-1);
}
function GetNumberXRect(num){
return ((num-48)*5);
}
let rect = [];
let objArr = [];
ascent(i in 0..length(number)){
rect = rect ~ [GetNumberXRect(number[i])];
objArr = objArr ~ [Obj_Create(OBJ_EFFECT)];
}
ascent(i in 0..length(number)){
ObjEffect_SetTexture(objArr[i],retro);
ObjEffect_SetPrimitiveType(objArr[i], PRIMITIVE_TRIANGLEFAN);
ObjEffect_SetLayer(objArr[i], layer);
ObjEffect_SetScale(objArr[i], scale, scale);
ObjEffect_CreateVertex(objArr[i], 4);
ObjEffect_SetVertexUV(objArr[i], 0, 0 + rect[i], 56);
ObjEffect_SetVertexUV(objArr[i], 1, 3 + rect[i], 56);
ObjEffect_SetVertexUV(objArr[i], 2, 3 + rect[i], 61);
ObjEffect_SetVertexUV(objArr[i], 3, 0 + rect[i], 61);
ObjEffect_SetVertexXY(objArr[i], 0, -1, -2);
ObjEffect_SetVertexXY(objArr[i], 1, 2, -2);
ObjEffect_SetVertexXY(objArr[i], 2, 2, 3);
ObjEffect_SetVertexXY(objArr[i], 3, -1, 3);
Obj_SetPosition(objArr[i], x + i*5*scale, y);
}
yield;
yield;
ascent(i in 0..length(number)){
Obj_Delete(objArr[i]);
}
} task DrawString(x, y, String, scale, layer){
let string = ToString(String);
function GetCharXRect(car){
if(car== ' '){
return 130;
}else if((car-0)<97){
return ((car-65)*5);
}else{
return ((car-97)*5);
}
}
let rect = [];
let objArr = [];
ascent(i in 0..length(string)){
rect = rect ~ [GetCharXRect(string[i])];
objArr = objArr ~ [Obj_Create(OBJ_EFFECT)];
}
ascent(i in 0..length(string)){
ObjEffect_SetTexture(objArr[i],retro);
ObjEffect_SetPrimitiveType(objArr[i], PRIMITIVE_TRIANGLEFAN);
ObjEffect_SetLayer(objArr[i], layer);
ObjEffect_SetScale(objArr[i], scale, scale);
ObjEffect_CreateVertex(objArr[i], 4);
ObjEffect_SetVertexUV(objArr[i], 0, 0 + rect[i], 63);
ObjEffect_SetVertexUV(objArr[i], 1, 3 + rect[i], 63);
ObjEffect_SetVertexUV(objArr[i], 2, 3 + rect[i], 68);
ObjEffect_SetVertexUV(objArr[i], 3, 0 + rect[i], 68);
ObjEffect_SetVertexXY(objArr[i], 0, -1, -2);
ObjEffect_SetVertexXY(objArr[i], 1, 2, -2);
ObjEffect_SetVertexXY(objArr[i], 2, 2, 3);
ObjEffect_SetVertexXY(objArr[i], 3, -1, 3);
Obj_SetPosition(objArr[i], x + i*5*scale, y);
}
yield;
yield;
ascent(i in 0..length(string)){
Obj_Delete(objArr[i]);
}
} @MainLoop{
DrawString(470, 60, "Score", 1, 8);
DrawInteger(502, 60, GetScore, 1, 8);
yield;
}Next contest will be: "Make full game". So this is just a warming up :V
The object of this contest is to create a retroesque, yet danmaku, game in Danmakufu, entirely in one boss script.
Wait, if we include music and sound effects, do we put them in a folder or something?Instead of giving just the one text file, submit a folder with your sound effects and music. However these should be pretty minimalist; I don't count on many extra files being needed. So a theoretical file structure would be basically
What if it clashes with other people's?
#UserShotData
ShotImage = "script\retro.png"
ShotData{ //square 4x4
id=1
rect=(0, 0, 4, 4)
}
ShotData{ //rectangle 4x8
id=2
rect=(8, 0, 12, 8)
}
ShotData{ //square 16x16
id=3
rect=(16, 0, 24, 8)
}
ShotData{ //cross, transparent center, 12x12
id=4
rect=(28, 0, 40, 12)
}
ShotData{ //square, transparent center, 12x12
id=5
rect=(44, 0, 56, 12)
}
ShotData{ //diagonal, 2 4x4 squares
id=6
rect=(60, 0, 68, 8)
}
ShotData{ //cross, solid center, 12x12
id=7
rect=(72, 0, 84, 12)
}
ShotData{ //T block, small pyramid, 12x8
id=8
rect=(88, 0, 100, 8)
}
ShotData{ //large pyramid, 20x12
id=9
rect=(104, 0, 124, 12)
}
ShotData{ //small spaceship thing on the top right 12x12
id=10
rect=(128, 0, 140, 12)
}
ShotData{ //squid 16x16
id=11
rect=(0, 16, 16, 32)
}
ShotData{ //ghost 16x16
id=12
rect=(20, 16, 36, 32)
}
ShotData{ //ufo 32x14
id=13
rect=(40, 18, 72, 32)
}
ShotData{ //small fairy 16x16
id=14
rect=(76, 16, 92, 32)
}
ShotData{ //big fairy 30x18
id=15
rect=(96, 16, 124, 34)
}
ShotData{ //alien 22x16
id=16
rect=(128, 16, 150, 32)
}
ShotData{ //squiggly thing 6x14
id=17
rect=(0, 36, 6, 50)
}
ShotData{ //arrowhead solid base 10x10
id=18
rect=(8, 36, 18, 46)
}
ShotData{ //arrowhead 10x10
id=19
rect=(20, 36, 30, 46)
}
ShotData{ //pointy arrow 10x10
id=20
rect=(32, 36, 42, 46)
}
ShotData{ //circle with cross 10x10
id=21
rect=(44, 36, 54, 46)
}
ShotData{ //skinny arrowhead
id=22
rect=(56, 36, 62, 46)
}
ShotData{ //arrowhead transparent center 10x10
id=23
rect=(64, 36, 74, 46)
}
ShotData{ //what the hell is this thing 10x10
id=24
rect=(76, 36, 86, 46)
}
ShotData{ //stubby arrowhead
id=25
rect=(88, 36, 98, 44)
}
ShotData{ //coin? rice? oval? you decide. 6x8
id=26
rect=(100, 36, 106, 44)
}
ShotData{ //curvy arrowhead, mm yeah i likes me dem curves baybeh ooo yeuh 10x10
id=27
rect=(108, 36, 118, 46)
}
ShotData{ //big rectangle 10x12
id=28
rect=(120, 36, 130, 48)
}
ShotData{ //big circle 10x10
id=29
rect=(132, 36, 142, 46)
}
ShotData{ //small circle 8x8
id=30
rect=(144, 36, 152, 44)
}
ShotData{ //you... you... double circle! 16x16
id=31
rect=(156, 36, 172, 52)
}
ShotData{ //4x4 transparent shot
id=32
rect=(240, 0, 244, 4)
}
This just occured to me... are you forcing everyone who wants to use "emptyplayer.txt" to learn how to detect every single bullet in use and create their own hitbox collision detection method? :wat:
Translation of Drake's response:
Yes
RETRO! The theme of this contest is to keep it retro, so the less graphical blurs and general cleanliness, the better. Points are awarded for making it look authentic.
あたしって、ほんとばかyou didn't update your shotsheet, which is why you get invisibullets and still randomly die
you didn't update your shotsheet, which is why you get invisibullets and still randomly diewaitwhat last time I checked
function DrawEnemy(layer, scale, graphic)
{
let obj = Obj_Create(OBJ_EFFECT);
ObjEffect_SetTexture(obj, retro);
ObjEffect_SetPrimitiveType(obj, PRIMITIVE_TRIANGLEFAN);
ObjEffect_SetLayer(obj, layer);
ObjEffect_SetScale(obj, scale, scale);
ObjEffect_CreateVertex(obj, 4);
if(graphic == 11) //squid
{
ObjEffect_SetVertexUV(obj, 0, 0, 16);
ObjEffect_SetVertexUV(obj, 1, 16, 16);
ObjEffect_SetVertexUV(obj, 2, 16, 32);
ObjEffect_SetVertexUV(obj, 3, 0, 32);
ObjEffect_SetVertexXY(obj, 0, -8, -8);
ObjEffect_SetVertexXY(obj, 1, 8, -8);
ObjEffect_SetVertexXY(obj, 2, 8, 8);
ObjEffect_SetVertexXY(obj, 3, -8, 8);
}
if(graphic == 12) //ghost
{
ObjEffect_SetVertexUV(obj, 0, 20, 16);
ObjEffect_SetVertexUV(obj, 1, 36, 16);
ObjEffect_SetVertexUV(obj, 2, 36, 32);
ObjEffect_SetVertexUV(obj, 3, 20, 32);
ObjEffect_SetVertexXY(obj, 0, -8, -8);
ObjEffect_SetVertexXY(obj, 1, 8, -8);
ObjEffect_SetVertexXY(obj, 2, 8, 8);
ObjEffect_SetVertexXY(obj, 3, -8, 8);
}
if(graphic == 13) //ufo
{
ObjEffect_SetVertexUV(obj, 0, 40, 18);
ObjEffect_SetVertexUV(obj, 1, 72, 18);
ObjEffect_SetVertexUV(obj, 2, 72, 32);
ObjEffect_SetVertexUV(obj, 3, 40, 32);
ObjEffect_SetVertexXY(obj, 0, -16, -7);
ObjEffect_SetVertexXY(obj, 1, 16, -7);
ObjEffect_SetVertexXY(obj, 2, 16, 7);
ObjEffect_SetVertexXY(obj, 3, -16, 7);
}
if(graphic == 14) //smallfairy
{
ObjEffect_SetVertexUV(obj, 0, 76, 16);
ObjEffect_SetVertexUV(obj, 1, 92, 16);
ObjEffect_SetVertexUV(obj, 2, 92, 32);
ObjEffect_SetVertexUV(obj, 3, 76, 32);
ObjEffect_SetVertexXY(obj, 0, -8, -8);
ObjEffect_SetVertexXY(obj, 1, 8, -8);
ObjEffect_SetVertexXY(obj, 2, 8, 8);
ObjEffect_SetVertexXY(obj, 3, -8, 8);
}
if(graphic == 15) //bigfairy
{
ObjEffect_SetVertexUV(obj, 0, 96, 16);
ObjEffect_SetVertexUV(obj, 1, 124, 16);
ObjEffect_SetVertexUV(obj, 2, 124, 34);
ObjEffect_SetVertexUV(obj, 3, 96, 34);
ObjEffect_SetVertexXY(obj, 0, -14, -9);
ObjEffect_SetVertexXY(obj, 1, 14, -9);
ObjEffect_SetVertexXY(obj, 2, 14, 9);
ObjEffect_SetVertexXY(obj, 3, -14, 9);
}
if(graphic == 16) //alien
{
ObjEffect_SetVertexUV(obj, 0, 128, 16);
ObjEffect_SetVertexUV(obj, 1, 150, 16);
ObjEffect_SetVertexUV(obj, 2, 150, 32);
ObjEffect_SetVertexUV(obj, 3, 128, 32);
ObjEffect_SetVertexXY(obj, 0, -11, -8);
ObjEffect_SetVertexXY(obj, 1, 11, -8);
ObjEffect_SetVertexXY(obj, 2, 11, 8);
ObjEffect_SetVertexXY(obj, 3, -11, 8);
}
return obj;
}
let obj = DrawEnemy(2, 1, 11);
Obj_SetPosition(obj, REG(200), REG(-20));
Obj_SetSpeed(obj, 2);
Obj_SetAngle(obj, 90);
sub CreateLargeCharacters{
//"Building"
CreateRenderTarget("retroLarge", 512, 512);
SetRenderTarget("retroLarge");
//mapping pixels in the shape of numbers, [character][row][column], 1 = solid, 0 = transparent
let numberPixels = [
["111","101","101","101","111"], //0
["010","010","010","010","010"], //1
["111","001","111","100","111"], //2
["111","001","011","001","111"], //3
["101","101","111","001","001"], //4
["111","100","111","001","111"], //5
["111","100","111","101","111"], //6
["111","101","001","001","001"], //7
["111","101","111","101","111"], //8
["111","101","111","001","111"], //9
];
SetTexture(retro);
SetGraphicRect(0, 0, 4, 4);
//paints numbers on the image, exactly like they are in retro but 4x their size
ascent(i in 0..10){
ascent(j in 0..5){
ascent(k in 0..3){
if(numberPixels[i][j][k]=='1'){
DrawGraphic(2 + i*16 + k*4, 2 + j*4);
}
}
}
}
//mapping pixels in the shape of characters, [character][row][column], 1 = solid, 0 = transparent
let characterPixels = [
["010","101","111","101","101"], //A
["110","101","110","101","110"], //B
["011","100","100","100","011"], //C
["110","101","101","101","110"], //D
["111","100","110","100","111"], //E
["111","100","110","100","100"], //F
["011","100","101","101","011"], //G
["101","101","111","101","101"], //H
["111","010","010","010","111"], //I
["001","001","001","101","010"], //J
["101","101","110","101","101"], //K
["100","100","100","100","111"], //L
["101","111","111","101","101"], //M
["101","101","111","111","101"], //N
["010","101","101","101","010"], //O
["110","101","110","100","100"], //P
["010","101","101","101","011"], //Q
["110","101","110","101","101"], //R
["011","100","010","001","110"], //S
["111","010","010","010","010"], //T
["101","101","101","101","011"], //U
["101","101","101","101","010"], //V
["101","101","111","111","111"], //W
["101","101","010","101","101"], //X
["101","101","010","010","010"], //Y
["111","001","010","100","111"], //Z
];
ascent(i in 0..26){
ascent(j in 0..5){
ascent(k in 0..3){
if(characterPixels[i][j][k]=='1'){
DrawGraphic(2 + i*16 + k*4, 26 + j*4);
}
}
}
}
SetRenderTarget("DEFAULT");
}
task DrawBigInteger(x, y, Number, scale, layer){
let number = ToString(Number);
loop(7){
number = erase(number, length(number)-1);
}
function GetNumberXRect(num){
return ((num-48)*16);
}
let rect = [];
let objArr = [];
ascent(i in 0..length(number)){
rect = rect ~ [GetNumberXRect(number[i])];
objArr = objArr ~ [Obj_Create(OBJ_EFFECT)];
}
ascent(i in 0..length(number)){
ObjEffect_SetTexture(objArr[i], "retroLarge");
ObjEffect_SetPrimitiveType(objArr[i], PRIMITIVE_TRIANGLEFAN);
ObjEffect_SetLayer(objArr[i], layer);
ObjEffect_SetScale(objArr[i], scale, scale);
ObjEffect_CreateVertex(objArr[i], 4);
ObjEffect_SetVertexUV(objArr[i], 0, 0 + rect[i], 0);
ObjEffect_SetVertexUV(objArr[i], 1, 16 + rect[i], 0);
ObjEffect_SetVertexUV(objArr[i], 2, 16 + rect[i], 24);
ObjEffect_SetVertexUV(objArr[i], 3, 0 + rect[i], 24);
ObjEffect_SetVertexXY(objArr[i], 0, -8, -12);
ObjEffect_SetVertexXY(objArr[i], 1, 8, -12);
ObjEffect_SetVertexXY(objArr[i], 2, 8, 12);
ObjEffect_SetVertexXY(objArr[i], 3, -8, 12);
Obj_SetPosition(objArr[i], x + i*14*scale, y);
}
yield;
yield;
ascent(i in 0..length(number)){
Obj_Delete(objArr[i]);
}
}
task DrawBigString(x, y, string, scale, layer){
function GetCharXRect(car){
if(car== ' '){
return 460;
}else if((car-0)<97){
return ((car-65)*16);
}else{
return ((car-97)*16);
}
}
let rect = [];
let objArr = [];
ascent(i in 0..length(string)){
rect = rect ~ [GetCharXRect(string[i])];
objArr = objArr ~ [Obj_Create(OBJ_EFFECT)];
}
ascent(i in 0..length(string)){
ObjEffect_SetTexture(objArr[i], "retroLarge");
ObjEffect_SetPrimitiveType(objArr[i], PRIMITIVE_TRIANGLEFAN);
ObjEffect_SetLayer(objArr[i], layer);
ObjEffect_SetScale(objArr[i], scale, scale);
ObjEffect_CreateVertex(objArr[i], 4);
ObjEffect_SetVertexUV(objArr[i], 0, 0 + rect[i], 24);
ObjEffect_SetVertexUV(objArr[i], 1, 16 + rect[i], 24);
ObjEffect_SetVertexUV(objArr[i], 2, 16 + rect[i], 48);
ObjEffect_SetVertexUV(objArr[i], 3, 0 + rect[i], 48);
ObjEffect_SetVertexXY(objArr[i], 0, -8, -12);
ObjEffect_SetVertexXY(objArr[i], 1, 8, -12);
ObjEffect_SetVertexXY(objArr[i], 2, 8, 12);
ObjEffect_SetVertexXY(objArr[i], 3, -8, 12);
Obj_SetPosition(objArr[i], x + i*14*scale, y);
}
yield;
yield;
ascent(i in 0..length(string)){
Obj_Delete(objArr[i]);
}
}How should saving high scores be handled, since every entry is run by the same main script (in theory)? The obvious way is saving to normal common data and just prefixing the name with the name of the script. That prevents conflicts with other scripts, unless the other script uses ClearCommonData (for resetting the game, for example), in which case the scores for my script are lost.
Common data areas could work, but there appears to be no way to check if the file exists or not, unless I'm overlooking something easy. In other words, I can get it to work as long as the file already exists, but I can't find a way to make it properly save the score but not error on startup if the file doesn't exist. The only documentation on common data areas seems to be the functions list, which doesn't really say much.
#UserShotData
ShotImage = "script\retro.png"
ShotData{ //square 4x4
id=1
rect=(0, 0, 4, 4)
}
ShotData{ //rectangle 4x8
id=2
rect=(8, 0, 12, 8)
}
ShotData{ //square 16x16
id=3
rect=(16, 0, 24, 8)
}
ShotData{ //cross, transparent center, 12x12
id=4
rect=(28, 0, 40, 12)
}
ShotData{ //square, transparent center, 12x12
id=5
rect=(44, 0, 56, 12)
}
ShotData{ //diagonal, 2 4x4 squares
id=6
rect=(60, 0, 68, 8)
}
ShotData{ //cross, solid center, 12x12
id=7
rect=(72, 0, 84, 12)
}
ShotData{ //T block, small pyramid, 12x8
id=8
rect=(88, 0, 100, 8)
}
ShotData{ //large pyramid, 20x12
id=9
rect=(104, 0, 124, 12)
}
ShotData{ //small spaceship thing on the top right 12x12
id=10
rect=(128, 0, 140, 12)
}
ShotData{ //squid 16x16
id=11
rect=(0, 16, 16, 32)
}
ShotData{ //ghost 16x16
id=12
rect=(20, 16, 36, 32)
}
ShotData{ //ufo 32x14
id=13
rect=(40, 18, 72, 32)
}
ShotData{ //small fairy 16x16
id=14
rect=(76, 16, 92, 32)
}
ShotData{ //big fairy 30x18
id=15
rect=(96, 16, 124, 34)
}
ShotData{ //alien 22x16
id=16
rect=(128, 16, 150, 32)
}
ShotData{ //squiggly thing 6x14
id=17
rect=(0, 36, 6, 50)
}
ShotData{ //arrowhead solid base 10x10
id=18
rect=(8, 36, 18, 46)
}
ShotData{ //arrowhead 10x10
id=19
rect=(20, 36, 30, 46)
}
ShotData{ //pointy arrow 10x10
id=20
rect=(32, 36, 42, 46)
}
ShotData{ //circle with cross 10x10
id=21
rect=(44, 36, 54, 46)
}
ShotData{ //skinny arrowhead
id=22
rect=(56, 36, 62, 46)
}
ShotData{ //arrowhead transparent center 10x10
id=23
rect=(64, 36, 74, 46)
}
ShotData{ //what the hell is this thing 10x10
id=24
rect=(76, 36, 86, 46)
}
ShotData{ //stubby arrowhead
id=25
rect=(88, 36, 98, 44)
}
ShotData{ //coin? rice? oval? you decide. 6x8
id=26
rect=(100, 36, 106, 44)
}
ShotData{ //curvy arrowhead, mm yeah i likes me dem curves baybeh ooo yeuh 10x10
id=27
rect=(108, 36, 118, 46)
}
ShotData{ //big rectangle 10x12
id=28
rect=(120, 36, 130, 48)
}
ShotData{ //big circle 10x10
id=29
rect=(132, 36, 142, 46)
}
ShotData{ //small circle 8x8
id=30
rect=(144, 36, 152, 44)
}
ShotData{ //you... you... double circle! 16x16
id=31
rect=(156, 36, 172, 52)
}
ShotData{ //4x4 transparent shot
id=32
rect=(240, 0, 244, 4)
}
Assballs (http://bulletforge.org/u/naut/p/assballs/v/3) (text file and sounds only, put in the same directory as controller.txt. )/me high fives for awesome kirby music
OR
Assballs (http://www.mediafire.com/?7neupkkeb6jf5lc) (full game including Danmakufu and necessary files - extract and play)
Insert coin to play.
Short game. Graze to increase your point value, which is awarded when you kill an enemy, multiplied by that enemy's worth (popcorns are worth 1-2x, big enemies can be worth 20x). If you haven't been grazing for a while your point value will start to drop, so try to graze as much and as consistantly as possible. Options can also graze bullets, so use them to your advantage when trying to graze a dangerous area. Be sure to also kill as many enemies as you can with a high point value to get a high score. Bombs significantly lower your point value, try not to use them. Dying has no other penalty other than you can't graze to maintain a high point value while dead. Bombing is almost always worse for your score than dying. Different high scores are saved on each difficulty, so don't feel you have to compete on the highest difficulty. Extends awarded every 5 million points.
If you're getting significant FPS drop, open up Naut - Assballs.txt and change Effects = 1; to Effects = 0; (it's at the very top). This should help with the lag a bit, and won't desync replays.
50 waves
By the way, it breaks when not using the Insert Coin player.
you're supposed to mail these to me but ok
you're supposed to mail these to me but okBut wouldn't those arrive like
once you get to the point where it requires some attention just to get one ship to dodge it becomes pretty much impossible with two, I think the tipping point is around wave 10 or so.
Kylesky - Sonic Distortion
I don't understand why you would take all that time to make some decent content, but not to work on the basic game mechanics. :ohdear:
The crippling issues with this game are that your sonic attack is woefully short-ranged, and that there is no invincibility period when hit, so getting hit by a bullet cluster kills you instantly. You are likely to kill yourself by overheating if you even try to be aggressive (especially in stage 1), so survival is the only way to play, negating what otherwise would've been a neat gimmick.
Setting that aside though, there is a pretty good variety of danmaku in this thing, and the length is pretty respectable. As far as I can tell, there are no problems with the game except the player!
Also, there is the whole thing about not making any attempt to stick to hard-edged pixels!
4/10. There was good content and potential, but it is ultimately wasted because the final product is almost unplayable.
Thaws - ZXC;-;
I can't multitask well enough to play this.
Abstain.
@Thaws:but it's better than not having it there... right? :V
ZXC.
First things first, I don't like the stage practice thing, I cannot remember that long block of letters, and I can't bother to copy it down on a paper that I won't be caring about after this contest.
I like the idea of combining, whatsthatgame and danmaku. However,Those typing training games?
"The letters, I can't see them! The bullets are actually covering up the letters...!!"Err at which parts of a stage was the first problem prominent?
And of course, it just gets to an unreasonable stage where the enemies actually move around too fast.
Thanks for making the videos for everyone :].
Sincerest apologies to Thaws, I didn't even think about using default players. I will before I hand in judgements though :(
So yeah what do we do now :toot:Like the girls in Gensoukyou do, drink tea.
Personally, I liked having restrictions in contests, like contest 2's only white pellets thing. Scripting for this contest was really fun too.yaaaaay the point of the contest was made <3
It seems to force everyone to be more creative and think outside the box. :V
Awesome contest idea, Drake. :)
To play your script,change the name of the primary script accordingly, then change the boss call line in the controller. You are going to want this controller to stay unchanged aside from that.
Oh, sorry. Go into controller.txt and change
CreateEnemyBossFromFile("script\Name - Entry.txt", 0, 0, 0, 0, 0);
to
CreateEnemyBossFromFile("script\Naut - Assballs.txt", 0, 0, 0, 0, 0); or CreateEnemyBossFromFile("script\Drake - Dodgeplz\Drake - Dodgeplz.txt", 0, 0, 0, 0, 0);
or some other pathname for whatever script you're trying to play.