Ir para conteúdo

Featured Replies

Postado

de ontem pra hoje meu servidor começou dar umas travadas, fui olhar a distro e esta aparecendo os seguintes erros por favor me ajudem
REVIVE: ESSE É O PIOR TAMPA A DISTRO DE ERRO, MUITOS TOMA ATE DISCONECT

[15/12/2015 18:42:16] [Error - Action Interface]
[15/12/2015 18:42:16] data/actions/scripts/revive.lua:onUse
[15/12/2015 18:42:16] Description:
[15/12/2015 18:42:16] (luaDoItemSetAttribute) Item not found

Spoiler

local storage = 121212 --storage da quest

function onUse(cid, item, frompos, item2, topos)

if getPlayerStorageValue(cid, storage) == 0 then
   doPlayerSendCancel(cid, "You already have used the limit of revives for this quest.")
   return true
elseif getPlayerStorageValue(cid, 990) >= 1 then
   doPlayerSendCancel(cid, "You can't use revive during gym battles.")
   return true
elseif getPlayerStorageValue(cid, 52481) >= 1 then
   doPlayerSendCancel(cid, "You can't do that while a duel.") --alterado v1.6
   return true
elseif isPlayer(item2.uid) then
   doPlayerSendCancel(cid, "Please, use revive only on pokeballs.")
   return true
end

for a, b in pairs (pokeballs) do
    if not item2.itemid == b.on or not item2.itemid == b.off then
           doPlayerSendCancel(cid, "Please, use revive only on pokeballs.")
           return true
    end
end

local pokeball = getPlayerSlotItem(cid, 8)
for a, b in pairs (pokeballs) do
    if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG
           doTransformItem(item2.uid, b.on)
           doSetItemAttribute(item2.uid, "hp", 1)
           for c = 1, 15 do
                   local str = "move"..c
                   setCD(item2.uid, str, 0)
           end
           setCD(item2.uid, "control", 0)
           setCD(item2.uid, "blink", 0) --alterado v1.6
           doSendMagicEffect(getThingPos(cid), 13)
           doRemoveItem(item.uid, 1)
           doCureBallStatus(getPlayerSlotItem(cid, 8).uid, "all")
           doCureStatus(cid, "all", true)
           cleanBuffs2(item2.uid) --alterado v1.5
           
           if getPlayerStorageValue(cid, storage) > 0 then
                  setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage)-1)
           end
           return true
    end
end
return true
end



CATCH: TRAVA O SERVE QUANDO ALGUM JOGADOR LVL 351 OU SUPERIOR PEGA ALGUM POKÉMON

[15/12/2015 18:38:14] [Error - Action Interface]
[15/12/2015 18:38:14] In a timer event called from:
[15/12/2015 18:38:14] data/actions/scripts/catch.lua:onUse
[15/12/2015 18:38:14] Description:
[15/12/2015 18:38:14] (luaDoItemSetAttribute) Invalid data type
 

Spoiler

