Tenho este script de teleport por tempo, porem queria que só pudesse usar ele numa determinada pos (configuravel).
ex position errada: voce precisa estar dentro da quest para usar este comando.
manda o script
Meu Facebook
INFOS:
CitarCIDADE: Rio de janeiro
Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Em 23/03/2022 em 10:22, Marshmello disse:manda o script
Citarlocal quests = { ["vipquest"] = { min_level = 500, enter_pos = {x = 1283, y = 191, z = 7}, area = {fromPos = {x = 1263, y = 245, z = 7}, toPos = {x = 1525, y = 143, z = 7}}, time_to_finish = {15, "min"}, time_to_make_again = {15, "min"} -- }, -- ["dragon"] = { -- min_level = 10, -- enter_pos = {x = 1, y = 1, z = 1}, -- area = {fromPos = {x = 1, y = 1, z = 1}, toPos = {x = 1, y = 1, z = 1}}, -- time_to_finish = {10, "min"}, -- time_to_make_again = {1, "hour"} } } local time_storage = 87871 -- só modifique se necessário function onSay(cid, words, param, channel) local param, p, check = param:lower(), getPlayerPosition(cid), false if not param or param == "" then local str, n = '~~ [Available Quests] ~~\n\n', 1 for quest, info in pairs(quests) do str = str .. n .. " - " .. Fupper(quest) .. " (Level: "..info.min_level..")\n" n = n + 1 end doShowTextDialog(cid, 1955, str) return true end local t = quests[param] if not t then return doPlayerSendCancel(cid, "Quest not found.") end if getPlayerLevel(cid) < t.min_level then return doPlayerSendCancel(cid, "Only players level "..t.min_level.." or higher can go the "..param.." quest.") end if isInRange(p, t.area.fromPos, t.area.toPos) then return doPlayerSendCancel(cid, "You are already inside the "..param.." quest area.") end for quest, info in pairs(quests) do if isInRange(p, info.area.fromPos, info.area.toPos) then check = true end end if check then return doPlayerSendCancel(cid, "You cannot go to another quest inside a quest.") end local stor = getPlayerStorageValue(cid, time_storage) if stor > os.time() then return doPlayerSendCancel(cid, "Voce so podera entrar novamente na quest "..os.date("%d %B %Y %X", stor)..".") end doSendMagicEffect(p, CONST_ME_POFF) local destination = t.enter_pos doTeleportThing(cid, destination) doSendMagicEffect(destination, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Good luck in "..param.." quest! You have "..getStrTime(t.time_to_finish).." to finish or you will be kicked.") setPlayerStorageValue(cid, time_storage, mathtime(t.time_to_make_again) + os.time()) addEvent(function() if isPlayer(cid) then if isInRange(getPlayerPosition(cid), t.area.fromPos, t.area.toPos) then doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doSendMagicEffect(temple, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Your time is over!") end end end, mathtime(t.time_to_finish) * 1000) return true end 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 getStrTime(table) -- by dwarfer local unit = {["sec"] = "second",["min"] = "minute",["hour"] = "hour",["day"] = "day"} return tostring(table[1].." "..unit[table[2]]..(table[1] > 1 and "s" or "")) end function Fupper(str) return (str:gsub("^%l", string.upper)) end
Citarlocal quests = {
["vipquest"] = {
min_level = 500,
enter_pos = {x = 1283, y = 191, z = 7},
area = {fromPos = {x = 1263, y = 245, z = 7}, toPos = {x = 1525, y = 143, z = 7}},
time_to_finish = {15, "min"},
time_to_make_again = {15, "min"}
-- },
-- ["dragon"] = {
-- min_level = 10,
-- enter_pos = {x = 1, y = 1, z = 1},
-- area = {fromPos = {x = 1, y = 1, z = 1}, toPos = {x = 1, y = 1, z = 1}},
-- time_to_finish = {10, "min"},
-- time_to_make_again = {1, "hour"}
}
position = {x = 1038, y = 1043, z = 7} -- Posição que o Player precisa para usar o comando
}local time_storage = 87871 -- só modifique se necessário
function onSay(cid, words, param, channel)
local param, p, check = param:lower(), getPlayerPosition(cid), false
if not param or param == "" then
local str, n = '~~ [Available Quests] ~~\n\n', 1
for quest, info in pairs(quests) do
str = str .. n .. " - " .. Fupper(quest) .. " (Level: "..info.min_level..")\n"
n = n + 1
end
doShowTextDialog(cid, 1955, str)
return true
end
local t = quests[param]
if not t then
return doPlayerSendCancel(cid, "Quest not found.")
end
if getPlayerLevel(cid) < t.min_level then
return doPlayerSendCancel(cid, "Only players level "..t.min_level.." or higher can go the "..param.." quest.")
end
if isInRange(p, t.area.fromPos, t.area.toPos) then
return doPlayerSendCancel(cid, "You are already inside the "..param.." quest area.")
end
for quest, info in pairs(quests) do
if isInRange(p, info.area.fromPos, info.area.toPos) then
check = true
end
end
if check then
return doPlayerSendCancel(cid, "You cannot go to another quest inside a quest.")
end
local stor = getPlayerStorageValue(cid, time_storage)
if stor > os.time() then
return doPlayerSendCancel(cid, "Voce so podera entrar novamente na quest "..os.date("%d %B %Y %X", stor)..".")
end
if getCreaturePosition(cid).x == quests.position.x and getCreaturePosition(cid).y == quests.position.y and getCreaturePosition(cid).z == quests.position.z thendoSendMagicEffect(p, CONST_ME_POFF)
local destination = t.enter_pos
doTeleportThing(cid, destination)
doSendMagicEffect(destination, CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Good luck in "..param.." quest! You have "..getStrTime(t.time_to_finish).." to finish or you will be kicked.")
setPlayerStorageValue(cid, time_storage, mathtime(t.time_to_make_again) + os.time())
addEvent(function()
if isPlayer(cid) then
if isInRange(getPlayerPosition(cid), t.area.fromPos, t.area.toPos) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
local temple = getTownTemplePosition(getPlayerTown(cid))
doTeleportThing(cid, temple)
doSendMagicEffect(temple, CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Your time is over!")
end
end
end, mathtime(t.time_to_finish) * 1000)
else
doPlayerSendTextMessage(cid, 25, "wrong position")
end
return true
endfunction 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.")
endfunction getStrTime(table) -- by dwarfer
local unit = {["sec"] = "second",["min"] = "minute",["hour"] = "hour",["day"] = "day"}
return tostring(table[1].." "..unit[table[2]]..(table[1] > 1 and "s" or ""))
endfunction Fupper(str)
return (str:gsub("^%l", string.upper))
end
Meu Facebook
INFOS:
CitarCIDADE: Rio de janeiro
Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Em 25/03/2022 em 00:33, Marshmello disse:
Dei Rep Ai De Agradecimento Não Havia Testado Ainda O Script, Fui Testar Agora E Ele Não Está Funcionando, Tipo O Script Parou Simplesmente
A Tfs É 0.4