RBX.lua.Tool (Object): Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>Toxsikkilla
No edit summary
>Flurite
No edit summary
 
(36 intermediate revisions by 12 users not shown)
Line 1: Line 1:
== Description ==
{{ObjectPage|name=Tool|1=The Tool object acts as a weapon or other object that is stored in a [[RBX.lua.Player (Object)|Player]]'s [[RBX.lua.Backpack (Object)|Backpack]]. When equipped, a tool is automatically transferred to the Player's character and it is held in the right hand by default.


A tool is similiar to a [[HopperBin]], as it is held in the Player's [[BackPack]], or inventory.  
Tools require scripting and a part named ''Handle'' in it to function properly. This disadvantage of the Tool leads users to use [[HopperBin|HopperBins]] instead, as they do not require a part named 'Handle'.


It is different from a HopperBin, because it is attached to a brick, and sometimes a mesh(For example, a rocket launcher)
If you insert an Instance whose name is ''RobloxBuildTool'' into a Tool, a GUI will not appear where Tool GUIs normally appearThere will also not be a shortcut key to the Tool.


Tools require scripting to function. However, you can create tools that allow you to wear items, like a temporary hat.
Tools are positioned using the Grip* properties. These actually correspond to a CFrame. To convert from tool positioning into a CFrame:
<pre>
local up = tool.GripUp
local right = tool.GripRight
local forward = tool.GripForward
local pos = tool.GripPosition


The mouse object can only be used via a [[LocalScript]], And therefore all keyboard inputs must be handled by the client computer. A workaround to this is to use Values which can be changed to make the server sided [[Script]] function.
local CFrame = CFrame.new(
 
-- Position
==Functions==
pos.x, pos.y, pos.z,
The Tool only incorporates the global functions.
-- Rotation matrix
 
right.x, up.x, forward.x,
==Properties==
right.y, up.y, forward.y,
In addition to the global properties, the Tool also uses these:
right.z, up.z, forward.z
 
)
*[[GripForward]]
</pre>
*[[GripPos]]
[[Image:tool.jpg|thumb|200px|Hammer tool selected, with the shortcut of 5.]]}}
*[[GripRight]]
*[[GripUp]]
*[[Enabled]]
*[[TextureId]]
 
==Events==
In addition to the global events, the HopperBin also uses these:
 
*[[Activated]]
*[[Deactivated]]
*[[Equipped]]
*[[Unequipped]]
 
 
[[Category:ROBLOX Lua Objects]]

Latest revision as of 23:09, 24 December 2011

Derived Classes
The Tool object acts as a weapon or other object that is stored in a Player's Backpack. When equipped, a tool is automatically transferred to the Player's character and it is held in the right hand by default.

Tools require scripting and a part named Handle in it to function properly. This disadvantage of the Tool leads users to use HopperBins instead, as they do not require a part named 'Handle'.

If you insert an Instance whose name is RobloxBuildTool into a Tool, a GUI will not appear where Tool GUIs normally appear. There will also not be a shortcut key to the Tool.

Tools are positioned using the Grip* properties. These actually correspond to a CFrame. To convert from tool positioning into a CFrame:

local up = tool.GripUp
local right = tool.GripRight
local forward = tool.GripForward
local pos = tool.GripPosition

