SetProjectileCounter: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Molotov)
 
(6 intermediate revisions by 6 users not shown)
Line 2: Line 2:
{{Client function}}
{{Client function}}
Will change the projectile counter timer which depending on the projectile type will do different things:
Will change the projectile counter timer which depending on the projectile type will do different things:
* Grenades will explode when it hits 0
* Rockets and Grenades will explode when it hits 0
* Teargas may be a duration timer
* Teargas may be a duration timer
* Both types of rockets will explode when it hits 0
* Satchels restart (we currently assume it doesn't cause an effect)
* Satchels restarts so I do not think it does anything
* Molotov will explode with search ground level when it hits 0


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">bool setProjectileCounter ( projectile projectile, int timeToDetonate )</syntaxhighlight>
<syntaxhighlight lang="lua">bool setProjectileCounter ( projectile projectile, int timeToDetonate )</syntaxhighlight>
{{OOP||[[projectile]]:setCounter|counter|getProjectileCounter}}


===Required Arguments===
===Required Arguments===
Line 16: Line 17:
===Returns===
===Returns===
Returns ''true'' on success, ''false'' otherwise.
Returns ''true'' on success, ''false'' otherwise.
===Example===
<section name="Client" class="client" show="true">
With this example you can use /setbombtime to set a delay duration of a projectile explosion.
<syntaxhighlight lang="lua">
function changeProjectileDelay( cmd, bombIndex, duration )
local bombIndex = tonumber( bombIndex ) or nil
local duration = tonumber( duration ) or nil
if ( bombIndex ) and ( duration ) then
local found = false
for index,projectile in ipairs( getElementsByType( "projectile" ) ) do
if ( index == bombIndex ) then
if ( setProjectileCounter( projectile, duration * 1000 ) ) then
outputChatBox( "Projectile (" .. index .. ") detonates in " .. duration .. " seconds.", 0, 255, 0, false )
else
outputChatBox( "Something went wrong when setting the duration.", 255, 0, 0, false )
end
found = true
break
end
end
if ( not found ) then
outputChatBox( "Projectile with index " .. bombIndex .. " was not found.", 255, 0, 0, false )
end
else
outputChatBox( "SYNTAX: /" .. cmd .. " [bomb index] [duration in seconds]", 220, 180, 0, false )
end
end
addCommandHandler( "setbombtime", changeProjectileDelay )
</syntaxhighlight>
</section>


==Requirements==
==Requirements==
{{Requirements|n/a|1.3.0-4555|}}
{{Requirements|n/a|1.3.0-9.04555|}}


==See Also==
==See Also==
{{Client projectile functions}}
{{Client projectile functions}}

Latest revision as of 07:51, 25 June 2016

Will change the projectile counter timer which depending on the projectile type will do different things:

  • Rockets and Grenades will explode when it hits 0
  • Teargas may be a duration timer
  • Satchels restart (we currently assume it doesn't cause an effect)
  • Molotov will explode with search ground level when it hits 0

Syntax

bool setProjectileCounter ( projectile projectile, int timeToDetonate )

OOP Syntax Help! I don't understand this!

Method: projectile:setCounter(...)
Variable: .counter
Counterpart: getProjectileCounter


Required Arguments

  • projectile: The projectile to edit the timer of.
  • timeToDetonate: The time in milliseconds to detonation.

Returns

Returns true on success, false otherwise.

Example

Click to collapse [-]
Client

With this example you can use /setbombtime to set a delay duration of a projectile explosion.

function changeProjectileDelay( cmd, bombIndex, duration )
	local bombIndex = tonumber( bombIndex ) or nil
	local duration = tonumber( duration ) or nil
	
	if ( bombIndex ) and ( duration ) then
		local found = false

		for index,projectile in ipairs( getElementsByType( "projectile" ) ) do
			if ( index == bombIndex ) then
				if ( setProjectileCounter( projectile, duration * 1000 ) ) then
					outputChatBox( "Projectile (" .. index .. ") detonates in " .. duration .. " seconds.", 0, 255, 0, false )
				else
					outputChatBox( "Something went wrong when setting the duration.", 255, 0, 0, false )
				end

				found = true
				break
			end
		end

		if ( not found ) then
			outputChatBox( "Projectile with index " .. bombIndex .. " was not found.", 255, 0, 0, false )
		end
	else
		outputChatBox( "SYNTAX: /" .. cmd .. " [bomb index] [duration in seconds]", 220, 180, 0, false )
	end
end
addCommandHandler( "setbombtime", changeProjectileDelay )

Requirements

Minimum server version n/a
Minimum client version 1.3.0-9.04555

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.3.0-9.04555" />

See Also