Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

PokeZR By Kyyah

Qual o motivo deste tópico? 

problema

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

[28/06/2019 13:44:47] [Error - Action Interface] 
[28/06/2019 13:44:47] datapack/actions/scripts/goback.lua:onUse
[28/06/2019 13:44:47] Description: 
[28/06/2019 13:44:47] datapack/actions/scripts/goback.lua:286: bad argument #2 to 'gsub' (string/function/table expected)
[28/06/2019 13:44:47] stack traceback:
[28/06/2019 13:44:47]     [C]: in function 'gsub'
[28/06/2019 13:44:47]     datapack/actions/scripts/goback.lua:286: in function <datapack/actions/scripts/goback.lua:207>

 

Você tem o código disponível? Se tiver publique-o aqui: 

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

    if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(getCreatureSummons(cid)[1], 33) >= 1 then
    return true
    end
local random2 = math.random(1,6)
    if random2 == 1 then
    msgunicaback = msgunicaback1
    elseif random2 == 2 then
    msgunicaback = msgunicaback2
    elseif random2 == 3 then
    msgunicaback = msgunicaback3
    elseif random2 == 4 then
    msgunicaback = msgunicaback4
    elseif random2 == 5 then
    msgunicaback = msgunicaback5
    elseif random2 == 6 then
    msgunicaback = msgunicaback6
    end
local random = math.random(1,6)
    if random == 1 then
    msgunicago = msgunicago1
    elseif random == 2 then
    msgunicago = msgunicago2
    elseif random == 3 then
    msgunicago = msgunicago3
    elseif random == 4 then
    msgunicago = msgunicago4
    elseif random == 5 then
    msgunicago = msgunicago5
    elseif random == 6 then
    msgunicago = msgunicago6
    end

    if item.itemid == 2222 or item.itemid == 2223 then
    gobackeff = 10
    elseif item.itemid == 2239 or item.itemid == 2240 then
    gobackeff = 189
    elseif item.itemid == 2234 or item.itemid == 2235 then
    gobackeff = 190
    elseif item.itemid == 2220 or item.itemid == 2221 then
    gobackeff = 191
    elseif item.itemid == 2242 or item.itemid == 2243 then
    gobackeff = 226
    elseif item.itemid == 2192 or item.itemid == 2193 then
    gobackeff = 223
    elseif item.itemid == 2660 or item.itemid == 2661 then
    gobackeff = 194
    elseif item.itemid == 2663 or item.itemid == 2664 then
    gobackeff = 193
    elseif item.itemid == 2655 or item.itemid == 2656 then
    gobackeff = 195
    end

local effect = gobackeff

    if item.itemid == 2223 or item.itemid == 2240 or item.itemid == 2235 or item.itemid == 2221 or item.itemid == 2243 or item.itemid == 2193 or item.itemid == 2661 or item.itemid == 2664 or item.itemid == 2656 then
        for a, b in pairs(ginasios) do
            if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM
                doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
            return true
            end
        end
    end

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

    if #getCreatureSummons(cid) >= 1 then
        if getPlayerStorageValue(cid, 6547) >= 4 then
        return true
        end
    end

    if getPlayerStorageValue(cid, 4897) >= 7 then
    return true
    end

local z = getCreatureSummons(cid)[1]
local pokename = getCreatureName(z)
local mbk = msgunicaback:gsub("doka", pokename)

    if getItemAttribute(item.uid, "poke"):find(getCreatureName(z)) then
        doTransformItem(item.uid, item.itemid-1)
        doCreatureSay(cid, mbk, TALKTYPE_SAY)
    return true
    end

local summom = getCreatureSummons(cid)
local maxh = pokes[getCreatureName(summom[1])].vida
local pct2 = ((getCreatureHealth(summom[1])) / (getCreatureMaxHealth(summom[1])))
local vids = ((getCreatureHealth(summom[1])) - 2)

    doCreatureAddHealth(summom[1], -vids)
    setCreatureMaxHealth(summom[1], maxh)
    doCreatureAddHealth(summom[1], ((maxh) * (pct2)))
    doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..getCreatureHealth(z).."/"..getCreatureMaxHealth(z).."]")
    setPlayerStorageValue(cid, 61204, 0)
    setPlayerStorageValue(cid, 2, 0)
    doSendMagicEffect(getCreaturePosition(z), effect)
    doRemoveCreature(z)

    if getPlayerGroupId(cid) == 8 then
        setPlayerGroupId(cid, 1)
    elseif item.itemid == 2222 or item.itemid == 2239 or item.itemid == 2234 or item.itemid == 2220 or item.itemid == 2242 or item.itemid == 2192 or item.itemid == 2660 or item.itemid == 2663 or item.itemid == 2655 then
    return true
    end

    if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
    return TRUE
    end

    if not canSummon(cid) then
    return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
    end

    if getPlayerStorageValue(cid, 63215) >= 1 then
    return doPlayerSendCancel(cid, "You can't use pokeball while surfing.")
    end

    if getPlayerStorageValue(cid, 62314) >= 1 then
    return doPlayerSendCancel(cid, "You can't use pokeball while flying.")
    end

    if #getCreatureSummons(cid) >= 1 then
    return doPlayerSendCancel(cid, "You have already summoned a pokemon.")
    end

    for i,x in pairs(pokes) do
        if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then

            if getPlayerLevel(cid) < x.level then
                oPlayerSendCancel(cid, "You need level "..x.level.." or higher to use this pokemon.")
            return true
            end
        end
    end

local removed = doCreateItem(1285, 1, getThingPos(cid))

    if getItemAttribute(item.uid, "level") == False then
        doItemSetAttribute(item.uid, "level", 1) ----- aki e o level que o pokemon novo capturado recebe no primeiro goback
    else
        doItemSetAttribute(item.uid, "description", " Contains a "..getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1).." Level : "..getItemAttribute(item.uid, "level").."")
    end

        doSummonMonster(cid, i)

local pk = getCreatureSummons(cid)[1]
    doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), false)
    doRemoveItem(removed, 1)
    doCreatureSetLookDir(pk, 2)
local maxh = pokes[getCreatureName(pk)].vida
local levellife = ((getPlayerLevel(cid)) * (pokes[getCreatureName(pk)].cons))
local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/"))
    doConvinceCreature(cid, pk)
    doCreatureAddHealth(pk, health-maxh)
local pct = ((getCreatureHealth(pk)) / (getCreatureMaxHealth(pk)))
local vidis = (getCreatureHealth(pk))
    setCreatureMaxHealth(pk, ((maxh) + (levellife)))
    doCreatureAddHealth(pk, 2)
    doCreatureAddHealth(pk, -vidis)

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 2 then --- numero do level
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+100) ----- quantida de hp que ganha por level
    end

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 3 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+200)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 4 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+300)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 5 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+400)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 6 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+500)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 7 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+600)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 8 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+700)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 9 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+800)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 10 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+900)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 11 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1000)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 12 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1100)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 13 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1200)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 14 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1300)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 15 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1400)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 16 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1500)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 17 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1600)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 18 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1700)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 19 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1800)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 20 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1900)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 21 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2000)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 22 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2100)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 23 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2200)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 24 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2300)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 25 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2400)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 26 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2500)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 27 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2600)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 28 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2700)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 29 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2800)
    end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
    if getItemAttribute(feet.uid, "level") == 30 then
        setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+3000)
    end

    doCreatureAddHealth(pk, ((getCreatureMaxHealth(pk)) * (pct)) - 2)
    doTransformItem(item.uid, item.itemid+1)

    if getPlayerGroupId(cid) == 1 then
        setPlayerGroupId(cid, 8)
    end

local pokename = getCreatureName(getCreatureSummons(cid)[1])
local mgo = msgunicago:gsub("doka", pokename)
    doCreatureSay(cid, mgo, TALKTYPE_SAY)
    doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")))
    doSendMagicEffect(getCreaturePosition(pk), effect)
    setPlayerStorageValue(cid, 61204, 1)
    registerCreatureEvent(pk, "DiePoke")
    registerCreatureEvent(pk, "Exp")
    if getItemAttribute(item.uid, "levell") == False then
        doItemSetAttribute(item.uid, "levell", 0)
    return TRUE
    end

