CreateEffect: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Improved see also section)
(Improve example.)
 
(27 intermediate revisions by 12 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 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.
*'''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">
<syntaxhighlight lang="lua">
addCommandHandler("effect",  
-- There are 82 effects
function(cmd, name)
 
local x, y, z = getElementPosition(localPlayer)
local effectNames = {
if createEffect(name, x, y, z) then
"blood_heli", "boat_prop", "camflash", "carwashspray", "cement", "cloudfast", "coke_puff", "coke_trail", "cigarette_smoke",
outputChatBox("Effect created!")
"explosion_barrel", "explosion_crate", "explosion_door", "exhale", "explosion_fuel_car", "explosion_large", "explosion_medium",
else
"explosion_molotov", "explosion_small", "explosion_tiny", "extinguisher", "flame", "fire", "fire_med", "fire_large", "flamethrower",
outputChatBox("Bad effect name.")
"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",
end
"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",
</syntaxhighlight>
"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"
}
 
function createEff(_, effectID)
effectID = tonumber(effectID)
 
if effectID then
local validID = effectID > 0 and effectID <= #effectNames


if validID then
local effectName = effectNames[effectID]
local playerX, playerY, playerZ = getElementPosition(localPlayer)


This example synchronize cam flash effect (without this only local player can see this).
createEffect(effectName, playerX, playerY, playerZ, 0, 0, 0)
<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
end
end
)
end
addCommandHandler("effect", createEff)
 
-- Example: /effect 3
</syntaxhighlight>
</syntaxhighlight>
==Changelog==
{{ChangelogHeader}}
{{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]]

Latest revision as of 22:56, 20 December 2021

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"
}

function createEff(_, effectID)
	effectID = tonumber(effectID)

	if effectID then
		local validID = effectID > 0 and effectID <= #effectNames

		if validID then
			local effectName = effectNames[effectID]
			local playerX, playerY, playerZ = getElementPosition(localPlayer)

			createEffect(effectName, playerX, playerY, playerZ, 0, 0, 0)
		end
	end
end
addCommandHandler("effect", createEff)

-- Example: /effect 3

Changelog

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

See Also