createEffect | Multi Theft Auto: Wiki Skip to content

createEffect

Client-side
Server-side
Shared

Creates an effect on specified position.

Note
  • Not all effects support rotation (e.g. the fire - effect doesn't).
  • All effects have their own duration.

OOP Syntax Help! I don't understand this!

Syntax

effect|false createEffect ( ​string name, ​float x, ​float y, ​float z, ​float rX, ​float rY, ​float rZ, [ ​float drawDistance = 0, ​bool soundEnable = false ] )
Required Arguments
  • name: A string contains effect name. See effects list.
  • 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.
  • 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.
Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use.

  • drawDistance (default: 0): 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 (default: false): To enable the sound of the effect.

Returns

  • effect|false: the effect

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

Code Examples

client

This example allows you to create effect by using B key (use mouse scroll up/down to switch effect).

local effectSwitchUpKey = "mouse_wheel_up"
local effectSwitchDownKey = "mouse_wheel_down"
local effectCreateKey = "b"
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"
}
local effectID = 1
local effectName = effectNames[effectID]
local effectCount = (#effectNames) -- there are 82 effects
outputChatBox("Effect set to: #ffa500"..effectName.."#ffffff (ID: #ffa500"..effectID.."#ffffff)", 255, 255, 255, true)
local function createEffectManually()
local playerX, playerY, playerZ = getElementPosition(localPlayer)
local effectX, effectY, effectZ = playerX, playerY, (playerZ + 2)
local effectRX, effectRY, effectRZ = 0, 0, 0
local effectDrawDistance = 300
local effectSoundEnable = false
outputChatBox("Created effect: #ffa500"..effectName.."#ffffff (ID: #ffa500"..effectID.."#ffffff)", 255, 255, 255, true)
createEffect(effectName, effectX, effectY, effectZ, effectRX, effectRY, effectRZ, effectDrawDistance, effectSoundEnable)
end
bindKey(effectCreateKey, "down", createEffectManually)
local function switchEffect(keyName)
local effectSwitchUp = (keyName == effectSwitchUpKey)
local effectSwitchFactor = (effectSwitchUp and 1 or -1)
local effectSwitchTempID = (effectID + effectSwitchFactor)
local effectSwitchID = (effectSwitchTempID > effectCount and 1 or effectSwitchTempID < 1 and effectCount or effectSwitchTempID)
effectID = effectSwitchID
effectName = effectNames[effectID]
outputChatBox("Effect set to: #ffa500"..effectName.."#ffffff (ID: #ffa500"..effectID.."#ffffff)", 255, 255, 255, true)
end
bindKey(effectSwitchDownKey, "down", switchEffect)
bindKey(effectSwitchUpKey, "down", switchEffect)

Changelog

  • 1.4.0-9.06892

    Added drawDistance argument.

  • 1.5.4-9.11631

    Added soundEnable argument.