if getItemText(item.uid) == 3 then
doCreatureSetSkullType(pk, 4)
else
doCreatureSetSkullType(pk, getItemText(item.uid))
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then
return true
end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
    if not effect then
        effect = 21
    end

unLock(item.uid) --alterado v1.8

if item.itemid == usando then

    if getPlayerStorageValue(cid, 990) == 1 then -- GYM
        doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
    return true
    end
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then
          BackTeam(cid)
       end
    end
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end

    local z = getCreatureSummons(cid)[1]

    if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
       return true
    end
    doReturnPokemon(cid, z, item, effect)

elseif item.itemid == pokeballs[btype].on then

    if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
    return TRUE
    end

    local thishp = getItemAttribute(item.uid, "hp")

    if getItemAttribute(item.uid, "hp") == 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end

    local pokemon = getItemAttribute(item.uid, "poke")

    if not pokes[pokemon] then
    return true
    end

    local x = pokes[pokemon]
    local boost = getItemAttribute(item.uid, "boost") or 0

    if getPlayerLevel(cid) < (x.level) then
       doPlayerSendCancel(cid, "You need level "..(x.level).." to use this pokemon.")
       return true
    end

    local pk = getCreatureSummons(cid)[1]

    doSummonMonster(cid, pokemon)
    doItemSetAttribute(item.uid, "pokeballusada", 0)

    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then
    return true
    end


    if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited

        local left = getItemAttribute(item.uid, "transLeft")
        local name = getItemAttribute(item.uid, "transName")

        if left and left > 0 then
            setPlayerStorageValue(pk, 1010, name)
            doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
            addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
            doItemSetAttribute(item.uid, "transBegin", os.clock())
        else
            setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
        end
    end

    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false)
    end

    doCreatureSetLookDir(pk, 2)
    doCreatureSetNick(pk, nick)
    adjustStatus(pk, item.uid, true, true, true)
    doAddPokemonInOwnList(cid, pokemon)

    doTransformItem(item.uid, item.itemid+1)

    local pokename = getPokeName(pk) --alterado v1.7

    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    local mgoen = gobackmsgsen[math.random(1, #gobackmsgsen)].go:gsub("doka", pokename)
    local mgoes = gobackmsgses[math.random(1, #gobackmsgses)].go:gsub("doka", pokename)
    if getPlayerLanguage(cid) == 2 then
    doCreatureSay(cid, mgoen, 19)
    end
    if getPlayerLanguage(cid) == 0 then
    doCreatureSay(cid, mgo, 19)
    end
    if getPlayerLanguage(cid) == 1 then
    doCreatureSay(cid, mgoes, 19)
    end

    -- doItemSetAttribute(item.uid, "gender", math.random(3, 4))
    doSendMagicEffect(getCreaturePosition(pk), effect)

    if useOTClient then
       doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end

local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not getItemAttribute(pb,"addon") then
                                doSetItemAttribute(pb,"addon",0)

                end
                if getItemAttribute(pb,"addon") > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

else

    doPlayerSendCancel(cid, "This pokemon is fainted.")

end

    if useKpdoDlls then
        doUpdateMoves(cid)
    end
return true
end
 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

goback.lua

  • Respostas 5
  • Visualizações 733
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Pelo que eu consegui entender.. a função tem como parâmetro uma string e a váriavel "pokename" está retornando um table de summons(pokemons) e tem que retornar uma string(que é o nome do primeiro pokemon)... eu não tenho ot pokemon,eu fiz a modificação sem testar. Então testa ai!

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,
	["Jynx"] = 17,          --alterado v1.5
	["Shiny Jynx"] = 17,
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,
}
local pokes = {

["Bulbasaur"] = {level = 20, cons = 7, vida = 700},
["Ivysaur"] = {level = 40, cons = 10, vida = 3000},
["Venusaur"] = {level = 85, cons = 15, vida = 5200},
["Charmander"] = {level = 20, cons = 7, vida = 970},
["Charmeleon"] = {level = 40, cons = 10, vida = 2900},
["Charizard"] = {level = 85, cons = 15, vida = 5200},
["Squirtle"] = {level = 20, cons = 7, vida = 650},
["Wartortle"] = {level = 40, cons = 10, vida = 2300},
["Blastoise"] = {level = 85, cons = 15, vida = 5200},
["Caterpie"] = {level = 1, cons = 5, vida = 200},
["Metapod"] = {level = 10, cons = 10, vida = 405},
["Butterfree"] = {level = 30, cons = 15, vida = 2500},
["Weedle"] = {level = 1, cons = 5, vida = 325},
["Kakuna"] = {level = 10, cons = 10, vida = 900},
["Beedrill"] = {level = 30, cons = 15, vida = 1900},
["Pidgey"] = {level = 1, cons = 6, vida = 380},
["Pidgeotto"] = {level = 20, cons = 10, vida = 1400},
["Pidgeot"] = {level = 65, cons = 15, vida = 3800},
["Rattata"] = {level = 1, cons = 5, vida = 350},
["Raticate"] = {level = 20, cons = 10, vida = 900},
["Spearow"] = {level = 5, cons = 10, vida = 350},
["Fearow"] = {level = 50, cons = 15, vida = 3300},
["Ekans"] = {level = 12, cons = 10, vida = 600},
["Arbok"] = {level = 30, cons = 15, vida = 2300},
["Pikachu"] = {level = 20, cons = 10, vida = 1250},
["Raichu"] = {level = 50, cons = 15, vida = 3500},
["Sandshrew"] = {level = 18, cons = 10, vida = 700},
["Sandslash"] = {level = 55, cons = 15, vida = 3400},
["Nidoran Female"] = {level = 10, cons = 8, vida = 600},
["Nidorina"] = {level = 25, cons = 12, vida = 2135},
["Nidoqueen"] = {level = 65, cons = 15, vida = 6445},
["Nidoran Male"] = {level = 10, cons = 8, vida = 620},
["Nidorino"] = {level = 25, cons = 12, vida = 2125},
["Nidoking"] = {level = 65, cons = 15, vida = 4200},
["Clefairy"] = {level = 10, cons = 10, vida = 1400},
["Clefable"] = {level = 35, cons = 15, vida = 2400},
["Vulpix"] = {level = 20, cons = 7, vida = 400},
["Ninetales"] = {level = 65, cons = 15, vida = 3400},
["Jigglypuff"] = {level = 10, cons = 10, vida = 500},
["Wigglytuff"] = {level = 42, cons = 15, vida = 2900},
["Zubat"] = {level = 5, cons = 8, vida = 450},
["Golbat"] = {level = 30, cons = 10, vida = 1900},
["Oddish"] = {level = 5, cons = 6, vida = 450},
["Gloom"] = {level = 18, cons = 10, vida = 1400},
["Vileplume"] = {level = 50, cons = 15, vida = 3300},
["Paras"] = {level = 1, cons = 5, vida = 400},
["Parasect"] = {level = 50, cons = 10, vida = 2500},
["Venonat"] = {level = 18, cons = 10, vida = 1350},
["Venomoth"] = {level = 50, cons = 15, vida = 3000},
["Diglett"] = {level = 5, cons = 7, vida = 470},
["Dugtrio"] = {level = 35, cons = 10, vida = 2400},
["Meowth"] = {level = 12, cons = 10, vida = 4000},
["Persian"] = {level = 30, cons = 12, vida = 1000},
["Psyduck"] = {level = 12, cons = 10, vida = 800},
["Golduck"] = {level = 55, cons = 12, vida = 3880},
["Mankey"] = {level = 10, cons = 8, vida = 1050},
["Primeape"] = {level = 45, cons = 10, vida = 3000},
["Growlithe"] = {level = 20, cons = 10, vida = 1000},
["Arcanine"] = {level = 80, cons = 15, vida = 6000},
["Poliwag"] = {level = 5, cons = 5, vida = 200},
["Poliwhirl"] = {level = 20, cons = 10, vida = 1200},
["Poliwrath"] = {level = 65, cons = 15, vida = 4400},
["Abra"] = {level = 15, cons = 8, vida = 620},
["Kadabra"] = {level = 50, cons = 10, vida = 2500},
["Alakazam"] = {level = 80, cons = 15, vida = 4000},
["Machop"] = {level = 18, cons = 8, vida = 1100},
["Machoke"] = {level = 40, cons = 10, vida = 2850},
["Machamp"] = {level = 70, cons = 15, vida = 6100},
["Bellsprout"] = {level = 1, cons = 6, vida = 420},
["Weepinbell"] = {level = 18, cons = 10, vida = 1100},
["Victreebel"] = {level = 50, cons = 15, vida = 4000},
["Tentacool"] = {level = 12, cons = 8, vida = 725},
["Tentacruel"] = {level = 80, cons = 15, vida = 7050},
["Geodude"] = {level = 1, cons = 10, vida = 700},
["Graveler"] = {level = 40, cons = 12, vida = 3000},
["Golem"] = {level = 70, cons = 15, vida = 6500},
["Ponyta"] = {level = 20, cons = 10, vida = 1000},
["Rapidash"] = {level = 60, cons = 15, vida = 3000},
["Slowpoke"] = {level = 12, cons = 10, vida = 600},
["Slowbro"] = {level = 45, cons = 15, vida = 1500},
["Magnemite"] = {level = 15, cons = 10, vida = 450},
["Magneton"] = {level = 40, cons = 15, vida = 1750},
["Farfetchd"] = {level = 40, cons = 15, vida = 3000},
["Doduo"] = {level = 12, cons = 10, vida = 600},
["Dodrio"] = {level = 45, cons = 15, vida = 2650},
["Seel"] = {level = 20, cons = 10, vida = 750},
["Dewgong"] = {level = 65, cons = 15, vida = 5200},
["Grimer"] = {level = 12, cons = 10, vida = 600},
["Muk"] = {level = 30, cons = 15, vida = 2400},
["Shellder"] = {level = 5, cons = 10, vida = 800},
["Cloyster"] = {level = 65, cons = 15, vida = 4000},
["Gastly"] = {level = 18, cons = 10, vida = 850},
["Haunter"] = {level = 45, cons = 12, vida = 2500},
["Gengar"] = {level = 80, cons = 15, vida = 7000},
["Onix"] = {level = 50, cons = 15, vida = 3000},
["Crystal Onix"] = {level = 50, cons = 20, vida = 8300},
["Drowzee"] = {level = 22, cons = 10, vida = 1150},
["Hypno"] = {level = 50, cons = 15, vida = 1500},
["Krabby"] = {level = 5, cons = 45, vida = 500},
["Kingler"] = {level = 35, cons = 15, vida = 2750},
["Voltorb"] = {level = 1, cons = 10, vida = 620},
["Electrode"] = {level = 38, cons = 15, vida = 2000},
["Exeggcute"] = {level = 8, cons = 10, vida = 800},
["Exeggutor"] = {level = 48, cons = 15, vida = 2300},
["Cubone"] = {level = 18, cons = 10, vida = 900},
["Marowak"] = {level = 45, cons = 15, vida = 1400},
["Hitmonlee"] = {level = 60, cons = 15, vida = 5000},
["Hitmonchan"] = {level = 60, cons = 20, vida = 4000},
["Lickitung"] = {level = 45, cons = 10, vida = 3000},
["Koffing"] = {level = 15, cons = 10, vida = 700},
["Weezing"] = {level = 30, cons = 15, vida = 1250},
["Rhyhorn"] = {level = 35, cons = 10, vida = 2900},
["Rhydon"] = {level = 65, cons = 15, vida = 4200},
["Chansey"] = {level = 60, cons = 10, vida = 2500},
["Tangela"] = {level = 40, cons = 8, vida = 800},
["Kangaskhan"] = {level = 60, cons = 12, vida = 5000},
["Horsea"] = {level = 5, cons = 10, vida = 300},
["Seadra"] = {level = 45, cons = 10, vida = 2000},
["Goldeen"] = {level = 10, cons = 10, vida = 800},
["Seaking"] = {level = 25, cons = 12, vida = 1300},
["Staryu"] = {level = 15, cons = 10, vida = 1050},
["Starmie"] = {level = 45, cons = 15, vida = 2000},
["Mr Mime"] = {level = 60, cons = 15, vida = 3500},
["Scyther"] = {level = 70, cons = 15, vida = 5000},
["Jynx"] = {level = 65, cons = 15, vida = 4500},
["Elekid"] = {level = 30, cons = 15, vida = 1500},
["Electabuzz"] = {level = 70, cons = 15, vida = 4000},
["Magmar"] = {level = 70, cons = 15, vida = 4000},
["Pinsir"] = {level = 42, cons = 15, vida = 2000},
["Tauros"] = {level = 40, cons = 10, vida = 2400},
["Magikarp"] = {level = 1, cons = 5, vida = 120},
["Gyarados"] = {level = 75, cons = 15, vida = 3000},
["Lapras"] = {level = 70, cons = 15, vida = 5000},
["Ditto"] = {level = 40, cons = 10, vida = 1500},
["Eevee"] = {level = 20, cons = 15, vida = 1500},
["Vaporeon"] = {level = 55, cons = 15, vida = 3500},
["Jolteon"] = {level = 55, cons = 15, vida = 3500},
["Flareon"] = {level = 55, cons = 15, vida = 3500},
["Porygon"] = {level = 45, cons = 15, vida = 2000},
["Omanyte"] = {level = 20, cons = 15, vida = 1000},
["Omastar"] = {level = 70, cons = 15, vida = 3000},
["Kabuto"] = {level = 20, cons = 10, vida = 1300},
["Kabutops"] = {level = 70, cons = 15, vida = 5000},
["Aerodactyl"] = {level = 100, cons = 15, vida = 5000},
["Snorlax"] = {level = 85, cons = 15, vida = 4000},
["Articuno"] = {level = 120, cons = 15, vida = 11000},
["Zapdos"] = {level = 120, cons = 15, vida = 11000},
["Moltres"] = {level = 120, cons = 15, vida = 11000},
["Dratini"] = {level = 10, cons = 15, vida = 800},
["Dragonair"] = {level = 70, cons = 15, vida = 3000},
["Dragonite"] = {level = 100, cons = 15, vida = 4000},
["Mewtwo"] = {level = 100, cons = 15, vida = 18000},
["Mew"] = {level = 100, cons = 15, vida = 7200},
["Elder Charizard"] = {level = 10, cons = 15, vida = 3000},
["Shiny Abra"] = {level = 14, cons = 15, vida = 1000},
["Shiny Arcanine"] = {level = 70, cons = 15, vida = 10000},
["Shiny Beedrill"] = {level = 24, cons = 15, vida = 3000},
["Shiny Blastoise"] = {level = 70, cons = 15, vida = 8000},
["Shiny Butterfree"] = {level = 34, cons = 15, vida = 485},
["Shiny Dratini"] = {level = 30, cons = 15, vida = 2000},
["Shiny Electabuzz"] = {level = 90, cons = 15, vida = 4200},
["Shiny Electrode"] = {level = 48, cons = 15, vida = 4000},
["Shiny Farfetchd"] = {level = 38, cons = 15, vida = 5000},
["Shiny Grimer"] = {level = 16, cons = 15, vida = 2000},
["Shiny Hitmonchan"] = {level = 70, cons = 15, vida = 8000},
["Shiny Hitmonlee"] = {level = 120, cons = 15, vida = 8000},
["Shiny Horsea"] = {level = 14, cons = 15, vida = 1080},
["Shiny Jynx"] = {level = 70, cons = 15, vida = 5000},
["Shiny Kingler"] = {level = 24, cons = 15, vida = 4000},
["Shiny Krabby"] = {level = 70, cons = 15, vida = 700},
["Shiny Magikarp"] = {level = 34, cons = 15, vida = 180},
["Shiny Muk"] = {level = 30, cons = 15, vida = 3500},
["Shiny Oddish"] = {level = 90, cons = 15, vida = 700},
["Shiny Paras"] = {level = 48, cons = 15, vida = 600},
["Shiny Parasect"] = {level = 38, cons = 15, vida = 3500},
["Shiny Raichu"] = {level = 16, cons = 15, vida = 4500},
["Shiny Rattata"] = {level = 70, cons = 15, vida = 600},
["Shiny Raticate"] = {level = 38, cons = 15, vida = 1200},
["Shiny Scyther"] = {level = 16, cons = 15, vida = 7000},
["Shiny Seadra"] = {level = 70, cons = 15, vida = 2500},
["Shiny Tentacool"] = {level = 120, cons = 15, vida = 1000},
["Shiny Tentacruel"] = {level = 14, cons = 15, vida = 9000},
["Shiny Venomoth"] = {level = 70, cons = 15, vida = 4500},
["Shiny Venusaur"] = {level = 24, cons = 15, vida = 6000},
["Shiny Voltorb"] = {level = 70, cons = 15, vida = 1000},
["Shiny Zubat"] = {level = 34, cons = 15, vida = 990},
}

local msgunica = true
local msgunicago1, msgunicaback1 = "Go, doka!", "Come back, doka!"
local msgunicago2, msgunicaback2 = "Let's do it, doka!", "Thanks for helping, doka!"
local msgunicago3, msgunicaback3 = "I choose you, doka!", "That's enough, come back!"
local msgunicago4, msgunicaback4 = "I need your help, doka!", "You were great, doka!"
local msgunicago5, msgunicaback5 = "Let's fight, doka!", "Excellent work, doka!"
local msgunicago6, msgunicaback6 = "It's battle time, doka!", "Well done, doka!"

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

	if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(getCreatureSummons(cid)[1], 33) >= 1 then
	return true
	end
local random2 = math.random(1,6)
	if random2 == 1 then
	msgunicaback = msgunicaback1
	elseif random2 == 2 then
	msgunicaback = msgunicaback2
	elseif random2 == 3 then
	msgunicaback = msgunicaback3
	elseif random2 == 4 then
	msgunicaback = msgunicaback4
	elseif random2 == 5 then
	msgunicaback = msgunicaback5
	elseif random2 == 6 then
	msgunicaback = msgunicaback6
	end
local random = math.random(1,6)
	if random == 1 then
	msgunicago = msgunicago1
	elseif random == 2 then
	msgunicago = msgunicago2
	elseif random == 3 then
	msgunicago = msgunicago3
	elseif random == 4 then
	msgunicago = msgunicago4
	elseif random == 5 then
	msgunicago = msgunicago5
	elseif random == 6 then
	msgunicago = msgunicago6
	end

	if item.itemid == 2222 or item.itemid == 2223 then
	gobackeff = 10
	elseif item.itemid == 2239 or item.itemid == 2240 then
	gobackeff = 189
	elseif item.itemid == 2234 or item.itemid == 2235 then
	gobackeff = 190
	elseif item.itemid == 2220 or item.itemid == 2221 then
	gobackeff = 191
	elseif item.itemid == 2242 or item.itemid == 2243 then
	gobackeff = 226
	elseif item.itemid == 2192 or item.itemid == 2193 then
	gobackeff = 223
	elseif item.itemid == 2660 or item.itemid == 2661 then
	gobackeff = 194
	elseif item.itemid == 2663 or item.itemid == 2664 then
	gobackeff = 193
	elseif item.itemid == 2655 or item.itemid == 2656 then
	gobackeff = 195
	end

local effect = gobackeff

	if item.itemid == 2223 or item.itemid == 2240 or item.itemid == 2235 or item.itemid == 2221 or item.itemid == 2243 or item.itemid == 2193 or item.itemid == 2661 or item.itemid == 2664 or item.itemid == 2656 then
		for a, b in pairs(ginasios) do
			if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM
				doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
			return true
			end
		end
	end

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

	if #getCreatureSummons(cid) >= 1 then
		if getPlayerStorageValue(cid, 6547) >= 4 then
		return true
		end
	end

	if getPlayerStorageValue(cid, 4897) >= 7 then
	return true
	end

local z = getCreatureSummons(cid)[1]
local pokename = getCreatureName(z)[1]
local mbk = msgunicaback:gsub("doka", pokename)

	if getItemAttribute(item.uid, "poke"):find(getCreatureName(z)) then
		doTransformItem(item.uid, item.itemid-1)
		doCreatureSay(cid, mbk, TALKTYPE_SAY)
	return true
	end

local summom = getCreatureSummons(cid)
local maxh = pokes[getCreatureName(summom[1])].vida
local pct2 = ((getCreatureHealth(summom[1])) / (getCreatureMaxHealth(summom[1])))
local vids = ((getCreatureHealth(summom[1])) - 2)

	doCreatureAddHealth(summom[1], -vids)
	setCreatureMaxHealth(summom[1], maxh)
	doCreatureAddHealth(summom[1], ((maxh) * (pct2)))
	doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..getCreatureHealth(z).."/"..getCreatureMaxHealth(z).."]")
	setPlayerStorageValue(cid, 61204, 0)
	setPlayerStorageValue(cid, 2, 0)
	doSendMagicEffect(getCreaturePosition(z), effect)
	doRemoveCreature(z)

	if getPlayerGroupId(cid) == 8 then
		setPlayerGroupId(cid, 1)
	elseif item.itemid == 2222 or item.itemid == 2239 or item.itemid == 2234 or item.itemid == 2220 or item.itemid == 2242 or item.itemid == 2192 or item.itemid == 2660 or item.itemid == 2663 or item.itemid == 2655 then
	return true
	end

	if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
		doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
	return TRUE
	end

	if not canSummon(cid) then
	return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
	end

	if getPlayerStorageValue(cid, 63215) >= 1 then
	return doPlayerSendCancel(cid, "You can't use pokeball while surfing.")
	end

	if getPlayerStorageValue(cid, 62314) >= 1 then
	return doPlayerSendCancel(cid, "You can't use pokeball while flying.")
	end

	if #getCreatureSummons(cid) >= 1 then
	return doPlayerSendCancel(cid, "You have already summoned a pokemon.")
	end

	for i,x in pairs(pokes) do
		if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then

			if getPlayerLevel(cid) < x.level then
				oPlayerSendCancel(cid, "You need level "..x.level.." or higher to use this pokemon.")
			return true
			end
		end
	end

local removed = doCreateItem(1285, 1, getThingPos(cid))

	if getItemAttribute(item.uid, "level") == False then
		doItemSetAttribute(item.uid, "level", 1) ----- aki e o level que o pokemon novo capturado recebe no primeiro goback
	else
		doItemSetAttribute(item.uid, "description", " Contains a "..getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1).." Level : "..getItemAttribute(item.uid, "level").."")
	end

		doSummonMonster(cid, i)

local pk = getCreatureSummons(cid)[1]
	doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), false)
	doRemoveItem(removed, 1)
	doCreatureSetLookDir(pk, 2)
