Ir para conteúdo

wesquel

Campones
  • Total de itens

    20
  • Registro em

  • Última visita

Posts postados por wesquel

  1. Olá ontem eu passei o dia desenvolvendo um sistema de Raid/Boss, parecido com um jogo que eu jogava, o sistema consiste em um Raid/Boss em que, quem da mais dano nele tem chances melhores de obter itens mais raros.

     

    O sistema possui rank para os 3 players que deram mais dano ter chances de receber mais itens ou itens melhores que os players que deram dano em 4º lugar ou menos.

     

    Obs: ( Nesse post eu cito (raid/boss) pois para min são as mesmas coisas, não sei se aqui pode ser diferente.)

     

    O sistema possui 3 partes.

     

    1 - Quando o Raid/Boss aparecer, vai manda mensagem para todo o servidor.

     

    Spoiler

    829524546_RaidCaterpieAparece.thumb.png.73904103af5732418644bbb028f672a1.png

    2 - Quando ele morre ele manda mensagem para o servidor falando quem matou e o dano que ele deu.

    Spoiler

    436804901_Quemdeumaisdano.thumb.png.d10443f3a5e93da9f326a15051e5b478.png

     

    além da mensagem para o servidor (que somente quem deu mais dano aparece) todos os outros que deram algum dano no Raid/Boss aparece no chat sua posição, dano e loot's recebidos.

     

    3 - A entrega dos loots, aqui eu coloquei para o 1º ganha 4 moedas diferentes do jogo

     

     

    Spoiler

    2076873619_Quemdeumaisdano1.thumb.png.d1de60de0d3ab13444104850df43655a.png725512284_Quemdeumaisdano2.thumb.png.dcb216e1ec649f78d656754803423f58.png

     

    Todos os itens podem ser definido quantidade máxima e minima de drop.

     

    (Usei um servidor de poketibia para os testes, mas o sistema funcionar em tibia normalmente.)

     

    O Sistema não estar 100% como eu queria, pois quero que abra uma janela no cliente quando o boss/raid morrer, mostrando os 10 players que deram mais dano, Com nick,pokemon e dano.

     

  2. Boa tarde.

    Obviamente para ajudarmos, precisaríamos do script que está usando para saber onde está o erro.

     

    Favor postar os scripts listados abaixo:

    data/actions/scripts/goback.lua

    data/lib/level system.lua

    Lembre-se de postar com spoiler, por favor.

     

    Fico aguardando.

    Aki os Scripts

     

    Goback.lua

    [*spoiler]

    [*/spoiler]

    local EFFECTS = {
    --[OutfitID] = {Effect}
    ["Magmar"] = 35,
    ["Magmortar"] = 35,
    ["Shiny Magmar"] = 35,
    ["Jynx"] = 17, --alterado v2.5
    ["Shiny Jynx"] = 17,
    ["Mamoswine"] = 205,
    ["Piloswine"] = 205, --alterado v2.8
    ["Swinub"] = 205,
    }
    function onUse(cid, item, frompos, item2, topos)
    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 v2.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 v2.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 v2.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 v2.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 thishp <= 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
    ----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
    if not isInArray({5, 6}, getPlayerGroupId(cid)) then --alterado v2.9 \/
    local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
    local low = {}
    local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
    if #balls >= 1 then
    for _, uid in ipairs(balls) do
    local nome = getItemAttribute(uid, "poke")
    if not isInArray(lowPokes, pokemon) and nome == pokemon then
    return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
    else
    if nome == pokemon then
    table.insert(low, nome)
    end
    end
    end
    end
    if #low >= 3 then
    return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
    end
    end
    ---------------------------------------------------------------------------------------------------------------------------------------------------
    local x = pokes[pokemon]
    local boosts = getItemAttribute(item.uid, "boost") or 0
    if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
    doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
    return true
    end
    doSummonMonster(cid, pokemon)
    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then return true end
    ------------------------passiva hitmonchan------------------------------
    if isSummon(pk) then --alterado v2.8 \/
    if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
    if not getItemAttribute(item.uid, "hands") then
    doSetItemAttribute(item.uid, "hands", 0)
    end
    local hands = getItemAttribute(item.uid, "hands")
    doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
    end
    end
    -------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if EFFECTS[getCreatureName(pk)] then
    markPosEff(pk, getThingPos(pk))
    sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------
    if getCreatureName(pk) == "Ditto" then
    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, "Ditto")
    end
    end
    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end
    doCreatureSetLookDir(pk, 2)
    adjustStatus(pk, item.uid, true, false, true)
    doAddPokemonInOwnList(cid, pokemon)
    doTransformItem(item.uid, item.itemid+1)
    local pokename = getPokeName(pk) --alterado v2.7
    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    doCreatureSay(cid, mgo, TALKTYPE_SAY)
    doSendMagicEffect(getCreaturePosition(pk), effect)
    if useOTClient then
    doPlayerSendCancel(cid, '12//,show') --alterado v2.7
    end
    else
    doPlayerSendCancel(cid, "This pokemon is fainted.")
    end
    if useKpdoDlls then
    doUpdateMoves(cid)
    end
    return true
    end
    [*/spoiler]
    e o
    Level System.lua
    [*/spoiler]
    function getPokemonStatus(name, multiplier)
    local a = pokes[name]
    local m = 1
    if not a then return false end
    if not a.offense then return false end
    if multiplier then m = multiplier end
    local ret = {}
    ret.off = a.offense * m
    ret.offense = ret.off
    ret.def = a.defense * m
    ret.defense = ret.def
    ret.agi = a.agility * m
    ret.agility = ret.agi
    ret.spatk = a.specialattack * m
    ret.specialattack = ret.spatk
    ret.vit = a.vitality * m
    ret.vitality = ret.vit
    return ret
    end
    function getPokemonXMLOutfit(name) --alterado v2.9 \/
    local path = "data/monster/pokes/Shiny Kanto/"..name..".xml"
    local tpw = io.type(io.open(path))
    if not tpw then
    path = "data/monster/pokes/Nesil 2/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Nesil 1/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Nesil 3/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Nesil 4/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Nesil 5/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Novelty/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Shiny Hoenn/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Shiny Johto/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/Shiny Sinnoh/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    path = "data/monster/pokes/"..name..".xml"
    tpw = io.type(io.open(path))
    end
    if not tpw then
    return print("[getPokemonXMLOutfit] Poke with name: "..name.." ins't in any paste on monster/pokes/") and 2
    end
    local arq = io.open(path, "a+")
    local txt = arq:read("*all")
    arq:close()
    local a, b = txt:find('look type="(.-)"')
    txt = string.sub(txt, a + 11, b - 1)
    return tonumber(txt)
    end
    function doEvolutionOutfit(cid, oldout, outfit)
    if not isCreature(cid) then return true end
    if getCreatureOutfit(cid).lookType == oldout then
    doSetCreatureOutfit(cid, {lookType = outfit}, -1)
    else
    doSetCreatureOutfit(cid, {lookType = oldout}, -1)
    end
    end
    function doStartEvolution(cid, evolution, seconds)
    if not isCreature(cid) then return true end
    local a = getPlayerStorageValue(cid, 1007)
    local b = getCreatureHealth(cid) / getCreatureMaxHealth(cid)
    local d = getThingPos(cid)
    local e = getCreatureMaster(cid)
    if getHappinessRate(cid) < 1 then return true end
    local f = getCreatureOutfit(cid).lookType
    local g = getItemAttribute(getPlayerSlotItem(e, 8).uid, "nick") or getCreatureName(cid)
    local h = getPokemonXMLOutfit(evolution)
    doItemSetAttribute(getPlayerSlotItem(e, 8).uid, "hp", b)
    doCreatureSay(e, "What? My "..g.." is evolving!", TALKTYPE_SAY)
    doSummonMonster(e, "Evolution")
    doReturnPokemon(e, cid, getPlayerSlotItem(e, 8), 0, true)
    local evo = getCreatureSummons(e)[1]
    doEvolutionOutfit(evo, h, f)
    doCreatureSetHideHealth(evo, true)
    doCreatureSetLookDir(evo, 2)
    setPlayerStorageValue(evo, 1007, g)
    doTeleportThing(evo, d, false)
    addEvent(sendSSJEffect, 250, evo)
    doSendAnimatedText(getThingPos(evo), "EVOLUTION", COLOR_GRASS)
    doSendEvolutionEffect(evo, getThingPos(evo), evolution, 20, false, false, f, h)
    end
    function doSendEvolutionEffect(cid, pos, evolution, turn, ssj, evolve, f, h)
    if not isCreature(cid) then
    doSendAnimatedText(pos, "CANCEL", 215)
    return true end
    if evolve then
    doEvolvePokemon(getCreatureMaster(cid), {uid = cid}, evolution, 0, 0)
    return true
    end
    doSendMagicEffect(pos, 18)
    if ssj then
    sendSSJEffect(evo)
    end
    doEvolutionOutfit(cid, f, h)
    addEvent(doSendEvolutionEffect, math.pow(1900, turn/20), cid, getThingPos(cid), evolution, turn - 1, turn == 19, turn == 2, f, h)
    end
    function sendSSJEffect(cid)
    if not isCreature(cid) then return true end
    local pos1 = getThingPos(cid)
    local pos2 = getThingPos(cid)
    pos2.x = pos2.x + math.random(-1, 1)
    pos2.y = pos2.y - math.random(1, 2)
    doSendDistanceShoot(pos1, pos2, 37)
    addEvent(sendSSJEffect, 45, cid)
    end
    function sendFinishEvolutionEffect(cid, alternate)
    if not isCreature(cid) then return true end
    local pos1 = getThingPos(cid)
    if alternate then
    local pos = {
    [1] = {-2, 0},
    [2] = {-1, -1},
    [3] = {0, -2},
    [4] = {1, -1},
    [5] = {2, 0},
    [6] = {1, 1},
    [7] = {0, 2},
    [8] = {-1, 1}}
    for a = 1, 8 do
    local pos2 = getThingPos(cid)
    pos2.x = pos2.x + pos[a][1]
    pos2.y = pos2.y + pos[a][2]
    local pos = getThingPos(cid)
    doSendDistanceShoot(pos2, pos, 37)
    addEvent(doSendDistanceShoot, 300, pos, pos2, 37)
    end
    else
    for a = 0, 3 do
    doSendDistanceShoot(pos1, getPosByDir(pos1, a), 37)
    end
    for a = 4, 7 do
    addEvent(doSendDistanceShoot, 600, pos1, getPosByDir(pos1, a), 37)
    end
    end
    end
    function doEvolvePokemon(cid, item2, theevo, stone1, stone2)
    if not isCreature(cid) then return true end
    if not pokes[theevo] or not pokes[theevo].offense then
    doReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true)
    return true
    end
    local owner = getCreatureMaster(item2.uid)
    local pokeball = getPlayerSlotItem(cid, 8)
    local description = "Contains a "..theevo.."."
    local pct = getCreatureHealth(item2.uid) / getCreatureMaxHealth(item2.uid)
    doItemSetAttribute(pokeball.uid, "hp", pct)
    doItemSetAttribute(pokeball.uid, "poke", theevo)
    doItemSetAttribute(pokeball.uid, "description", "Contains a "..theevo..".")
    doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(item2.uid).." evolved into a "..theevo.."!")
    doSendMagicEffect(getThingPos(item2.uid), 18)
    doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[theevo])
    doSendMagicEffect(getThingPos(cid), 173)
    local oldpos = getThingPos(item2.uid)
    local oldlod = getCreatureLookDir(item2.uid)
    local oldlvl = getPokemonLevel(item2.uid)
    doRemoveCreature(item2.uid)
    doSummonMonster(cid, theevo)
    local pk = getCreatureSummons(cid)[1]
    doTeleportThing(pk, oldpos, false)
    doCreatureSetLookDir(pk, oldlod)
    sendFinishEvolutionEffect(pk, true)
    addEvent(sendFinishEvolutionEffect, 550, pk, true)
    addEvent(sendFinishEvolutionEffect, 1050, pk)
    doPlayerRemoveItem(cid, stone1, 1)
    doPlayerRemoveItem(cid, stone2, 1)
    doAddPokemonInOwnList(cid, theevo)
    local status = getPokemonStatus(getCreatureName(pk))
    local off = status.off * 7.5
    local def = status.def * 7.5
    local agi = status.agi * 7.5
    local spatk = status.spatk * 7.5
    local vit = status.vit * 7.5
    doItemSetAttribute(pokeball.uid, "offense", getItemAttribute(pokeball.uid, "offense") + off)
    doItemSetAttribute(pokeball.uid, "defense", getItemAttribute(pokeball.uid, "defense") + def)
    doItemSetAttribute(pokeball.uid, "speed", getItemAttribute(pokeball.uid, "speed") + agi)
    doItemSetAttribute(pokeball.uid, "specialattack", getItemAttribute(pokeball.uid, "specialattack") + spatk)
    doItemSetAttribute(pokeball.uid, "vitality", getItemAttribute(pokeball.uid, "vitality") + vit)
    doPlayerSendTextMessage(cid, 27, "Evolution bonus: • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit).."")
    local happy = getItemAttribute(pokeball.uid, "happy")
    doItemSetAttribute(pokeball.uid, "happy", happy + happyGainedOnEvolution)
    if happy + happyGainedOnEvolution > 255 then
    doItemSetAttribute(pokeball.uid, "happy", 255)
    end
    adjustStatus(pk, pokeball.uid, true, false)
    if useKpdoDlls then
    doUpdateMoves(cid)
    end
    end
    function givePokemonExp(cid, item, expe, pct, rarecandy)
    if expe <= 0 or not isCreature(cid) then return true end
    local leveltable = getPokemonExperienceTable(getPokeballName(item.uid, true))
    if getItemAttribute(item.uid, "exp") + expe > leveltable[150] then
    givePokemonExp(cid, item, leveltable[150] - getItemAttribute(item.uid, "exp"))
    return true
    end
    doItemSetAttribute(item.uid, "exp", getItemAttribute(item.uid, "exp") + expe)
    doItemSetAttribute(item.uid, "happy", getItemAttribute(item.uid, "happy") + 1)
    doItemSetAttribute(item.uid, "nextlevelexp", getItemAttribute(item.uid, "nextlevelexp") - expe)
    if pct then
    doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item.uid).." has received "..expe.." experience points ("..pct.."%).")
    else
    if getItemAttribute(item.uid, "nextlevelexp") > 0 then
    doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item.uid).." ["..getItemAttribute(item.uid, "level").."] has received "..expe.." experience points ("..getItemAttribute(item.uid, "nextlevelexp").." to next level).")
    else
    doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item.uid).." ["..getItemAttribute(item.uid, "level").."] has received "..expe.." experience points and has leveled up!")
    end
    end
    if isBeingUsed(item.itemid) then
    doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), expe, 215)
    end
    if getItemAttribute(item.uid, "nextlevelexp") <= 0 then
    local summon = getCreatureSummons(cid)[1]
    if not isCreature(summon) then return true end
    doSendFlareEffect(getThingPos(summon))
    doSendAnimatedText(getThingPos(summon), "Level up!", 215)
    doPlayerSendTextMessage(cid, 26, "sounds/Levelup.wav")
    adjustPokemonLevel(item.uid, cid, item.itemid)
    doCreatureAddHealth(summon, getCreatureMaxHealth(summon))
    end
    end
    function givePokemonExpInBp(cid, item, expe, ballid, pct, hidemessage)
    if expe <= 0 or not isCreature(cid) then return true end
    local leveltable = getPokemonExperienceTable(getPokeballName(item, true))
    if getItemAttribute(item, "exp") + expe > leveltable[150] then
    givePokemonExpInBp(cid, item, leveltable[150] - getItemAttribute(item, "exp"), ballid)
    return true
    end
    doItemSetAttribute(item, "exp", getItemAttribute(item, "exp") + expe)
    doItemSetAttribute(item, "happy", getItemAttribute(item, "happy") + 1)
    doItemSetAttribute(item, "nextlevelexp", getItemAttribute(item, "nextlevelexp") - expe)
    if not hidemessage then
    if pct then
    doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item).." has received "..expe.." experience points ("..pct.."%).")
    else
    if getItemAttribute(item, "nextlevelexp") > 0 then
    doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item).." ["..getItemAttribute(item, "level").."] has received "..expe.." experience points inside his pokeball ("..getItemAttribute(item, "nextlevelexp").." to next level).")
    else
    doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item).." ["..getItemAttribute(item, "level").."] has received "..expe.." experience points and has leveled up inside his pokeball.")
    adjustPokemonLevel(item, cid, ballid)
    end
    end
    end
    end
    function doMathDecimal(number, casas)
    if math.floor(number) == number then return number end
    local c = casas and casas + 1 or 3
    for a = 0, 10 do
    if math.floor(number) < math.pow(10, a) then
    local str = string.sub(""..number.."", 1, a + c)
    return tonumber(str)
    end
    end
    return number
    end
    function adjustPokemonLevel(item, cid, id, rarecandy)
    if not isCreature(cid) then return true end
    local exp = getItemAttribute(item, "exp")
    local level = getItemAttribute(item, "level")
    local leveltable = getPokemonExperienceTable(getPokeballName(item, true))
    local newlevel = 1
    for x = 1, 150 do
    if exp >= leveltable[x] and exp < leveltable[x+1] then
    newlevel = x
    end
    end
    if newlevel <= 1 then return true end
    local levelsup = (newlevel - level)
    local pokemon = getItemAttribute(item, "poke")
    local happy = getItemAttribute(item, "happy")
    local rate = happy / happy
    local newhappiness = happy
    if happy >= 250 then
    newhappiness = 255
    elseif happy >= 230 then
    newhappiness = happy + 4
    elseif happy >= 210 then
    newhappiness = happy + 6
    elseif happy >= 180 then
    newhappiness = happy + 8
    elseif happy >= 140 then
    newhappiness = happy + 10
    elseif happy >= 110 then
    newhappiness = happy + 12
    else
    newhappiness = happy + 15
    end
    local status = getPokemonStatus(pokemon)
    local off = status.off * rate * levelsup
    local def = status.def * rate * levelsup
    local agi = status.agi * rate * levelsup
    local spatk = status.spatk * rate * levelsup
    local vit = status.vit * rate * levelsup
    doItemSetAttribute(item, "level", newlevel)
    if not rarecandy then
    doItemSetAttribute(item, "happy", newhappiness)
    end
    local nextexp = leveltable[newlevel + 1] - exp
    doItemSetAttribute(item, "nextlevelexp", nextexp)
    doItemSetAttribute(item, "offense", getItemAttribute(item, "offense") + off)
    doItemSetAttribute(item, "defense", getItemAttribute(item, "defense") + def)
    doItemSetAttribute(item, "speed", getItemAttribute(item, "speed") + agi)
    doItemSetAttribute(item, "specialattack", getItemAttribute(item, "specialattack") + spatk)
    doItemSetAttribute(item, "vitality", getItemAttribute(item, "vitality") + vit)
    if newlevel > getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer then
    addEvent(doPlayerSendTextMessage, 30, cid, 18, "Warning: Your "..getPokeballName(item).."'s ["..newlevel.."] level is much higher than yours, so you will not be able to call him to battles.")
    end
    if isCreature(cid) and id >= 1 and isBeingUsed(id) then
    adjustStatus(getCreatureSummons(cid)[1], item, false, true)
    doPlayerSendTextMessage(cid, 27, "• Level: "..newlevel.." (+"..levelsup..") • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit).."")
    if happy < minHappyToEvolve then return true end
    if pokemonsCanEvolveByLevel then
    local summon = getCreatureSummons(cid)[1]
    local reqlevel = poevo[getCreatureName(summon)] and poevo[getCreatureName(summon)].level or -1
    local level = getItemAttribute(item, "level")
    local evolution = "none"
    local name = getCreatureName(summon)
    if name == "Tyrogue" and level >= 20 then
    if getOffense(summon) == getDefense(summon) then
    evolution = "Hitmontop"
    elseif getOffense(summon) > getDefense(summon) then
    evolution = "Hitmonlee"
    else
    evolution = "Hitmonchan"
    end
    elseif name == "Eevee" then
    if happy >= maxHappyToEvolve then
    if isDay() then
    evolution = "Espeon"
    else
    evolution = "Umbreon"
    end
    end
    elseif name == "Slowpoke" and level >= 28 then
    evolution = "Slowbro"
    elseif name == "Poliwhirl" and level >= 36 then
    evolution = "Poliwrath"
    elseif reqlevel > 4 and level >= reqlevel then
    evolution = poevo[getCreatureName(summon)].evolution
    elseif reqlevel == 2 and happy >= maxHappyToEvolve then
    evolution = poevo[getCreatureName(summon)] and poevo[getCreatureName(summon)].evolution or "none"
    end
    if evolution ~= "none" then
    doStartEvolution(summon, evolution, 4)
    end
    end
    end
    end
    function doAdjustWithDelay(cid, pk, health, vit, status)
    if isCreature(cid) then --alterado v2.5
    if not isCreature(cid) then return true end
    adjustStatus(pk, getPlayerSlotItem(cid, 8).uid, health, vir, status)
    end
    end
    function adjustStatus(pk, item, health, vite, conditions)
    if not isCreature(pk) then return true end
    local bonusoffense = getItemAttribute(item, boffense) or 0
    local bonusdefense = getItemAttribute(item, bdefense) or 0
    local bonusagility = getItemAttribute(item, bagility) or 0
    local bonussattack = getItemAttribute(item, bsattack) or 0
    setPlayerStorageValue(pk, 1000, getItemAttribute(item, "level"))
    setPlayerStorageValue(pk, 1001, getItemAttribute(item, "offense") + bonusoffense)
    setPlayerStorageValue(pk, 1002, getItemAttribute(item, "defense") + bonusdefense)
    setPlayerStorageValue(pk, 1003, getItemAttribute(item, "speed") + bonusagility)
    setPlayerStorageValue(pk, 1005, getItemAttribute(item, "specialattack") + bonussattack)
    local gender = getItemAttribute(item, "gender") and getItemAttribute(item, "gender") or 0
    doCreatureSetSkullType(pk, gender)
    if vite == true then
    local pct = getCreatureHealth(pk) / getCreatureMaxHealth(pk)
    local vit = getItemAttribute(item, "vitality") - getPlayerStorageValue(pk, 1004)
    setCreatureMaxHealth(pk, getCreatureMaxHealth(pk) + ( vit * HPperVIT ))
    doCreatureAddHealth(pk, pct * vit * HPperVIT)
    end
    setPlayerStorageValue(pk, 1004, getItemAttribute(item, "vitality"))
    doRegainSpeed(pk)
    local nick = getItemAttribute(item, "poke")
    if string.find(tostring(nick), "Shiny") then
    nick = tostring(nick):match("(Shiny .*)")
    end
    if getItemAttribute(item, "nick") then
    nick = getItemAttribute(item, "nick")
    end
    setPlayerStorageValue(pk, 1007, nick)
    local boostlevel = getItemAttribute(item, "boost") or 0
    local boostshow = hideBoost and "]" or " + "..boostlevel.."]"
    local lvlstr = ""
    if showBoostSeparated then
    boostshow = hideBoost and "]" or "] [+"..boostlevel.."]"
    end
    if hideSummonsLevel then
    if not hideBoost then
    nick = nick.." [+"..boostlevel.."]"
    end
    else
    nick = nick.." ["..getItemAttribute(item, "level")..""..boostshow..""
    end
    doCreatureSetNick(pk, nick)
    if not getItemAttribute(item, "happy") then
    doItemSetAttribute(item, "happy", 120)
    end
    if not getItemAttribute(item, "hunger") then
    doItemSetAttribute(item, "hunger", 5)
    end
    local happy = getItemAttribute(item, "happy")
    if happy < 0 then
    happy = 1
    end
    setPlayerStorageValue(pk, 1008, happy)
    local hunger = getItemAttribute(item, "hunger")
    setPlayerStorageValue(pk, 1009, hunger)
    if health == true then
    local mh = getCreatureMaxHealth(pk) + HPperVIT * getVitality(pk)
    local rd = 1 - (tonumber(getItemAttribute(item, "hp")))
    setCreatureMaxHealth(pk, mh)
    doCreatureAddHealth(pk, getCreatureMaxHealth(pk))
    doCreatureAddHealth(pk, -(getCreatureMaxHealth(pk) * rd))
    end
    if isSummon(pk) and conditions then --alterado v2.5 daki pra baixo!!
    local burn = getItemAttribute(item, "burn")
    if burn and burn >= 0 then
    local ret = {id = pk, cd = burn, check = false, damage = getItemAttribute(item, "burndmg"), cond = "Burn"}
    addEvent(doCondition2, 3500, ret)
    end
    local poison = getItemAttribute(item, "poison")
    if poison and poison >= 0 then
    local ret = {id = pk, cd = poison, check = false, damage = getItemAttribute(item, "poisondmg"), cond = "Poison"}
    addEvent(doCondition2, 1500, ret)
    end
    local confuse = getItemAttribute(item, "confuse")
    if confuse and confuse >= 0 then
    local ret = {id = pk, cd = confuse, check = false, cond = "Confusion"}
    addEvent(doCondition2, 1200, ret) --alterado v2.5
    end
    local sleep = getItemAttribute(item, "sleep")
    if sleep and sleep >= 0 then
    local ret = {id = pk, cd = sleep, check = false, first = true, cond = "Sleep"}
    doCondition2(ret)
    end
    local miss = getItemAttribute(item, "miss")
    if miss and miss >= 0 then
    local ret = {id = pk, cd = miss, eff = getItemAttribute(item, "missEff"), check = false, spell = getItemAttribute(item, "missSpell"), cond = "Miss"}
    doCondition2(ret)
    end
    local fear = getItemAttribute(item, "fear")
    if fear and fear >= 0 then
    local ret = {id = pk, cd = fear, check = false, skill = getItemAttribute(item, "fearSkill"), cond = "Fear"}
    doCondition2(ret)
    end
    local silence = getItemAttribute(item, "silence")
    if silence and silence >= 0 then
    local ret = {id = pk, cd = silence, eff = getItemAttribute(item, "silenceEff"), check = false, cond = "Silence"}
    doCondition2(ret)
    end
    local stun = getItemAttribute(item, "stun")
    if stun and stun >= 0 then
    local ret = {id = pk, cd = stun, eff = getItemAttribute(item, "stunEff"), check = false, spell = getItemAttribute(item, "stunSpell"), cond = "Stun"}
    doCondition2(ret)
    end
    local paralyze = getItemAttribute(item, "paralyze")
    if paralyze and paralyze >= 0 then
    local ret = {id = pk, cd = paralyze, eff = getItemAttribute(item, "paralyzeEff"), check = false, first = true, cond = "Paralyze"}
    doCondition2(ret)
    end
    local slow = getItemAttribute(item, "slow")
    if slow and slow >= 0 then
    local ret = {id = pk, cd = slow, eff = getItemAttribute(item, "slowEff"), check = false, first = true, cond = "Slow"}
    doCondition2(ret)
    end
    local leech = getItemAttribute(item, "leech")
    if leech and leech >= 0 then
    local ret = {id = pk, cd = leech, attacker = 0, check = false, damage = getItemAttribute(item, "leechdmg"), cond = "Leech"}
    doCondition2(ret)
    end
    for i = 1, 3 do
    local buff = getItemAttribute(item, "Buff"..i)
    if buff and buff >= 0 then
    local ret = {id = pk, cd = buff, eff = getItemAttribute(item, "Buff"..i.."eff"), check = false,
    buff = getItemAttribute(item, "Buff"..i.."skill"), first = true, attr = "Buff"..i}
    doCondition2(ret)
    end
    end
    end
    --alterado v2.9
    if getItemAttribute(item, "boost") and getItemAttribute(item, "boost") >= 50 and getItemAttribute(item, "aura") then
    sendAuraEffect(pk, auraSyst[getItemAttribute(item, "aura")])
    end
    if getPlayerStorageValue(getCreatureMaster(pk), 6598754) >= 1 then
    setPlayerStorageValue(pk, 6598754, 1)
    elseif getPlayerStorageValue(getCreatureMaster(pk), 6598755) >= 1 then
    setPlayerStorageValue(pk, 6598755, 1)
    end
    return true
    end
    function setWildPokemonLevel(cid, optionalLevel, optionalStatus, optionalNick, optionalExtraExp)
    if not isCreature(cid) then return true end
    if not pokes[getCreatureName(cid)] then return true end --alterado v2.6
    local levelRange = 0
    local off = 0
    local def = 0
    local agi = 0
    local spatk = 0
    local vit = 0
    local this = getCreatureName(cid)
    local ee = 1
    if optionalExtraExp then
    ee = optionalExtraExp
    end
    if optionalLevel and tonumber(optionalLevel) >= 1 then --alterado v2.8\/
    levelRange = optionalLevel
    else
    levelRange = math.random(pokes[this].wildLvlMin, pokes[this].wildLvlMax)
    end
    local status = getPokemonStatus(this)
    if status then
    off = status.off
    def = status.def
    agi = status.agi
    vit = status.vit
    spatk = status.spatk
    end
    setPlayerStorageValue(cid, 1000, (levelRange > 150 and 150 or levelRange)) --alterado v2.8
    if optionalStatus and optionalStatus.off then
    setPlayerStorageValue(cid, 1001, optionalStatus.offense)
    setPlayerStorageValue(cid, 1002, optionalStatus.defense)
    setPlayerStorageValue(cid, 1003, optionalStatus.agility)
    setPlayerStorageValue(cid, 1004, optionalStatus.vitality)
    setPlayerStorageValue(cid, 1005, optionalStatus.specialattack)
    setPlayerStorageValue(cid, 1011, optionalStatus.offense)
    setPlayerStorageValue(cid, 1012, optionalStatus.defense)
    setPlayerStorageValue(cid, 1013, optionalStatus.agility)
    setPlayerStorageValue(cid, 1014, optionalStatus.vitality)
    setPlayerStorageValue(cid, 1015, optionalStatus.specialattack)
    else
    setPlayerStorageValue(cid, 1001, 5 + math.random(off * levelRange * 0.9, off * levelRange * 1.8))
    setPlayerStorageValue(cid, 1002, 5 + math.random(def * levelRange * 0.9, def * levelRange * 1.8))
    setPlayerStorageValue(cid, 1003, math.random(agi * levelRange * 0.9, agi * levelRange * 1.8))
    setPlayerStorageValue(cid, 1004, math.random(vit * levelRange * 0.9, vit * levelRange * 1.8))
    setPlayerStorageValue(cid, 1005, 5 + math.random(spatk * levelRange * 0.9, spatk * levelRange * 1.8))
    setPlayerStorageValue(cid, 1011, getPlayerStorageValue(cid, 1001))
    setPlayerStorageValue(cid, 1012, getPlayerStorageValue(cid, 1002))
    setPlayerStorageValue(cid, 1013, getPlayerStorageValue(cid, 1003))
    setPlayerStorageValue(cid, 1014, getPlayerStorageValue(cid, 1004))
    setPlayerStorageValue(cid, 1015, getPlayerStorageValue(cid, 1005))
    end
    doRegainSpeed(cid)
    setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + getPlayerStorageValue(cid, 1004) * HPperVIT * vitReductionForWild)
    doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
    if pokes[getCreatureName(cid)].exp then
    --getMonsterInfo(getCreatureName(cid)).experience
    local exp = (50 + pokes[getCreatureName(cid)].exp) * baseExpRate + pokes[getCreatureName(cid)].vitality * levelRange * pokemonExpPerLevelRate
    setPlayerStorageValue(cid, 1006, exp * generalExpRate * ee)
    if getPlayerStorageValue(cid, 22546) == 1 then
    setPlayerStorageValue(cid, 1006, 750)
    doSetCreatureDropLoot(cid, false) --edited golden arena
    end
    end
    local wildshow = wildBeforeNames and "Wild " or ""
    if optionalNick then
    if hideWildsLevel then
    doCreatureSetNick(cid, optionalNick)
    else
    doCreatureSetNick(cid, optionalNick.." ["..getWildPokemonLevel(cid).."]")
    end
    else
    if hideWildsLevel then
    doCreatureSetNick(cid, ""..wildshow..""..getCreatureName(cid).."")
    else
    doCreatureSetNick(cid, ""..wildshow..""..getCreatureName(cid).." ["..getWildPokemonLevel(cid).."]")
    end
    end
    end
    function getOffenseInRage(cid) --alterado v2.8
    if not isCreature(cid) then return 0 end
    if getPlayerStorageValue(cid, 547888) >= 1 then
    return tonumber(getPlayerStorageValue(cid, 1001)) / 2
    end
    return tonumber(getPlayerStorageValue(cid, 1001))
    end
    function getOffense(cid)
    if not isCreature(cid) then return 0 end
    --[[if getPlayerStorageValue(cid, 3894) >= 1 then
    return tonumber(getPlayerStorageValue(cid, 1001)) / 2
    end ]]
    return tonumber(getPlayerStorageValue(cid, 1001))
    end
    function getDefense(cid)
    if not isCreature(cid) then return 0 end
    --[[ if getPlayerStorageValue(cid, 3894) >= 1 then
    return tonumber(getPlayerStorageValue(cid, 1002)) / 2
    end ]]
    return tonumber(getPlayerStorageValue(cid, 1002))
    end
    function getSpeed(cid)
    if not isCreature(cid) then return 0 end
    return tonumber(getPlayerStorageValue(cid, 1003))
    end
    function getVitality(cid)
    if not isCreature(cid) then return 0 end
    return tonumber(getPlayerStorageValue(cid, 1004))
    end
    function getSpecialAttack(cid)
    if not isCreature(cid) then return 0 end
    return tonumber(getPlayerStorageValue(cid, 1005))
    end
    function getHappiness(cid)
    if not isCreature(cid) then return 0 end
    return tonumber(getPlayerStorageValue(cid, 1008))
    end
    function getSpecialDefense(cid)
    if not isCreature(cid) then return 0 end
    return getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2
    end
    function getWildPokemonExp(cid)
    return getPlayerStorageValue(cid, 1006)
    end
    function getWildPokemonLevel(cid)
    return getPlayerStorageValue(cid, 1000)
    end
    function getLevel(cid)
    if isSummon(cid) then
    return getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "level")
    end
    return getPlayerStorageValue(cid, 1000)
    end
    function getPokeName(cid)
    if not isSummon(cid) then return getCreatureName(cid) end
    if getCreatureName(cid) == "Evolution" then return getPlayerStorageValue(cid, 1007) end
    local item = getPlayerSlotItem(getCreatureMaster(cid), 8)
    if getItemAttribute(item.uid, "nick") then --alterado v2.7
    return getItemAttribute(item.uid, "nick")
    end
    if string.find(tostring(getCreatureName(cid)), "Shiny") then
    local newName = tostring(getCreatureName(cid)):match("(Shiny .*)")
    return newName
    end
    return getCreatureName(cid)
    end
    function getPokeballName(item, truename)
    if not truename and getItemAttribute(item, "nick") then
    return getItemAttribute(item, "nick")
    end
    return getItemAttribute(item, "poke")
    end
    function getPokemonName(cid)
    return getCreatureName(cid)
    end
    function getMasterLevel(poke)
    if not isSummon(poke) then return 0 end
    return getPlayerLevel(getCreatureMaster(poke)) --alterado v2.5
    end
    function getPokeballBoost(ball)
    if not isPokeball(ball.itemid) then return 0 end --alterado v2.8
    return getItemAttribute(ball.uid, "boost") or 0
    end
    function getPokemonBoost(poke)
    if not isSummon(poke) then return 0 end --alterado v2.5
    return getItemAttribute(getPlayerSlotItem(getCreatureMaster(poke), 8).uid, "boost") or 0
    end
    function getPokemonLevelByName(name)
    return pokes[name] and pokes[name].level or 0 --alterado v2.9
    end
    function getPokemonLevel(cid)
    if not isCreature(cid) then return 0 end
    return getPlayerStorageValue(cid, 1000)
    end
    function getPokemonGender(cid)
    return getCreatureSkullType(cid)
    end
    function setPokemonGender(cid, gender)
    if isCreature(cid) and gender then --alterado v2.8
    doCreatureSetSkullType(cid, gender)
    return true
    end
    return false
    end
    [*/spoiler]
  3. Galera eu baixei o server do Gabriel stux o PGalaxy, e elle veio sem a accout maneger ae eu criei ella, criei tudo, a onde ella vai para pega os pokemons, mais quando clica no bau vem o pokemon ,mais quando clica nelle elle nao sei, e tem vezes que sai mais se fica clicando vai saindo mais e ,quando clica no bau pode clica nos 3 que vao vindo pokemons , e quando clica no bau nao vem os intens como pokeballs,revives,hds.

     

    Da esse erro no pokemon quando elle fica sasindo se clica varias vezes

     

    [15/04/2014 16:22:31] [Error - Action Interface]

    [15/04/2014 16:22:31] data/actions/scripts/goback.lua:onUse
    [15/04/2014 16:22:31] Description:
    [15/04/2014 16:22:31] data/lib/level system.lua:469: attempt to perform arithmetic on a nil value
    [15/04/2014 16:22:31] stack traceback:
    [15/04/2014 16:22:31] data/lib/level system.lua:469: in function 'adjustStatus'
    [15/04/2014 16:22:31] data/actions/scripts/goback.lua:164: in function <data/actions/scripts/goback.lua:13>

     

    ajuda ae galera dou REP++++++++++++++++++++

  4. Eu Tava Adicionando Pokemons No Configuration na Pasta Lib Ae quando fui abri o server dnv Olha o erro que deu

    post-352507-0-24028300-1396708114_thumb.jpg

     

    Erro:

    [Erro - CreatureScript Interface]

    Data/CreatureScripts/Scripts/Spawn.lua:onSpawn

    Description:
    Data/CreatureScripts/Scripts/Spawn.lua:77: attempt to call global 'isSummon' (a nil value)
    Stack TraceBack:
    Data/creaturescripts/scripts/spawn:77: in function <Data/creaturescripts/scripts/spawn.lua:77>

     

     

     

     

    Ajudem Dou Rep+++

  5.  

    Save:

    local config = {
    broadcast = {120, 30},
    flags = 13,
    delay = 120,
    events = 30
    }
    
    
    local function executeSave(seconds)
    if(isInArray(config.broadcast, seconds)) then
    doBroadcastMessage("Server save within " .. seconds .. " seconds, please mind it may freeze!")
    end
    
    
    if(seconds > 0) then
    addEvent(executeSave, config.events * 1000, seconds - config.events)
    else
    doSaveServer(config.flags)
    end
    end
    
    
    function onThink(interval)
    if(table.maxn(config.broadcast) == 0) then
    doSaveServer(config.flags)
    else
    executeSave(config.delay)
    end
    
    
    return true
    end

    Clean:

    function executeClean(interval)
    doCleanMap()
    doBroadcastMessage("Game map cleaned, next clean in " .. table.concat(string.timediff(interval / 1000)) .. ".")
    return true
    end
    
    
    function onThink(interval)
    doBroadcastMessage("Game map cleaning within 30 seconds, please pick up your items!")
    addEvent(executeClean, 30000, interval)
    return true
    end
    

     

    Vou Ver Se Funfa Aki

  6.  

    Segue o Clean.lua

     

     

     

    local config = {
    broadcast = {120, 30},
    shallow = "no",
    delay = 120,
    events = 30
    }
    config.shallow = getBooleanFromString(config.shallow)
    local function executeSave(seconds)
    if(isInArray(config.broadcast, seconds)) then
    local text = ""
    if(not config.shallow) then
    text = "Full s"
    else
    text = "S"
    end
    text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!"
    doBroadcastMessage(text)
    end
    if(seconds > 0) then
    addEvent(executeSave, config.events * 1000, seconds - config.events)
    else
    doSaveServer(config.shallow)
    end
    end
    function onThink(interval, lastExecution, thinkInterval)
    if(table.maxn(config.broadcast) == 0) then
    doSaveServer(config.shallow)
    else
    executeSave(config.delay)
    end
    return true
    end

    E o Gameclean.lua

    function executeClean()
    doCleanMap()
    doBroadcastMessage("Game map cleaned, next clean in 2 hours.")
    return true
    end
    function onThink(interval, lastExecution, thinkInterval)
    doBroadcastMessage("Game map cleaning within 30 seconds, please pick up your items!")
    addEvent(executeClean, 30000)
    return true
    end

     

    Man o seu e iqual ao o meu so que ingles

  7. Posta seu clean map aqui.

    aki man

     

    function executeClean()
    doCleanMap()
    doBroadcastMessage("O mapa sera limpo daqui a 2 horas novamente.")
    return true
    end
    function onThink(interval, lastExecution, thinkInterval)
    doBroadcastMessage("O mapa sera limpo em 30 segundos por favor pegue seus itens.")
    addEvent(executeClean, 30000)
    return true
    end
  8. Ola eu vim saber pq quando eu vou compilar o dat no meu dat editor some tudo olhem eu faço tudo direito

     

    1# Eu pego a sprite do pokemon,o corpo e a Foto

     

    post-352507-0-44921200-1395234817_thumb.jpg

     

    2#Vou Compila seleciono tudo dnv o dat e o spr

     

    3# quando eu salvei aconteceu isso

     

    post-352507-0-76140900-1395234850_thumb.jpg

     

    Obs: Uso o Servidor gabrielstux Editado pela sara

  9. Iaew Galera Da Xtibia , Venho Trazer Um Cp De Saffro Que Eu Fiz Por Enquanto So Fiz o Cp Rapido Aki

     

    Mais Ja Estou Preparando um Mapa Completo Vim Ver Oque Voçes Acham delle ! Sou Novo Por Isso Quero Sabe A Opinião De vocês Viciados em Tibia e Poketibia etc...

    Primeiro Andar

     

    post-352507-0-84831400-1395168627_thumb.jpg

    Segundo Andar

     

    post-352507-0-87000800-1395168713_thumb.jpg

    Telhado

     

    post-352507-0-35018100-1395168769_thumb.jpg

     

     

    Obrigado Galera Espero Que Tenham Gostado (Comente Oque Eu Posso Melhora Sou Novo)

     

    Dawnload: www.mediafire.com/download/i9bd9o1v0w2af8c/CpDeSaffron1.otbm

     

    Scan: https://www.virustotal.com/pt/file/66ff8f28976856d0d1c2ea79aaa822d90451a137eb6541229ce9aefca40a154b/analysis/1395169305/

     

    By: Wesquel

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...