Ir para conteúdo
  • Cadastre-se

Deixando Exp e Catch mais dificil no Poketibia


Posts Recomendados

  • 2 months later...

Movido para tutoriais.

Bruno de Carvalho Câmara / Administrador TibiaKing

[email protected]


 

btn_donateCC_LG.gif

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Link para o post
Compartilhar em outros sites
  • 4 months later...

mano onde tem isso de cath

Gostou??De Rep+ Clikando nesse botao ao lado rep_up.png

 

 

                                                                                                                                                                                  

                           ani81.gif       5TrXF.gif

Link para o post
Compartilhar em outros sites

Vlw mano

Gostou??De Rep+ Clikando nesse botao ao lado rep_up.png

 

 

                                                                                                                                                                                  

                           ani81.gif       5TrXF.gif

Link para o post
Compartilhar em outros sites
  • 6 months later...

Oi, Não procurei mas não achei em lugar nenhum

meu Ot de poketibia tem 2 problemas

Primeiro: Ele não junta as stones em um slot só.

Segundo: Você só consegue jogar pokebola ao lado do corpo do pokemon.

Sabe como resolver isso? obrigado.

Link para o post
Compartilhar em outros sites
  • 3 months later...

pfv meu ot nn tem esse negocio nn mostra a chance ele é assim :

local ballcatch = {                    --id normal, id da ball shiy
[2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"},  --alterado v1.9  \/
[2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"},
[2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"},
[2392] = {cr = 15, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"},
[12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"}, 
}
 
function onUse(cid, item, frompos, item3, topos)
 
local item2 = getTopCorpse(topos)
if item2 == null then
   return true
end
 
if getItemAttribute(item2.uid, "catching") == 1 then
   return true
end  
 
if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
   return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")   
end
 
local name = string.lower(getItemNameById(item2.itemid))
      name = string.gsub(name, "fainted ", "")
      name = string.gsub(name, "defeated ", "")
      name = doCorrectPokemonName(name)
local x = pokecatches[name]
 
if not x then return true end
 
local storage = newpokedex[name].stoCatch 
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then  --alterado v1.9 
   setPlayerStorageValue(cid, storage, "normal = 9999, great = 9999, super = 99999, ultra = 99999, saffari = 999999;")             --alterado v1.9 
end     
 
local owner = getItemAttribute(item2.uid, "corpseowner")
 
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then   
   doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
   return true
end
 
local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9       
local typeee = ballcatch[item.itemid].typeee
 
local catchinfo = {}
      catchinfo.rate = ballcatch[item.itemid].cr
      catchinfo.catch = ballcatch[item.itemid].on
      catchinfo.fail = ballcatch[item.itemid].off
      catchinfo.newid = newidd                      
      catchinfo.name = doCorrectPokemonName(name)
      catchinfo.topos = topos
      catchinfo.chance = x.chance
 
doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
doRemoveItem(item.uid, 1)
 
local d = getDistanceBetween(getThingPos(cid), topos)
 
if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then  --alterado v1.9
   setPlayerStorageValue(cid, 98796, -1) 
   setPlayerStorageValue(cid, 98797, -1)                                              
   doTeleportThing(cid, SafariOut, false)
   doSendMagicEffect(getThingPos(cid), 21)
   doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...")
end
 
addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) 
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end
eu queria saber se vc pode me ajudar como mudar a chance de catch
Link para o post
Compartilhar em outros sites
  • 1 month later...

O meu arquivo catch.lua não tem "  local monster = getItemName(itemEx.uid):match("dead (.*)") " por favor , me ajude !! eu preciso aumentar o catch !!

Link para o post
Compartilhar em outros sites
  • 3 months later...

O meu arquivo catch.lua não tem "  local monster = getItemName(itemEx.uid):match("dead (.*)") " por favor , me ajude !! eu preciso aumentar o catch !!
 amigo Tem encima sim Um Nome que tem [cr=15] só altera o CR, Se for a mais de 15 você tem mais chances de cath, se for menos é menos a chance de cath
Link para o post
Compartilhar em outros sites
  • 6 months later...
  • 2 weeks later...

Por gentileza, caso ainda possam estar ajudando, estarei postando aqui a minha "chave", e pesso que localize para mim pois eu não tenho muito conhecimento sobre isto.
Quero alterar o catch das balls, e adicionar uma nova.
A "chave" :
failmsgs = {
"Sorry, you didn't catch that pokemon.",
"Sorry, your pokeball broke.",
"Sorry, the pokemon escaped.",
}

function doBrokesCount(cid, str, ball)   --alterado v1.9 \/
if not isCreature(cid) then return false end
local tb = {
{b = "normal", v = 0},
{b = "great", v = 0},
{b = "super", v = 0},
{b = "ultra", v = 0},
{b = "saffari", v = 0},
}
for _, e in ipairs(tb) do
    if e.b == ball then
       e.v = 1
       break
    end
end
local string = getPlayerStorageValue(cid, str)
local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-);"
local t2 = ""

for n, g, s, u, s2 in string:gmatch(t) do
    t2 = "normal = "..(n+tb[1].v)..", great = "..(g+tb[2].v)..", super = "..(s+tb[3].v)..", ultra = "..(u+tb[4].v)..", saffari = "..(s2+tb[5].v)..";"    
end
return setPlayerStorageValue(cid, str, string:gsub(t, t2))
end

function sendBrokesMsg(cid, str, ball)
if not isCreature(cid) then return false end
local string = getPlayerStorageValue(cid, str)
local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-);"
local msg = {}
table.insert(msg, "You have wasted: ")

for n, g, s, u in string:gmatch(t) do
    if tonumber(n) and tonumber(n) > 0 then
       table.insert(msg, tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or ""))
    end
    if tonumber(g) and tonumber(g) > 0 then
       table.insert(msg, (#msg > 1 and ", " or "").. tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or ""))
    end
    if tonumber(s) and tonumber(s) > 0 then
       table.insert(msg, (#msg > 1 and ", " or "").. tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or ""))
    end
    if tonumber(u) and tonumber(u) > 0 then
       table.insert(msg, (#msg > 1 and ", " or "").. tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or ""))
    end
    if tonumber(s2) and tonumber(s2) > 0 then
       table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or ""))
    end
end
if #msg == 1 then
   return true
end
if string.sub(msg[#msg], 1, 1) == "," then
   msg[#msg] = " and".. string.sub(msg[#msg], 2, #msg[#msg])
end
table.insert(msg, " trying to catch it.")
sendMsgToPlayer(cid, 27, table.concat(msg))
end                                                             --alterado v1.9 /\
--------------------------------------------------------------------------------

function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system

    local name = catchinfo.name
    local pos = catchinfo.topos
    local topos = {}
        topos.x = pos.x
        topos.y = pos.y
        topos.z = pos.z
    local newid = catchinfo.newid
    local catch = catchinfo.catch
    local fail = catchinfo.fail
    local rate = catchinfo.rate
    local basechance = catchinfo.chance
    
    if pokes[getPlayerStorageValue(cid, 854788)] and name == getPlayerStorageValue(cid, 854788) then
       rate = 15
    end

    local corpse = getTopCorpse(topos).uid

    if not isCreature(cid) then
        doSendMagicEffect(topos, CONST_ME_POFF)
    return true
    end

    doItemSetAttribute(corpse, "catching", 1)

    local levelChance = getItemAttribute(corpse, "level") * 0.02

    local totalChance = math.ceil(basechance * (1.2 + levelChance))
    local thisChance = math.random(0, totalChance)
    local myChance = math.random(0, totalChance)
    local chance = (1 * rate + 1) / totalChance
        chance = doMathDecimal(chance * 100)

    if rate >= totalChance then
        local status = {}
              status.gender = getItemAttribute(corpse, "gender")
              status.happy = 160

        doRemoveItem(corpse, 1)
        doSendMagicEffect(topos, catch)
        addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)  
    return true
    end


    if totalChance <= 1 then totalChance = 1 end

    local myChances = {}
    local catchChances = {}


    for cC = 0, totalChance do
        table.insert(catchChances, cC)
    end

    for mM = 1, rate do
        local element = catchChances[math.random(1, #catchChances)]
        table.insert(myChances, element)
        catchChances = doRemoveElementFromTable(catchChances, element)
    end


    local status = {}
          status.gender = getItemAttribute(corpse, "gender")
          status.happy = 70

    doRemoveItem(corpse, 1)

    local doCatch = false

    for check = 1, #myChances do
        if thisChance == myChances[check] then
            doCatch = true
        end
    end

    if doCatch then
        doSendMagicEffect(topos, catch)
        addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)
    else
        addEvent(doNotCapturePokemon, 3000, cid, name, typeee)
        doSendMagicEffect(topos, fail)
    end
end

function doCapturePokemon(cid, poke, ballid, status, typeee)  

    if not isCreature(cid) then
    return true
    end
    
local list = getCatchList(cid)
    if not isInArray(list, poke) and not isShinyName(poke) then    
       doPlayerAddSoul(cid, 1)
    end

    doAddPokemonInOwnList(cid, poke)
    doAddPokemonInCatchList(cid, poke)

if not tonumber(getPlayerStorageValue(cid, 54843)) then
    local test = io.open("data/sendtobrun123.txt", "a+")
    local read = ""
    if test then
        read = test:read("*all")
        test:close()
    end
    read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""
    local reopen = io.open("data/sendtobrun123.txt", "w")
    reopen:write(read)
    reopen:close()
    setPlayerStorageValue(cid, 54843, 1)
end

    if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
        setPlayerStorageValue(cid, 54843, 1)
    else
        setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
    end

local description = "Contains a "..poke.."."

local gender = status.gender
local happy = 250
                                                   --alterado v1.9  \/                  
        if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
           item = doCreateItemEx(ballid)
        else
            item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1)
        end

        doItemSetAttribute(item, "poke", poke)
        doItemSetAttribute(item, "hp", 1)
        doItemSetAttribute(item, "happy", happy)
        doItemSetAttribute(item, "gender", gender)
        doItemSetAttribute(item, "fakedesc", description)
        doItemSetAttribute(item, "description", description)
        if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then    
           doItemSetAttribute(item, "hands", 0)
        end
        ----------- task clan ---------------------
        if pokes[getPlayerStorageValue(cid, 854788)] and poke == getPlayerStorageValue(cid, 854788) then
           sendMsgToPlayer(cid, 27, "Quest Done!")
           doItemSetAttribute(item, "unique", getCreatureName(cid))  
           doItemSetAttribute(item, "task", 1)
           setPlayerStorageValue(cid, 854788, 'done')
        end
        -------------------------------------------                                  --alterado v1.9 \/
    if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then   
      doPlayerSendMailByName(getCreatureName(cid), item, 1)   
        doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!")
        doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")     
    else
        doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a ("..poke..")!")
    end
    
    local storage = newpokedex[poke].stoCatch
    sendBrokesMsg(cid, storage, typeee)             
    setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0;") --alterado v1.9 /\

    if #getCreatureSummons(cid) >= 1 then
        doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
            if catchMakesPokemonHappier then
                setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20)
            end
    else
        doSendMagicEffect(getThingPos(cid), 173)
    end

doIncreaseStatistics(poke, true, true)

end

function doNotCapturePokemon(cid, poke, typeee)  

    if not isCreature(cid) then
    return true
    end

if not tonumber(getPlayerStorageValue(cid, 54843)) then
    local test = io.open("data/sendtobrun123.txt", "a+")
    local read = ""
    if test then
        read = test:read("*all")
        test:close()
    end
    read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""
    local reopen = io.open("data/sendtobrun123.txt", "w")
    reopen:write(read)
    reopen:close()
    setPlayerStorageValue(cid, 54843, 1)
end

    if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
        setPlayerStorageValue(cid, 54843, 1)
    else
        setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
    end

    doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)])

    if #getCreatureSummons(cid) >= 1 then
        doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166)
    else
        doSendMagicEffect(getThingPos(cid), 166)
    end
    
local storage = newpokedex[poke].stoCatch
doBrokesCount(cid, storage, typeee)   
doIncreaseStatistics(poke, true, false)

end


function getPlayerInfoAboutPokemon(cid, poke)
    local a = newpokedex[poke]
    if not isPlayer(cid) then return false end
    if not a then
        print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.")
    return false
    end
    local b = getPlayerStorageValue(cid, a.storage)

    if b == -1 then
        setPlayerStorageValue(cid, a.storage, poke..":")
    end

    local ret = {}
        if string.find(b, "catch,") then
            ret.catch = true
        else
            ret.catch = false
        end
        if string.find(b, "dex,") then
            ret.dex = true
        else
            ret.dex = false
        end
        if string.find(b, "use,") then
            ret.use = true
        else
            ret.use = false
        end
return ret
end


function doAddPokemonInOwnList(cid, poke)

    if getPlayerInfoAboutPokemon(cid, poke).use then return true end

    local a = newpokedex[poke]
    local b = getPlayerStorageValue(cid, a.storage)

    setPlayerStorageValue(cid, a.storage, b.." use,")
end

function isPokemonInOwnList(cid, poke)

    if getPlayerInfoAboutPokemon(cid, poke).use then return true end

return false
end

function doAddPokemonInCatchList(cid, poke)

    if getPlayerInfoAboutPokemon(cid, poke).catch then return true end

    local a = newpokedex[poke]
    local b = getPlayerStorageValue(cid, a.storage)

    setPlayerStorageValue(cid, a.storage, b.." catch,")
end

function getCatchList(cid)

local ret = {}

for a = 1000, 1251 do
    local b = getPlayerStorageValue(cid, a)
    if b ~= 1 and string.find(b, "catch,") then
        table.insert(ret, oldpokedex[a-1000][1])
    end
end

return ret

end


function getStatistics(pokemon, tries, success)

local ret1 = 0
local ret2 = 0

    local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""
    local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"
    local arq = io.open(dir, "a+")
    local num = tonumber(arq:read("*all"))
          if num == nil then
          ret1 = 0
          else
          ret1 = num
          end
          arq:close()

    local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"
    local arq = io.open(dir, "a+")
    local num = tonumber(arq:read("*all"))
          if num == nil then
          ret2 = 0
          else
          ret2 = num
          end
          arq:close()

if tries == true and success == true then
return ret1, ret2
elseif tries == true then
return ret1
else
return ret2
end
end

function doIncreaseStatistics(pokemon, tries, success)

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

    if tries == true then
        local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

        local arq = io.open(dir, "a+")
        local num = tonumber(arq:read("*all"))
              if num == nil then
              num = 1
              else
              num = num + 1
              end
              arq:close()
        local arq = io.open(dir, "w")
              arq:write(""..num.."")
              arq:close()
    end

    if success == true then
        local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

        local arq = io.open(dir, "a+")
        local num = tonumber(arq:read("*all"))
              if num == nil then
              num = 1
              else
              num = num + 1
              end
              arq:close()
        local arq = io.open(dir, "w")
              arq:write(""..num.."")
              arq:close()
    end
end

function doUpdateGeneralStatistics()
    
    local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"
    local base = "NUMBER  NAME        TRIES / CATCHES\n\n"
    local str = ""

for a = 1, 251 do
    if string.len(oldpokedex[a][1]) <= 7 then
    str = "\t"
    else
    str = ""
    end
    local number1 = getStatistics(oldpokedex[a][1], true, false)
    local number2 = getStatistics(oldpokedex[a][1], false, true)
    base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n"
end
    
    local arq = io.open(dir, "w")
          arq:write(base)
           arq:close()
end

function getGeneralStatistics()
    
    local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"
    local base = "Number/Name/Tries/Catches\n\n"
    local str = ""

for a = 1, 251 do
    local number1 = getStatistics(oldpokedex[a][1], true, false)
    local number2 = getStatistics(oldpokedex[a][1], false, true)
    base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].."  "..str..""..number1.." / "..number2.."\n"
end
    
return base
end

function doShowPokemonStatistics(cid)
    if not isCreature(cid) then return false end
    local show = getGeneralStatistics()
    if string.len(show) > 8192 then
        print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.")
        doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.")
    return false
    end
    doShowTextDialog(cid, math.random(2391, 2394), show)
end

Link para o post
Compartilhar em outros sites
  • 6 months later...
  • 3 weeks later...
  • 1 year later...

mano mesmo eu mudando a taxa de exp na hora que vou testar um infernape quando mata um rattata ta ganhando 6k de exp to achando que e muito tem como ajudar ai desde ja vlw

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Nysman
      Olá, pessoal do TK.
      Estou com um problema bem chato que estou a dias atrás para resolver mas não consigo, nesses últimos dias adc um sistema de gender no meu otp.
      Funciona tudo corretamente, porém na distro acusa esse erro:
      [17/12/2023 22:31:40] [Error - Action Interface] 
      [17/12/2023 22:31:40] In a timer event called from: 
      [17/12/2023 22:31:40] data/actions/scripts/catch.lua:onUse
      [17/12/2023 22:31:40] Description: 
      [17/12/2023 22:31:40] data/actions/scripts/catch.lua:599: attempt to index local 'status' (a nil value)
      [17/12/2023 22:31:40] stack traceback:
      [17/12/2023 22:31:40]     data/actions/scripts/catch.lua:599: in function <data/actions/scripts/catch.lua:582>
       
      Meu catch: 

       
    • Por Gabrieltxu
      Prometi a mim mesmo não ajudar mais a comunidade, porem com os acontecimentos em cima dessa base me deixou com raiva e vim compartilhar a mesma com vocês, o servidor foi feito em cima da base vasada do Psoul, onde Walox e outro que não sei o nick trabalharam, porem como já de costume Walox melhorou a interface assim como a Mytology e a ZRing, e para não perder o costume anunciou a venda do mesmo, onde algumas pessoas chegaram a pagar bem caro pela base, quase 2 mil reais. 
      Até ai tudo bem, porem não contente começou a vender ainda mais copias do servidor, e quem comprava também vendia a copia do servidor, algo que acho totalmente errado.
      Enfim para acabar com essa palhaçada hoje estou postando a base.
       
      Ressalvo que NÃO IREI DAR SUPORTE A ESSA BASE, BASE CONTEM MUITOS BUGS, OQUE TEM DE MELHOR É A INTERFACE MESMO 
       
      Algumas Imagens do servidor:
       
      Scans
       
      Link para Download (Contem tudo, Client, server etc..): https://mega.nz/file/6dIwRaxT#y2nRFVckLLTLFSBRRtEUJVb-KBAwVPfMhqxyTEEv4Cs
      Mediafire: https://www.mediafire.com/file/d89t3ol1beq8129/poke+jornadas+completo+++src.rar/file
      Senha do Winrar: naoetrote1234567890@
       
      Créditos:  - Criadores da base Psoul
                       - Walox (Wave) e equipe
       
       
      É isso, espero que essa pratica de venda de servidores desenfreados acabe, desejo boa sorte a todos com a base e façam bom proveito.      
       
       
    • Por 4Unknow
      Primeiramente, um bom dia, boa tarde ou boa noite para toda comunidade.
      Vou tentar ser o mais breve possível e objetivo com vocês.

      Esse projeto consiste em trazer um servidor PLAY to EARN, onde o jogador irá jogar para ganhar.
      O famoso sistema NFT, que vem dominado nossa geração com inúmeros jogos todos os dias.
      Mas o que é NFT? Abaixo explico melhor. Sem  muitas delongas, estou disposto a criar um projeto
      de servidor de Tíbia com sistema NFT. 

      Estou em busca de uma equipe competente, responsável e que seja qualificada. Atualmente eu trabalho
      com bolsa de valores, tenho minha empresa e muito tempo para investir, e investir de forma monetária
      também quanto de estrutura. Possuo servidor VPS(brasil ou exterior) onde pode ser escalável de acordo com a necessidade.

      Possuo domínio e hospedagem para mais de 5 anos.
       

       
       O sistema NFT(non-fungible token). 
      O que são jogos NFT?
      Como praticamente qualquer coisa na internet pode se tornar um token não-fungível — de fotos, vídeos e GIFs a mensagens, arquivos de áudio e outros conteúdos —, jogos NFT seguem a mesma lógica: transformar o game inteiro ou algum elemento daquele título em algo único.
      O que costuma diferenciar os jogos NFT das demais obras é que os games têm investido em itens colecionáveis para atrair mais pessoas. Os jogadores, por sua vez, enxergam nesses itens a possibilidade de lucrar com peças exclusivas, já que, como cada NFT dentro do jogo é único, ele pode ser considerado raro entre os jogadores.
       
       

       
      Concluindo então. O projeto  atualmente precisa de webmasters
      para os sistemas NFT, onde posso colaborar na parte PHP/HTML.

      Parte gráfica consigo colaborar também. Então quem estiver disposto
      em entrar para essa aventura junto comigo. Fiquem a vontade para
      responder a este tópico.
       
      Contato-Discord:
       4Unknow#1163
    • Por Cat
      Quer saber como eu fiz esses banners e quadros em menos de 1 hora?
       
      (tópico original: https://tibiaking.com/forums/topic/104074-banners-e-pinturas/)
       
       
      - ○ -
       
      Bom, a verdade é que não precisa saber pixel art para produzir peças como estas. Mas se você souber, agrega muito a qualidade das peças, uma vez que você queira melhorar a moldura ou até mesmo aplicar retoques na imagem reduzida.
       
      Este tutorial é bem simples, iremos trabalhar com resize (redução de imagens), distorção, nitidez e ruídos.
      Foram utilizados: Paint e Photoshop 2019 (se você não tiver condições financeiras para comprar Photoshop, recomendo a versão 2019 cracked, você encontra facilmente na internet, apenas cuide com vírus, escaneie tudo certinho, etc)
       
      1 - Escolha uma imagem de sua preferência, leve em consideração que quanto mais detalhes estiverem próximos uns dos outros, mais elementos aparecerão no resultado final, eu escolhi estas abaixo:

       

       
      2 - O segundo passo é determinar a área da imagem que será utilizada, e redimensioná-la para 128x128, 128x64, 64x64, 64x32, ou 32x32. (leve em consideração que um tamanho 128x128 precisara de 3x3 paredes para encaixá-la no mapa, e 32x32 apenas 1 parede)

       
         
       

       
      3 - Agora, utilizando o Photoshop irei melhorar a qualidade dessas imagens reduzidas, usando as ferramentas redução de ruído e aplicação inteligente de nitidez. Também mudarei para uma cor de minha preferência. Veja: 
       
       
       

       
      4 - Agora utilizaremos as seguintes ferramentas do Paint, nesta ordem:
       
       
       
      O resultado será este:
       

       
      Agora basta aplicar a moldura e pronto, está feito!
       
       
       
       
       
       
       
       
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo