Ir para conteúdo
  • Cadastre-se
  1. Augusto

    Augusto

  2. ViitinG

    ViitinG

  3. Cat

    Cat

  • 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


       
      quando eu tento logar em alguma conta:

       
       
       
      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  
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo