CreateEffect: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Fix oop instantiation)
(12 intermediate revisions by 6 users not shown)
Line 5: Line 5:
}}
}}
{{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, float drawDistance = 0 ] )</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]]}}
{{OOP||[[Effect]]}}


Line 20: Line 21:
*'''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.
{{New items|3.06892|1.4 r6892|
*'''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.
*'''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.
}}
}}


Line 27: Line 29:
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">
<syntaxhighlight lang="lua">
addCommandHandler("effect",  
 
function(cmd, name)
--There are 82 effects
local x, y, z = getElementPosition(localPlayer)
 
if createEffect(name, x, y, z) then
local effectNames = {
outputChatBox("Effect created!")
"blood_heli","boat_prop","camflash","carwashspray","cement","cloudfast","coke_puff","coke_trail","cigarette_smoke",
else
"explosion_barrel","explosion_crate","explosion_door","exhale","explosion_fuel_car","explosion_large","explosion_medium",
outputChatBox("Bad effect name.")
"explosion_molotov","explosion_small","explosion_tiny","extinguisher","flame","fire","fire_med","fire_large","flamethrower",
end
"fire_bike","fire_car","gunflash","gunsmoke","insects","heli_dust","jetpack","jetthrust","nitro","molotov_flame",
end
"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",
</syntaxhighlight><!--This example synchronize cam flash effect (without this only local player can see this).
"prt_splash","prt_wake","prt_watersplash","prt_wheeldirt","petrolcan","puke","riot_smoke","spraycan","smoke30lit","smoke30m",
<syntaxhighlight lang="lua">
"smoke50lit","shootlight","smoke_flare","tank_fire","teargas","teargasAD","tree_hit_fir","tree_hit_palm","vent","vent2",
addEventHandler("onClientPlayerWeaponFire", root,
"water_hydrant","water_ripples","water_speed","water_splash","water_splash_big","water_splsh_sml","water_swim","waterfall_end",
function(weapon)
"water_fnt_tme","water_fountain","wallbust","WS_factorysmoke"
if weapon == 43 and source ~= localPlayer then
}
local x, y, z = getPedWeaponMuzzlePosition(source)
 
createEffect("camflash", x, y, z)
addCommandHandler("createEffect", function(_, effectIndex)
end
  effectIndex = tonumber(effectIndex)
end
  if effectIndex and type(effectIndex) == "number" then
)
      if effectIndex > 0 and effectIndex <= #effectNames then
</syntaxhighlight>-->
        createEffect(effectNames[effectIndex], Vector3( getElementPosition( getLocalPlayer() ) ), 0, 0, 0)
      end
  end
end)
 
--Example Command: /createEffect 3
 
</syntaxhighlight>


==Changelog==
==Changelog==
{{ChangelogHeader}}
{{ChangelogHeader}}
{{ChangelogItem|1.4.0-9.06892|Added drawDistance argument}}
{{ChangelogItem|1.4.0-9.06892|Added drawDistance argument}}
{{ChangelogItem|1.5.4-9.11631|Added soundEnable argument}}


== See Also ==
== See Also ==
{{Client_Effects_functions}}
{{Client_Effects_functions}}
[[ru:CreateEffect]]
[[ru:createEffect]]

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