Ir para conteúdo

luangop

Membro
  • Registro em

  • Última visita

Tudo que luangop postou

  1. O motivo é que usando doSendAnimatedText tem aquele limite pequeno de caracteres.
  2. Então como comigo funcionou? Mas, para evitar problemas, vou diminuir no tópico. Obrigado por avisar.
  3. Tem certeza disso? Pois usei exatamente esse Unique no meu servidor e funcionou rsrs
  4. Ótimo conteúdo! Gostei do sistema. Apenas uma dúvida: Pq declarar dofile('data/lib/DUCA.lua') ? Meu servidor tem sistemas que eu mesmo fiz, com arquivos em lib para melhor configuração e nunca declarei nada assim. Uso TFS 0.4 rev 3777
  5. Olá. Primeiramente quero dizer que este será meu primeiro post de conteúdo no fórum, logo se houver erros me desculpem É o seguinte, fiz esse script para ajudar em um pedido na área de suporte, e achei ser muito útil para muita gente, logo vim postar. Bom, vamos ao que interessa: data/movements movements.xml 17456 = Este será o UniqueID para botar no tile pelo RME. Data/movements/scripts crie um arquivo tilel.lua (Sim, nome feio eu sei, faltou criatividade rsrs) getPlayerStorageValue(cid, 84453) = É a função para verificar quantos resets tem, o número 84453 vai variar de acordo com seu sistema de reset. Basta pegar a storage que armazena a quantia de resets. Caso seu sistema armazene os resets por database, provavelmente nos scripts do sistema já existe uma função para ver quantos resets tem, basta botar a função no lugar de getPlayerStorageValue(cid, 84453). Agora a parte mais interessante desse sistema, você vai criar apenas esse script, e vai poder usar em quantos tiles quiser, para verificar diferentes quantias de reset. Pois o número de resets para passar pelo tile, será o número que você botar em ActionID no tile pelo RME. Ãn? Exato, basta ir no RME, no tile desejado em ActionID digite quantos resets o player deverá ter para passar, e em uniqueID bote 17456. (Ou o número que você botou no movements.xml, caso tenha usado diferente de como botei la em cima.) Pode aparecer erros no distro na hora de abrir o server, acusando UniqueID repetido, mas pode ignorar, não vai afetar em nada. Faz parte do sistema. É isso, espero que seja útil para alguém!
  6. Data/movements/scripts crie um arquivo resetsneeded.lua function onStepIn(cid, item, pos, fromPos) local resets = getPlayerReset(cid) if tonumber(resets) and resets < item.actionid then doCreatureSay(cid, "Esta area e exclusiva para players com ".. item.actionid .." resets ou mais.", TALKTYPE_ORANGE_1) doTeleportThing(cid,fromPos) else doCreatureSay(cid, "Acesso liberado.", TALKTYPE_ORANGE_1) return true end end data/movements movements.xml <movevent type="StepIn" uniqueid="84447" event="script" value="resetsneeded.lua"/> No map editor, basta botar Unique ID 84447 no tile, e em ActionID bote a quantia de resets necessário para passar. Pode fazer em quantos tiles quiser, usando a mesma uniqueID, botando apenas o numero de reset necessário no lugar de ActionID no map editor, sem ter que editar script algum.
  7. Consegui dessa forma: function onUse(cid, item, frompos, item2, topos) local bau = item.uid if getPlayerStorageValue(cid, 84456) <= os.time() then doAddContainerItem(bau, 2160, 1) setPlayerStorageValue(cid, 84456, os.time() + 30) end end Usei storage apenas para dar um tempo de 30 segundos entre criação do item, assim se o player abrir e fechar o bau, vai achar que o item aparece apenas de tempo em tempo, você pode criar mais quests assim e usar a mesma storage que não vai interferir, já que será pouco provável ele ir de uma quest até a outra em menos de 30 segundos. (Me surpreendi comigo mesmo, nem sabia que isso era possível, estudei alguns scripts e consegui rs)
  8. luangop postou uma resposta no tópico em Suporte Tibia OTServer
    Teste o login.lua Quanto ao monstro 'Rattata Destruidor' faça o seguinte: Data/world/ abra seu arquivo de spawn (veja no seu config.lua qual o nome do mapa, ai vai ter o nome do mapa-spawn.xml) Nesse arquivo, dê CTRL+F e procure por 'Rattata Destruidor' Vai encontrar algo tipo isso: Apague tudo des de '<spawn' até '</spawn>' Pronto.
  9. Bom, pro item 'nascer' dentro do baú, basta botar pelo RME, porém você precisaria de um script para dar 'respawn' desse item dentro do baú. Infelizmente não conheço meio de fazer isso.
  10. Neste link, nosso membro Vankk está oferecendo suporte grátis a TFS 1.x. Tente perguntar isso lá. Não te ajudo pois nunca trabalhei com TFS1.x e não sei como funciona esse sistema de ingame store.
  11. luangop postou uma resposta no tópico em Suporte Tibia OTServer
    A meu ver, apenas um return onde não deve. Teste: local coins = 25 -- quantidade de coins local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local price = 3000000 --Preço das coins em GOLD. if msgcontains(msg:lower(), "coins") then selfSay("Deseja comprar 25 tibia coins por 300 {crystal coins}?", cid) talkState[talkUser] = 1 elseif msgcontains(msg:lower(), "yes") and talkState[talkUser] == 1 then if doPlayerRemoveMoney(cid, price) then db.query("UPDATE `accounts` SET `coins` = `coins` + '" ..coins.. "' WHERE `id` = '" .. player:getAccountId() .. "';") selfSay("Você recebeu 25 tibia coins.", cid) talkState[talkUser] = 0 return true else selfSay("Você não tem dinheiro suficiente.", cid) talkState[talkUser] = 0 return true end elseif msgcontains(msg:lower(), "no") and talkState[talkUser] == 1 then selfSay("Ok, até logo.", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Explicação: O return se usa no final de uma ação, como você botou 'return true' logo depois do player falar coins, o TFS já encerrou o script.
  12. Não, isso ai não tem relação ao que você quer.
  13. Bom, se fazem uma bagunça dessa no servidor só lamento, terá que olhar script por script pra saber qual o responsável pelo death list, já que não da pra confiar no nome do script.
  14. Eu duvido muito disso kkk so se mudaram o script original. Posta de qualquer forma.
  15. Posta o death_list.lua
  16. Dai fica difícil ajudar... Procure no seu creaturescripts.xml por algum script Ondeath ou Onpreparedeath, e veja se tem relação a isso. Ou melhor, posta ai seu creaturescripts.xml
  17. luangop postou uma resposta no tópico em Suporte Tibia OTServer
    Se você mexe nessa função e não mudou nada, significa que ela foi desativada e esta configurado em outro lugar. Manda seu script de go/back, se tiver LIB de go/back manda também.
  18. Seria muito útil você postar o script que envia a informação das mortes para o site...
  19. luangop postou uma resposta no tópico em Suporte Tibia OTServer
    @Gustavo Ntos Partilha o pão ai, como faz pra aumentar o atk speed pelo fishing skill?
  20. Testei aqui e funcionou perfeitamente. Verifique se fez certo na tag do actions.xml A minha ficou assim: <action itemid="2553" event="script" value="shiny stone.lua"/>
  21. edited--- Consegui resolver, tirei os getPlayerStorageValue(cid, aurastr)==2 que faziam a checagem no final do script, antes de iniciar o loop novamente, e botei essa checagem no inicio do event, mais ou menos dessa forma: function efeitosAura(i,tm,cid) if isPlayer(cid) and getPlayerStorageValue(cid, aurastr)==2 then FUNÇÃO DA FUNCTION return true end end Obrigado pela ajuda! =)
  22. Olá, primeiramente estou usando: TFS 0.4 rev3777 Seguinte, implantei no meu servidor um sistema de aura, que nem lembro onde achei. Ele funciona perfeitamente, porém se o player esta com a aura ativa e desloga, apresenta esses erros no distro: Segue meu script: Obs: Já tentei fazer um creaturescript OnLogout usando stopEvent(efeitosAura) e não funcionou.
  23. Se os capturados tem level, então os selvagens também tem... apenas esta oculto visivelmente.
  24. Cara, se quer mesmo ajuda, tenha a decência de ao menos postar o script direito, e não por print.
  25. <action itemid="ID_DA_PICK" event="script" value="NOME_DO_SCRIPT.lua"/>

Informação Importante

Confirmação de Termo