IT/createProjectile: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
Questa funzione crea un proiettile del tipo specificato sulle coordinate specificate.
Questa funzione crea un proiettile del tipo specificato sulle coordinate specificate.


==Syntax==
==Sintassi==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
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 ] )
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 ] )
</syntaxhighlight>
</syntaxhighlight>


==Required Arguments==
==Argomenti richiesti==
*'''creator:''' The [[IT/Elemento]] rappresenta il creatore del proiettile. In caso vuoi che il proiettile sia sincronizzato per tutti, il creatore deve essere [[IT/getLocalPlayer]]().
*'''creator:''' L'[[IT/Elemento|elemento]] rappresenta il creatore del proiettile. In caso vuoi che il proiettile sia sincronizzato per tutti, il creatore deve essere [[IT/getLocalPlayer|getLocalPlayer]]().
*'''weaponType:''' [[int]] representing the projectile weaponType (characteristics). Valid IDs are:
*'''weaponType:''' [[IT/int|int]] representing the projectile weaponType (characteristics). Valid IDs are:
{{Projectiles}}
{{Projectiles}}


==Optional Arguments==
==Argomenti opzionali==
{{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.

Revision as of 10:03, 3 August 2011


Questa funzione crea un proiettile del tipo specificato sulle coordinate specificate.

Sintassi

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 ] )

Argomenti richiesti

  • creator: L'elemento rappresenta il creatore del proiettile. In caso vuoi che il proiettile sia sincronizzato per tutti, il creatore deve essere getLocalPlayer().
  • 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

Argomenti opzionali

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 of the projectile.
  • 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...
		if not createProjectile(getLocalPlayer(),19,getElementPosition(getLocalPlayer()),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)

See also