Ir para conteúdo

Erro Com Alguns Scripts No Pokemon Flash V3


bruno105

Posts Recomendados

Bom eu to com um problema em 4 scripts do meu servidor do pokemon flash v3 que saum : fly , ride , pokeball e ultra ball

 

no meu servidor eu encontro 4 desses scripts em data/actions/scripts (fly, ride, goback e ultra) e em \data\creaturescripts\scripts encontro os mesmos scripts.

 

O problema do Fly é q muitas vezes a pessoa sobe mais nao consegue deser pq ele diz que vc nao pode desser neste local ou entaum q nao esta usando nehum pokemon, o do ride é q vc da ride mais nao consegue deser, o da pokeball é q mutas vezes vc lança o pokemon com a ball mais ele nao volta e o da ultra ball é q quando vc tenta pega um pokemon com ela o pokemon e ela some tipo o corpose e a ball some e nao pega nem da brock

 

vo por os 8 scripts aki para vcs darem uma olhada:

Fly do data/actions/scripts :

 

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 do data\actions\scripts:

 

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

 

 

gobak do data/actions/scripts:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

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

----- Config -----

local MaximoSummon = 1

local nome = getItemName(item.uid)

local poke_name = nome:match('(.-) Pokeball')

local summons = getCreatureSummons(cid)

local action_id = getItemAttribute(item.uid, "aid")

----- Config -----

if getItemAttribute(item.uid, "aid") == -1 then

return doPlayerSendCancel(cid, "Seu pokemon está morto.")

end

 

if getPlayerStorageValue(cid, 25000) == 5 then

return doPlayerSendCancel(cid, "Você está montando.")

end

if getPlayerStorageValue(cid, 23000) == 5 then

return doPlayerSendCancel(cid, "Você está voando.")

end

local summons = getCreatureSummons(cid)

if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then

doPlayerSendCancel(cid, "Para Soltar seus pokemons, coloque-os no slot da pokeball.")

return TRUE

end

if(table.maxn(summons) < MaximoSummon) then -- no summons

creature = doSummonCreature(poke_name, getCreaturePosition(cid))

doConvinceCreature(cid, creature)

registerCreatureEvent(creature, "DiePoke")

registerCreatureEvent(cid, "PlayerPokeDeath")

registerCreatureEvent(cid, "LogoutPoke")

doPlayerSay(cid, "Go,"..poke_name.."!!", TALKTYPE_ORANGE_1)

doSendMagicEffect(getCreaturePosition(creature), 188)

doTransformItem(getPlayerSlotItem(cid,8).uid, 2531, 1)

doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball")

if action_id ~= 0 then

doCreatureAddHealth(creature, -(tonumber(getPokemonMaxLife(poke_name) - action_id)))

else

doCreatureAddHealth(creature, getPokemonMaxLife(poke_name))

end

else

for _, pid in ipairs(summons) do

if (table.maxn(summons) >= 1) then

doItemSetAttribute(item.uid, "aid", getCreatureHealth(summons[1]))

doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 188)

doPlayerSay(cid, "Back,"..poke_name..".", TALKTYPE_ORANGE_1)

doRemoveCreature(pid)

doTransformItem(getPlayerSlotItem(cid,8).uid, 2532, 1)

doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball")

end

end

end

return true

end

 

 

ultra ball do data/actions/scripts:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

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

----- Config -----

local MaximoSummon = 1

local nome = getItemName(item.uid)

local poke_name = nome:match('(.-) Ultraball')

local summons = getCreatureSummons(cid)

local action_id = getItemAttribute(item.uid, "aid")

----- Config -----

if getPlayerStorageValue(cid, 25000) == 5 then

return doPlayerSendCancel(cid, "Você está voando.")

end

if getPlayerStorageValue(cid, 23000) == 5 then

return doPlayerSendCancel(cid, "Você está montando.")

end

if getItemAttribute(item.uid, "aid") == -1 then

return doPlayerSendCancel(cid, "Seu pokemon está morto.")

end

local summons = getCreatureSummons(cid)

if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then

doPlayerSendCancel(cid, "Para Soltar seus pokemons, coloque-os no slot da pokeball.")

return TRUE

end

if(table.maxn(summons) < MaximoSummon) then -- no summons

creature = doSummonCreature(poke_name, getCreaturePosition(cid))

doConvinceCreature(cid, creature)

registerCreatureEvent(creature, "Ultraball")

registerCreatureEvent(cid, "PlayerPokeDeath")

registerCreatureEvent(cid, "LogoutPoke")

doPlayerSay(cid, "Go,"..poke_name.."!!", TALKTYPE_ORANGE_1)

doSendMagicEffect(getCreaturePosition(creature), 191)

doTransformItem(getPlayerSlotItem(cid,8).uid, 2525, 1)

doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Ultraball")

if action_id ~= 0 then

doCreatureAddHealth(creature, -(tonumber(getPokemonMaxLife(poke_name) - action_id)))

else

doCreatureAddHealth(creature, getPokemonMaxLife(poke_name))

end

else

for _, pid in ipairs(summons) do

if (table.maxn(summons) >= 1) then

doItemSetAttribute(item.uid, "aid", getCreatureHealth(summons[1]))

doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 191)

doPlayerSay(cid,"Back, "..poke_name.."", TALKTYPE_ORANGE_1)

doRemoveCreature(pid)

doTransformItem(getPlayerSlotItem(cid,8).uid, 2654, 1)

doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Ultraball")

end

end

end

return true

end

 

 

 

agora vem a do data\creaturescripts\scripts:

 

fly:

 

function onLogin(cid)

fly.login(cid)

if getPlayerStorageValue(cid,8888) >= 1 and getPlayerStorageValue(cid,9999) >= 1 then

outfit = getCreatureOutfit(cid)

outfit.lookType = getPlayerStorageValue(cid,9999)

doChangeSpeed(cid,getPlayerStorageValue(cid,8888))

doSetCreatureOutfit(cid, outfit,-1)

end

 

return TRUE

end

 

 

ride:

 

function onLogin(cid)

fly.login(cid)

if getPlayerStorageValue(cid,8889) >= 1 and getPlayerStorageValue(cid,10000) >= 1 then

outfit = getCreatureOutfit(cid)

outfit.lookType = getPlayerStorageValue(cid,10000)

doChangeSpeed(cid,getPlayerStorageValue(cid,8889))

doSetCreatureOutfit(cid, outfit,-1)

end

 

return TRUE

end

 

 

function onLogout(cid)

if getPlayerStorageValue(cid, 24000) == 5 then

setPlayerStorageValue(cid, 24000, 5)

end

return true

end

 

 

goback:

 

local pokein, pokeout = 2531,2531

function onDeath(cid, deathList)

local owner = getCreatureMaster(cid)

doPlayerSendTextMessage(owner, 21, "You pokemon died.")

local item = getPlayerItemById(owner, TRUE, pokeout)

doTransformItem(item.uid, pokein)

doItemSetAttribute(item.uid, "aid", -1)

doRemoveCreature(cid)

return FALSE

end

 

 

ultraball:

local pokein, pokeout = 2525,2525

function onDeath(cid, deathList)

local owner = getCreatureMaster(cid)

doPlayerSendTextMessage(owner, 21, "You pokemon died.")

local item = getPlayerItemById(owner, TRUE, pokeout)

doTransformItem(item.uid, pokein)

doItemSetAttribute(item.uid, "aid", -1)

doRemoveCreature(cid)

return FALSE

end

 

 

Oq eu faço para conserta????

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...