local ballcatch = {                    --id normal, id da ball shiy
[2394] = {cr = 5, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "normal", boost = "0"},  --alterado v1.9  \/
[2391] = {cr = 10, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"},
[2393] = {cr = 15, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"},
[2392] = {cr = 20, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"},
[12617] = {cr = 10, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"},
[12832] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "dark", boost = "50"},
[15129] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "flash", boost = "50"},
}

function onUse(cid, item, frompos, item3, topos)

local item2 = getTopCorpse(topos)
if item2 == null then
   return true
end

if getItemAttribute(item2.uid, "catching") == 1 then
   return true
end  

if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
   return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")   
end

local name = string.lower(getItemNameById(item2.itemid))
      name = string.gsub(name, "fainted ", "")
      name = string.gsub(name, "defeated ", "")
      name = doCorrectPokemonName(name)
local x = pokecatches[name]

if not x then return true end

local shinys = {"Shiny Mr. mime", "Shiny Altaria", "Shiny Weezing", "Shiny Flygon", "Shiny Rhyperior", "Shiny Blaziken", "Shiny Tangela", "Shiny Wailord", "Shiny Aggron", "Shiny Absol", "Shiny Lucario", "Shiny Metagross", "Shiny Yanmega", "Shiny Wobbuffet", "Shiny Scizor", "Shiny Slowking", "Shiny Alakazam", "Shiny Scyther", "Shiny Electivire", "Shiny Magmortar", "Shiny Salamence", "Shiny Magmar", "Shiny Mantine", "Shiny Gyarados", "Shiny Snorlax", "Shiny Onix", "Shiny Electabuzz", "Shiny Pidgeot", "Aerodactyl", "Ditto", "Shiny Gengar"}
if item.itemid == 12832 and isInArray(shinys, name) then
   doPlayerSendCancel(cid, "Você não pode catar esse pokemon com a master ball!")
return true
end
    
local storage = newpokedex[name].stoCatch
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then  --alterado v1.9
   setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0;")             --alterado v1.9
end     

local owner = getItemAttribute(item2.uid, "corpseowner")
    
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then   
   doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
   return true
end

local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9       
local typeee = ballcatch[item.itemid].typeee
local boost = ballcatch[item.itemid].boost
    

local catchinfo = {}
      catchinfo.rate = ballcatch[item.itemid].cr
      catchinfo.catch = ballcatch[item.itemid].on
      catchinfo.fail = ballcatch[item.itemid].off
      catchinfo.newid = newidd                      
      catchinfo.name = doCorrectPokemonName(name)
      catchinfo.topos = topos
      catchinfo.chance = x.chance

doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
doRemoveItem(item.uid, 1)

local d = getDistanceBetween(getThingPos(cid), topos)
        
if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then  --alterado v1.9
   setPlayerStorageValue(cid, 98796, -1)
   setPlayerStorageValue(cid, 98797, -1)                                              
   doTeleportThing(cid, SafariOut, false)
   doSendMagicEffect(getThingPos(cid), 21)
   doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...")
end

addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end

 

  • Respostas 11
  • Visualizações 980
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • o de duel eu fui em data/xml, chanel.xml e deixei apenas o canal 1x1 desde então ainda n vi mais ninguém reclamando que estava bugado n, ou seja retirei o 2x2 e 3x3 e deixei apenas o 1x1 @samlecter

Postado

Hum a coisa nao ta facil mais pera ai Em Revives.lua substutua tudo por isso aqui

 

local storage = 121212 --storage da quest

function onUse(cid, item, frompos, item2, topos)

if getPlayerStorageValue(cid, storage) == 0 then
   doPlayerSendCancel(cid, "You already have used the limit of revives for this quest.")
   return true
elseif getPlayerStorageValue(cid, 990) >= 1 then
   doPlayerSendCancel(cid, "You can't use revive during gym battles.")
   return true
elseif getPlayerStorageValue(cid, 52481) >= 1 then
   doPlayerSendCancel(cid, "You can't do that while a duel.")
   return true
elseif isPlayer(item2.uid) then
   doPlayerSendCancel(cid, "Please, use revive only on pokeballs.")
   return true
end

for a, b in pairs (pokeballs) do
    if not item2.itemid == b.on or not item2.itemid == b.off then
           doPlayerSendCancel(cid, "Please, use revive only on pokeballs.")
           return true
    end
end

local pokeball = getPlayerSlotItem(cid, 8)
for a, b in pairs (pokeballs) do
    if item2.itemid == b.on or item2.itemid == b.off then
           doTransformItem(item2.uid, b.on)
           doSetItemAttribute(item2.uid, "hp", 1)
           for c = 1, 15 do
                   local str = "move"..c
                   setCD(item2.uid, str, 0)
           end
           setCD(item2.uid, "control", 0)
           setCD(item2.uid, "blink", 0) --alterado v1.6
           doSendMagicEffect(getThingPos(cid), 13)
           doRemoveItem(item.uid, 1)
           doCureBallStatus(getPlayerSlotItem(cid, 8).uid, "all")
           doCureStatus(cid, "all", true)
           cleanBuffs2(item2.uid) --alterado v1.5
           
           if getPlayerStorageValue(cid, storage) > 0 then
                  setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage)-1)
           end
           return true
    end
end
return true
end

 

 

agora em caught.lua nao tenho muita certeza mais vai parar de crashar pode ter certeza

 

