-- Дефолтная программа вышки с якорями function onTowerScan(towerData) local isShieldsEnabled = towerData.ShieldsMode local isSoundsEnabled = towerData.Sounds local isPingsEnabled = towerData.PingEffects local isDangerEnabled = towerData.DangerMode local towerLoc = towerData.Location local pingLoc = towerData.PingLocation local players = towerLoc:find_players(15) local shieldsText = isShieldsEnabled:bool_condition(" &9[ЩИТЫ ПОДКЛЮЧЕНЫ]&a]", "&a]") if isDangerEnabled == true then print("actionbar", "&c⚠ Аварийный режим включен ⚠", players) -- Отправляем в actionbar сообщение if isSoundsEnabled == true then playsound(towerLoc, "block\pnote_block\pbit", 0) -- Издаем звук end return "CANCELLED" -- Отменяем событие, чтобы скан не происходил end print("actionbar","&a[Сканирование\p\p\p" .. shieldsText, players) -- Если щиты включены, добавляем надпись об этом if isSoundsEnabled == true then playsound(towerLoc, "buster_lor\panchor\pbeep", 1, 1, "master", true) end if isPingsEnabled == true then pingEffect(towerLoc:add(0, 1, 0), "&c") pingEffect(pingLoc, "&f") end end function onTowerScanResults(towerData) local ResultPlayers = towerData.Results.Players local ResultEntities = towerData.Results.Entities local ResultDangers = towerData.Results.Dangers local frequency = towerData.Frequency -- Частота local isShieldsEnabled = towerData.ShieldsMode local isSoundsEnabled = towerData.Sounds local isPingsEnabled = towerData.PingEffects local towerLoc = towerData.Location local pingLoc = towerData.PingLocation local soundButton = towerData.Buttons.Sound local reloadButton = towerData.Buttons.Reload local pingButton = towerData.Buttons.Ping local players = towerLoc:find_players(15) local shieldsTextGreen = isShieldsEnabled:bool_condition(" &9[ЩИТЫ ПОДКЛЮЧЕНЫ]&a]", "&a]") local shieldsTextRed = isShieldsEnabled:bool_condition(" &9[ЩИТЫ ПОДКЛЮЧЕНЫ]&c]", "&c]") if #ResultDangers == 0 then print("actionbar","&a[Угроз нет" .. shieldsTextGreen, players) else print("actionbar","&c[Обнаружено " .. #ResultDangers .. "&c угроз" .. shieldsTextRed, players) end if isSoundsEnabled == true then playsound(towerLoc, "buster_lor\panchor\pboop", 1, 1, "master", true) end if isPingsEnabled == true then pingEffect(pingLoc, "&b") end createClickCommand(playersCommand, context_player, function () print("chat", "\n&9Игроки\c\n&r ●&9 " .. ResultPlayers:separated_by('\v '), context_player) playsound(context_player, 'ui.button.click') end) createClickCommand(entitiesCommand, context_player, function () print("chat", "\n&bСущности\c\n&r ●&b " .. ResultEntities:separated_by('\v '), context_player) playsound(context_player, 'ui.button.click') end) createClickCommand(dangersCommand, context_player, function () print("chat", "\n&cУгрозы\c\n&r ●&c " .. ResultDangers:separated_by('\v '), context_player) playsound(context_player, 'ui.button.click') end) local playersButton = '[⛏ Игроки (' .. #ResultPlayers .. ')]' local playersButton = playersButton:on_click(playersCommand):on_hover('&9Нажмите, чтобы\nпосмотреть игроков') local entitiesButton = '[⚓ Сущности (' .. #ResultEntities .. ')]' local entitiesButton = entitiesButton:on_click(entitiesCommand):on_hover('&bНажмите, чтобы\nпосмотреть сущностей') local dangersButton = '[⚠ Угрозы (' .. #ResultDangers .. ')]' local dangersButton = dangersButton:on_click(dangersCommand):on_hover('&cНажмите, чтобы\nпосмотреть угрозы') local message_line1 = '\n\n&6 Отчет сканирования (' .. frequency ..')\c' local message_line2 = '\n&r &9' .. playersButton local message_line3 = '\n&r &b' .. entitiesButton local message_line4 = '\n&r &c' .. dangersButton .. "\n\n" local buttons = " " .. soundButton .. " " .. pingButton .. " " .. reloadButton .. "\n\n" print("chat", message_line1 .. message_line2 .. message_line3 .. message_line4 .. buttons, players) end function onTowerMessage(towerData) print("actionbar", "&c" .. towerData.Error, towerData.Location:find_players(15)) playsound(towerData.Location, "block\pnote_block\pbit", 2) end function onAnchorPings(towerData) local isSoundsEnabled = towerData.Sounds local isPingsEnabled = towerData.PingEffects local towerLoc = towerData.Location local pingLoc = towerData.PingLocation local players = towerLoc:find_players(15) print("actionbar", "&a[Пинг якорей\p\p\p]", players) if isSoundsEnabled == true then playsound(towerLoc, "buster_lor\panchor\pbeep", 1, 1, "master", true) end if isPingsEnabled == true then pingEffect(towerLoc:add(0,1,0), "&c") pingEffect(pingLoc, "&f") end end function onAnchorPingResults(towerData) local isSoundsEnabled = towerData.Sounds local isPingsEnabled = towerData.PingEffects local towerLoc = towerData.Location local pingLoc = towerData.PingLocation local anchors = towerData.Anchors local players = towerLoc:find_players(15) if isSoundsEnabled == true then playsound(towerLoc, "buster_lor\panchor\pboop", 1, 1, "master", true) end if isPingsEnabled == true then pingEffect(pingLoc, "&b") end print("actionbar", "&a[Ответ получен]", players) print("chat", "\n&6 Результат пингов\c\n &dУстройства (" .. #anchors .. ")\c", players) local i = 0 for anchor in anchors do local i = i:add(1) if anchor.Cracked == true then print("chat", "&f - &cЯкорь #" .. i .. " &c⚠ " .. anchor.Code .. " &c(" .. anchor.Shift .. "&c)", players) else print("chat", "&f - &6Якорь #" .. i, players) end print("actionbar", "&a[Пакет получен\v отправка ответа\p\p\p]", anchor.Location:find_players(15)) playsound(anchor.Location, "buster_lor\panchor\pboop", 1, 1, "master", true) pingEffect(anchor.Location, "&b") end print("chat", "\n", players) end