SetProjectileCounter: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Molotov)
(Remove obsolete Requirements section)
 
Line 52: Line 52:
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
==Requirements==
{{Requirements|n/a|1.3.0-9.04555|}}


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

Latest revision as of 17:07, 7 November 2024

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 )

See Also