|
| 06 Jan 2013 02:01 PM |
Purpose { *Provides a mixture of functions given by HopperBin and tool objects. *It will not appear as a normal tool, but remain an object in the backpack of a player. *The ExtensionTool does not use a handle nor can it be toggled active or inactive like a tool object but can be disabled from running any scripts inside of it. * It will preform "Key binds" or otherwise known as onKeyDown scripts without being selected by the player.
-- Ex of Use: Games manipulating GUI use that want to key bind open and closing GUI without a player having to select a tool. --Ex) Press E to open shop, no tool selected.
Note) The ExtensionTool can overlap with a tool object. Meaning both an ExtensionTool and Tool objects can be active at the same time and not interfere with each other except for conflicting scripts inside either objects. (Conflicts show up in output)
-- Conflicts can be avoided by using the AllowScripts property, to change its value when a certain object triggers a event. (Tool equipped, value changes to disable the scripts in the Extension Tool)
Note) It would be a great way to store Values (Bool, Number, Object, Color, Etc...) to provide other scripts an efficient way to retrieve player information.
Ex of Use: Roleplay games using a custom backpack for equipment (referring to armor and not Tool objects) could store a bank of values to determine if a item is present (script caused the value to change in game to say the player has received it) }
Properties { (basic idea, not complete) 1) Appearance: None 2) Data: A) ClassName B) Name C) Parent 3) Behavior A) Archivable 4) State A) AllowScripts }
Obtainable { 1) Using Studio Mode, Insert (Tab) -> Object... -> ExtensionTool (Below Decal object and above Explosion object in the list). 2) Using a script: local ET = Instance.new("ExtensionTool") ET.Parent = game.Players.Player }
Idea is a work in progress, would like to hear well thought out comments. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:07 PM |
game.Players.PlayerAdded:connect(function(newPlayer) newPlayer:GetMouse().KeyDown:connect(function(key) if key:lower() == "e" then print("E PRESSED") end end) end) |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:08 PM |
| Please re-read what i said, that does nothing to "complete" my goals. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:11 PM |
| That script does EXACTLY what you wanted, and doesnt even need to go in any players backpack. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:13 PM |
| Any tool that is equipped after doing that script removes what you just did, also that lacks a few important properties from either hopperbin or tool objects depending on which you use. |
|
|
| Report Abuse |
|
|
| |
|
|
| 06 Jan 2013 02:22 PM |
What I am saying is, you can press e to open a shop even if you have a tool equipped or not and it remains effective even after a tool being equipped. You cannot do that with any form of that script
|
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:25 PM |
My mistake, it has to be a LocalScript in the Backpack (Or anywhere under Player)
However, it works. Even with a tool/hopperbin selected. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:26 PM |
| i tried doing a localscript, it doesnt detect onkeydown calls because it doesnt work within service-like folders in player. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:28 PM |
| ...It works, I have used it before. I am using it now. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:29 PM |
| That maybe true but other points i mentioned in the initial post still hold. I would still like this object to exist as a convenience. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:31 PM |
| What over points? That method is practically the entire idea. It works JUST like a hopperbin, but is always selected and not (de)selectable. |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:35 PM |
* using the AllowScripts property * the whole properties section and "Obtainable" section * Conflict resolve part * shared properties (Includes events, and data) between hopperbin and Tool Objects ETC.... |
|
|
| Report Abuse |
|
|
|
| 06 Jan 2013 02:37 PM |
| If you script it right none of that will be an issue. Or just use a BoolValue and a few if statements. |
|
|
| Report Abuse |
|
|