local maxh = pokes[getCreatureName(pk)].vida
local levellife = ((getPlayerLevel(cid)) * (pokes[getCreatureName(pk)].cons))
local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/"))
	doConvinceCreature(cid, pk)
	doCreatureAddHealth(pk, health-maxh)
local pct = ((getCreatureHealth(pk)) / (getCreatureMaxHealth(pk)))
local vidis = (getCreatureHealth(pk))
	setCreatureMaxHealth(pk, ((maxh) + (levellife)))
	doCreatureAddHealth(pk, 2)
	doCreatureAddHealth(pk, -vidis)

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 2 then --- numero do level
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+100) ----- quantida de hp que ganha por level
	end

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 3 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+200)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 4 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+300)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 5 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+400)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 6 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+500)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 7 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+600)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 8 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+700)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 9 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+800)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 10 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+900)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 11 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1000)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 12 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1100)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 13 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1200)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 14 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1300)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 15 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1400)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 16 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1500)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 17 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1600)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 18 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1700)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 19 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1800)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 20 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1900)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 21 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2000)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 22 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2100)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 23 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2200)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 24 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2300)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 25 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2400)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 26 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2500)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 27 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2600)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 28 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2700)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 29 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2800)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 30 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+3000)
	end

	doCreatureAddHealth(pk, ((getCreatureMaxHealth(pk)) * (pct)) - 2)
	doTransformItem(item.uid, item.itemid+1)

	if getPlayerGroupId(cid) == 1 then
		setPlayerGroupId(cid, 8)
	end

