CreateProjectile: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
 (added some note (more info at bugs.mtasa.com/view.php?id=7820))  | 
				m (force arg is only for throwable projectiles)  | 
				||
| Line 18: | Line 18: | ||
{{OptionalArg}}  | {{OptionalArg}}  | ||
*'''posX''','''posY''','''posZ''': [[float]] starting coordinates for the projectile. They are coordinates of creator by default.  | *'''posX''','''posY''','''posZ''': [[float]] starting coordinates for the projectile. They are coordinates of creator by default.  | ||
*'''force''': [[float]] representing the starting force   | *'''force''': [[float]] representing the starting force for throwable projectiles.  | ||
*'''target''': [[element]] target used for heat seeking rockets.  | *'''target''': [[element]] target used for heat seeking rockets.  | ||
*'''rotX''','''rotY''','''rotZ''': [[float]] starting rotation for the projectile.  | *'''rotX''','''rotY''','''rotZ''': [[float]] starting rotation for the projectile.  | ||
Revision as of 02:35, 8 March 2014
This function creates a projectile of the specified type on the specified coordinates.
Syntax
projectile createProjectile ( element creator, int weaponType [, float posX, float posY, float posZ, float force = 1.0, element target = nil, float rotX, float rotY, float rotZ, float velX, float velY, float velZ, int model ] )
Required Arguments
- creator: The element representing creator of the projectile. In case you want the projectile to be synced for everybody creator must be the local player or his vehicle.
 - weaponType: int representing the projectile weaponType (characteristics). Valid IDs are:
 
| ID | Name/Description | 
|---|---|
| 16 | Grenade | 
| 17 | Tear Gas Grenade | 
| 18 | Molotov | 
| 19 | Rocket (simple) | 
| 20 | Rocket (heat seeking) | 
| 21 | Air Bomb | 
| 39 | Satchel Charge | 
| 58 | Hydra flare | 
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.
- posX,posY,posZ: float starting coordinates for the projectile. They are coordinates of creator by default.
 - force: float representing the starting force for throwable projectiles.
 - target: element target used for heat seeking rockets.
 - rotX,rotY,rotZ: float starting rotation for the projectile.
 - velX,velY,velZ: float starting velocity for the projectile.
 - model: Integer representing the projectile's model, uses default model for weaponType if not specified.
 
Returns
Returns a projectile element if projectile creation was succesfull. Returns false if unable to create a projectile (wrong weapon ID or projectiles limit was reached).
Example
This example makes a rocket minigun (minigun shooting with rockets).
-- This function gets triggered everytime player shoots.
function onClientPlayerWeaponFireFunc(weapon,ammo,ammoInClip,hitX,hitY,hitZ,hitElement)
	if weapon == 38 then -- if source is a local player and he uses minigun...
                x,y,z = getElementPosition(getLocalPlayer())
		if not createProjectile(getLocalPlayer(),19,x,y,z,200) then -- then we either create a projectile...
			outputChatBox ( "Rocket minigun overheated! Give it a rest pal!", source ) -- or if projectile limit is reached we output player a chat message
		end
	end
end
-- Don't forget to add the onClientPlayerWeaponFireFunc function as a handler for onClientPlayerWeaponFire.
addEventHandler("onClientPlayerWeaponFire", getLocalPlayer(), onClientPlayerWeaponFireFunc)