summaryrefslogtreecommitdiff
path: root/Data/BuiltIn/Libraries/lua-addons/addons/Tab
diff options
context:
space:
mode:
Diffstat (limited to 'Data/BuiltIn/Libraries/lua-addons/addons/Tab')
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/Tab/README.md9
-rw-r--r--Data/BuiltIn/Libraries/lua-addons/addons/Tab/tab.lua49
2 files changed, 58 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/Tab/README.md b/Data/BuiltIn/Libraries/lua-addons/addons/Tab/README.md
new file mode 100644
index 0000000..a985132
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/Tab/README.md
@@ -0,0 +1,9 @@
+# Tab
+
+### English
+- Simple addon Replace Tab key input to `<stnpc>` or `<stpc>`. (X+Tab)
+- **Tips:** if you won't to include pet or trust in `<stnpc>` by other players, use `/ignorepet on` and `/ignoretrust on` (in-game commands)
+
+### 日本語
+- Tabキーの動作を`<stnpc>`または`<stpc>`(X+Tab)に置き換えます。
+- **Tips:** `<stnpc>`に他プレイヤーのペットやフェイスを含めたくない場合、`/ignorepet on` または `/ignorefaith on`(ゲーム内コマンド)をご利用ください。
diff --git a/Data/BuiltIn/Libraries/lua-addons/addons/Tab/tab.lua b/Data/BuiltIn/Libraries/lua-addons/addons/Tab/tab.lua
new file mode 100644
index 0000000..cae63ea
--- /dev/null
+++ b/Data/BuiltIn/Libraries/lua-addons/addons/Tab/tab.lua
@@ -0,0 +1,49 @@
+--[[
+Copyright © 2018, from20020516
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of Tab nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL from20020516 BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+]]
+_addon.name = 'Tab'
+_addon.author = 'from20020516'
+_addon.version = '1.0'
+
+require('sets')
+st = false
+x_pressed = false
+
+--replace input tab. validated in Japanese keyboard. please let me know if problems occur with the English keyboard.
+windower.register_event('keyboard',function(dik,pressed,flags,blocked)
+ if dik == 45 then
+ x_pressed = pressed
+ elseif not windower.chat.is_open() then
+ if dik == 15 and pressed and not st then --Tab
+ st = x_pressed and '<stpc>' or '<stnpc>'
+ windower.chat.input('/ta '..st)
+ return true; --tab input blocking. it's probably broken..
+ elseif S{1,28}[dik] and pressed then --Esc or Enter
+ st = false
+ end
+ end
+end)