[phpBB Debug] PHP Warning: in file [ROOT]/ext/vse/abbc3/core/bbcodes_display.php on line 92: Invalid argument supplied for foreach()
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4626: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3358)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4626: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3358)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4626: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3358)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4626: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3358)
TheoTown • Firework
Page 1 of 1

Firework

Posted: Mon Jan 08, 2018 1:51
by Josh
In this tutorial, I'm going to show how to make firework. You don't need any graphics because the particles are defined in code.

Code: Select all

[
  {
    "id":"$firework30","type":"animation","frames":[{"steal":"$anim_firework00","frame":2}],
    "meta":{"tags":{"firework":{
      "alpha":0.5, 
      "speed":15,
      "speed variation":0,
      "n":1,
      "time":2500,
      "time variation":0,
      "next":[
          {"id":"$firework31",  "always":true}, 
          {"id":"$firework32"}
       ]
    }}}
  },
  {
    "id":"$firework31","type":"animation","frames":[{"steal":"$anim_firework00","frame":2}],
    "meta":{"tags":{"firework":{
      "alpha":100, 
      "speed":5,
      "speed variation":1,
      "n":1000,
      "time":750,
      "time variation":1
    }}}
  },
  {
    "id":"$firework32","type":"animation","frames":[{"steal":"$anim_firework00","frame":3}],
    "meta":{"tags":{"firework":{
      "alpha":100, 
      "speed":5,
      "speed variation":1,
      "n":1000,
      "time":750,
      "time variation":1
    }}}
  },
  {
    "id":"$syl_spawner03",
    "type":"decoration",
    "category":"$category_firework00",
    "title":"Willow",
    "text":"A big willow.",
    "width":1,
    "height":1,
    "frames":[{"x":960,"y":524,"w":32,"h":20,"offset x":1024,"offset y":1024}],
    "on click fun":[
      {
        "actions":[{"type":"firework","id":"$firework30","z":1}]
      }
    ],
    "fun":[
      {
        "condition":{"type":"or","inner":[
          {"type":"building","id":"$on","x":1},
          {"type":"building","id":"$on","y":1},
          {"type":"building","id":"$on","x":-1},
          {"type":"building","id":"$on","y":-1}
        ]},
        "actions":[{"type":"firework","id":"$firework30","z":1}]
      }
    ],
    "requirements":[{"type":"FEATURE","id":"$feature_firework00"}]
  }
]
The frames are from this picture called $anim_firework00, from left to right (0-14) :img
$anim_firework00.png
$anim_firework00.png (660 Bytes) Viewed 1452 times
The whole code for the huge willow. Let's go through it!

"alpha" - The direction of the particle(s).
"speed" - The speed of a particle(s).
"speed variation" - If there should be variation in speed of the particle(s).
"n" - The number of particles to spawn.
"time" - The duration of the particle(s).
"time variation" - If there should be variation in the duration of the particle(s).
"next" - The id of the particle(s) that should spawn after the lifetime of the current particle(s) expired.

Feel free to ask questions about it :)

Re: Firework

Posted: Fri Jan 19, 2018 12:36
by Lobby
Cool, thank you :)
So firework is basically a description of how to spawn particles and what to do when they're at the end of their life time (e.g. spawning new ones).

Re: Firework

Posted: Fri Jan 26, 2018 2:13
by Josh
I forgot to mension about the frames, added it :bc

Re: Firework

Posted: Sun Jul 21, 2019 17:34
by Lakan Haraya
@Josh

Please give us more details about those attributes :/ like these following:
How integers on alpha translate on cardinal directions, if it is?
And those variation thingy?

I wonder how...
My fireworks explode immediately on ground and all particles spreads out to the entire city's cake •_• and... beyond :/