.lua [APENAS TFS 1.x] Fabrica de Script
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por FeeTads
salve rapaziada, estou fazendo uma quest no meu OT que é necessário faze-la durante 10 dias consecutivos, porém caso o player perca um dia, a storage da quest reseta.
Já tenho esses scripts prontos de 2 formas: global event que checa a storage de todos os player online no momento e caso ja tenha passado 24h ele tira a storage do player que está entre os 10 dias de quest.
E também tenho um creatureScript de onLogin() que quando o player loga, ele entra num loop de verificação a cada 60s
minha duvida: globalEvents vai checar todos os players online de uma só vez e fazer as alterações necessarias, isso pode lagar a distro, ou até mesmo crashar?
o creatureScript vai entrar num loop até o player deslogar, isso numa média de 250 pessoa são diversas verificações em momentos diferentes, pode acabar lagando ou crashando?
meu OT possui uma media de 300 pessoas online.
Script globalEvents é esse:
function onThink(interval, lastExecution)
local players = {}
local timer = os.time()
for _, pid in pairs (getPlayersOnline()) do
local storage = getPlayerStorageValue(pid, 1231234)
if getPlayerStorageValue(pid,888251) > 0 and getPlayerStorageValue(pid,888251) <= 9 then
if storage - timer <= 1 then
table.insert(players, pid)
end
end
end
if #players > 0 then
for i = 1, #players do
doPlayerSendTextMessage(players[i],22,"seu dano voltou ao normal por vc nao ter feito a quest!")
setPlayerStorageValue(players[i],888251,0)
end
end
return true
end
Script do Creature é esse:
local storage = getPlayerStorageValue(cid,1231234)
function checkStorage(cid) local timer = os.time()
if not isPlayer(cid) then return true end
if getPlayerStorageValue(cid,888251) > 0 and getPlayerStorageValue(cid, 888251) <= 9 then
if storage - timer <= 1 then
setPlayerStorageValue(cid,888251,0)
end
end
addEvent(function()
checkStorage(cid)
end, 60000)
end
function onLogin(cid)
checkStorage(cid)
return true
end
function onLogout(cid)
stopEvent(checkStorage[cid])
return true
end
caso os códigos nao estejam legiveis me avisem como arrumar em .lua pf
se quiserem usar os códigos podem usar a vontade kkkkkkk
-
Por llucas75
Oi tudo bem galera do tk?
Eu estava modificando um script de potion de exp ai estava colocando por player ganhar tal storage quando bebesse a pot, e quando o efeito acabasse ele perdesse o storage(tudo no script esta funcional menos a parte de perder o storage)
Script expo.lua
Se alguem souber pq o storage não volta pro 0 ao acabar o tempo eu agraceço.
-
Por softanon
Olá pessoas e Humanos,
estou aqui para pedir suporte sobre um bug que apareceu no meu servidor cyan 2.0 by senhor H simplesmente do nada postarei prints abaixo
Hidden Content
Give reaction to this post to see the hidden content.
Hidden Content
Give reaction to this post to see the hidden content.
quando eu tento logar em alguma conta:
Hidden Content
Give reaction to this post to see the hidden content.
Se alguem poder me dar suporte agradeço desde já
(se estiver na areá errada me desculpe essa é minha primeira postagem)
-
Por Amorpornto
Ola galera do tk desculpe se eu estiver criando o topico na area errada pois estou meio confuso ainda.
Então galera eu sou novo nessas coisas e queria entender um pouco sobre as spells/script/algunsjutsus do meu servidor.
então galera eu queria entender o seguinte se tem como eu colocar um delay quando o effect 359 sair, no meu caso é um meteoro e quando o effect do meteoro aparece ele ja deu o dano no target, se alguem poder me ajudar eu queria colocar um delay nele que so pra quando o meteoro bater no chão dar o dano. uma coisa que eu observei é que ali no distanceeffect eu tenho q colocar uma que n existe para n ter uma distanceeffect a+, eu ja mudei uma vez para effect só que o meteoro precisa ser adicionada uma position que no caso é x+1 precisa andar 1 sqm para a direita pra ficar perfeitinho, os outros effects são um susano no player e uma explosão no target, pra deixar bem claro eu quero deixar no estilo do jutsu do madara do ntoultimate , tfs 0.3.6, a seguir o script:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 42)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -150.3, 1, -153.3, 1)
function onCastSpell(cid, var)
local waittime = 4 -- Tempo de exhaustion
local storage = 115818
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
local position2 = {x=getCreaturePosition(cid).x+3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local position3 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 359)
doSendMagicEffect(position2, 310)
doSendMagicEffect(position3, 250)
exhaustion.set(cid, storage, waittime)
return doCombat(cid, combat, var)
end
-
Por thelifeofpbion
Bom Tenho essa serie de comandos de if, preciso de um if pra saber se a pessoa ta dentro do templo ou alguma area protection zone, como faço?
if (configs.premmy) and not(isPremium(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You must have a premium account to use this system.") end if (getPlayerLevel(cid) < configs.level) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce deve ter pelo menos nivel " .. configs.level .. " para usar esse sistema.") end if not(isInArray(funcs, param)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce digitou uma opcao invalida, para obter ajuda digite ".. words .. " help.") end if (param == "on") then if (getCreatureCondition(cid, CONDITION_INFIGHT)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce nao pode ativar o sistema com fight.") end
-
-
Estatísticas dos Fóruns
96849
Tópicos519613
Posts
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.