Ir para conteúdo

[Ajuda] Fly, Ride System Bugados!


guikuz

Posts Recomendados

Eaw galera!

Descobri Um problemão no meu Ot de Pokemon..

O Fly e Ride System estão Bugados!

Exemplo Do Bug: To voando com meu charizard, dai eu saio do voo, luto com algum pokemon, e o Charizard morre! Tpw o corpo dele fica no chão e vc pode usar ele denovo, Ou seja tenho um charizard infinito! (Obs:. Mais isso é com todos os pokes com Fly e Ride)

 

É so usar Fly ou Ride antes de seu poke morrer, que ele "ressucita"

 

Uso Server 8.54 Flash!

 

Meus Scripts de Fly E ride pra quem precisar:

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, 1000},

['Articuno'] = {230, 1000},

['Zapdos'] = {224, 1000},

['Mew'] = {232, 900},

['Mewtwo'] = {233, 900},

['Dragonite'] = {221, 300},

['Pidgeot'] = {222, 400},

['Shiny Pidgeot'] = {360, 800},

['Fearow'] = {226, 400},

['Aerodactyl'] = {227, 800},

['Charizard'] = {216, 600},

['Elder Charizard'] = {295, 800},

['Porygon'] = {316, 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 action_id == -1 then

return doPlayerSendCancel(cid,"it uses pokemon correct to leave fly!")

end

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 \'h1\' para subir e \'h2\' 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

end

 

Ride

 

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")

if action_id == -1 then

return doPlayerSendCancel(cid,"it uses pokemon correct to leave ride!")

end

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

end

 

:weight_lift: Galera Por favor me ajude!!!

 

Galera Por favor é urgente!!

 

me ajudem

Editado por Guizuu
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...