Is it possible to create particle effects emit from ships?

I have a custom ship with a smoke stack on it and I want the smoke stack to emit smoke constantly. Is this possible?

Certainly is. You can use .madstate files in conjunction with .events to do this, as I have done in HWBP with thruster effects. I am assuming you have already set up the proper effect in the fx folder.

  1. In your ship’s .events, add something along the lines of
    event20 = {{“anim”, “Thruster1”}, {“animtime”, “-1”}, {“marker”, “Engine1”}, {“fx”, “thruster_tev_cruiser_combo”}, {“fx_scale”, “5”},},
    the important part being to set animtime to -1 to make it loop. Now we need to start it at launch.

  2. In your ship’s .madstate, add:
    GTA_AEOLUS_Launched_OnSet = function(ship)
    startEffect(ship, “Thruster1”)

    With GTA_AEOLUS replaced with the name of your ship (I think it needs to stay in all caps) and Thruster1 replaced with the name of your effect from .events.

(Note: madstate is most commonly known to be used in conjunction with .mad files to trigger animations, but you do not need a ship with a .mad to do this - and if your ship already has a .mad and .madstate, you can safely add this at the end of the file.)

1 Like

Thanks for the response, and sorry for my delay in getting back to you. I tried what you said to do, and nothing is emitted

Content of kus_bean.madstate:

Beginning of

The “smoke” marker is parented to LOD[0].
Changing the marker to a weapon marker doesn’t make any effect.

Do you also have “smokers” defined on top of the .events in the animations array? Forgot that part.

animations = { ... animation23 = {name = "smokers", length = 2, loop = 1, parent = "", minimum = 0, maximum = 0, markers = {""},}, }, where you must make sure loop = 1 and length is equal or longer than your fx duration.

Works. Thank you.