• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

convert my script

jel

Member
Joined
Mar 22, 2014
Messages
302
Reaction score
12
please convert these scripts to tfs 1.3
I am grateful


-- Config # --
local areafrom = {x = 695, y = 104, z = 8} -- ENTRADA from
local areato = {x = 706, y = 115, z = 8} -- ENTRADA to
local pos_exit = {x = 708, y = 110, z = 8} -- POS SAIDA
local pos_entrance = {x = 706, y = 110, z = 8} -- POS ENTRADA

local global_stor = 30058
local player_stor = 45327

local timetokick_free = {60, "min"} -- tempo
local timetokick_vip = {90, "min"} -- tempo
-- END --

local function convertTime(a)
if(type(tonumber(a)) == "number" and a > 0) then
if (a <= 3599) then
local minute = math.floor(a/60)
local second = a - (60 * minute)
if(second == 0) then
return ((minute)..((minute > 1) and " minutos" or " minuto"))
else
return ((minute ~= 0) and ((minute>1) and minute.." minutos e " or minute.." minuto e ").. ((second>1) and second.." segundos" or second.." segundo") or ((second>1) and second.." segundos" or second.. " segundo"))
end
else
local hour = math.floor(a/3600)
local minute = math.floor((a - (hour * 3600))/60)
local second = (a - (3600 * hour) - (minute * 60))
if (minute == 0 and second > 0) then
return (hour..((hour > 1) and " horas e " or " hora e "))..(second..((second > 1) and " segundos" or " segundo"))
elseif (second == 0 and minute > 0) then
return (hour..((hour > 1) and " horas e " or " hora e "))..(minute..((minute > 1) and " minutos" or " minuto"))
elseif (second == 0 and minute == 0) then
return (hour..((hour > 1) and " horas" or " hora"))
end
return (hour..((hour > 1) and " horas, " or " hora, "))..(minute..((minute > 1) and " minutos e " or " minuto e "))..(second..((second > 1) and " segundos" or " segundo"))
end
end
end

local function doRemoveMonstersInArea(from, to)
for x = from.x, to.x do
for y = from.y, to.y do
local pos = {x=x, y=y, z = from.z}
local m = getTopCreature(pos).uid
if m > 0 and isMonster(m) then
doRemoveCreature(m)
end
end
end
end

local function getPlayersInArea(fromPos, toPos)
local cave_exc_players = {}
for _, pid in ipairs(getPlayersOnline()) do
if isInRange(getPlayerPosition(pid), fromPos, toPos) then
table.insert(cave_exc_players, pid)
end
end

return cave_exc_players
end

local function kickPlayerFromArea(cid, p)
for _, pid in ipairs(getPlayersOnline()) do
if isPlayer(pid) and isInRange(getPlayerPosition(pid), p[1], p[2]) then
doTeleportThing(pid, p[3])
doSendMagicEffect(p[3], CONST_ME_TELEPORT)
doCreatureSay(pid, 'You were kicked out of the room.', TALKTYPE_ORANGE_1)
end
end
end

local function mathtime(table) -- by dwarfer
local unit = {"sec", "min", "hour", "day"}
for i, v in pairs(unit) do
if v == table[2] then
return table[1](60^(v == unit[4] and 2 or i-1))(v == unit[4] and 24 or 1)
end
end

return error("Bad declaration in mathtime function.")
end

function onUse(cid, item, frompos, item2, topos)
local check_player = getPlayersInArea(areafrom, areato);

if getGlobalStorageValue(cid, global_stor) - os.time() <= 0 and getPlayerStorageValue(cid, player_stor) - os.time() > 0 then
doPlayerSendTextMessage(cid, 27, "Infelizmente o servidor deu SaveServer ou caiu e você perdeu sua Cave Exclusiva. Lamentamos muito o ocorrido, aguarde ".. convertTime(getPlayerStorageValue(cid, player_stor) - os.time()) .." para acessar alguma Cave Exclusiva novamente.")

