Ir para conteúdo

psychonaut

Membro
  • Registro em

  • Última visita

Tudo que psychonaut postou

  1. Pra que você quer fazer isso, mexer na conta é diferente os "scripts"
  2. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    local stor = 13540 -- storage function onUse(cid, item, fromPos, item2, toPos) if not hasVip(cid) then doTeleportThing(cid, fromPos) doSendMagicEffect(fromPos, CONST_ME_POFF) doPlayerSendCancel(cid, "You need vip account to pass.") end doSendMagicEffect(fromPos, CONST_ME_MAGIC_BLUE) local pos = getPlayerPosition(cid) if (toPos.y == ((pos.y)+1)) then doTeleportThing(cid, {x = pos.x, y = (pos.y)+2, z = pos.z}) else doTeleportThing(cid, {x = pos.x, y = (pos.y)-2, z = pos.z}) end return true end Testa
  3. De boa, qualquer duvida traz aí pro fórum, tem mt mais coisa pra melhorar a performance dos scripts, mas lua no geral é bem rápida então mt gente não da atenção pra isso. Ah e se tu quiser limpar o código, da pra reduzir mais tirando o else e colocando direto o if para caso não seja par. local mudarmana = { [0] = 2, [2] = 1.75, [4] = 1.50, [6] = x, } local i = getPlayerSkillLevel(cid,3) if (i % 2 ~= 0) then i = i + 1 end doCreatureAddMana(cid, mana/mudarmana[i]) Tem a função math.fmod() também que é semelhante ao % usado antes mas um pouco melhor porque funciona com floats, só que em algumas versões antigas é só math.mod() então não passo pros outros.
  4. Não tem como fazer menos se você precisa fazer algo, a menor distancia entre dois pontos é uma linha reta, então a melhor organização é usar a função mais adequada o possível, pra por exemplo, em vez de fazer duas ou três funções para um resultado, fazer uma só com a função certa(falando em funções do TFS). Nessa parte do código você já poderia ter usado elseif: Elseif pois lua não tem switch tipo o do C, algumas pessoas criam ela com caseof ou vararg, se tivessem varios elseif no código, seria melhor um function onUse(cid, item, frompos, item2, topos) if getPlayerSkillLevel(cid,3) <= 1 then doCreatureAddMana(cid, mana/2) elseif getPlayerSkillLevel(cid,3) == 1 or getPlayerSkillLevel(cid,3) == 2 then doCreatureAddMana(cid, mana/1.75) elseif getPlayerSkillLevel(cid,3) == 2 or getPlayerSkillLevel(cid,3) == 3 then doCreatureAddMana(cid, mana/1.50) elseif getPlayerSkillLevel(cid,3) == 3 or getPlayerSkillLevel(cid,3) == 4 then doCreatureAddMana(cid, mana/1.25) end end Caso tenha mais coisas no script. uma coisa que ajuda a limpar o código é criar funções, quando você vai repetir algo muitas vezes, é só usar a função em vez de escrever tudo de novo. Lua tem uma performance incrível, por isso que é bastante usada. Como não tem uma estrutura de repetição aí, não vejo notável diferença pra colocar a função getPlayerSkillLevel em uma variável local(local playerskilllevel = getPlayerSkillLevel(cid,3)), o que pode ser feito mas são poucos valores ali, mas se tivesse uma estrutura de repetição, você colocaria a função antes em uma variável. Os 3 R da reciclagem se aplicam em lua, reduza, reuse e recicle. Porém no seu caso, acho que a criação de uma formula seria melhor, mas você não poderia escolher um valor especifico para cada level. A sua formula teria que usar o getPlayerSkillLevel junto com outros valores para adicionar a mana. doCreatureAddMana(cid, (getPlayerMaxMana(cid) / 10) + (mana * ((getPlayerSkillLevel(cid,3) / alguma coisa)))) Esse é só um exemplo, não sei direito se você está usando um padrão, se quiser reduzir mesmo o script, vale a pena usar um, dá pra criar qualquer padrão, até usar alguns ifs pra isso. Essa aí do exemplo adiciona 10% da mana máxima do jogador + a mana que você colocou lá(100) * uma porcentagem do skill level ou alguma outra coisa, esse é só um exemplo. A solução pra mim então é, ou usar uma formula(aí não vai controlar os valores) ou reduzir usando uma alternativa pro switch pois a cadeia de comparação não é eficiente. Essa daí permite passar parâmetros no mudarmana[ ](parâmetro) por causa da função(é exemplo, tem que editar), você poderia remover pois não vai usar, mas pode usar se precisar colocar mais coisas. local valor local mudarmana = { [1] = 2, [2] = 1.75, [3] = 1.50, [4] = 1.25 } mudarmana[getPlayerSkillLevel(cid,3)] doCreatureAddMana(cid, mana/valor) Você pode repetir o mesmo valor pra 2 aí, ou então local mudarmana = { [0] = 2, [2] = 1.75, [4] = 1.50, [6] = x, } local i if (getPlayerSkillLevel(cid,3) % 2 == 0) then i = getPlayerSkillLevel(cid,3) else i = getPlayerSkillLevel(cid,3) + 1 end doCreatureAddMana(cid, mana/mudarmana[i]) Isso é pra somar um caso seja ímpar, pois não entendi muito bem, sua verificação tá meio bugada, maior ou igual a 0 ou menor ou igual a 1, seria 0 ou 1, o mesmo em seguida, 1 ou 2, então pra não repetir poderia verificar se é ímpar e somar 1, aí você só teria números pares, entãa só coloca números pares na tabela mudarmana com o valor, bom não sei se tá funcionando o script, foi só um exemplo. Tem varias outras maneiras só dar uma pesquisada, ah e a tabela ali fica fora da função onUse.
  5. Deve ser coisa do seu provedor da net sei lá, configuração do roteador no seu ip
  6. psychonaut postou uma resposta no tópico em Playground (Off-topic)
    capitalismo ta foda hj
  7. Tem que ir no RME, abrir o mapa e procurar os uniqueid duplicados, tem opção pra isso acho, aí é mudar ou remover Faz backup antes tb pq pode ser usado em quest etc
  8. Esqueci de troca os bagui kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
  9. psychonaut postou uma resposta no tópico em Formação de Equipe
    pode deletar ja
  10. psychonaut postou uma resposta no tópico em Playground (Off-topic)
    aushushsuhsushushushsu
  11. O site tem alguma configuração, da pra mandar aqui? E qual website é, mordernacc? Posta o creaturescripts/script firstitems ou login.lua se tiver, procura nas pastas
  12. No ip ali, é o ip da maquina, aquele ali vc só manda pros outros
  13. Testa ae, se não funcionar vai no Index.php, tem algo parecido com debug database, muda de 'false' pra 'true', ele vai printar os erros mysql no site, ai abre a pagina de novo e me manda, vlw gesior, c funfar tento arrumar pra pegar 1 valor só sem o foreach
  14. psychonaut postou uma resposta no tópico em Playground (Off-topic)
    baixa o adblock ahusuhuahu
  15. Não é a do tibia no momento não? Mt recente, de onde eu pego que sei que é seguro só tem até 11.20 por enquanto, o jeito é esperar ver se alguém tem aí ou algum site disponibilizar Esse é o link que uso https://drive.google.com/drive/folders/0B2-sMQkWYzhGSFhGVlY2WGk5czQ
  16. Vou baixar aqui amanhã ae posso testar pra fazer, é erro na query msm, não tá retornando. Editado dnv, testa ae Espera, como tá a coluna no banco, tá como int?
  17. Editei ve ai
  18. Tá aparecendo escrito Teste aí? Apareceu o msm erro dnv?
  19. ALELUIA UM ERRO, agora da pra tenta arruma ahsuashusahyu, o gesior tava escondendo msm
  20. Mt estranho, não mostra erro então ou os erros foram escondidos, ou a query não retornou nada. Coloquei testes pra ver se é coisa do css, e um código pra mostrar erros, tenta esse e me fala o resultado, é mais pra ter uma ideia do que ta acontecendo, também arrumei o php que tava no script original, não tava fechado a chave.
  21. Mas já teve alguma castle war? só vai funfar desde a data que pegou o script, não vai mostrar a guilda anterior, se já teve e msm assim não aparece, vai no banco, na tabela guilds e vê se alguma tem na coluna castleowner, marcado com 1, depois checo a estrutura do script Se alguma guilda já ganhou e não teve ainda, você pode editar ela no banco e colocar 1 no castle owner que é pra aparecer ali.
  22. Tentou com a classe?
  23. Você quer mudar o news ali? Tenta mudar nessa aqui: #ContentHelper { position: relative; font-size: 12pt !important; } Muda pro valor que você quer, se não funcionar manda o basic css ou ve no arquivo layouts/pasta do seu layout/layout.php qual classe tem o conteúdo que você quer mudar.
  24. Se for esse arquivo aqui, tenta assim

Informação Importante

Confirmação de Termo