local pokename = getCreatureName(getCreatureSummons(cid)[1])
local mgo = msgunicago:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")))
	doSendMagicEffect(getCreaturePosition(pk), effect)
	setPlayerStorageValue(cid, 61204, 1)
	registerCreatureEvent(pk, "DiePoke")
	registerCreatureEvent(pk, "Exp")
	if getItemAttribute(item.uid, "levell") == False then
		doItemSetAttribute(item.uid, "levell", 0)
	return TRUE
	end

if getItemText(item.uid) == 3 then
doCreatureSetSkullType(pk, 4)
else
doCreatureSetSkullType(pk, getItemText(item.uid))
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then
return true
end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end

unLock(item.uid) --alterado v1.8

if item.itemid == usando then

	if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	return true
	end
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then
          BackTeam(cid)
       end
    end
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
		if isInArray(pokeballs[btype].all, item.itemid) then
			doTransformItem(item.uid, pokeballs[btype].off)
			doItemSetAttribute(item.uid, "hp", 0)
			doPlayerSendCancel(cid, "This pokemon is fainted.")
		    return true
		end
	end

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end

	local z = getCreatureSummons(cid)[1]

	if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
	   return true
	end
	doReturnPokemon(cid, z, item, effect)

elseif item.itemid == pokeballs[btype].on then

	if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
		doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
	return TRUE
	end

	local thishp = getItemAttribute(item.uid, "hp")

	if getItemAttribute(item.uid, "hp") == 0 then
		if isInArray(pokeballs[btype].all, item.itemid) then
			doTransformItem(item.uid, pokeballs[btype].off)
			doItemSetAttribute(item.uid, "hp", 0)
			doPlayerSendCancel(cid, "This pokemon is fainted.")
		    return true
		end
	end

	local pokemon = getItemAttribute(item.uid, "poke")

	if not pokes[pokemon] then
	return true
	end

	local x = pokes[pokemon]
	local boost = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) < (x.level) then
	   doPlayerSendCancel(cid, "You need level "..(x.level).." to use this pokemon.")
	   return true
	end

	local pk = getCreatureSummons(cid)[1]

	doSummonMonster(cid, pokemon)
	doItemSetAttribute(item.uid, "pokeballusada", 0)

	local pk = getCreatureSummons(cid)[1]
	if not isCreature(pk) then
	return true
	end


	if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
		end
	end

	if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false)
	end

	doCreatureSetLookDir(pk, 2)
	doCreatureSetNick(pk, nick)
	adjustStatus(pk, item.uid, true, true, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

	local pokename = getPokeName(pk) --alterado v1.7

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	local mgoen = gobackmsgsen[math.random(1, #gobackmsgsen)].go:gsub("doka", pokename)
	local mgoes = gobackmsgses[math.random(1, #gobackmsgses)].go:gsub("doka", pokename)
	if getPlayerLanguage(cid) == 2 then
	doCreatureSay(cid, mgoen, 19)
	end
	if getPlayerLanguage(cid) == 0 then
	doCreatureSay(cid, mgo, 19)
	end
	if getPlayerLanguage(cid) == 1 then
	doCreatureSay(cid, mgoes, 19)
	end

	-- doItemSetAttribute(item.uid, "gender", math.random(3, 4))
	doSendMagicEffect(getCreaturePosition(pk), effect)

	if useOTClient then
	   doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end

local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not getItemAttribute(pb,"addon") then
                                doSetItemAttribute(pb,"addon",0)

                end
                if getItemAttribute(pb,"addon") > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

else

    doPlayerSendCancel(cid, "This pokemon is fainted.")

end

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end


 

Contribuições:
 

=> Distribuições/Servidores

  1. [8.60] The Forgotten Server 1.3 (COMPILADO WIN x64)

 

=> Scripts/Códigos/Tutoriais

  1. Pokemon pescado aparece em volta do seu pokemon
  2. [Gesior]Dobrar pontos PagSeguro a partir de x valor doado

 

 Gostou de alguma contribuição? Rep +?

Postado
  • Autor
Em 28/06/2019 em 18:20, Rayo disse:

Pelo que eu consegui entender.. a função tem como parâmetro uma string e a váriavel "pokename" está retornando um table de summons(pokemons) e tem que retornar uma string(que é o nome do primeiro pokemon)... eu não tenho ot pokemon,eu fiz a modificação sem testar. Então testa ai!


local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,
	["Jynx"] = 17,          --alterado v1.5
	["Shiny Jynx"] = 17,
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,
}
local pokes = {

["Bulbasaur"] = {level = 20, cons = 7, vida = 700},
["Ivysaur"] = {level = 40, cons = 10, vida = 3000},
["Venusaur"] = {level = 85, cons = 15, vida = 5200},
["Charmander"] = {level = 20, cons = 7, vida = 970},
["Charmeleon"] = {level = 40, cons = 10, vida = 2900},
["Charizard"] = {level = 85, cons = 15, vida = 5200},
["Squirtle"] = {level = 20, cons = 7, vida = 650},
["Wartortle"] = {level = 40, cons = 10, vida = 2300},
["Blastoise"] = {level = 85, cons = 15, vida = 5200},
["Caterpie"] = {level = 1, cons = 5, vida = 200},
["Metapod"] = {level = 10, cons = 10, vida = 405},
["Butterfree"] = {level = 30, cons = 15, vida = 2500},
["Weedle"] = {level = 1, cons = 5, vida = 325},
["Kakuna"] = {level = 10, cons = 10, vida = 900},
["Beedrill"] = {level = 30, cons = 15, vida = 1900},
["Pidgey"] = {level = 1, cons = 6, vida = 380},
["Pidgeotto"] = {level = 20, cons = 10, vida = 1400},
["Pidgeot"] = {level = 65, cons = 15, vida = 3800},
["Rattata"] = {level = 1, cons = 5, vida = 350},
["Raticate"] = {level = 20, cons = 10, vida = 900},
["Spearow"] = {level = 5, cons = 10, vida = 350},
["Fearow"] = {level = 50, cons = 15, vida = 3300},
["Ekans"] = {level = 12, cons = 10, vida = 600},
["Arbok"] = {level = 30, cons = 15, vida = 2300},
["Pikachu"] = {level = 20, cons = 10, vida = 1250},
["Raichu"] = {level = 50, cons = 15, vida = 3500},
["Sandshrew"] = {level = 18, cons = 10, vida = 700},
["Sandslash"] = {level = 55, cons = 15, vida = 3400},
["Nidoran Female"] = {level = 10, cons = 8, vida = 600},
["Nidorina"] = {level = 25, cons = 12, vida = 2135},
["Nidoqueen"] = {level = 65, cons = 15, vida = 6445},
["Nidoran Male"] = {level = 10, cons = 8, vida = 620},
["Nidorino"] = {level = 25, cons = 12, vida = 2125},
["Nidoking"] = {level = 65, cons = 15, vida = 4200},
["Clefairy"] = {level = 10, cons = 10, vida = 1400},
["Clefable"] = {level = 35, cons = 15, vida = 2400},
["Vulpix"] = {level = 20, cons = 7, vida = 400},
["Ninetales"] = {level = 65, cons = 15, vida = 3400},
["Jigglypuff"] = {level = 10, cons = 10, vida = 500},
["Wigglytuff"] = {level = 42, cons = 15, vida = 2900},
["Zubat"] = {level = 5, cons = 8, vida = 450},
["Golbat"] = {level = 30, cons = 10, vida = 1900},
["Oddish"] = {level = 5, cons = 6, vida = 450},
["Gloom"] = {level = 18, cons = 10, vida = 1400},
["Vileplume"] = {level = 50, cons = 15, vida = 3300},
["Paras"] = {level = 1, cons = 5, vida = 400},
["Parasect"] = {level = 50, cons = 10, vida = 2500},
["Venonat"] = {level = 18, cons = 10, vida = 1350},
["Venomoth"] = {level = 50, cons = 15, vida = 3000},
["Diglett"] = {level = 5, cons = 7, vida = 470},
["Dugtrio"] = {level = 35, cons = 10, vida = 2400},
["Meowth"] = {level = 12, cons = 10, vida = 4000},
["Persian"] = {level = 30, cons = 12, vida = 1000},
["Psyduck"] = {level = 12, cons = 10, vida = 800},
["Golduck"] = {level = 55, cons = 12, vida = 3880},
["Mankey"] = {level = 10, cons = 8, vida = 1050},
["Primeape"] = {level = 45, cons = 10, vida = 3000},
["Growlithe"] = {level = 20, cons = 10, vida = 1000},
["Arcanine"] = {level = 80, cons = 15, vida = 6000},
["Poliwag"] = {level = 5, cons = 5, vida = 200},
["Poliwhirl"] = {level = 20, cons = 10, vida = 1200},
["Poliwrath"] = {level = 65, cons = 15, vida = 4400},
["Abra"] = {level = 15, cons = 8, vida = 620},
["Kadabra"] = {level = 50, cons = 10, vida = 2500},
["Alakazam"] = {level = 80, cons = 15, vida = 4000},
["Machop"] = {level = 18, cons = 8, vida = 1100},
["Machoke"] = {level = 40, cons = 10, vida = 2850},
["Machamp"] = {level = 70, cons = 15, vida = 6100},
["Bellsprout"] = {level = 1, cons = 6, vida = 420},
["Weepinbell"] = {level = 18, cons = 10, vida = 1100},
["Victreebel"] = {level = 50, cons = 15, vida = 4000},
["Tentacool"] = {level = 12, cons = 8, vida = 725},
["Tentacruel"] = {level = 80, cons = 15, vida = 7050},
["Geodude"] = {level = 1, cons = 10, vida = 700},
["Graveler"] = {level = 40, cons = 12, vida = 3000},
["Golem"] = {level = 70, cons = 15, vida = 6500},
["Ponyta"] = {level = 20, cons = 10, vida = 1000},
["Rapidash"] = {level = 60, cons = 15, vida = 3000},
["Slowpoke"] = {level = 12, cons = 10, vida = 600},
["Slowbro"] = {level = 45, cons = 15, vida = 1500},
["Magnemite"] = {level = 15, cons = 10, vida = 450},
["Magneton"] = {level = 40, cons = 15, vida = 1750},
["Farfetchd"] = {level = 40, cons = 15, vida = 3000},
["Doduo"] = {level = 12, cons = 10, vida = 600},
["Dodrio"] = {level = 45, cons = 15, vida = 2650},
["Seel"] = {level = 20, cons = 10, vida = 750},
["Dewgong"] = {level = 65, cons = 15, vida = 5200},
["Grimer"] = {level = 12, cons = 10, vida = 600},
["Muk"] = {level = 30, cons = 15, vida = 2400},
["Shellder"] = {level = 5, cons = 10, vida = 800},
["Cloyster"] = {level = 65, cons = 15, vida = 4000},
["Gastly"] = {level = 18, cons = 10, vida = 850},
["Haunter"] = {level = 45, cons = 12, vida = 2500},
["Gengar"] = {level = 80, cons = 15, vida = 7000},
["Onix"] = {level = 50, cons = 15, vida = 3000},
["Crystal Onix"] = {level = 50, cons = 20, vida = 8300},
["Drowzee"] = {level = 22, cons = 10, vida = 1150},
["Hypno"] = {level = 50, cons = 15, vida = 1500},
["Krabby"] = {level = 5, cons = 45, vida = 500},
["Kingler"] = {level = 35, cons = 15, vida = 2750},
["Voltorb"] = {level = 1, cons = 10, vida = 620},
["Electrode"] = {level = 38, cons = 15, vida = 2000},
["Exeggcute"] = {level = 8, cons = 10, vida = 800},
["Exeggutor"] = {level = 48, cons = 15, vida = 2300},
["Cubone"] = {level = 18, cons = 10, vida = 900},
["Marowak"] = {level = 45, cons = 15, vida = 1400},
["Hitmonlee"] = {level = 60, cons = 15, vida = 5000},
["Hitmonchan"] = {level = 60, cons = 20, vida = 4000},
["Lickitung"] = {level = 45, cons = 10, vida = 3000},
["Koffing"] = {level = 15, cons = 10, vida = 700},
["Weezing"] = {level = 30, cons = 15, vida = 1250},
["Rhyhorn"] = {level = 35, cons = 10, vida = 2900},
["Rhydon"] = {level = 65, cons = 15, vida = 4200},
["Chansey"] = {level = 60, cons = 10, vida = 2500},
["Tangela"] = {level = 40, cons = 8, vida = 800},
["Kangaskhan"] = {level = 60, cons = 12, vida = 5000},
["Horsea"] = {level = 5, cons = 10, vida = 300},
["Seadra"] = {level = 45, cons = 10, vida = 2000},
["Goldeen"] = {level = 10, cons = 10, vida = 800},
["Seaking"] = {level = 25, cons = 12, vida = 1300},
["Staryu"] = {level = 15, cons = 10, vida = 1050},
["Starmie"] = {level = 45, cons = 15, vida = 2000},
["Mr Mime"] = {level = 60, cons = 15, vida = 3500},
["Scyther"] = {level = 70, cons = 15, vida = 5000},
["Jynx"] = {level = 65, cons = 15, vida = 4500},
["Elekid"] = {level = 30, cons = 15, vida = 1500},
["Electabuzz"] = {level = 70, cons = 15, vida = 4000},
["Magmar"] = {level = 70, cons = 15, vida = 4000},
["Pinsir"] = {level = 42, cons = 15, vida = 2000},
["Tauros"] = {level = 40, cons = 10, vida = 2400},
["Magikarp"] = {level = 1, cons = 5, vida = 120},
["Gyarados"] = {level = 75, cons = 15, vida = 3000},
["Lapras"] = {level = 70, cons = 15, vida = 5000},
["Ditto"] = {level = 40, cons = 10, vida = 1500},
["Eevee"] = {level = 20, cons = 15, vida = 1500},
["Vaporeon"] = {level = 55, cons = 15, vida = 3500},
["Jolteon"] = {level = 55, cons = 15, vida = 3500},
["Flareon"] = {level = 55, cons = 15, vida = 3500},
["Porygon"] = {level = 45, cons = 15, vida = 2000},
["Omanyte"] = {level = 20, cons = 15, vida = 1000},
["Omastar"] = {level = 70, cons = 15, vida = 3000},
["Kabuto"] = {level = 20, cons = 10, vida = 1300},
["Kabutops"] = {level = 70, cons = 15, vida = 5000},
["Aerodactyl"] = {level = 100, cons = 15, vida = 5000},
["Snorlax"] = {level = 85, cons = 15, vida = 4000},
["Articuno"] = {level = 120, cons = 15, vida = 11000},
["Zapdos"] = {level = 120, cons = 15, vida = 11000},
["Moltres"] = {level = 120, cons = 15, vida = 11000},
["Dratini"] = {level = 10, cons = 15, vida = 800},
["Dragonair"] = {level = 70, cons = 15, vida = 3000},
["Dragonite"] = {level = 100, cons = 15, vida = 4000},
["Mewtwo"] = {level = 100, cons = 15, vida = 18000},
["Mew"] = {level = 100, cons = 15, vida = 7200},
["Elder Charizard"] = {level = 10, cons = 15, vida = 3000},
["Shiny Abra"] = {level = 14, cons = 15, vida = 1000},
["Shiny Arcanine"] = {level = 70, cons = 15, vida = 10000},
["Shiny Beedrill"] = {level = 24, cons = 15, vida = 3000},
["Shiny Blastoise"] = {level = 70, cons = 15, vida = 8000},
["Shiny Butterfree"] = {level = 34, cons = 15, vida = 485},
["Shiny Dratini"] = {level = 30, cons = 15, vida = 2000},
["Shiny Electabuzz"] = {level = 90, cons = 15, vida = 4200},
["Shiny Electrode"] = {level = 48, cons = 15, vida = 4000},
["Shiny Farfetchd"] = {level = 38, cons = 15, vida = 5000},
["Shiny Grimer"] = {level = 16, cons = 15, vida = 2000},
["Shiny Hitmonchan"] = {level = 70, cons = 15, vida = 8000},
["Shiny Hitmonlee"] = {level = 120, cons = 15, vida = 8000},
["Shiny Horsea"] = {level = 14, cons = 15, vida = 1080},
["Shiny Jynx"] = {level = 70, cons = 15, vida = 5000},
["Shiny Kingler"] = {level = 24, cons = 15, vida = 4000},
["Shiny Krabby"] = {level = 70, cons = 15, vida = 700},
["Shiny Magikarp"] = {level = 34, cons = 15, vida = 180},
["Shiny Muk"] = {level = 30, cons = 15, vida = 3500},
["Shiny Oddish"] = {level = 90, cons = 15, vida = 700},
["Shiny Paras"] = {level = 48, cons = 15, vida = 600},
["Shiny Parasect"] = {level = 38, cons = 15, vida = 3500},
["Shiny Raichu"] = {level = 16, cons = 15, vida = 4500},
["Shiny Rattata"] = {level = 70, cons = 15, vida = 600},
["Shiny Raticate"] = {level = 38, cons = 15, vida = 1200},
["Shiny Scyther"] = {level = 16, cons = 15, vida = 7000},
["Shiny Seadra"] = {level = 70, cons = 15, vida = 2500},
["Shiny Tentacool"] = {level = 120, cons = 15, vida = 1000},
["Shiny Tentacruel"] = {level = 14, cons = 15, vida = 9000},
["Shiny Venomoth"] = {level = 70, cons = 15, vida = 4500},
["Shiny Venusaur"] = {level = 24, cons = 15, vida = 6000},
["Shiny Voltorb"] = {level = 70, cons = 15, vida = 1000},
["Shiny Zubat"] = {level = 34, cons = 15, vida = 990},
}

local msgunica = true
local msgunicago1, msgunicaback1 = "Go, doka!", "Come back, doka!"
local msgunicago2, msgunicaback2 = "Let's do it, doka!", "Thanks for helping, doka!"
local msgunicago3, msgunicaback3 = "I choose you, doka!", "That's enough, come back!"
local msgunicago4, msgunicaback4 = "I need your help, doka!", "You were great, doka!"
local msgunicago5, msgunicaback5 = "Let's fight, doka!", "Excellent work, doka!"
local msgunicago6, msgunicaback6 = "It's battle time, doka!", "Well done, doka!"

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

	if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(getCreatureSummons(cid)[1], 33) >= 1 then
	return true
	end
local random2 = math.random(1,6)
	if random2 == 1 then
	msgunicaback = msgunicaback1
	elseif random2 == 2 then
	msgunicaback = msgunicaback2
	elseif random2 == 3 then
	msgunicaback = msgunicaback3
	elseif random2 == 4 then
	msgunicaback = msgunicaback4
	elseif random2 == 5 then
	msgunicaback = msgunicaback5
	elseif random2 == 6 then
	msgunicaback = msgunicaback6
	end
local random = math.random(1,6)
	if random == 1 then
	msgunicago = msgunicago1
	elseif random == 2 then
	msgunicago = msgunicago2
	elseif random == 3 then
	msgunicago = msgunicago3
	elseif random == 4 then
	msgunicago = msgunicago4
	elseif random == 5 then
	msgunicago = msgunicago5
	elseif random == 6 then
	msgunicago = msgunicago6
	end

	if item.itemid == 2222 or item.itemid == 2223 then
	gobackeff = 10
	elseif item.itemid == 2239 or item.itemid == 2240 then
	gobackeff = 189
	elseif item.itemid == 2234 or item.itemid == 2235 then
	gobackeff = 190
	elseif item.itemid == 2220 or item.itemid == 2221 then
	gobackeff = 191
	elseif item.itemid == 2242 or item.itemid == 2243 then
	gobackeff = 226
	elseif item.itemid == 2192 or item.itemid == 2193 then
	gobackeff = 223
	elseif item.itemid == 2660 or item.itemid == 2661 then
	gobackeff = 194
	elseif item.itemid == 2663 or item.itemid == 2664 then
	gobackeff = 193
	elseif item.itemid == 2655 or item.itemid == 2656 then
	gobackeff = 195
	end

local effect = gobackeff

	if item.itemid == 2223 or item.itemid == 2240 or item.itemid == 2235 or item.itemid == 2221 or item.itemid == 2243 or item.itemid == 2193 or item.itemid == 2661 or item.itemid == 2664 or item.itemid == 2656 then
		for a, b in pairs(ginasios) do
			if getPlayerStorageValue(cid, b.storage) == 1 then -- GYM
				doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
			return true
			end
		end
	end

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)

	if #getCreatureSummons(cid) >= 1 then
		if getPlayerStorageValue(cid, 6547) >= 4 then
		return true
		end
	end

	if getPlayerStorageValue(cid, 4897) >= 7 then
	return true
	end

local z = getCreatureSummons(cid)[1]
local pokename = getCreatureName(z)[1]
local mbk = msgunicaback:gsub("doka", pokename)

	if getItemAttribute(item.uid, "poke"):find(getCreatureName(z)) then
		doTransformItem(item.uid, item.itemid-1)
		doCreatureSay(cid, mbk, TALKTYPE_SAY)
	return true
	end

local summom = getCreatureSummons(cid)
local maxh = pokes[getCreatureName(summom[1])].vida
local pct2 = ((getCreatureHealth(summom[1])) / (getCreatureMaxHealth(summom[1])))
local vids = ((getCreatureHealth(summom[1])) - 2)

	doCreatureAddHealth(summom[1], -vids)
	setCreatureMaxHealth(summom[1], maxh)
	doCreatureAddHealth(summom[1], ((maxh) * (pct2)))
	doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")) .. " HP = ["..getCreatureHealth(z).."/"..getCreatureMaxHealth(z).."]")
	setPlayerStorageValue(cid, 61204, 0)
	setPlayerStorageValue(cid, 2, 0)
	doSendMagicEffect(getCreaturePosition(z), effect)
	doRemoveCreature(z)

	if getPlayerGroupId(cid) == 8 then
		setPlayerGroupId(cid, 1)
	elseif item.itemid == 2222 or item.itemid == 2239 or item.itemid == 2234 or item.itemid == 2220 or item.itemid == 2242 or item.itemid == 2192 or item.itemid == 2660 or item.itemid == 2663 or item.itemid == 2655 then
	return true
	end

	if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
		doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
	return TRUE
	end

	if not canSummon(cid) then
	return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
	end

	if getPlayerStorageValue(cid, 63215) >= 1 then
	return doPlayerSendCancel(cid, "You can't use pokeball while surfing.")
	end

	if getPlayerStorageValue(cid, 62314) >= 1 then
	return doPlayerSendCancel(cid, "You can't use pokeball while flying.")
	end

	if #getCreatureSummons(cid) >= 1 then
	return doPlayerSendCancel(cid, "You have already summoned a pokemon.")
	end

	for i,x in pairs(pokes) do
		if i == getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1) then

			if getPlayerLevel(cid) < x.level then
				oPlayerSendCancel(cid, "You need level "..x.level.." or higher to use this pokemon.")
			return true
			end
		end
	end

local removed = doCreateItem(1285, 1, getThingPos(cid))

	if getItemAttribute(item.uid, "level") == False then
		doItemSetAttribute(item.uid, "level", 1) ----- aki e o level que o pokemon novo capturado recebe no primeiro goback
	else
		doItemSetAttribute(item.uid, "description", " Contains a "..getItemAttribute(item.uid, "poke"):sub(9, findLetter(getItemAttribute(item.uid, "poke"), "'")-1).." Level : "..getItemAttribute(item.uid, "level").."")
	end

		doSummonMonster(cid, i)

local pk = getCreatureSummons(cid)[1]
	doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), false)
	doRemoveItem(removed, 1)
	doCreatureSetLookDir(pk, 2)
