- Баллы
- 123
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.


, только скрипт о том что "цени свою жизнь" без таймера... только умер, тебя выбросило с причиной цени свою жизнь, и тут же можно заходить.все теперь все работает отлично, только скрипт о том что "цени свою жизнь" без таймера... только умер, тебя выбросило с причиной цени свою жизнь, и тут же можно заходить.
Если говорить о прорисовке, то такой скрипт был бы ОЧЕНЬ крутой, и ОЧЕНЬ удобный!!!
кстати, а вообще реально ли сделать что-то с прорисовкой не выключая сервер?
Не соглашусь.Это можно реализовать с помощью своей системы подгрузки и выгрузки чанков.вроде нельзя, т.к. нужен рестарт после изменения дальности прорисовки.
-- время в секундах
local DeadTime = 120
local DeadMessage = "Цени свою жизнь"
local filedir = BASEdir.."scripts\\DeadOrLive\\"
function onDeath(event)
local player = event:getEntity()
if (assistant:isPlayer(player)) then
if (player:hasPermission("deadorlive.off")) then return
else
local name = player:getName()
local file = io.open(filedir..name, "w+")
if (file == nil) then
os.execute("mkdir "..filedir)
file = io.open(filedir..name, "w+")
end
local now = math.floor(os.time()/1000) --fix for luaj os.time return as 'ms'
file:write(now)
file:close()
-- через 1 секунду после смерти выкинуть игрока из игры. сделано, что остальные плагины обработали событие onEntityDeath
dispatcher:scheduleAsyncDelayedTask((function()
player:performCommand("spawn") -- выполняем команду /spawn от имени игрока, т.е. телепортируем его на Spawn
player:kickPlayer(DeadMessage);
end), 20)
return
end
end
end
dispatcher:registerListener(MC_EVENT_ENTITY_DEATH, onDeath)
function onLogin(event)
local player = event:getPlayer()
local name = player:getName()
local file = io.open(filedir..name)
--logger:info(tostring(player:hasPermission("deadorlive.off")))
--player:loadData()
--logger:info(tostring(player:hasPermission("deadorlive.off")))
if (file) then
local DeathTime = file:read('*l')
file:close()
local now = math.floor(os.time()/1000) --fix for luaj os.time return as 'ms'
local canEnter = (now > DeathTime + DeadTime)
if (canEnter) then
os.remove(filedir..name)
else
local PlayerLoginEvent_Result = luajava.newInstance("org.bukkit.event.player.PlayerLoginEvent",player):getResult()
local result = PlayerLoginEvent_Result:valueOf("KICK_OTHER")
-- timeleft - сколько осталось времени пока можно войти в секундах
local timeleft = (DeathTime + DeadTime - now)
local timeleft_preffix = " осталось "
local timeleft_suffix = "сек"
event:disallow(result,DeadMessage..timeleft_preffix..timeleft..timeleft_suffix)
end
end
end
dispatcher:registerListener(MC_EVENT_PLAYER_LOGIN, onLogin)