Search the Community
Showing results for tags 'empty'.
-
Script feito por Codex NG. Basicamente, este script vai permitir que você faça uma tile (invisível) no qual os jogadores podem pisar. function newGround(pos, id) local tile = Tile(pos) if not tile then Game.createTile(pos) tile = Tile(pos) return tile end if not tile:getItemById(id) then return Game.createItem(id, 1, pos) end return false end local id = 415 -- tile id -- position of the base tile that floats across the screen local pos = {x = 148, y = 148, z = 6, stackpos = 0} -- the distance the tile will travel local distance = 5 function removeGround(pos, id) tile = Tile(pos) if not tile then return false end local ground = tile:getGround() --print(ground, tile.itemid == id, tile, id, ground) if ground then ground:remove() end return pos end function updatePosition(pos, dir, num, stack) if dir == 'n' then pos = {x = pos.x, y = pos.y + num, z = pos.z, stackpos = stack and stack or ( pos.stackpos and pos.stackpos or 0 ) } elseif dir == 'e' then pos = {x = pos.x + num, y = pos.y, z = pos.z, stackpos = stack and stack or ( pos.stackpos and pos.stackpos or 0 ) } elseif dir == 's' then pos = {x = pos.x, y = pos.y - num, z = pos.z, stackpos = stack and stack or ( pos.stackpos and pos.stackpos or 0 ) } elseif dir == 'w' then pos = {x = pos.x - num, y = pos.y, z = pos.z, stackpos = stack and stack or ( pos.stackpos and pos.stackpos or 0 ) } end return pos end function relocate(fromPos, toPos) if fromPos == toPos then return false end local fromTile = Tile(fromPos) if fromTile == nil then return false end if Tile(toPos) == nil then return false end for i = fromTile:getThingCount() - 1, 0, -1 do local thing = fromTile:getThing(i) if thing ~= nil then if thing:isItem() then if ItemType(thing:getId()):isMovable() then thing:moveTo(toPos, true) end elseif thing:isCreature() then thing:teleportTo(toPos, true) end end end return true end local limit = 1 local d = true local storage = 18050 -- position of the base tile that floats across the screen local globalPos = {x = 148, y = 148, z = 6, stackpos = 0} local trackPos = {} function onThink(creature, interval) --if creature:getStorageValue(storage) == 0 then if limit <= distance and d then if limit > 1 then removeGround(pos, id) end if limit <= distance and #trackPos <= distance then trackPos[#trackPos + 1] = pos end --creature:sendTextMessage(MESSAGE_INFO_DESCR, ' forward x = '..pos.x ..', y = ' .. pos.y .. ', z = '..pos.z..'') local old = pos pos = updatePosition(pos, 'e', 1, 0) relocate(old, pos) newGround(pos, id) limit = limit + 1 else pos.x = pos.x >= globalPos.x and pos.x or globalPos.x d = false --creature:sendTextMessage(MESSAGE_INFO_DESCR, ' reverse x = '..pos.x ..', y = ' .. pos.y .. ', z = '..pos.z..'') removeGround(pos, id) local old = pos pos = updatePosition(pos, 'w', 1, 0) relocate(old, pos) newGround(pos, id) limit = limit - 1 if limit == 2 then d = true end end --else --reset() --creature:sendTextMessage(MESSAGE_INFO_DESCR, 'before x = '..pos.x ..', y = ' .. pos.y .. ', z = '..pos.z..'') --print('before',pos.x, pos.y, pos.z) --pos = globalPos --print('after',pos.x, pos.y, pos.z) --creature:sendTextMessage(MESSAGE_INFO_DESCR, 'after x = '..pos.x ..', y = ' .. pos.y .. ', z = '..pos.z..'') --end --MoveTile(1, 6, pos, id, true, 'e', 'w') end function reset() for i = 1, #trackPos do removeGround(trackPos[i], id) end return Game.createItem(id, 1, updatePosition(globalPos, 'e', 1, 0)) end function MoveTile(from, to, pos, id, go, forward, reverse) local dir = {} dir.forward = forward dir.reverse = reverse if from <= to and go then if from > 1 then removeGround(pos, id) end local old = pos pos = updatePosition(pos, dir.forward, 1, 0) relocate(old, pos) newGround(pos, id) from = from + 1 else go = false removeGround(pos, id) local old = pos pos = updatePosition(pos, dir.reverse, 1, 0) relocate(old, pos) newGround(pos, id) from = from - 1 if from == 2 then go = true end end end
-
É galera, tem um tempo já que eu venho pesquisando sobre um .otb vazio e nunca achei, e no item editor quando você cria um e vai criar um item surge aquele erro de sempre "Wrong items set" o que impossibilita a criação do .otb. Aqui no Brasil nunca vi ninguém precisar, mas se pesquisar tem muito gringo procurando. Mas pra que serve um .otb vazio? Você vai criar um projeto mas quer mudar tudo, sprites... TUDO, mas o servidor ta cheio de item do Tibia, coisas desnecessárias, é ai que entra o .otb vazio, a partir dele você cria seus items. O .otb contem só o item de n° 100, que é o primeiro item, dai é só criar o restante e configurar. Farei um Pack disponibilizarei junto 2 items editores 8.54 que são bem uteis. Dúvidas? comentem. Ajudei? Rep+ Download | Scan