local maxh = pokes[getCreatureName(pk)].vida
local levellife = ((getPlayerLevel(cid)) * (pokes[getCreatureName(pk)].cons))
local health = tonumber(getItemAttribute(item.uid, "poke"):match("%[(.-)/"))
	doConvinceCreature(cid, pk)
	doCreatureAddHealth(pk, health-maxh)
local pct = ((getCreatureHealth(pk)) / (getCreatureMaxHealth(pk)))
local vidis = (getCreatureHealth(pk))
	setCreatureMaxHealth(pk, ((maxh) + (levellife)))
	doCreatureAddHealth(pk, 2)
	doCreatureAddHealth(pk, -vidis)

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 2 then --- numero do level
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+100) ----- quantida de hp que ganha por level
	end

local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 3 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+200)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 4 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+300)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 5 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+400)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 6 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+500)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 7 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+600)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 8 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+700)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 9 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+800)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 10 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+900)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 11 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1000)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 12 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1100)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 13 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1200)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 14 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1300)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 15 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1400)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 16 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1500)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 17 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1600)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 18 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1700)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 19 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1800)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 20 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+1900)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 21 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2000)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 22 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2100)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 23 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2200)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 24 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2300)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 25 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2400)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 26 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2500)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 27 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2600)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 28 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2700)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 29 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+2800)
	end
