Ir para conteúdo

Reds

Membro
  • Registro em

  • Última visita

Tudo que Reds postou

  1. vou postar o meu sistema que é relacionado a isso amanhã
  2. Reds postou uma resposta no tópico em Suporte Tibia OTServer
    instala o open ssl, talvez seja isso
  3. Reds postou uma resposta no tópico em Suporte & Pedidos
    pagar fiança
  4. pq você nao faz em lua mesmo?
  5. Olá, hoje estou trazendo um script de uma spell que uso no meu servidor. Quando o jogador utiliza, recupera mana a cada segundo, porém não pode se mover e caso leve algum dano a spell é cancelada. Adicionei também para que o jogador só possa utilizar a magia caso esteja com a condição "SOUL", então ele precisa ter matado algum monstro recentemente. Em spells crie um arquivo chamado rest.lua e coloque o seguinte: local config = { storage = 3482142, -- storage para verificar se a spell ta ativa antes de healar cooldownStorage = 3910229, --- storage do cooldown cooldown = 23, --- tempo entre um uso e outro duration = 6, --- duração effect = 12 -- efeito que sai ao falar a spell } function onCastSpell(cid, var) if getCreatureCondition(cid, CONDITION_SOUL) then if os.time() - getPlayerStorageValue(cid, config.cooldownStorage) >= 0 then setPlayerStorageValue(cid, config.storage, os.time() + config.duration) setPlayerStorageValue(cid, config.cooldownStorage, os.time() + config.cooldown) doSendMagicEffect(getCreaturePosition(cid), config.effect) doCreatureSay(cid,"Rest!!!", 19) for i=1,5 do addEvent(healMana, i * 1000, cid) end doCreatureSetNoMove(cid, true) addEvent(doCreatureSetNoMove, 5000, cid, false) return true else doPlayerSendCancel(cid, "Rest in cooldown, you must wait "..(-1 * (os.time() - getPlayerStorageValue(cid, config.cooldownStorage))).." seconds.") return false end else doPlayerSendCancel(cid, "You are not in fight") return false end end function healMana(cid) if getPlayerStorageValue(cid, config.storage) > 0 then local level = getPlayerLevel(cid) local extraMana = math.ceil(level/2) local manaToAdd = 50 + extraMana local maxMana = getCreatureMaxMana(cid) if (manaToAdd > math.ceil(maxMana / 10)) then manaToAdd = math.ceil(maxMana/10) end doCreatureAddMana(cid, manaToAdd) end end Em spells.xml coloque: <instant name="Rest" words="exura kor" lvl="35" manapercent="5" prem="1" range="4" exhaustion="2000" needlearn="0" event="script" value="rest.lua"> <vocation id="9"/> </instant> Em creaturescripts crie um arquivo chamado rest.lua e coloque: function onStatsChange(cid, attacker, type, combat, value) if value >= 1 and (type == STATSCHANGE_HEALTHLOSS) or (getCreatureCondition(cid, CONDITION_MANASHIELD) and type == (STATSCHANGE_MANALOSS)) then if (getPlayerStorageValue(cid,3482142) - os.time() > 0) and isCreature(attacker) then setPlayerStorageValue(cid, 3482142, -1) doCreatureSetNoMove(cid, false) return true end end return true end Adicione no creaturescript.xml <event type="statschange" name="sleepcancel" event="script" value="rest.lua"/> Agora para garantir que funcione é necessário adicionar no login.lua o creatureevent: registerCreatureEvent(cid, "rest") if getPlayerStorageValue(cid, 3482142) ~= 0 then setPlayerStorageValue(cid, 3482142, 0) end Se eu não esqueci de nada, é para funcionar, agora vou mostrar um gif da spell: https://giphy.com/gifs/5nrWO73TnLj4Bkra24 Sugestão: também é possível mudar o cálculo da cura utilizando um math.random, assim não fica valores estáticos.
  6. li que essa aqui é a melhor 0.4 para 8.6: https://tibiaking.com/forums/topic/9350-86x-tfs-04_dev-rev3884/
  7. Nos seus actions coloca esse código e configura no actions.xml pro item que você quer: local storage = 37483 function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got a storagevalue.") setPlayerStorageValue(cid, storage, 1) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You already clicked on this.") end return true end Depois abre a pasta XML e abre o arquivo outfits.xml e configura a outfit que você quer <outfit id="2" storageId="37483" storageValue="1"> <list name="Hunter" lookType="137" gender="0"/> <list name="Hunter" lookType="129" gender="1"/> </outfit>
  8. Vou ver pra pegar o ml adicional e te passo, coloquei meu PC formatar agora, mas essa semana te ajudo com isso caso ninguém ajude
  9. Então provavelmente o seu servidor não tem essa função
  10. verifica se o item 2323 está registrado nos seus movements local all, increasemagic = 0, 0 Se eu mudo esses 2 valor, la no Protection: 0% Magic Increase: 0%, tambem muda. sim, pq essa é a linha que inicia a variável, porém não reflete no que você quer, seria como mostrar números na tela "aleatórios"
  11. me manda como você deixou o xml do item
  12. <attribute key="increasemagicpercent" value="110" /> tem que ter essas tags nos seus itens, no items.xml
  13. você está utilizando algum item que tem increasemagic?
  14. posta um print como aparece para o jogador por favor
  15. tira os apostrofos, deixa como eu coloquei acima
  16. antes do text, coloca print(increasemagic) e todas as outras variáveis que não estao sendo carregadas
  17. Então antes de cada return coloca um print para verificar o que ele está retornando.
  18. Não mostra nada no console?
  19. você configurou no xml o quanto ele vale? vai no items.xml e adiciona essa propriedade ao item: <attribute key="worth" value="1000000" />
  20. qual a mensagem de erro?
  21. Verifica seus creaturescripts, se não me engano é lá que faz isso
  22. Reds postou uma resposta no tópico em Suporte OTServer Derivados
    Joga aí os códigos para ver o que pode estar acontecendo
  23. Troca no seu vocations.xml
  24. "SELECT `name`, `resets` FROM `players` WHERE group_id < '2' ORDER BY `resets` DESC LIMIT 50;" Tenta trocar a query por isso
  25. Olá, aonde eu posso consultar essa documentação?

Informação Importante

Confirmação de Termo