local CFrame = CFrame.new(
	-- Position
	pos.x, pos.y, pos.z,
	-- Rotation matrix
	right.x, up.x, forward.x,
	right.y, up.y, forward.y,
	right.z, up.z, forward.z
)
Hammer tool selected, with the shortcut of 5.
Clone( )
Returns Instance
Description: Returns a clone of the object and its children, unless its Archivable property is false. The clone will have the same properties as the original object and the same descendants (except those with an Archivable property set to false). The clone's Parent will be nil.
Member of: Instance
FindFirstChild( string name, bool recursive = false )
Returns Instance
Description: Returns the first child found with a name of name. Returns nil if no such child exists. If the optional recursive argument is true, will recursively descend the hierarchy while searching rather than only searching the immediate object.
Member of: Instance
GetChildren( )
Returns table
Description: Returns a read-only table of the object's children.
Member of: Instance
GetDebugId( int scopeLength )
Returns string
Description: Returns a coded string of the object's DebugId used internally by Roblox.
Member of: Instance
GetFullName( )
Returns String path to object
Description: Returns a string with a dot (.) character separating a path of object hierarchy excluding "game".
Member of: Instance
IsA( string className )
Returns bool
Description: Returns true if the Instance is that class or a subclass.
Member of: Instance
IsAncestorOf( Instance descendant )
Returns boolean is ancestor
Description: Returns true if the object is an ancestor of descendant.
Member of: Instance
IsDescendantOf( Instance ancestor )
Returns bool
Description: Returns true if the object is an descendant of ancestor.
Member of: Instance
Destroy( )
Returns nil
Description: Sets the Parent property to nil, locks the Parent property, disconnects all connections and calls Destroy() on all children.
Member of: Instance
ClearAllChildren( )
Returns nil
Description: Removes all descendants of the Instance, but leaves the Instance itself.
Member of: Instance
Enabled
Property Bool Enabled
Description Enables the functionality of an object
Member of Flag, Sparkles, Tool, Fire, StudioTool
BackendToolState
Property Undocumented
Description Undocumented
Member of Undocumented
GripForward
Property Vector3 GripForward
Description This is one of the properties that edits a Tool's position in someone's hand.
Member of Tool, Flag
GripPos
Property Vector3 GripPos
Description This is one of the properties that edits a Tool's position in someone's hand.
Member of Tool
GripRight
Property Vector3 GripRight
Description This is one of the properties that edits a Tool's position in someone's hand.
Member of Tool, Flag
GripUp
Property Vector3 GripUp
Description This is one of the properties that edits a Tool's position in someone's hand.
Member of Tool, Flag
ActivationState
Property Undocumented
Description Undocumented
Member of Undocumented
Grip
Property Undocumented
Description Undocumented
Member of Undocumented
ToolTip
Property string
Description The ToolTip property controls the message that will be displayed when the mouse is hovering over the tool.
Member of Tool
CanBeDropped
Property Bool Can be dropped
Description If true, when the backspace button is pressed the tool will be parented to the workspace and removed from the player's backpack. If false, when the backspace button is pressed the tool will go back to the Player's Backpack.
Member of Tool
TextureId
Type Content
Description The URL link to an image, commonly known as a texture.
Member of BackpackItem, FileMesh
Name
Type string
Description The name of the object, which is often used to identify it in the context of its parent. Note that names are not unique identifiers; multiple children of an object may share the same name. In a script where you want to access an object using a name, for example, game.Workspace["Brick"], the first object found with that name is that object. This "first object" can be found in the Explorer menu.Names are great for showing a very brief title or summary of an object.
Member of Instance
Parent
Type Instance
Description The hierarchical parent of the object. When no scripts hold references to an object, it will still be maintained as long as it's parent is set to an object which does have references to it, either by other objects or scripts. The toplevel DataModel object (the one referred to as the "game" by scripts) has no parent, but always has a reference held to it by the game engine, and exists for the duration of a session.
Member of Instance
Archivable
Type bool
Description Sets whether or not the object is saved when publishing or saving to file. Also sets whether or not the object is clonable.
Member of Instance
ClassName
Type string
Description A unique string per type of Instance. Should only be used as a unique identifier, as it does not reveal any information about nature of the type hierarchy the type is in. For this use, see IsA.
Member of Instance
RobloxLocked
Type bool
Description If true, the object and its descendants cannot be indexed or edited by a Script or LocalScript and will throw an error if it is attempted.
Member of Instance
DataCost
Type int
Description How much saving this instance with SaveInstance will add to DataComplexity
Member of Instance
Activated ( )
Description Fired when the player clicks while a tool is equipped.
Member of: Tool, StudioTool
Deactivated ( )
Description Fired immediately after the Activated event.
Member of: Tool
Equipped ( Mouse mouse )
Description Fired when tool is equipped.
Member of: Tool
Unequipped ( )
Description Fired whenever you unequipp the object.
Member of: Tool, Flag, SkateboardPlatform
AncestryChanged ( Instance child, Instance parent )
Description Fired when an ancestor of the Instance the event which is a member of child has its parent changed to parent.
Member of: Instance
Changed ( Property property )
Description Fired whenever a property of the object changes.
Member of: Instance
ChildAdded ( Instance child )
Description Fired after a child is added.
Member of: Instance
ChildRemoved ( Instance child )
Description Fired when a child is removed from the object.
Member of: Instance
DescendantAdded ( Instance descendant )
Description Fired when a descendant is added to the object.
Member of: Instance
DescendantRemoving ( Instance descendant )
Description Fired when a descendant is being removed.
Member of: Instance