elseif getGlobalStorageValue(cid, global_stor) - os.time() > 0 and getPlayerStorageValue(cid, player_stor) - os.time() <= 0 then
if #check_player > 0 then
doPlayerSendTextMessage(cid, 27, "Possui um jogador nesta Cave Exclusiva. Aguarde ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".")
else
doPlayerSendTextMessage(cid, 27, "Esta Cave Exclusiva está ocupada, o jogador não se encontra nela no momento, mas pode voltar. Aguarde ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".")
end

elseif getGlobalStorageValue(cid, global_stor) - os.time() > 0 and getPlayerStorageValue(cid, player_stor) - os.time() > 0 then
if #check_player > 0 then
doTeleportThing(cid, pos_exit)
doSendMagicEffect(getCreaturePosition(cid), 12)
doPlayerSendTextMessage(cid, 27, "Você saiu da Cave Exclusiva. Você ainda possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".")
return true
else
doTeleportThing(cid, pos_entrance)
doSendMagicEffect(getCreaturePosition(cid), 12)
doPlayerSendTextMessage(cid, 27, "Você entrou na Cave Exclusiva. Você ainda possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".")
return true
end

elseif getGlobalStorageValue(cid, global_stor) - os.time() <= 0 and getPlayerStorageValue(cid, player_stor) - os.time() <= 0 and getPlayerItemCount(cid, 12707) >= 1 then
if getPlayerStorageValue(cid, 45343) - os.time() > 0 then
doPlayerSendTextMessage(cid, 27, "Você já possui uma Cave Exclusiva. Só pode haver 1 Cave Exclusiva por personagem.")
return true
end

if doPlayerRemoveItem(cid, 12707, 1) then
if isPremium(cid) then
setGlobalStorageValue(cid, global_stor, os.time()+90*60)
setPlayerStorageValue(cid, player_stor, os.time()+90*60)
setPlayerStorageValue(cid, 45343, os.time()+90*60)
addEvent(kickPlayerFromArea, mathtime(timetokick_vip) * 1000, cid, {areafrom, areato, pos_exit})
else
setGlobalStorageValue(cid, global_stor, os.time()+60*60)
setPlayerStorageValue(cid, player_stor, os.time()+60*60)
setPlayerStorageValue(cid, 45343, os.time()+60*60)
addEvent(kickPlayerFromArea, mathtime(timetokick_free) * 1000, cid, {areafrom, areato, pos_exit})
end
doRemoveMonstersInArea(areafrom, areato)
doTeleportThing(cid, pos_entrance)
doSendMagicEffect(getCreaturePosition(cid), 12)
doPlayerSendTextMessage(cid, 27, "Você entrou na Cave Exclusiva. Você possui ".. convertTime(getGlobalStorageValue(cid, global_stor) - os.time()) ..".")
end
else
doPlayerSendTextMessage(cid, 27, "Você não possui o item.")
end
return true
end

local m_1 = {x=17024, y=16855, z=8}
local m_2 = {x=17031, y=16854, z=8}
local m_3 = {x=17024, y=16861, z=8}
local m_4 = {x=17030, y=16861, z=8}

function onUse(cid, item, frompos, itemEx, topos)

local ran_2 = math.random(1, 100)
local ran_3 = math.random(1, 100)
local ran_4 = math.random(1, 100)
if(itemEx.itemid == 9825) then
if getPlayerStorageValue(cid, 45315) <= 0 then -- QTD = 1
doCreateMonster("Cave Frost Dragon", m_1, false, true);
elseif getPlayerStorageValue(cid, 45315) == 1 then -- QTD = 2
if (ran_2 <= 85) then
doCreateMonster("Cave Frost Dragon", m_2, false, true);
end
doCreateMonster("Cave Frost Dragon", m_1, false, true);

elseif getPlayerStorageValue(cid, 45315) == 2 then -- QTD = 3
if (ran_2 <= 85) then
doCreateMonster("Cave Frost Dragon", m_2, false, true);
end
if (ran_3 <= 60) then
doCreateMonster("Cave Frost Dragon", m_3, false, true);
end
doCreateMonster("Cave Frost Dragon", m_1, false, true);

elseif getPlayerStorageValue(cid, 45315) == 3 then -- QTD = 4
if (ran_2 <= 85) then
doCreateMonster("Cave Frost Dragon", m_2, false, true);
end
if (ran_3 <= 60) then
doCreateMonster("Cave Frost Dragon", m_3, false, true);
end
if (ran_4 <= 50) then
doCreateMonster("Cave Frost Dragon", m_4, false, true);
end
doCreateMonster("Cave Frost Dragon", m_1, false, true);
end

doTransformItem(item.uid, 9826)
doDecayItem(item.uid)

elseif(itemEx.itemid == 9826) then
doPlayerSendCancel(cid, "Aguarde 15 segundos para usar novamente.")
end
return true
end
 
Back
Top