CreateEffect: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(32 intermediate revisions by 11 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
{{New items|4.0132|1.4|
{{New items|3.0140|1.4|
Creates an [[Element/Effect|effect]] on specified position.
Creates an [[Element/Effect|effect]] on specified position.
}}
}}
{{Note|Not all effects support rotation (e.g. the "fire" - effect doesn't).}}
{{Note|Not all effects support rotation (e.g. the "fire" - effect doesn't).}}
{{Note|All effects have their own duration.}}
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">effect createEffect ( string name, float x, float y, float z, [ float rX, float rY, float rZ ] )</syntaxhighlight>  
<syntaxhighlight lang="lua">effect createEffect ( string name, float x, float y, float z [, float rX, float rY, float rZ, float drawDistance = 0, bool soundEnable = false ] )</syntaxhighlight>
{{OOP||[[Effect]]}}


===Required Arguments===  
===Required Arguments===  
Line 17: Line 18:
===Optional Arguments===  
===Optional Arguments===  
{{OptionalArg}}  
{{OptionalArg}}  
*'''rx:''' A floating point number representing the rotation about the X axis in degrees.
*'''rX:''' A floating point number representing the rotation about the X axis in degrees.
*'''ry:''' A floating point number representing the rotation about the Y axis in degrees.
*'''rY:''' A floating point number representing the rotation about the Y axis in degrees.
*'''rz:''' A floating point number representing the rotation about the Z axis in degrees.
*'''rZ:''' A floating point number representing the rotation about the Z axis in degrees.
*'''drawDistance:''' A floating point number between 1 and 8191 which represents the draw distance of the effect, or 0 to use the default draw distance.
{{New feature/item|3.0155|1.5.5||
*'''soundEnable:''' to enable the sound of the effect.
}}


=== Returns ===
=== Returns ===
Returns the [[Element/Effect|effect]] element if creation was successful, ''false'' otherwise.
Returns the [[Element/Effect|effect]] element if creation was successful, ''false'' otherwise.


== Example ==  
==Example==
<syntaxhighlight lang="lua">


<section name="Example1" class="client" show="true">
--There are 82 effects
<syntaxhighlight lang="lua">
 
addCommandHandler("effect",  
local effectNames = {
function(cmd, name)
"blood_heli","boat_prop","camflash","carwashspray","cement","cloudfast","coke_puff","coke_trail","cigarette_smoke",
local x, y, z = getElementPosition(localPlayer)
"explosion_barrel","explosion_crate","explosion_door","exhale","explosion_fuel_car","explosion_large","explosion_medium",
if createEffect(name, x, y, z) then
"explosion_molotov","explosion_small","explosion_tiny","extinguisher","flame","fire","fire_med","fire_large","flamethrower",
outputChatBox("Effect created!")
"fire_bike","fire_car","gunflash","gunsmoke","insects","heli_dust","jetpack","jetthrust","nitro","molotov_flame",
else
"overheat_car","overheat_car_electric","prt_blood","prt_boatsplash","prt_bubble","prt_cardebris","prt_collisionsmoke",
outputChatBox("Bad effect name.")
"prt_glass","prt_gunshell","prt_sand","prt_sand2","prt_smokeII_3_expand","prt_smoke_huge","prt_spark","prt_spark_2",
end
"prt_splash","prt_wake","prt_watersplash","prt_wheeldirt","petrolcan","puke","riot_smoke","spraycan","smoke30lit","smoke30m",
end
"smoke50lit","shootlight","smoke_flare","tank_fire","teargas","teargasAD","tree_hit_fir","tree_hit_palm","vent","vent2",
)
"water_hydrant","water_ripples","water_speed","water_splash","water_splash_big","water_splsh_sml","water_swim","waterfall_end",
</syntaxhighlight>
"water_fnt_tme","water_fountain","wallbust","WS_factorysmoke"
</section>
}
 
addCommandHandler("createEffect", function(_, effectIndex)
  effectIndex = tonumber(effectIndex)
  if effectIndex and type(effectIndex) == "number" then
      if effectIndex > 0 and effectIndex <= #effectNames then
        createEffect(effectNames[effectIndex], Vector3( getElementPosition( getLocalPlayer() ) ), 0, 0, 0)
      end
  end
end)


--Example Command: /createEffect 3


<section name="Example2" class="client" show="true">
This example synchronize cam flash effect (without this only local player can see this).
<syntaxhighlight lang="lua">
addEventHandler("onClientPlayerWeaponFire", root,
function(weapon)
if weapon == 43 and source ~= localPlayer then
local x, y, z = getPedWeaponMuzzlePosition(source)
createEffect("camflash", x, y, z)
end
end
)
</syntaxhighlight>
</syntaxhighlight>
</section>
 
==Changelog==
{{ChangelogHeader}}
{{ChangelogItem|1.4.0-9.06892|Added drawDistance argument}}
{{ChangelogItem|1.5.4-9.11631|Added soundEnable argument}}


== See Also ==
== See Also ==
* [[setEffectSpeed]]
{{Client_Effects_functions}}
* [[getEffectSpeed]]
[[ru:createEffect]]
* [[setEffectDensity]]
* [[setEffectDensity]]

Revision as of 12:19, 6 March 2019

Creates an effect on specified position.

[[{{{image}}}|link=|]] Note: Not all effects support rotation (e.g. the "fire" - effect doesn't).
[[{{{image}}}|link=|]] Note: All effects have their own duration.

Syntax

effect createEffect ( string name, float x, float y, float z [, float rX, float rY, float rZ, float drawDistance = 0, bool soundEnable = false ] )

OOP Syntax Help! I don't understand this!

Method: Effect(...)


Required Arguments

  • name: A string contains effect name.
  • x: A floating point number representing the X coordinate on the map.
  • y: A floating point number representing the Y coordinate on the map.
  • z: A floating point number representing the Z coordinate on the map.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • rX: A floating point number representing the rotation about the X axis in degrees.
  • rY: A floating point number representing the rotation about the Y axis in degrees.
  • rZ: A floating point number representing the rotation about the Z axis in degrees.
  • drawDistance: A floating point number between 1 and 8191 which represents the draw distance of the effect, or 0 to use the default draw distance.
  • soundEnable: to enable the sound of the effect.

Returns

Returns the effect element if creation was successful, false otherwise.

Example


--There are 82 effects

local effectNames = {
"blood_heli","boat_prop","camflash","carwashspray","cement","cloudfast","coke_puff","coke_trail","cigarette_smoke",
"explosion_barrel","explosion_crate","explosion_door","exhale","explosion_fuel_car","explosion_large","explosion_medium",
"explosion_molotov","explosion_small","explosion_tiny","extinguisher","flame","fire","fire_med","fire_large","flamethrower",
"fire_bike","fire_car","gunflash","gunsmoke","insects","heli_dust","jetpack","jetthrust","nitro","molotov_flame",
"overheat_car","overheat_car_electric","prt_blood","prt_boatsplash","prt_bubble","prt_cardebris","prt_collisionsmoke",
"prt_glass","prt_gunshell","prt_sand","prt_sand2","prt_smokeII_3_expand","prt_smoke_huge","prt_spark","prt_spark_2",
"prt_splash","prt_wake","prt_watersplash","prt_wheeldirt","petrolcan","puke","riot_smoke","spraycan","smoke30lit","smoke30m",
"smoke50lit","shootlight","smoke_flare","tank_fire","teargas","teargasAD","tree_hit_fir","tree_hit_palm","vent","vent2",
"water_hydrant","water_ripples","water_speed","water_splash","water_splash_big","water_splsh_sml","water_swim","waterfall_end",
"water_fnt_tme","water_fountain","wallbust","WS_factorysmoke"
}

addCommandHandler("createEffect", function(_, effectIndex)
   effectIndex = tonumber(effectIndex)
   if effectIndex and type(effectIndex) == "number" then
      if effectIndex > 0 and effectIndex <= #effectNames then
         createEffect(effectNames[effectIndex], Vector3( getElementPosition( getLocalPlayer() ) ), 0, 0, 0)
      end
   end
end)

--Example Command: /createEffect 3

Changelog

Version Description
1.4.0-9.06892 Added drawDistance argument
1.5.4-9.11631 Added soundEnable argument

See Also