local ballcatch = {                    --id normal, id da ball shiy
[2394] = {cr = 5, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "normal", boost = "0"}, 
[2391] = {cr = 10, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"},
[2393] = {cr = 15, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"},
[2392] = {cr = 20, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"},
[12617] = {cr = 10, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"},
[12832] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "dark", boost = "50"},          -- revise isto
[15129] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "flash", boost = "50"},          --revise isto
}

function onUse(cid, item, frompos, item3, topos)

local item2 = getTopCorpse(topos)
if item2 == null then
   return true
end

if getItemAttribute(item2.uid, "catching") == 1 then
   return true
end  

if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
   return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")   
end

local name = string.lower(getItemNameById(item2.itemid))
      name = string.gsub(name, "fainted ", "")
      name = string.gsub(name, "defeated ", "")
      name = doCorrectPokemonName(name)
local x = pokecatches[name]

if not x then return true end

local shinys = {"Shiny Mr. mime", "Shiny Altaria", "Shiny Weezing", "Shiny Flygon", "Shiny Rhyperior", "Shiny Blaziken", "Shiny Tangela", "Shiny Wailord", "Shiny Aggron", "Shiny Absol", "Shiny Lucario", "Shiny Metagross", "Shiny Yanmega", "Shiny Wobbuffet", "Shiny Scizor", "Shiny Slowking", "Shiny Alakazam", "Shiny Scyther", "Shiny Electivire", "Shiny Magmortar", "Shiny Salamence", "Shiny Magmar", "Shiny Mantine", "Shiny Gyarados", "Shiny Snorlax", "Shiny Onix", "Shiny Electabuzz", "Shiny Pidgeot", "Aerodactyl", "Ditto", "Shiny Gengar"}
if item.itemid == 12832 and isInArray(shinys, name) then
   doPlayerSendCancel(cid, "Você não pode catar esse pokemon com a master ball!")
return true
end
    
local storage = newpokedex[name].stoCatch
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then
   setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0;")
end     

local owner = getItemAttribute(item2.uid, "corpseowner")
    
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then   
   doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
   return true
end

local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1]     
local typeee = ballcatch[item.itemid].typeee
local boost = ballcatch[item.itemid].boost
    

local catchinfo = {}
      catchinfo.rate = ballcatch[item.itemid].cr
      catchinfo.catch = ballcatch[item.itemid].on
      catchinfo.fail = ballcatch[item.itemid].off
      catchinfo.newid = newidd                      
      catchinfo.name = doCorrectPokemonName(name)
      catchinfo.topos = topos
      catchinfo.chance = x.chance

doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
doRemoveItem(item.uid, 1)

local d = getDistanceBetween(getThingPos(cid), topos)
        
if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then 
   setPlayerStorageValue(cid, 98796, -1)
   setPlayerStorageValue(cid, 98797, -1)                                              
   doTeleportThing(cid, SafariOut, false)
   doSendMagicEffect(getThingPos(cid), 21)
   doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...")
end

addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end

 

 

Postado

Corriguindo ja que  nao deu muito certo fiz uma nova catch.lua pra voce basta configurar com as ids do seu servidor

 

 

  • local ballcatch = {                    --id normal, id da ball shiy
    [2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"},
    [2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"},
    [2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"},
    [2392] = {cr = 45, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"},
    [12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"}, 
    [12775] = {cr = 9999, on = 193, off = 23, ball = {12769, 12769}, send = 45, typeee = "dark"},
    }

    function onUse(cid, item, frompos, item3, topos)

    local item2 = getTopCorpse(topos)
    if item2 == null then
        return true
    end

    if getItemAttribute(item2.uid, "catching") == 1 then
       return true
    end

    if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
       return doPlayerSendCancel(cid, "Voce nao pode capturar pokemon na Golden Arena!")
    end

    local name = string.lower(getItemNameById(item2.itemid))
          name = string.gsub(name, "fainted ", "")
          name = string.gsub(name, "defeated ", "")
          name = doCorrectPokemonName(name)
    local x = pokecatches[name]
        

    local storage = newpokedex[doCorrectPokemonName(name)].stoCatch
    if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then  
       setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, master = 0;")              
    end    
        
    if not x then return true end

    local owner = getItemAttribute(item2.uid, "corpseowner")
        
    if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then
       doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
       return true
    end

    local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1]       
    local typeee = ballcatch[item.itemid].typeee
    local restrictions = {"Moltres", "Articuno", "Zapdos", "Mew", "Mewtwo", "Entei", "Raikou", "Suicune", "Lugia", "Ho-oh", "Darkrai", "Beldum", "Metang", "Metagross", "Shiny Metagross", "Shiny Metang", "Shiny Milotic"}     --- ADICIONE AQUI OS POKEMONS QUE NAO PODEM SER CAPTURADOS E LEMBRESE DE REMOVER ESSE COMENTARIO
    if isInArray(restrictions, name) then
      return doPlayerSendTextMessage(cid, 25, "Este pokemon é lendário ou faz parte de uma quest! Não pode ser capturado.")
    end
           
    local catchinfo = {}
            catchinfo.rate = ballcatch[item.itemid].cr
            catchinfo.catch = ballcatch[item.itemid].on
            catchinfo.fail = ballcatch[item.itemid].off
            catchinfo.newid = newidd                      
            catchinfo.name = doCorrectPokemonName(name)
            catchinfo.topos = topos
            catchinfo.chance = x.chance

    doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
    doRemoveItem(item.uid, 1)

    local d = getDistanceBetween(getThingPos(cid), topos)
                                                  
    if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then 
       setPlayerStorageValue(cid, 98796, -1) 
       setPlayerStorageValue(cid, 98797, -1)                                              
       doTeleportThing(cid, SafariOut, false)
       doSendMagicEffect(getThingPos(cid), 21)
       doPlayerSendTextMessage(cid, 27, "You spend all your 'saffari balls', good luck in the next time...")
    end
            
    addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
    addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
    return true
    end

 

apos isso nao pode ocorrer mais bugs ja testei e esta funcionando perfeitamente,caso ocora bugs novamente poste um print de todo o log do pokemon dash

 

 

Se te ajudei da um rep+ ai nao custa nada kkk

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo