Ir para conteúdo

zipter98

Membro
  • Registro em

  • Última visita

Tudo que zipter98 postou

  1. Por acaso, o PDA que você baixou tem mesmo sistema de VIP? Geralmente, há apenas o sistema de premium account. Sobre o segundo pedido, desta maneira que você quer seriam necessárias as sources do servidor. Se preferir, o código pode ser feito da seguinte forma: o cartão não sumiria da bag, mas sim teria um prazo de validade. Assim, o sistema seria viável em PDA.
  2. Mude: doRemoveItem(item.uid) por: doRemoveItem(getTileItemById(configuration.pos, configuration.porta).uid)
  3. Muda a segunda tag para: <globalevent name="TheHornedFox1" time="19:00" event="script" value="TheHornedFox.lua"/> Nomes de globalevents não podem se repetir.
  4. zipter98 postou uma resposta no tópico em Suporte Tibia OTServer
    Desculpe, você não havia sido muito específico. Não conheço este sistema que você mencionou. Poderia enviar os códigos dele? Ou, se houver algum tópico contendo-os, será ainda melhor.
  5. zipter98 postou uma resposta no tópico em Suporte Tibia OTServer
    Globalevent: local config = { itemId = xxx, --ID do crystal coin. count = {13, 16}, --Quantidade mínima e máxima. } function onThink() local online = getPlayersOnline() local winner = online[math.random(#online)] doPlayerAddItem(winner, config.itemId, math.random(config.count[1], config.count[2])) broadcastMessage(getCreatureName(winner).." won the lottery!") return true end Tag: <globalevent name="Lottery" interval="xxx" event="script" value="nome_do_arquivo.lua"/> Mude xxx pelo intervalo, em segundos, entre cada sorteio.
  6. Troca: if isCreature(uid) then por: if not isMonster(uid) then
  7. zipter98 postou uma resposta no tópico em Suporte Tibia OTServer
    Essas rachaduras no chão são o que, exatamente? Efeitos, tiles, items?
  8. zipter98 postou uma resposta no tópico em Suporte Tibia OTServer
    local newColor = {lookBody = xxx, lookHead = xxx, lookLegs = xxx, lookFeet = xxx} --Configure aqui a cor da roupa dos membros da guild. function onUse(cid) if getPlayerGuildId(cid) > 0 then if getPlayerGuildRank(cid) == "leader" then for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == getPlayerGuildId(cid) and pid ~= cid then newColor.lookType = getCreatureOutfit(pid).lookType doPlayerSendTextMessage(pid, 27, "Your guild leader ("..getCreatureName(cid)..") pulled you.") doTeleportThing(pid, getClosestFreeTile(cid, getThingPos(cid))) doSetCreatureOutfit(pid, newColor, -1) end end else doPlayerSendCancel(cid, "You aren't the guild leader.") end else doPlayerSendCancel(cid, "You don't have a guild.") end return true end
  9. Se possível, poste o move1.lua. Em todos os testes do ataque, deu o mesmo erro? E só neste ataque?
  10. Abaixo de: function onKill(cid, target, lastHit) adicione: if not isMonster(target) then return true end
  11. Ué, que estranho. Você alterou alguma coisa no código? Testei aqui e funcionou perfeitamente. o.O
  12. Hm, atualizei o código. Se possível, teste-o.
  13. Tipo assim? elseif spell == "Eruption" then local testArea = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local ret = {} ret.id = 0 ret.cd = 5 --Duração do silence, em segundos. ret.check = 0 ret.eff = 39 --Efeito do silence. ret.cond = "Silence" local config = { effect = 15, Pull = function(cid) local area = getPosfromArea(cid, testArea) for i = 1, #area do local pid = getTopCreature(area[i]).uid if ehMonstro(pid) then doTeleportThing(pid, getClosestFreeTile(cid, getThingPos(cid))) ret.id = pid ret.check = getPlayerStorageValue(pid, conds[ret.cond]) doCondition2(ret) end end end, } config.Pull(cid) doMoveInArea2(cid, config.effect, doSurf1, FIREDAMAGE, 0, 0, spell) addEvent(doDanoWithProtect, math.random(100, 400), cid, FIREDAMAGE, getThingPos(cid), doSurf2, -min, -max, 0)
  14. Sobre os 3 segundos, acho que ele quer algo do tipo: local storage = 9681 function onLogin(cid) if getCreatureName(cid) == "Account Manager" then setPlayerStorageValue(cid, storage, os.time() + 3) end return true end function onLogout(cid) if getPlayerStorageValue(cid, storage) > os.time() then return false end return true end
  15. Adicionei uma função responsável por puxar os monstros na tela, a chamei e removi uma linha no qual o alvo/target era puxado para perto de cid. Também reformulei o código e o identei, mas isso não altera sua funcionalidade.
  16. elseif spell == "Air Vortex" then local config = { hurricane = function(cid) if not isCreature(cid) then return true end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return false end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end doMoveInArea2(cid, 42, bombWee1, FLYINGDAMAGE, min, max, spell) end, Pull = function(cid) local pid = getSpectators(getThingPos(cid), 7, 5) if pid and #pid > 0 then for i = 1, #pid do if pid[i] ~= cid and ehMonstro(pid[i]) then doTeleportThing(pid[i], getClosestFreeTile(cid, getThingPos(cid))) end end end end, } config.Pull(cid) doSetCreatureOutfit(cid, {lookType = 1661}, 10000) setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 17*600, cid, 3644587, -1) for i = 1, 17 do addEvent(config.hurricane, i * 600, cid) addEvent(sendDistanceShootWithProtect, 200, cid, getThingPosWithDebug(target), getThingPosWithDebug(cid), 38) stopNow(cid, 8 * 1000) --alterado v1.4 --alterado v1.4 end
  17. Na talkaction, removi apenas a parte que inicia o evento. Você poderá encerrá-lo e etc ainda. Globalevent: dofile("./_woe.lua") local days = {"Friday", "Saturday"} --Dia(s) da semana, em inglês. function onTime() if isInArray(days, os.date("%A")) then if not Woe.isTime() then doBroadcastMessage("[Castle Domain] Será iniciado em até 5 minutos... Registre seu char para entrar no castle com !guildjoin (Obrigatório ter Guild)", woe_config.bcType) doBroadcastMessage("[Castle Domain] Terá uma duração de " .. woe_config.timeToEnd .. " minutos. Pàgina do Castle Domain: http://falconiaworld.com/?subtopic=domain", woe_config.bcType) setGlobalStorageValue(stor.WoeTime, 1) end end return true end Tag: <globalevent name="WOE" time="xxx" event="script" value="nome_do_arquivo.lua"/> Troque xxx pelo horário que o evento começará. Exemplo: <globalevent name="WOE" time="19:00" event="script" value="nome_do_arquivo.lua"/> Talkaction alterada: dofile("./_woe.lua") local config = woe_config function onSay(cid, words, param) if words == "/woe" and param == "/!/SETUP" then Woe.setup() return true end Woe.getInfo() local myTable = {} for _, i in ipairs({"%d", "%B", "%Y", "%X"}) do table.insert(myTable, os.date(i, infoLua[4])) end if Woe.isStarted() then text = "tempo restante = " .. Woe.timeToEnd().mins .. ":" .. Woe.timeToEnd().secs .. "\nCastle " .. Castle.name .. " conquistado atualmente pela guild " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " quebre o empe "..myTable[1].." / "..myTable[2].." / "..myTable[3].." no tempo "..myTable[4].."." else text = "o domínio do castelo passado foi vencido por " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " quebre o empe "..myTable[1].." / "..myTable[2].." / "..myTable[3].." no tempo "..myTable[4].."." end if words == "/woe" then if getPlayerAccess(cid) >= config.accessToStar then if param == "off" then if Woe.isTime() then doBroadcastMessage("[Castle Domain] Cancelado!", config.bcType) setGlobalStorageValue(stor.WoeTime, 0) setGlobalStorageValue(stor.Started, 0) if isCreature(getThingFromPos(Castle.empePos).uid) == TRUE then doRemoveCreature(getThingFromPos(Castle.empePos).uid) end if getThingFromPos(Castle.desde).itemid > 0 then doRemoveItem(getThingFromPos(Castle.desde).uid) end Woe.removePre() Woe.removePortals() else doPlayerSendCancel(cid, "[Castle Domain] Não está funcionando.") end elseif param == "empe" then doSummonCreature("empe", Castle.empePos) elseif param == "go" then local newPos = Castle.empePos newPos.y = newPos.y + 1 doTeleportThing(cid, newPos, FALSE) elseif param == "info" then doPlayerPopupFYI(cid, text) else doPlayerSendCancel(cid, "Parametro invalido.") end elseif getPlayerAccess(cid) < config.accessToStar then if param == "info" then doPlayerPopupFYI(cid, text) end else doPlayerSendCancel(cid, "Não é possivel.") end elseif words == "!recall" then if Woe.isStarted() == true then if getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then if Woe.isInCastle(cid) == true then local members = Woe.getGuildMembers(getPlayerGuildId(cid)) if #members > 1 then if(exhaust(cid, stor.recall, config.recallTime) == 1) then for _, i in ipairs(members) do if getPlayerGuildLevel(i) ~= GUILDLEVEL_LEADER then local pos = getClosestFreeTile(cid, getCreaturePosition(cid), FALSE, TRUE) doTeleportThing(i, pos, FALSE) end end doCreatureSay(cid, "Emergencia, juntem-se", TALKTYPE_SAY) else doPlayerSendCancel(cid, "[Castle Domain] Espere " .. config.recallTime / 60 .. " minutos, para usar o comando novamente.") end else doPlayerSendCancel(cid, "[Castle Domain] Nenhum membro online.") end else doPlayerSendCancel(cid, "[Castle Domain] Não pode ser usado no caslte.") end else doPlayerSendCancel(cid, "[Castle Domain] Você não é o lider.") end else doPlayerSendCancel(cid, "[Castle Domain] Não esta funcionando.") end end return true end
  18. Nesta talkaction há diversas ações referentes ao evento. Se possível, informe qual(is) dela(s) você quer que sejam executadas no globalevent.
  19. Qual o erro no console? O mesmo mostrado anteriormente? E tem mais alguma informação imprimida no console que você esqueceu de mostrar? E quantos resets este personagem tem?
  20. Se possível, pegue um personagem com o level onde o bug ocorre, execute a talkaction com as seguintes modificações e informe o que for imprimido no console. Acima de: for _, stage in ipairs(stages) do adicione: print(getResets(cid)) Depois, abaixo de: for _, stage in ipairs(stages) do adicione: print(stage.resets) print(type(stage.resets)) print(getResets(cid)) print(type(getResets(cid)))
  21. Se da maneira que você colocou está funcionando como desejado, não vejo motivos para não deixar assim.
  22. Você teria outro servidor para testar o código, nem que seja com outros items? Assim, poderíamos confirmar se o problema está no servidor ou na configuração (no RME, visto que a do código está perfeita).
  23. Poderia enviar uma print indicando quais tiles estão funcionando e quais não estão? É bem estranho este bug estar acontecendo.
  24. Hm, mude: if getSpectators(pos, 1, 1) then para: if getSpectators(pos, 2, 2) then Teste novamente o código, e informe os resultados.

Informação Importante

Confirmação de Termo