PDA

View Full Version : Flamethrower?!



Joe123
11-02-2007, 05:57 PM
I suppose this is mostly directed at Gleeok, because he's the only person I could really imagine wanting to do this kind of thing but...

I was playing around with my custom boss, and I accidentaly created a flamethrower!
The script is meant to make a fireshooter enemy, but only under certain conditions, but what happens by accident is that it makes a fireshooter every frame under the correct conditions!

The flamethrower it creates really is awesome to watch. I think a video would only really do it justice, and I might post one up in a bit, except my custom boss does some rather stupid things at the moment and I don't really want to get ridiculed :P

However, try it for yourselves and see!
Mwhahahahaha!
This could be very interesting if used properly with a few Screen->ClearSprites(0); commands and 'Block Fireball' combos.

Gleeok
11-02-2007, 06:07 PM
FLAMETHROWER!!!!


Post it!

...ooh, and a vid too!




...Why the hell didn't I think of that?????????????????????????????????????


:Emoticon of a smiley kicking himself!:

Joe123
11-02-2007, 06:13 PM
Post the script? It's not very complicated, although the one where I came across it was far too specific to post here.
I'm afraid you'll have to try it yourself though, I'm not doing a video because I've fixed my script back to boring old spawing one fireshooter enemy now :P

Try this:


ffc script flamethrower{
void run(){
while(true){
npc ghost_enemy = Screen->CreateNPC(83);
ghost_enemy->X = this->X;
ghost_enemy->Y = this->Y;
Waitframe();
}
}
}
it might not work, but I'm sure you'll get the general idea from it. I'm not too hot on setting where enemies spawn at at the moment as you can see...

Russ
11-02-2007, 06:16 PM
Flamethrower! Did somebody say flamethrower! Need the evil flamethrower!:evil: Great job Joe. I'll check and see how the script looks.

Gleeok
11-02-2007, 06:39 PM
Post the script? It's not very complicated, although the one where I came across it was far too specific to post here.
I'm afraid you'll have to try it yourself though, I'm not doing a video because I've fixed my script back to boring old spawing one fireshooter enemy now :P

Try this:


ffc script flamethrower{
void run(){
while(true){
npc ghost_enemy = Screen->CreateNPC(83);
ghost_enemy->X = this->X;
ghost_enemy->Y = this->Y;
Waitframe();
}
}
}
it might not work, but I'm sure you'll get the general idea from it. I'm not too hot on setting where enemies spawn at at the moment as you can see...

OK, I'll make the script that centers the FLAMETHROWER on an enemy, then YOU make a vid!!!

...........Deal?

Joe123
11-02-2007, 07:13 PM
yeah sure :P
sounds amusing :D

just so long as...
You teach me how it works so I can use it properly >_<
And also tell me how to set it to work at an ffc rather than an enemy.

XdragonSB
11-02-2007, 07:16 PM
Wait, so this is a boss/enemy that spits out flame like a flamethrower?
I'm kind of confused since there's a quest where a monster spits out flames.

Joe123
11-02-2007, 07:19 PM
well, what it does is create a 'shooter (fireball)' type enemy at a given place every single frame. It's not really a certain enemy, it just spawns lots of fireshooters, which looks like a big flamethrower wave.
When Gleeok gets that script done I'll sort a little video out, should show it nicely.

Might look nice on an Aquamentous for the video Gleeok? Whacha think?

XdragonSB
11-02-2007, 07:20 PM
!!!
So you're saying...
Fires come out from nowhere in waves like a flamethrower?


That is pretty useful... for non-enemy things. (center statue or something)

Joe123
11-02-2007, 07:24 PM
yes, it does do that, however if you wanted to just stick it in a puzzle, it might not work too well because it's rather difficult to dodge, unless you set it up with some kind of 'block fireball' combos around.

Hmm, you might be able to recreate a Beamos quite nicely with this, espcially if you can make custom fireballs. Can you make custom fireballs nowadays?

XdragonSB
11-02-2007, 07:27 PM
Hmmmm

About Beamos...
Wouldn't it be a little difficult?

I mean, you have to be in sight of the beamos while he is looking at you, then shoots lasers that stay forever in your direction until you move out of his sight or something.

Joe123
11-02-2007, 07:32 PM
wellll...
What I was thinking was have a ring around the beamos of walkable, invisible 'block fireball' combos so that it only had a certain reach, and then have it check for a certain (x,y) coordinate on a timer, round in a circle round the perimeter of the beamos, and if Link was, say, within a tile of that (x,y) then it'd unleash a stream at him untill either it or him moved away. I think it should be very much possible, but I'm not sure how it'd mesh with having other enemies on the screen because the only way that I'd found to get rid of the flamethrower was to use the 'Screen->ClearSprites(0);' which deletes all enemies on the screen.