local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET)
	if getItemAttribute(feet.uid, "level") == 30 then
		setCreatureMaxHealth(pk, getCreatureMaxHealth(pk)+3000)
	end

	doCreatureAddHealth(pk, ((getCreatureMaxHealth(pk)) * (pct)) - 2)
	doTransformItem(item.uid, item.itemid+1)

	if getPlayerGroupId(cid) == 1 then
		setPlayerGroupId(cid, 8)
	end

local pokename = getCreatureName(getCreatureSummons(cid)[1])
local mgo = msgunicago:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doItemSetAttribute(item.uid, "poke", getItemAttribute(item.uid, "poke"):sub(1, findLetter(getItemAttribute(item.uid, "poke"), ".")))
	doSendMagicEffect(getCreaturePosition(pk), effect)
	setPlayerStorageValue(cid, 61204, 1)
	registerCreatureEvent(pk, "DiePoke")
	registerCreatureEvent(pk, "Exp")
	if getItemAttribute(item.uid, "levell") == False then
		doItemSetAttribute(item.uid, "levell", 0)
	return TRUE
	end

if getItemText(item.uid) == 3 then
doCreatureSetSkullType(pk, 4)
else
doCreatureSetSkullType(pk, getItemText(item.uid))
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then
return true
end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end

unLock(item.uid) --alterado v1.8

