Ir para conteúdo

MaTTch

Membro
  • Registro em

  • Última visita

Tudo que MaTTch postou

  1. MaTTch postou uma resposta no tópico em Suporte & Pedidos
    Forbidden Memories foi sem duvida nenhuma o melhor Yu-Gi-Oh que já joguei, um marco na infância. Boa sorte com o projeto, mal vejo a hora de poder jogar.
  2. Fiz de um modo diferente, tenta assim: local c = { closeDelay = 2000, -- tempo em que ira fechar (1000ms = 1s) busyArea = {from = {x=100, y=100, z=7}, to = {x=100, y=100, z=7}}, -- area que checa se há players (bote a area em volta da porta movivel) wallPlaces = { {wallId = 1000, from = {x=100, y=100, z=7}, to = {x=100, y=100, z=7}}, -- {id da parede, posicao original, posicao movida} {wallId = 1000, from = {x=100, y=100, z=7}, to = {x=100, y=100, z=7}} } } local isUsing = false local function backWalls() for x = c.busyArea.from.x, c.busyArea.to.x do for y = c.busyArea.from.y, c.busyArea.to.y do local tid = getTopCreature({x=x, y=y, z=c.busyArea.to.z}).uid if(tid ~= 0) then addEvent(backWalls, c.closeDelay) return false end end end for _, i in pairs(c.wallPlaces) do local thing = getTileItemById(i.to, i.wallId).uid if(thing ~= 0) then doRemoveItem(thing) doCreateItem(i.wallId, 1, i.from) end end isUsing = false end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isUsing) then for _, i in pairs(c.wallPlaces) do local thing = getTileItemById(i.from, i.wallId).uid if(thing ~= 0) then doRemoveItem(thing) doCreateItem(i.wallId, 1, i.to) end end isUsing = true addEvent(backWalls, c.closeDelay) end return true end
  3. Editei o script, tenta de novo.
  4. local c = { closeDelay = 2000, -- tempo em que ira fechar (1000ms = 1s) wallPlaces = { [1000] = {fromPos = {x=1000, y=1000, z=7}, toPos = {x=1000, y=1000, z=7}}, -- [ID_DA_PAREDE] = {posicao original, posicao movida} [1000] = {fromPos = {x=1000, y=1000, z=7}, toPos = {x=1000, y=1000, z=7}} } } local function backWalls(wallId, fromPos, toPos) local thing = getTileItemById(fromPos, wallId).uid local tid = getTopCreature(toPos).uid if(thing ~= 0) then if(tid == 0) then doRemoveItem(thing) doCreateItem(wallId, 1, toPos) else addEvent(backWalls, 100, wallId, fromPos, toPos) end end end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) for wallId, i in pairs(c.wallPlaces) do local thing = getTileItemById(i.fromPos, wallId).uid if(thing ~= 0) then doRemoveItem(thing) doCreateItem(wallId, 1, i.toPos) addEvent(backWalls, c.closeDelay, wallId, i.toPos, i.fromPos) end end return true end
  5. É isInArray e não isInWallArray.
  6. local c = { closeDelay = 2000, -- tempo em que ira fechar (1000ms = 1s) wallPlaces = { [1000] = {fromPos = {x=1000, y=1000, z=7}, toPos = {x=1000, y=1000, z=7}}, -- [ID_DA_PAREDE] = {posicao original, posicao movida} [1000] = {fromPos = {x=1000, y=1000, z=7}, toPos = {x=1000, y=1000, z=7}} } } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) for wallId, i in pairs(c.wallPlaces) do local thing = getTileItemById(i.fromPos, wallId).uid if(thing ~= 0) then doRemoveItem(thing) doCreateItem(wallId, 1, i.toPos) addEvent(function() thing = getTileItemById(i.toPos, wallId).uid if(thing ~= 0) then doRemoveItem(thing) doCreateItem(wallId, 1, i.fromPos) end end, c.closeDelay) end end return true end
  7. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Tente trocar a lib dos seus npcs.
  8. Mude db.executeQuery para db.query.
  9. No seu config.lua verifique se o emoteSpells esta ativado. Isso acontece com todas magias?
  10. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Isso acontece com outra distro? O ataque de morte instantânea acontece aleatoriamente? Você adicionou ou tem algum script de critical ou algo parecido no server?
  11. O ruim é que pode ser varias coisas, é como achar uma agulha no palheiro. Você já tentou trocar a distro, só pra testar?
  12. Começo a pensar que pode ser um script malicioso ativado por algum espertinho... O server também cai quando você deixa online apenas para você?
  13. Se nem uma conta admin consegue entrar, pode ser que seja alguma função onLogin no creaturescripts.
  14. local attackWeap = getItemAttribute(idDaArma.uid, "attack") or getItemInfo(idDaArma.itemid).attack
  15. Acredito que venda e compras no fórum são proibidos.
  16. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Primeiramente qual a versão da sua distro?
  17. Provavelmente isso é no vocations.xml em manamultiplier. Deixe no mínimo em 1.1
  18. MaTTch postou uma resposta no tópico em Playground (Off-topic)
    Saffira
  19. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatArea(combat, createCombatArea({ {0,0,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,0,0,0,0}, {0,0,0,1,1,1,1,1,0,0,0}, {0,0,1,1,1,1,1,1,1,0,0}, {0,0,1,1,1,3,1,1,1,0,0}, {0,0,1,1,1,1,1,1,1,0,0}, {0,0,0,1,1,1,1,1,0,0,0}, {0,0,0,0,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,0,0} })) local function doLifeDrain(cid, target, count, delay) if(isCreature(cid) and isCreature(target)) then local minDmg = math.floor(getPlayerLevel(cid) * 0.1 + getPlayerMagLevel(cid) * 0.1) local maxDmg = math.floor(getPlayerLevel(cid) * 0.2 + getPlayerMagLevel(cid) * 0.15) if(count > 0) then local damage = math.random(minDmg, maxDmg) doCreatureAddHealth(target, -damage) doCreatureAddHealth(cid, damage) addEvent(doLifeDrain, delay, cid, target, (count - 1), delay) end end end function onTargetCreature(cid, target) doLifeDrain(cid, target, 10, 1000) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function onCastSpell(cid, var) if(not exhaustion.check(cid, 100102)) then exhaustion.set(cid, 100102, 30) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Wait "..exhaustion.get(cid, 100102).." second(s) to use this spell again.") end return false end
  20. local config = { [2001] = {pos = {x=1000, y=1000, z=1}, storage = 1001}, -- [actionid], pos= aonde que leva, storage [2002] = {pos = {x=1000, y=1000, z=2}, storage = 1002}, [2003] = {pos = {x=1000, y=1000, z=3}, storage = 1003}, [2004] = {pos = {x=1000, y=1000, z=4}, storage = 1004}, [2005] = {pos = {x=1000, y=1000, z=5}, storage = 1005}, [2006] = {pos = {x=1000, y=1000, z=6}, storage = 1006} } local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva function onStepIn(cid, item, position, fromPosition) local t = config[item.actionid] if(t) then if(getPlayerStorageValue(cid, t.storage) < 1) then setPlayerStorageValue(cid, t.storage, 1) end doTeleportThing(cid, t.pos) doSendMagicEffect(getThingPos(cid), 10) elseif(item.actionid == 2007) then for i = 1001, 1006 do if(getPlayerStorageValue(cid, i) < 1) then doPlayerSendCancel(cid, "Você precisa passar por cima de todos os teleports.") doTeleportThing(cid, fromPosition) return true end end doTeleportThing(cid, ultimoTeleport) doSendMagicEffect(getThingPos(cid), 10) end return true end
  21. Me parece tudo correto... Quando você utiliza o /z ele só vai até o 69? Se for isso, então tu tem que aumentar o numero no magiceffects.lua em talkactions.
  22. Troque doPlayerAddHealth(...) por doTargetCombatHealth(cid, target, type, min, max, effect)
  23. Posta o game.cpp em spoiler aqui.
  24. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Aparece algum erro no distro? E troque a tag para: <attack name="lord_omegared" interval="2000" chance="50" min="-2800" max="-3000"/> Os atributos range, radius e target não faz sentido já que é uma spell de area "scriptada".

Informação Importante

Confirmação de Termo