Jump to content

Photo

Screen->Wavy


  • Please log in to reply
7 replies to this topic

#1 Geoffrey

Geoffrey

    Chosen One

  • Members

Posted 03 December 2008 - 06:41 PM

It's my second attempt at making a script, and I actually got kinda' far.
CODE
ffc script screenWave{
     void run(int frames);
          Screen->Wavy(int frames);
     }
}

How do I get the wave calmed down and have it going for as long as I want it to?

Edited by Molten Onyx, 03 December 2008 - 06:41 PM.


#2 lucas92

lucas92

    Defender

  • Members

Posted 03 December 2008 - 08:41 PM

I'm not sure if that's what you want but anyway.

CODE
ffc script wavecalmdown
{
    void run(int intensity,int rate)
    {
        while(intensity!=0)
        {
            Screen->Wavy(intensity);
            intensity-=rate;
            Waitframe();
        }
    }
}


D0:intensity must be >0 or it won't work.
D1:rate must be set to a positive value unless you want the intensity of the wavy effect to increase...

Edited by lucas92, 03 December 2008 - 09:38 PM.


#3 Geoffrey

Geoffrey

    Chosen One

  • Members

Posted 03 December 2008 - 11:25 PM

I don't know, that won't even compile for me...no matter how much I mess around with it.

#4 Elmensajero

Elmensajero

    Doyen(ne)

  • Members
  • Real Name:John
  • Location:Raleigh, North Carolina

Posted 04 December 2008 - 12:25 AM

^ That's because both of y'all were using Screen->Wavy as a function instead of a variable. I changed the script a little since I figured this is slightly more what you are looking for.

CODE
import "std.zh"

// screenWave - Turns on the wave screen effect.
// D0: intensity of wave, can be any integer
// D1: length of wave in frames. use a negative number to create an infinite wave effect.
ffc script screenWave
{
    void run(int intensity, int framelength)
    {
        while(true)
        {
            if(framelength==0) Quit();
            else if(framelength>0) framelength--;
            Screen->Wavy=Abs(intensity);
            Waitframe();
        }
    }
}
//credits to lucas92 for idea on intensity

Edited by Elmensajero, 04 December 2008 - 12:25 AM.


#5 Christian

Christian

    Summoner

  • Members
  • Real Name:Chris
  • Location:New Jersey

Posted 04 December 2008 - 01:22 AM

Elmensagero , if you just used a for loop it would have been easier and shorter. I would type in my version of this,but too bad im on a mobile phone icon_frown.gif

#6 Elmensajero

Elmensajero

    Doyen(ne)

  • Members
  • Real Name:John
  • Location:Raleigh, North Carolina

Posted 04 December 2008 - 01:30 AM

I could have used a for loop, but I would have to write the script a little differently to include the "infinite wave effect" feature. The variable framelength is only decremented if the value is greater than 0. It is not modified at all if it is less than zero.

#7 Joe123

Joe123

    Retired

  • Members

Posted 04 December 2008 - 03:11 AM

CODE
import "std.zh"

// screenWave - Turns on the wave screen effect.
// D0: intensity of wave, can be any integer
// D1: length of wave in frames. use a negative number to create an infinite wave effect.
ffc script screenWave
{
    void run(int intensity, int framelength)
    {
        while(true)
        {
            if(framelength==0){
                Screen->Wavy = 0;
                Quit();
            }else if(framelength>0) framelength--;
            Screen->Wavy=Abs(intensity);
            Waitframe();
        }
    }
}


Might wanna make it stop when the framerate hits 0 ;-)

#8 Geoffrey

Geoffrey

    Chosen One

  • Members

Posted 04 December 2008 - 10:42 PM

Thanks everyone!

*Adds to credits*


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users