Tenso este BUG, na maioria dos Server´s que eu entro da para fazer isso..
Aguardo alguem para nós ajudar..
Também tem um outro bug de clonaer, mo TENSO.
info
Grupo: Cavaleiro
Registrado: 26/02/10
Posts: 158
Reputação: +35
Gênero: Masculino
Char no Tibia: Vampiresco

Tenso este BUG, na maioria dos Server´s que eu entro da para fazer isso..
Aguardo alguem para nós ajudar..
Também tem um outro bug de clonaer, mo TENSO.
BUMP!!!
também preciso saber isso, ja tentei de tudo!!!
info
Grupo: Administrador
Registrado: 26/02/07
Posts: 254
Reputação: +205
Gênero: Masculino
Char no Tibia: Frenvius

eu achei a solução a um tempo já mas esqueci de postar
no ride e no fly porcure por isto
local action_id = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid")
logo abaixo adicione isto:
if action_id == -1 thenreturn doPlayerSendCancel(cid,"Use o pokemon correto pra sair do fly")
end
e salve
pronto ![]()
Te ajudei? +REP ![]()
Editado Janeiro 8 por Frenvius
info
Grupo: Cavaleiro
Registrado: 26/02/10
Posts: 158
Reputação: +35
Gênero: Masculino
Char no Tibia: Vampiresco

REP+ ! ! !
O bug foi corrigido com sucesso!
Muito obrigado.
info
Grupo: Administrador
Registrado: 26/02/07
Posts: 254
Reputação: +205
Gênero: Masculino
Char no Tibia: Frenvius
então pessoal eu até a pouco tempo(ontem)
nao sabia desse bug
fiquei sabendo pq um cara com a msm duvida veio me pedir ajuda
eu tenho uma ideia de como arrumar mais nao sei se é possivel pois n sei mto de script
é tipo que assim você sobe no pokemon (ride ou fly) ae beleza
voce troca a pokebola do poke que ta no fly/ride pra uma que tenha um pokemon morto
ae voce sai do fly/ride ele vai criar o pokemon que esta no seu slot feet, que seria o morto
então ele cria o pokemon ae ele morre e aparece o corpo, ae é so vc captura
ae gostaria de saber, se n tem como arrumar pra sair do fly/ride somente se o pokemon certo estiver no local que seria o slot feet
caso precise vou postar o scrip de ride e fly:
Fly:
function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo end function onUse(cid, item, frompos, item2, topos) local pokes = { ['Moltres'] = {229, 800}, ['Articuno'] = {230, 800}, ['Zapdos'] = {224, 800}, ['Mew'] = {232, 800}, ['Mewtwo'] = {233, 800}, ['Dragonite'] = {221, 300}, ['Pidgeot'] = {222, 350}, ['Fearow'] = {226, 400}, ['Aerodactyl'] = {227, 490}, ['Charizard'] = {216, 590}, ['Elder Charizard'] = {295, 800}, } local idballs = { [2531] = {"Pokeball"}, [2557] = {"Superball"}, [2524] = {"Greatball"}, [2525] = {"Ultraball"}, [2523] = {"Masterball"}, } local storage = 9393 -- Não mexa aqui! local exhaust = 0 -- Tempo para player poder usar o item novamente! (tempo em segundos) local time = 0 -- Tempo para ficar na montaria! (tempo em segundos) local old_speed = getCreatureBaseSpeed(cid) local summons = getCreatureSummons(cid) if (getPlayerStorageValue(cid, storage) <= os.time()) then if getPlayerStorageValue(cid, 24000) == 5 then return doPlayerSendCancel(cid, "You are riding.") end if getPlayerStorageValue(cid, 17000) == 10 then local nome = getItemName(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid) local balls = idballs[getPlayerSlotItem(cid,8).itemid] local poke_name = nome:match('(.-) '..balls[1]) local action_id = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid") if getSqmId(getCreaturePosition(cid)).itemid == CONST_FLYVOID then return doPlayerSendCancel(cid,"Desça antes de sair do fly") end setPlayerStorageValue(cid, storage, os.time()+exhaust) doChangeSpeed(cid, -(getCreatureSpeed(cid) - getCreatureBaseSpeed(cid))) doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 17000, 7) setPlayerStorageValue(cid, 23000, 6) local monster = doCreateMonster(poke_name, getCreaturePosition(cid)) doConvinceCreature(cid, monster) doCreatureAddHealth(monster, -(tonumber(getPokemonMaxLife(poke_name) - action_id))) doPlayerSay(cid, poke_name .. ", I'm tired of flying!", TALKTYPE_SAY) setPlayerStorageValue(cid, 9999,-1) setPlayerStorageValue(cid, 8888,-1) return true end if #getCreatureSummons(cid) < 1 then return doPlayerSendCancel(cid, "Para voar você precisa de um pokemon") end if isPremium(cid) == FALSE then return doPlayerSendCancel(cid, "Você não é premium account.") end local name = getCreatureName(getCreatureSummons(cid)[1]) local pokemon = pokes[getCreatureName(getCreatureSummons(cid)[1])] if not pokes[name] then return doPlayerSendCancel(cid, "Este pokemon não pode voar.") end setPlayerStorageValue(cid, storage, os.time()+exhaust) doChangeSpeed(cid, pokemon[2]) setPlayerStorageValue(cid, 17000, 10) setPlayerStorageValue(cid, 23000, 5) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) setPlayerStorageValue(cid,9999,pokemon[1]) setPlayerStorageValue(cid,8888,pokemon[2]) doItemSetAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid", getCreatureHealth(getCreatureSummons(cid)[1])) function getPokemonId(summons) for _, pid in ipairs(summons) do return pid end end doRemoveCreature(getPokemonId(summons)) doPlayerSay(cid, name .. ", Vamos voar!", TALKTYPE_SAY) doPlayerSendTextMessage(cid,27,'Fale \'up\' para subir e \'down\' para descer!.' ) if fly.using(cid) then local p = getCreaturePosition(cid) p.stackpos = 0 local f = getTileThingByPos(p) if fly.del(cid) then if f.itemid ~= 0 and f.itemid ~= 1 and f.itemid ~= CONST_FLYVOID then return true else setPlayerStorageValue(cid,10941,1) local p = getCreaturePosition(cid) setPlayerStorageValue(cid, 102011,p.x) setPlayerStorageValue(cid, 102012,p.y) setPlayerStorageValue(cid, 102013,p.z) return true end else doPlayerSendTextMessage(cid,27,'Você não pode voar neste local.') end end end return true endRide:
function getPokemonMaxLife(name) local file = io.open('data/monster/monsters.xml','r') local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>') file:close() local data = io.open('data/monster/'..(arquivo or ''),'r') if not data then return 100 end local maximo = data:read(-1):match('max%s*=%s*"(%d+)"') data:close() return maximo end function onUse(cid, item, frompos, item2, topos) local pokes = { ['Tauros'] = {128, 200}, ['Ninetales'] = {129, 300}, ['Rapidash'] = {130, 350}, ['Ponyta'] = {131, 200}, ['Rhyhorn'] = {132, 150}, ['Arcanine'] = {12, 500}, ['Shiny Arcanine'] = {492, 800}, ['Shiny Venusaur'] = {494, 700}, ['Crystal Onix'] = {293, 400}, ['Onix'] = {126, 350}, ['Venusaur'] = {134, 350}, ['Dodrio'] = {133, 350}, ['Doduo'] = {135, 250}, } local idballs = { [2531] = {"Pokeball"}, [2557] = {"Superball"}, [2524] = {"Greatball"}, [2525] = {"Ultraball"}, [2523] = {"Masterball"}, } local old_speed = getCreatureBaseSpeed(cid) local summons = getCreatureSummons(cid) local storage = 9393 local exhaust = 0 local time = 0 if (getPlayerStorageValue(cid, storage) <= os.time()) then if getPlayerStorageValue(cid, 18000) == 10 then local nome = getItemName(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid) local balls = idballs[getPlayerSlotItem(cid,8).itemid] local poke_name = nome:match('(.-) '..balls[1]) local action_id = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid") doChangeSpeed(cid, -(getCreatureSpeed(cid) - getCreatureBaseSpeed(cid))) setPlayerStorageValue(cid, storage, os.time()+exhaust) doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 18000, 7) setPlayerStorageValue(cid, 25000, 6) local monster = doCreateMonster(poke_name, getCreaturePosition(cid)) doConvinceCreature(cid, monster) doCreatureAddHealth(monster, -(tonumber(getPokemonMaxLife(poke_name) - action_id))) doPlayerSay(cid, poke_name .. ", I'm tired of riding!", TALKTYPE_SAY) return true end if isPremium(cid) == FALSE then return doPlayerSendCancel(cid, "Você não é premium account.") end if #getCreatureSummons(cid) < 1 then return doPlayerSendCancel(cid, "Para dar ride você precisa de um pokemon") end local pokemon = pokes[getCreatureName(getCreatureSummons(cid)[1])] local name = getCreatureName(getCreatureSummons(cid)[1]) if not pokes[name] then return doPlayerSendCancel(cid, "Este pokemon não pode dar ride.") end setPlayerStorageValue(cid, storage, os.time()+exhaust) doChangeSpeed(cid, pokemon[2]) setPlayerStorageValue(cid, 18000, 10) setPlayerStorageValue(cid, 25000, 5) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) setPlayerStorageValue(cid,10000,pokemon[1]) setPlayerStorageValue(cid,8889,pokemon[2]) doItemSetAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid", getCreatureHealth(getCreatureSummons(cid)[1])) function getPokemonId(summons) for _, pid in ipairs(summons) do return pid end end doRemoveCreature(getPokemonId(summons)) doPlayerSay(cid, name .. ", Let's go RIDE!", TALKTYPE_SAY) end endEditado Janeiro 7 por Frenvius