if item.itemid == usando then

	if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	return true
	end
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then
          BackTeam(cid)
       end
    end
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
		if isInArray(pokeballs[btype].all, item.itemid) then
			doTransformItem(item.uid, pokeballs[btype].off)
			doItemSetAttribute(item.uid, "hp", 0)
			doPlayerSendCancel(cid, "This pokemon is fainted.")
		    return true
		end
	end

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end

	local z = getCreatureSummons(cid)[1]

	if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
	   return true
	end
	doReturnPokemon(cid, z, item, effect)

elseif item.itemid == pokeballs[btype].on then

	if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
		doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
	return TRUE
	end

	local thishp = getItemAttribute(item.uid, "hp")

	if getItemAttribute(item.uid, "hp") == 0 then
		if isInArray(pokeballs[btype].all, item.itemid) then
			doTransformItem(item.uid, pokeballs[btype].off)
			doItemSetAttribute(item.uid, "hp", 0)
			doPlayerSendCancel(cid, "This pokemon is fainted.")
		    return true
		end
	end

	local pokemon = getItemAttribute(item.uid, "poke")

	if not pokes[pokemon] then
	return true
	end

	local x = pokes[pokemon]
	local boost = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) < (x.level) then
	   doPlayerSendCancel(cid, "You need level "..(x.level).." to use this pokemon.")
	   return true
	end

	local pk = getCreatureSummons(cid)[1]

	doSummonMonster(cid, pokemon)
	doItemSetAttribute(item.uid, "pokeballusada", 0)

	local pk = getCreatureSummons(cid)[1]
	if not isCreature(pk) then
	return true
	end


	if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
		end
	end

	if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false)
	end

	doCreatureSetLookDir(pk, 2)
	doCreatureSetNick(pk, nick)
	adjustStatus(pk, item.uid, true, true, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

	local pokename = getPokeName(pk) --alterado v1.7

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	local mgoen = gobackmsgsen[math.random(1, #gobackmsgsen)].go:gsub("doka", pokename)
	local mgoes = gobackmsgses[math.random(1, #gobackmsgses)].go:gsub("doka", pokename)
	if getPlayerLanguage(cid) == 2 then
	doCreatureSay(cid, mgoen, 19)
	end
	if getPlayerLanguage(cid) == 0 then
	doCreatureSay(cid, mgo, 19)
	end
	if getPlayerLanguage(cid) == 1 then
	doCreatureSay(cid, mgoes, 19)
	end

	-- doItemSetAttribute(item.uid, "gender", math.random(3, 4))
	doSendMagicEffect(getCreaturePosition(pk), effect)

	if useOTClient then
	   doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end

local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not getItemAttribute(pb,"addon") then
                                doSetItemAttribute(pb,"addon",0)

                end
                if getItemAttribute(pb,"addon") > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

else

    doPlayerSendCancel(cid, "This pokemon is fainted.")

end

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end


 

 

[01/07/2019 08:37:02] [Error - Action Interface] 
[01/07/2019 08:37:02] datapack/actions/scripts/goback.lua:onUse
[01/07/2019 08:37:02] Description: 
[01/07/2019 08:37:02] datapack/actions/scripts/goback.lua:286: bad argument #2 to 'gsub' (string/function/table expected)
[01/07/2019 08:37:02] stack traceback:
[01/07/2019 08:37:02]     [C]: in function 'gsub'
[01/07/2019 08:37:02]     datapack/actions/scripts/goback.lua:286: in function <datapack/actions/scripts/goback.lua:207>
 

erro continua

Postado
  • Autor
55 minutos atrás, Rayo disse:

Qual distribuição ou base você utiliza?

 

[01/07/2019 08:39:22] otPokemon Diamond, version 0.3.6 (otPokemon Diamond.)
[01/07/2019 08:39:22] Compiled with GNU C++ version 4.4.0 at Jul  7 2018, 17:12:16.
[01/07/2019 08:39:22] Server Sendo Desenvolvido Por JPN.
[01/07/2019 08:39:22] Visite o forum para updates e resource: http://otland.net.

baixe este serviço aqui que foi feito com base no otPokémon Revolution.:
https://www.xtibia.com/forum/topic/248662-pokézr-base-otpokemoncom-2018-serversourcesitenewold-clientlaucher-servidor-completo/

e to querendo implantar o system level aqui do tibia king:

 

Editado por celsokayran (veja o histórico de edições)

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.3k

Informação Importante

Confirmação de Termo