XdragonSB
11-02-2007, 07:34 PM
Ok, I see.
Well, I guess it could just be an indestructible Beamos. :P

...
It could really do some stuff if that beamos script was ever created.


(well all I want EVER is the portal script :( )

Joe123
11-02-2007, 07:37 PM
nono, it's not the fact that beamos was indestructable, I'd taken that for granted that it would be anyway :P
it's the fact that when you wanted to turn off the 'flamethrower' or beam or whatever, it'd also kill all enemies on the screen.

However, there's probably a much better way of making a beamos really.

XdragonSB
11-02-2007, 07:40 PM
Probably.
And if beamoses HAS to be indestructible (Not by killing others on the screen) Then it'll probably be good for a boss or an entrance to a dungeon or a puzzle room.


So, the only thing to find out is how to kill it with bombs.

Joe123
11-02-2007, 07:42 PM
well, that shouldn't be too hard.
If you set the script to check what combo the beamos was on, and have it only active if it was the combo that the beamos is, then if you bombed it and changed it with a secret combo, it'd 'kill' it.

XdragonSB
11-02-2007, 07:43 PM
:D
yay.

So uhh.....



Who's ganna work on this Beamos thing??

Joe123
11-02-2007, 07:53 PM
And this is where I'm going to step down and leave it to someone more competent :D

If I learn how to use this flamethrower better (which I am at the moment, Gleeoks PMed me a script) then I might be capable of doing it, but it's not really on the list of my priorities to be honest, I think finishing the custom boss that I stared A MONTH ago and still haven't finished would be a good idea really >_<

Gleeok
11-02-2007, 07:57 PM
The Mega_super_destructo_awesome_omega_flamethrower script is done. XD

..lemme know if there are any bugs. I'm not sure if shooters will react like normal enemies or not. I normally would test it myself but that might spoil the video. I got my popcorn all ready popped too. :D

Joe123
11-02-2007, 08:01 PM
oh dear, do I have to do it riiiight now?
And it'll take me at least an hour or two so you might want to eat that and get some more :P

I'll have to make a decent screen first, and test the script to destruction, make sure I have the right equipment to beat the monster, probably pester you when the script doesn't work etc etc...

Also film it, upload to youtube, wait for it to be checked.....

Gleeok
11-02-2007, 08:21 PM
Jeez...it's not a job interveiw....

Joe123
11-02-2007, 08:29 PM
I should hope not :P

Your script fails though :(

It just makes lots of the enemy that you set to be the flame master spawn at (0,0)


EDIT:WAIIIIIIT A SECOND!
I WAS USING IT WRONG!
YOU ARE OFFICIALLY AMAZING GLEEOK!

Gleeok
11-02-2007, 09:44 PM
Hehe ...something tells me it turned out alright. Is it too overpowered?

Russ
11-02-2007, 10:50 PM
Would you two please stop hiding whatever it is you're hiding and release the script? I swear it's torture siting here and seeing your conversations and not being able to see whats going on. Espicial this:


EDIT:WAIIIIIIT A SECOND!
I WAS USING IT WRONG!
YOU ARE OFFICIALLY AMAZING GLEEOK!

Please release the script, or at least a video.

Gleeok
11-02-2007, 11:17 PM
Well I would've just posted it but I'm waiting for the movie to start! No talking during the previews now. :tongue:

I haven't even seen it yet. It sure is suspenseful.

Oh, and btw I sent Joe123 another script just now. Expect it to be an action flick! ;)













..now what's the holdup....

Joe123
11-03-2007, 05:14 AM
I'm afraid the holdup was that it was 1:20 am, and I decided it was about time I went to sleep :P

I've made the video (sorry Gleeok, I did it before you sent me that new script, but I'll look into that if you want. If it was a way of making the enemy actually possible to defeat, I managed to make it a lot easier by giving Link Roc's Cape, and putting some 'Block Fireball' combos in the middle of the screen, although I still couldn't beat it) and it's just uploading to youtube. Sorry to keep you all in suspense :D

EDIT: And here we have it:
http://www.youtube.com/watch?v=t9EXxVEqvdk
Better get some more popcorm Gleeok :P

If you look at the bottom left you'll see that the fps is very low. This isn't because of the script, it doesn't actually lag the game, that's because of CamStudio

And I'm afraid I didn't manage to beat it in that video, although I have done since.

I had to add an extra if clause to your script Gleeok, just to kill the flamethrower after the enemy dies:
if(fire_master->HP == 0){Screen->ClearSprites(0);}

Oh, and I'm aware of how awful the screen looks, please don't pick me up on that &#172;_&#172;

Gleeok
11-03-2007, 02:08 PM
You died. But that's pretty neat.

Although it should be tweaked a little. i'll see about those other scripts today.



ffc script Flamethrower{

void run(int enemy_id, int enemyHP){

int enemy_number = 0;
npc enemy;

Waitframes(4);

npc fire_master = Screen->LoadNPC(1);
fire_master->HP = enemyHP;

while(true){

this->X = fire_master->X; this->Y = fire_master->Y;

npc firestorm = Screen->CreateNPC(enemy_id);

firestorm->X = this->X;
firestorm->Y = this->Y;


enemy_number = Screen->NumNPCs();

while(enemy_number > 1){

enemy = Screen->LoadNPC(enemy_number);
enemy->X = this->X; enemy->Y = this->Y;

enemy_number--;
}
Waitframe();
}
}
}

PS- Do you think the Malor is too powerful? It seems to completely break the zc engine...

Joe123
11-03-2007, 02:40 PM
And I'm afraid I didn't manage to beat it in that video, although I have done since.
;)

So what does this new script do differently?

And I don't know what 'Malor' is

Gleeok
11-03-2007, 03:05 PM
;)

So what does this new script do differently?

And I don't know what 'Malor' is

Ooh! I can put up some global intigers for what i've been working on.



int halito_level = 1; // fire
int halito_exp = 0;

int dilto_level = 1; // darkness
int dilto_exp = 0;

int dalto_level = 1; // ice
int dalto_exp = 0;



int makanito_level = 1; // deadly air
int makanito_exp = 0;

int mamogref_level = 1; // wall of force
int mamogref_exp = 0;

int malor_level = 1; //teleport
int malor_exp = 0;


And yeah, this one's currently a bit much but still really cool!




//================================================== ======
// ITEM SCRIPT MALOR
// translation: teleport
// D0 - the combo to be used as the projectile sprite
// D1 - the speed of the portal projectile sprite
//================================================== =======



item script Malor{

void run (int portalcombo, int speed){
int portal_combo = portalcombo;
ffc portal = Screen->LoadFFC(32);

if (!(portal->Data == portal_combo)){
Game->PlaySound(35);
if(Link->Dir == 0) {
portal->X = Link->X;
portal->Y = Link->Y - 16;
portal->Vy = -speed;
portal->Vx = 0;
portal->Data = portal_combo;
}
if(Link->Dir == 1) {
portal->X = Link->X;
portal->Y = Link->Y + 16;
portal->Vy = speed;
portal->Vx = 0;
portal->Data = portal_combo;
}
if(Link->Dir == 2) {
portal->X = Link->X - 16;
portal->Y = Link->Y;
portal->Vx = -speed;
portal->Vy = 0;
portal->Data = portal_combo;
}
if(Link->Dir == 3) {
portal->X = Link->X + 16;
portal->Y = Link->Y;
portal->Vx = speed;
portal->Vy = 0;
portal->Data = portal_combo;
}
}
else{

if (
(portal->X > 240) ||
(portal->X < 0) ||
(portal->Y > 160) ||
(portal->Y < 0)
){

Game->PlaySound(35);
if(Link->Dir == 0) {
portal->X = Link->X;
portal->Y = Link->Y - 16;
portal->Vy = -speed;
portal->Vx = 0;
portal->Data = portal_combo;
}
if(Link->Dir == 1) {
portal->X = Link->X;
portal->Y = Link->Y + 16;
portal->Vy = speed;
portal->Vx = 0;
portal->Data = portal_combo;
}
if(Link->Dir == 2) {
portal->X = Link->X - 16;
portal->Y = Link->Y;
portal->Vx = -speed;
portal->Vy = 0;
portal->Data = portal_combo;
}
if(Link->Dir == 3) {
portal->X = Link->X + 16;
portal->Y = Link->Y;
portal->Vx = speed;
portal->Vy = 0;
portal->Data = portal_combo;
}

}
else{
Link->X = portal->X; Link->Y = portal->Y;
portal->Data = 0;
Game->PlaySound(36);
}
}
}
}

I tried camstudio but I get like 2 frames per second or something stupid on my slow ass comp. :(

Joe123
11-03-2007, 03:15 PM
Oooh, Malor is that script that you PMed me. Sorry, I hadn't got round to looking at it.

CamStudio runs at around 40fps for me, so it's just about ok to use.

Why all the funny names for the weapons?

Gleeok
11-03-2007, 03:28 PM
Oooh, Malor is that script that you PMed me. Sorry, I hadn't got round to looking at it.

CamStudio runs at around 40fps for me, so it's just about ok to use.

Why all the funny names for the weapons?

Old school dungeon crawlers. (http://www.tk421.net/wizardry/wiz15spells.shtml)

Very unforgiving...unlike current rpg's.

Joe123
11-03-2007, 03:45 PM
Oh right ok.
Dungeon Crawling and unforgiving...
Sounds completely unlike what I like playing ^.^
Ah well eh