Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/opensb/scripts/opensb/assets/postload.lua22
-rw-r--r--assets/opensb/scripts/opensb/player/commands.lua11
-rw-r--r--assets/opensb/scripts/opensb/player/copy_paste.lua18
3 files changed, 47 insertions, 4 deletions
diff --git a/assets/opensb/scripts/opensb/assets/postload.lua b/assets/opensb/scripts/opensb/assets/postload.lua
index 256e199..0110bc1 100644
--- a/assets/opensb/scripts/opensb/assets/postload.lua
+++ b/assets/opensb/scripts/opensb/assets/postload.lua
@@ -29,4 +29,24 @@ end
assets.patch(
"/interface/windowconfig/songbook.config",
"/interface/windowconfig/songbook_search_patch.lua"
-) \ No newline at end of file
+)
+
+
+-- Relocate songs to the /songs/ folder
+
+local songs = assets.byExtension("abc")
+local count = 0
+
+for i = 1, #songs do
+ local song = songs[i]
+ if song:sub(1, 7) ~= "/songs/" then
+ local data = assets.bytes(song)
+ assets.erase(song)
+ assets.add("/songs" .. song, data)
+ count = count + 1
+ end
+end
+
+if count > 0 then
+ sb.logInfo("Moved %s misplaced songs to /songs/", count)
+end \ No newline at end of file
diff --git a/assets/opensb/scripts/opensb/player/commands.lua b/assets/opensb/scripts/opensb/player/commands.lua
index 9696e0d..2d83106 100644
--- a/assets/opensb/scripts/opensb/player/commands.lua
+++ b/assets/opensb/scripts/opensb/player/commands.lua
@@ -36,4 +36,15 @@ register("run", function(src)
end
end)
+register("headrotation", function(arg)
+ local key = "disableHeadRotation"
+ if status.statusProperty(key) == true then
+ status.setStatusProperty(key, nil)
+ return "Head rotation is now enabled for this character"
+ else
+ status.setStatusProperty(key, true)
+ return "Head rotation is now disabled for this character"
+ end
+end)
+
module.register = register \ No newline at end of file
diff --git a/assets/opensb/scripts/opensb/player/copy_paste.lua b/assets/opensb/scripts/opensb/player/copy_paste.lua
index 2a15af4..f301427 100644
--- a/assets/opensb/scripts/opensb/player/copy_paste.lua
+++ b/assets/opensb/scripts/opensb/player/copy_paste.lua
@@ -24,13 +24,18 @@ local function copyItem()
local item = player.swapSlotItem() or player.primaryHandItem() or player.altHandItem()
if not item then return end
- clipboard.setText(sb.printJson(item, 2))
- local message = string.format("Copied ^cyan;%s^reset; to clipboard", getItemName(item))
+ local message = "^#f00;Failed to write to clipboard^reset;"
+ if clipboard.setText(sb.printJson(item, 2)) then
+ message = string.format("Copied ^cyan;%s^reset; to clipboard", getItemName(item))
+ end
interface.queueMessage(message, 4, 0.5)
end
local function pasteItem()
- if player.swapSlotItem() then return end
+ if not clipboard.available() then
+ return interface.queueMessage("^#f00;Clipboard unavailable^reset;", 4, 0.5)
+ end
+ local swap = player.swapSlotItem()
local data = getClipboardText()
if not data then return end
@@ -38,6 +43,13 @@ local function pasteItem()
if not success then
popupError("Error parsing clipboard item", result)
else
+ if swap then
+ if swap.name == result.name and sb.jsonEqual(swap.parameters, result.parameters) then
+ result.count = (tonumber(result.count) or 1) + (tonumber(swap.count) or 1)
+ else
+ return interface.queueMessage("^#f00;Cursor is occupied^reset;", 4, 0.5)
+ end
+ end
local success, err = pcall(player.setSwapSlotItem, result)
if not success then popupError("Error loading clipboard item", err)
else