Re: Making Link Invisible
Ah, I thought it'd just be something stupid >_<
I really need to just check my scripts more thoroughly rather than pestering people for help, I didn't ask for help on the snow script and it works fine. Ah well. Thanks anyway :)
Is there any easy way I can make the screen's monsters freeze, and the whirlwind not appear till after the tune's been played? Or am I not going to be able to do this?
Re: Making Link Invisible
Well makeing the enemies freeze will take recording each enemies X and Y then writeing those values back to each enemy, also you may want to set their weapon to 0 then set it back to its original setting once the freeze is over, without arrays this takes quite a bit of code to pull off but is possible. As for the whirlwind, I don't think we have any ZScript control over that just yet.
Quote:
I didn't ask for help on the snow script and it works fine
Sorry about that, did not mean to step on your toes or nothing, I just have a way of seeing how to make things more efficient and like to share that info if I can :redface:
Re: Making Link Invisible
Can you help me freeze enemies then?
And I might just disable whirlwinds, because I only need them for one BS overworld, they won't work in the other areas.
And I wasn't saying you were stepping on my toes at all.
You and Gleeok have seriously helped me a lot here, I would know a lot less about Zscript if you hadn't. I was just saying I ask for help too much.
Re: Making Link Invisible
Freezeing Enemies:
make some global vars;
int ene1X ; int ene1Y ; int ene1W ; int ene2X ; int ene2Y ; int ene2W ;
etc... you will probley want to account for at least 10 enemies
you can never tell how many enemies you will need to keep track of with summors, spliters, and the posibility of script-created enemies. but you will have to find a suitable number for your quest.
Add a global var to check wether the freeze is active:
bool eneFrozen = false;
make a function that will be called when you use the whistle;
make sure you do eneFrozen = true; before calling this function
void eneFreeze (){
//record all enemies X / Y cords and weapon
npc ene1 = Screen->LoadNPC(1);
npc ene2 = Screen->LoadNPC(2);
//etc.
ene1X = ene1->X;
ene1Y = ene1->Y;
ene1W = ene1->Weapon;
ene2X = ene2->X;
ene2Y = ene2->Y;
ene2W = ene2->Weapon;
//etc.
While(eneFrozen == True){
ene1->X = ene1X;
ene1->Y = ene1Y;
ene1->Weapon = 0;
ene2->X = ene2X;
ene2->Y = ene2Y;
ene2->Weapon = 0;
//etc.
Waitframe();
}
//once eneFrozen == False again (at the end of your animation)
//restore the enemies' weapons
ene1->Weapon = ene1W;
ene2->Weapon = ene2W;
//etc.
}
Thats pretty much all there is to it, just with alot more varibles :tongue:
Don't be worried about asking alot of questions, I'm always glad to help ppl learn more, it also helps me by makeing me solve problems I otherwise would not have thought of, so I learn as well :cool:
Re: Making Link Invisible
Cool SM...there's just a bug with walker/shooters that will glitch when given (none) as a weapon type. You'll need to use ene1->Halt = 0; also. (They don't fire when halt rate is 0.)
...I should really report that bug. I just haven't tested it at all yet..
Re: Making Link Invisible
Quote:
They don't fire when halt rate is 0
This is good to know, I did not realize that.
does a halt rate of 0 also stop them from animateing? because even if you stick enemies to the spot by changeing their X/Y they will appear to be walking in place, and while this is good exercise it looks kind of dumb :p
Quote:
there's just a bug with walker/shooters that will glitch when given (none) as a weapon type
This I also did not know, thanks again.
Re: Making Link Invisible
Here's something neat too:
Set an enemy data to
halt 16
AI 256
misc types-Octorock (misc1 -1)
weapon - flame2
set to be invisibe...
.....and.....
...NOW CENTER IT AT THIS->X AND THIS->Y AND GIVE IT 999 HP AND MAKE IT FLY AROUND THE SCREEN!!!!!!!!!!!
...Oh, and how's that weapon script thingy coming along?....nudge, nudge..
Re: Making Link Invisible
Quote:
Oh, and how's that weapon script thingy coming along?....nudge, nudge..
Oh, geez I stopped working on that awhile ago, although since I did just make a couple of simple of FFC weapons I may just pick up the reins on it again, especially since someone has shown interest in it again. I'm thinking of mabye takeing a different appraoch, as my original idea seemed pretty complex and overwhelming. I just got that burn->next thing done, just need to ajust the script to use a global instead of a function because of the bug I reported.. so mabye I'll write up a little flame thrower as an added bonus :)
Quote:
Here's something neat too:
Set an enemy data to
halt 16
AI 256
misc types-Octorock (misc1 -1)
weapon - flame2
set to be invisibe...
...NOW CENTER IT AT THIS->X AND THIS->Y AND GIVE IT 999 HP AND MAKE IT FLY AROUND THE SCREEN!!!!!!!!!!!
I think that would be just abit more difficult then even an 8-Headed Gleeok to defeat :D
I am makeing you head of 'evil creations' dept. with a window office and a raise...
Re: Making Link Invisible
Quote:
Originally Posted by
ShadowMancer
This is good to know, I did not realize that.
does a halt rate of 0 also stop them from animateing? because even if you stick enemies to the spot by changeing their X/Y they will appear to be walking in place, and while this is good exercise it looks kind of dumb :p
A halt rate of 0 means they don't stop and fire. They just keep walking...and....walking...and wal......
Also if you set step speed to 0 they wont fire either. They said after 2.5 it'll get looked at.
Re: Making Link Invisible
Ugh, do you know what we need?
We need a 'Screen Freeze Scripts Still Activate' combo. A lot. And it needs to let drawtile functions still carry on going. I don't get why people use them so little, they're great.
Also, WHYYYYY does the 'Messages freeze all action' quest rule make drawtile functions dissapear? I almost cried when I found that out. Is it a bug or is it intentional?