Ir para conteúdo

MaTTch

Membro
  • Registro em

  • Última visita

Tudo que MaTTch postou

  1. É porque a função getTileItemById não esta sendo usada corretamente nessa parte: if t1 and t2 and t3 and t4 then Você precisa verificar se existe algum item checando se id ou o unique id é diferente de 0. Tipo assim: if t1.uid ~= 0 then doRemoveItem(t1.uid, 1) end Você precisa fazer isso pra cada posição que quiser remover o item, e se quiser adicionar o efeito basta colocar junto a função doSendMagicEffect: if t1.uid ~= 0 then doRemoveItem(t1.uid, 1) doSendMagicEffect(config.pos1, 0000) end
  2. Você tem que adicionar na tabela o efeito pra cada valor de storage, exemplo: [1] = {number = 1002, offset = {x = 1, y = 0}, delay = 5000}, -- efeito 1002 pra quem tiver o storage de valor [1] [2] = {number = 1003, offset = {x = 1, y = 0}, delay = 5000}, -- efeito 1003 pra quem tiver o storage de valor [2] [3] = {number = 1004, offset = {x = 1, y = 0}, delay = 5000}, -- efeito 1004 pra quem tiver o storage de valor [3] -- etc..
  3. Verificou se o valor da storage que você tá corresponde com o que tá na tabela? Você adicionou a tabela pra cada valor?
  4. Tenta: local cfg = { storage = 259005, effect = { [1] = {number = 1002, offset = {x = 1, y = 0}, delay = 5000}, --[2] = {number = 1002, offset = {x = 1, y = 0}, delay = 5000}, -- etc... } } local function startEffectCycle(cid) if (isCreature(cid)) then local t = cfg.effect[getCreatureStorage(cid, cfg.storage)] if (t) then local position = getThingPosition(cid) position.x = position.x + t.offset.x position.y = position.y + t.offset.y doSendMagicEffect(position, t.number) addEvent(startEffectCycle, t.delay, cid) else addEvent(startEffectCycle, 1000, cid) end end end function onLogin(cid) if (getCreatureStorage(cid, cfg.storage) < 1) then doCreatureSetStorage(cid, cfg.storage, 1) end startEffectCycle(cid) return true end
  5. Como assim liberar acesso? É por storage?
  6. Pra mim parece que ele pediu as duas coisas
  7. Você precisa fazer um offset na posição do efeito, nessa função: doSendMagicEffect(getThingPos(cid), efeito) Por exemplo: local pos = getThingPosition(cid) doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, efeito)
  8. Em clientes mais antigo o limite numérico do trade é de 2147483647 (int32), está diretamente codificado no cliente, ao menos que você saiba um pouco de engenharia reversa, não pode ser mudado. Em um OTCliente isso pode ser facilmente mudado, mas não creio que é o seu caso.
  9. Você precisa ser bem especifico. Vai regenerar 25% da mana total do jogador, ou vai "roubar" essa mana de outros jogadores?
  10. Qual o real objetivo da magia? O script ta muito zuado.
  11. Isso aqui só funciona em OTX: if (getPlayerSlotItem(attacker, slot).id == id) then Tenta: if(getPlayerSlotItem(attacker, slot).itemid == id) then
  12. Isso ai você só vai conseguir pagando alguém pra criar uma dll.
  13. MaTTch respondeu ao post em um tópico de Leolinduxo em Suporte Tibia OTServer
    vai no 000-const e adiciona: getCreatureCondition = getCreatureConditionInfo
  14. Na verdade você não precisa adicionar nada no const, só arrumar de u8 pra u16 nas funções.
  15. O erro basicamente era que ele checava se podia "castar" a magia, o que retorna falso se a criatura, por exemplo, não estivesse dentro do alcance da magia, ou se não houvesse um alvo, o que fazia dar erro de magia não existente. Enfim, editado.
  16. Na verdade o código c++ também tem um erro que só percebi agora. Mas se o seu problema já foi resolvido então já era.
  17. Você tem certeza que existe uma spell com esse nome? E se não me engano o dano não funciona com monstros, teria que mudar o script. Teste com uma magia existente e me fale (tem que ser o nome da magia e não as palavras).
  18. Sim, mas antes de fazer, eu quero perguntar uma coisa que eu deveria ter perguntado antes. Por que não apenas colocar a magia que você quer diretamente no monstro?
  19. Em luascript.cpp, você adiciona no final do arquivo: no mesmo arquivo, procure por: luaL_register(m_luaState, "std", LuaInterface::luaStdTable); e abaixo dele adicione: Agora em luascript.h, procure por: static int32_t luaStdSHA512(lua_State* L); e abaixo adicione: Agora só compilar.

Informação Importante

Confirmação de Termo