Jump to content

Search the Community

Showing results for tags 'poketibia'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

  1. Como todos sabem existem milhares de servidores de poketibia para download aqui no fórum, mas nenhum esta 100%, quando eu falo 100% é dos sistemas principais e não das edições. Então resolvi pegar uma base PField OpenSource aqui do fórum mesmo e começar um projeto comunitário totalmente aberto, para tentarmos deixar a base 100% com os sistemas principais de um servidor de poketibia para quem quiser começar um projeto serio usar este server como base. Mas porque eu escolhi a base PField? Simples, por ela ser uma base mais antiga e mais limpa, sem todas as gambiarras, armadilhas e menos poluída. A minha meta é trabalharmos no server opensource, cliente com as sources criado do 0 tambem, e todos se ajudarem para quando ficar com os sistemas básicos 100% dai a galera começar a fazer suas edições ATENÇÃO: Não sou programador, sou meia boca em quase tudo e tenho esperança que com a ajuda de todos conseguiremos deixar a base perfeita para futuros projetos. Peço que não briguem aqui no tópico por causa de créditos, reps etc. Caso alguém tenha autoria em algo e não estiver nos créditos me avise que estarei adicionando. Não quero reputação, apenas quero fazer algo bom para a comunidade com a ajuda de vocês. Inicialmente estaremos corrigindo os bugs e adicionando os sistemas principais deixando a base mais atualizada, quem quiser pegar a base e já ir editando não fique perguntando aqui no tópico, porque como eu disse a prioridade inicial são os sistemas básicos. • Menu: ├ Informações; ├ Prints; ├ Bugs; ├ Download; └ Créditos. • Prints • • Informações Basicas • •Scan• Scan • Créditos • •ADM Kabo •Kevick •Aberos •Avronex •Lordbaxx •CipSoft •PxG •Nintendo Se faltar algum me avisem. Se tiver algo errado no tópico me avisem, não tenho muita experiencia em posts. @Yan Liima
  2. jenison06

    Broke System

    Alguem consegue adaptar sistema de contagem, o meu nao esta contando apenas no abra e msmo assim so conta 1 ball. Action ( Catch.lua) Lib (catch system.lua) Checatch (Talkaction) function onSay(cid, words, param, channel) if param == "" then return true end getBrokesIn(cid, param) return true end
  3. Olá pessoal, Estou procurando a alguns dias e não consegui fazer da certo ate o momento, então acho que mais pessoas devem ter a mesma dificuldade. Atualmente alguns servidores de poketibia tem um autoloot que é ativado assim que o monstro morre, você não precisa ir lá click no corpo e nem ficar configurando qual item vc quer. Uso a base do PokemasterX, esse servidores já te um script que pega todos os loot's, porem precisa click no poke morto, se alguém conseguir fazer o scrip funcionar se click no corpo ou tiver outro script ajudaria muito. Obrigado! Script que uso hoje: function getContainerBackpack(containeruid) local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end end for i = 1, #containers do if #containers > 1 then table.remove(containers, containers[i+1]) end if #containers > 2 then table.remove(containers, containers[i+2]) end if #containers > 3 then table.remove(containers, containers[i+3]) end if #containers > 4 then table.remove(containers, containers[i+4]) end if #containers > 5 then table.remove(containers, containers[i+5]) end end for i = 1, #containers do for _, x in ipairs(getContainerBackpack(containers[i])) do table.insert(containers, x) end end return containers end function getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return items end function isCorpse(item) return string.find(getItemNameById(item.itemid), "fainted") or string.find(getItemNameById(item.itemid), "defeated ") end function getCorpsesPosition(position) local toret = { } -- table to return items position.stackpos = 1 while true do -- loop to catch the items and insert them in toret table local thing = getThingfromPos(position) if thing.itemid == 0 then -- thing doesn't exist, break the loop... break end if thing.uid > 0 and isContainer(thing.uid) and isCorpse(thing) then table.insert(toret,thing) end position.stackpos = position.stackpos + 1 -- get next item end return toret end function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function doLoot(cid, corpse) if not isCollectAll(cid) then return true end if not isContainer(corpse.uid) then return false end local itemsToLootAllWindow = {} for _, loot in pairs(getContainerItems(corpse.uid)) do local slot = getPlayerSlotItem(cid, 3).uid local container = getContainerBackpack(slot) local item1 = getPlayerStorageValue(cid, 251461):explode("|") or 0 function configLoot() local itt = "".. tostring(getItemInfo(loot.itemid).clientId) .."|".. loot.type .."|" local ittt1, ittt2 = itt:explode("|")[1], itt:explode("|")[2] local itr = ittt1 .."-".. ittt2 .."-" table.insert(itemsToLootAllWindow, itr) doRemoveItem(loot.uid) doSendPlayerExtendedOpcode(cid, 69, table.concat(itemsToLootAllWindow)) end --// Sistema de Daily Itens \\-- if inDailyItens(cid) then if tonumber(item1[1]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[3]) - getPlayerItemCount(cid, item1[1])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end if tonumber(item1[2]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[4]) - getPlayerItemCount(cid, item1[2])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end if tonumber(item1[5]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[7]) - getPlayerItemCount(cid, item1[5])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end if tonumber(item1[6]) == loot.itemid then doPlayerSendTextMessage(cid, 20, "[Daily Itens]: Resta você coletar ["..(tonumber(item1[8]) - getPlayerItemCount(cid, item1[6])) - loot.type.."] "..getItemNameById(loot.itemid)..".") end end --// Sistema de Daily Itens \\-- if #container < 1 then doPlayerAddItem(cid, loot.itemid, loot.type) configLoot() end for i = 1, #container do if #container >= 1 then if getContainerSlotsFree(container[i]) >= 1 then doAddContainerItem(container[i], loot.itemid, loot.type) configLoot() break end else doPlayerAddItem(cid, loot.itemid, loot.type) configLoot() end end end end function checkLoot(cid, corpse, SemMensagem) if not isContainer(corpse.uid) then return false end local quemMatou = getItemAttribute(corpse.uid, "corpseowner") if quemMatou then local player = getCreatureByName(quemMatou) if isPlayer(player) then local isInParyWithPlayer = false if isInParty(cid) and isInParty(player) then isInParyWithPlayer = isPartyEquals(player, cid) end if getCreatureName(cid) ~= getCreatureName(player) and not isInParyWithPlayer then if not SemMensagem then doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.") end return false end end end return true end function onUse(cid, item, frompos, item2, topos) if isWatchingTv(cid) then return true end if not isContainer(item.uid) then return true end if not isCollectAll(cid) then return false end local maxItem = 800 if isContainer(item.uid)then if (getPlayerTotalItem(cid) + #getAllItemsFromContainer(item)) > maxItem then doPlayerSendCancel(cid, "Você não pode carregar mais itens pois já lotou a quantidade de slot's disponíveis") return false end else if getPlayerTotalItem(cid) + 1 > maxItem then doPlayerSendCancel(cid, "Você não pode carregar mais itens pois já lotou a quantidade de slot's disponíveis") return false end end local openCorpse = #getContainerItems(item.uid) < 1 if checkLoot(cid, item, false) then doLoot(cid, item) end for _, corpse in pairs(getCorpsesPosition(getThingPosition(item.uid))) do if checkLoot(cid, corpse, false) then doLoot(cid, corpse) end end if openCorpse then return false end return true end
  4. Alguém teria como me ajudar a por uma sala shop no servidor poketibia tsf 0.36 , igual as base lenda uma sala cheia de item vc clica no baú e recebe o item do bau porém descontando dos teus diamantes que você tem em mão? Exemplo shiny Stone 10 pontos Clico no baú com 9 diamantes ele fala que não tenho diamante suficiente Daí 2° exemplo , vou ao baú Clico com 10 diamantes e compro a shiny estone assim por diante sem limitações de compra se tiver tantos x de diamantes compra tanto x equivalente de shiny Stone de acordo com a vontade do player .
  5. KaboFlow

    Revive Com Tempo

    Ocupo um reviver com tempo de 10 minutos. para o nível 200+
  6. que cura metade da vida do pokémon uma poção que cura em% exemplo usar a poção cura você em 50% da vida do pokémon
  7. Fala Galera do XT, Trouxe Pra vocês o sistema de Guardian Incompleto para que todos possam ajudar a fazer... Foi desenvolvido por mim a parte em lua... Actions > crie o arquivo guardian.lua Actions.xml > coloque itemID > e o resto da TAG Favor não retirar os créditos, Seja Grato a quem Está tentando disponibilizar algo que é pago para ser feito... --- CREATED BY CLOUD --- local config = { pokemons = {"Guardian Mewtwo", "Guardian Mewtwo"}, -- nome dos pokemons que podem ser sumonados, time = {summon = 1*60, cd = 2*60}, -- tempo de duração e tempo de cd level = 125, -- define o level mínimo para se usar o item storages = {summon = 5549, cd = 5550} } msg = {finish = "Acabou o Tempo.", begin = "Voce Sumonou Seu Guardian Por" .. config.time.summon/60 .. " Minutos"} function removePokemon(poke, cid) if isCreature(poke) then doRemoveCreature(poke) doPlayerSay(cid, msg.finish, TALKTYPE_PLAYER_SAY) end end function onUse(cid, item, fromPosition, itemEx, toPosition) setPlayerStorageValue(cid, config.storages.cd, 0) if (getPlayerStorageValue(cid, config.storages.cd) - os.time()) <= 0 then if getPlayerLevel(cid) > config.level then pokemon = doCreateMonster(config.pokemons[math.random(1, #config.pokemons)], getCreaturePosition(cid)) setPlayerStorageValue(cid, config.storages.cd, os.time() + config.time.cd) doConvinceCreature(cid, pokemon) addEvent(function() if isPlayer(cid) then doPlayerSay(cid, "Eu Escolho Voce. I Choose You.") end end, 10) addEvent(function() if isPlayer(cid) then doPlayerSay(cid, "Acabou o Tempo do Guardian. Finished Time Of Guardian.") end end, 10000) doPlayerSay(cid, msg.begin, TALKTYPE_PLAYER_SAY) addEvent(removePokemon, config.time.summon*1000, pokemon, cid) else doPlayerSendCancel(cid, "Voce Nao Tem Level Para Usar o Summon.") end else doPlayerSendCancel(cid, "Desculpe o Item Esta em Coowndown.") end return true end Não Esqueçam de Criar o XML do Monster com nome Guardian, e add na lib
  8. Conteúdo: Imagens Mapa não incluso Downloads: Removendo Bugs de itens (como order, fishing, etc) Sistemas feitos para o PDE: Tutoriais feitos para o PDE: Bugs reportados:
  9. Gostaria de sabe se alguém aqui já compilou a source do server ?
  10. Procuro mapper e scripter Servidor derivado de Poketibia já está on-line Base lenda Meu contato: 65998157796
  11. Fala galera beleza? então estou trabalhando em um OT poketibia, base PokeRoxy creio que seja um Cyan editado. porem o OT não veio com Icon System (não mostra qual pokemon é quando ele esta na sua bag, casa, cp etc..) aparece somente a ball pois isso é horrivel ter que ficar dando look na pokeball pra saber qual poke é qual. Então ja dei uma pesquisada e fui no DATA/lib/configuration.lua e fui fazer alguns testes. fui alterar o do arcanine para testar e não adiantou, continuou na pokeball... Galera obg pela atenção, quam puder ajudar REP+5 e ficarei muito grato.
  12. ola alguem sabe como colocar quest para o servidor do The Ruby Server? colocar quests que dão pokémon inicial e quets de pokeballs e poções e exp .. dinheiro?
  13. Olá xtibianos , venho trazer o pokemon erondino site v14 e v15 a melhor versão como base por ser open source ,pois pelo que vi só foi postado até a versão v13. Pokemon Erondino v14 *O QUE MUDO DA V13.1 PARA A V14? (1 a 67 alteraçoes listadas) Informações: Bugs Downloads Creditos Pokemon Erondino v15 Informações: Downloads Creditos
  14. Olá, estou tentando compilar o TheRubyServer há semanas e não consigo descobrir como os tutoriais não me ajudam ou não sei o que estava errado, mas bom, se alguém me ajudar com isso, seria muito útil, pois quero modificá-lo, colocando coisas como mapa de missão e missões para postá-lo no fórum deixo aqui o erro que me dá quando quero compilar algo no visual
  15. Salve Xtibianos, como vocês estão? Eu estou bem! Como todos sabem existem milhares de servidores de poketibia para download aqui no fórum, mas nenhum esta 100%, quando eu falo 100% é dos sistemas principais e não das edições. Então resolvi pegar uma base PField OpenSource aqui do fórum mesmo e começar um projeto comunitário totalmente aberto, para tentarmos deixar a base 100% com os sistemas principais de um servidor de poketibia para quem quiser começar um projeto serio usar este server como base. Mas porque eu escolhi a base PField? Simples, por ela ser uma base mais antiga e mais limpa, sem todas as gambiarras, armadilhas e menos poluída. A minha meta é trabalharmos no server opensource, cliente com as sources criado do 0 tambem, e todos se ajudarem para quando ficar com os sistemas básicos 100% dai a galera começar a fazer suas edições ATENÇÃO: Não sou programador, sou meia boca em quase tudo e tenho esperança que com a ajuda de todos conseguiremos deixar a base perfeita para futuros projetos. Peço que não briguem aqui no tópico por causa de créditos, reps etc. Caso alguém tenha autoria em algo e não estiver nos créditos me avise que estarei adicionando. Não quero reputação, apenas quero fazer algo bom para a comunidade com a ajuda de vocês. Inicialmente estaremos corrigindo os bugs e adicionando os sistemas principais deixando a base mais atualizada, quem quiser pegar a base e já ir editando não fique perguntando aqui no tópico, porque como eu disse a prioridade inicial são os sistemas básicos. • Menu: ├ Informações; ├ Bugs; ├ Prints; ├ Download; └ Créditos. • Informações Basicas • Eu adicionei nas sources os sistemas de auto stacking, player passar por dentro de player, retirei o codigo do black list, pokemons selvagens nao resetam os moves quando o player fica soltando e voltando seu poke, removi alguns erros na distro. Quem quiser ver os sistemas podem verificar no post do JairKevick. Bike System: 100% Caught System: 100% Evolution System: 100% Go-Back System: 100% Gerações 1: 100% Gerações 2: 100% Limite de 6 Pokemons na Bag: 100% Moves System: 100% Portrait System: 100% Pokedex System: 100% Ride System: 100% Sem Level System! fly System: 100% Surf System: 100% Teleport System: 100% Auto Stacking. Player canWalkthrough. ETC... O que falta: Adicionar sistema de clã. Sistema de nick. Sistema de duel. Sistema de gym esta parcial, ainda conte bugs. Player soltar poke/usar revive andando. Pokedex. Fishing. ETC... Tem muita coisa faltando, mas a intenção deste tópico é justamente essa, adicionar os sistemas e corrigir os bugs, como essa base é bem limpa sera mais fácil de trabalharmos. Pesso a ajuda de todos, porque assim como eu, muitos sentem falta de uma base boa para começar um projeto. • Bugs • O autor do post original não disponibilizou a source com o código do opencode, e compilando a source aparece um erro na distro com relação a isso. Vou dar mais uma revisada no server e postarei os bugs que eu encontrar, e os que vocês acharem postem aqui para eu atualizar a lista. • Prints • As prints sao do tópico original, ainda colocarei mais conforme ir atualizando o server. • Downloads Download Server. Download Sources. Download Cliente. Download Ferramentas. Baixem este item editor que ja esta configurado o signature do cliente, eu esqueci de modificar no que vem com o arquivo das ferramentas: ItemEditor.7z Itens inclusos nas ferramentas: Remere's Map Editor. ObjectBuilder. Item editor. Xampp. Cliente PxG Maio 2016. Compilador Samuel Dev C++. Notepad++. 7Zip. Scan Sources. Scan Server. Scan Cliente. Não consegui fazer o scan das ferramentas por ele ter mais de 128mb, se alguém conseguir fazer ai pra mim eu agradeço. • Créditos • •Kevick •Aberos •Avronex •Lordbaxx •CipSoft •PxG •Nintendo Se faltar algum me avisem. Se tiver algo errado no tópico me avisem, não tenho muita experiencia em posts.
  16. eae pessoal blz?,tava procurando achar algum tutorial no youtube que poderia ensinar como mudar um oldcliente para ot cliente de poketibia 8.54 mas ta dificil e não consegui alguem poderia me ajudar nesse caso? me ensinar talvez ou fazer um pra mim se não for muito dificil mesmo ja agradeço
  17. alguém pode me ajudar com esse erro quando eu adiciono 1 novo item ao abrir o servidor ele lança erro de duplicado
  18. Como todos sabem existem milhares de servidores de poketibia para download aqui no fórum, mas nenhum esta 100%, quando eu falo 100% é dos sistemas principais e não das edições. Então resolvi pegar uma base PField OpenSource aqui do fórum mesmo e começar um projeto comunitário totalmente aberto, para tentarmos deixar a base 100% com os sistemas principais de um servidor de poketibia para quem quiser começar um projeto serio usar este server como base. Mas porque eu escolhi a base PField? Simples, por ela ser uma base mais antiga e mais limpa, sem todas as gambiarras, armadilhas e menos poluída. A minha meta é trabalharmos no server opensource, cliente com as sources criado do 0 tambem, e todos se ajudarem para quando ficar com os sistemas básicos 100% dai a galera começar a fazer suas edições ATENÇÃO: Não sou programador, sou meia boca em quase tudo e tenho esperança que com a ajuda de todos conseguiremos deixar a base perfeita para futuros projetos. Peço que não briguem aqui no tópico por causa de créditos, reps etc. Caso alguém tenha autoria em algo e não estiver nos créditos me avise que estarei adicionando. Não quero reputação, apenas quero fazer algo bom para a comunidade com a ajuda de vocês. Inicialmente estaremos corrigindo os bugs e adicionando os sistemas principais deixando a base mais atualizada, quem quiser pegar a base e já ir editando não fique perguntando aqui no tópico, porque como eu disse a prioridade inicial são os sistemas básicos. • Menu: ├ Informações; ├ Prints; ├ Bugs; ├ Download; └ Créditos. • Prints • Baixem este item editor que ja esta configurado o signature do cliente, eu esqueci de modificar no que vem com o arquivo das ferramentas: ItemEditor.7z Scan Sources. Scan Server. Scan Cliente. • Créditos • •ADM Kabo •Kevick •Aberos •Avronex •Lordbaxx •CipSoft •PxG •Nintendo Se faltar algum me avisem. Se tiver algo errado no tópico me avisem, não tenho muita experiencia em posts.
  19. Bom dia, estou tentando recriar algumas sprites, dessa vez eu fiz o remake do Groudon acho muito feia a sprite antiga, por enquanto só fiz a frente, avaliem com criticas fiquem a vontade. Mantive o mesmo tamanho da antiga para não atrapalhar.
  20. **Não sei se é o melhor lugar para se postar, sou novo por aqui se estiver atrapalhando por favor avisem que eu removo** Eu atualmente estou com um projeto ambicioso, de certa forma, no cenário do poketibia já que sempre quis construir um servidor do gênero, porem quando menor nunca tive os recursos que tenho hoje em dia, mas atualmente percebi que tem sido muito frustante não encontrar pessoas capacitadas para me ajudar, não consigo achar Fóruns nem Grupos atualizados sobre o gênero. Esse post é mais como um recrutamento para equipe. Como o projeto ainda esta em fase inicial, não temos muita verba então precisamos ser bem seletivos, mas existem vagas na equipe para aqueles que quiserem ajudar de coração, não tenho muito oque dizer por aqui mas todo tipo de ajuda é bem vinda. Contatos: https://linktr.ee/PokemonGenesis https://discord.gg/k3KDGz6 Aceitamos ideias e sugestões. ~Projeto Genesis
  21. Funcionamento: Ao derrotar Pokémon selvagem, existe uma chance do seu corpo emitir uma aura, basta você passar por cima dele para receber novamente a mesma experiência dada pelo Pokémon. em creaturescript procure por pokeexp.lua dentro procure por: local givenexp = getWildPokemonExp(cid) coloque em baixo: local expTotal = 0 procure por: local expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid)) substitua por: expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid)) procure por: if corpse.itemid ~= 0 then coloque em baixo: local configBonusExp = { text = "exp", colorText = COLOR_POISON, effect = 100, time_effect = 5, chance = 100 } if math.random(1, 100) <= configBonusExp.chance then doItemSetAttribute(corpse.uid, "bonusexp", expTotal) doItemSetAttribute(corpse.uid, "aid", 64700) for i = 1, configBonusExp.time_effect do addEvent(doSendMagicEffect, 1000*i, getThingPos(cid), configBonusExp.effect) addEvent(doSendAnimatedText, 1000*i, getThingPos(cid), "+"..expTotal.." "..configBonusExp.text, configBonusExp.colorText) end end agora em movements em movements.xml procure por: <movements> em baixo coloque <movevent type="StepIn" actionid="64700" event="script" value="doubleExp.lua"/> em movements/scripts crie um arquivo lua com o nome de doubleExp.lua coloque dentro: function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local owner = getItemAttribute(item.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid == owner then local expBonus = getItemAttribute(item.uid, "bonusexp") doPlayerAddExp(cid, expBonus) sendMsgToPlayer(cid, 27, "Your has gained a "..expBonus.." Experience Points.") doItemEraseAttribute(item.uid, "aid") doItemEraseAttribute(item.uid, "bonusexp") end return true end Créditos: eu > Sukito/Gristony
  22. Versão 1.0: Versão 1.5: Créditos Gerais: Aerdor Slicer Stigal Cacaiu Se for postar em algum lugar, NÃO REMOVA OS CRÉDITOS! Site com meus projetos: http://xprojectservers.blogspot.com.br/
  23. Preciso sabe como ponho o catch assim Charizard.(Charizard [20]) It belogs tô Alan .(catch by juiz) /\ palavras Tô é quem tá usando o poke no momento Level System eu já tenho só falta o look com nome do cara e a poke dex tbm
  24. Bom galera, estou voltando a trabalhar com tibia após alguns anos apenas nas sombras =P Estou com um projeto de reviver o Pokémon SvkE, exatamente como ele era nos primordios de 2010, e para isso estou utilizando o old client, mas como vocês sabem para customizar o old dá um trabalho bem pesado, já faz algumas semanas que estou estudando injeção de dependencia no old e venho aqui mostrar o meu trabalho com o modulo de Auto Updater, segue abaixo o gif: Bom como eu trabalho o dia todo e ainda estou pegado no svke nos tempos livres, acaba que fico com pouco tempo de tentar postar algum tutorial do assunto, mas para quem tiver interesse nessa area de dll injecion, criação de janelas customizadas e etc.. Recomendo dar uma olhada no projeto do tibianic-dll vocês encontram fácil no github, ele é para 772 mas já é uma base para vocês verem como que funcionam as coisas em uma dll. Sobre o updater em sí o que eu fiz foram os seguintes passos: No cliente eu tenho um arquivo chamado version, nele vai ficar salvo a versão do cliente do jogador. Quando eu abro o cliente pego a versão dele e envio para uma API rest. Na API rest eu checo se a versão que foi informada pelo cliente está na mais atual ou não, se não estiver eu envio de volta pra ele a lista de arquivos que precisam ser baixados e a nova versão. No cliente eu recebo essas informações da API e começo o processo de download dos arquivos e só sucessos. OBS1: A API rest eu fiz em .net core mas pode ser em qualquer tecnologia, php, lua, um simples xml em uma pasta do seu site, vocês que vão decidir, eu optei dessa forma pois na minha concepção é a forma ideal, eu pretendo criar um programinha desktop ou até mesmo no meu site, uma integração com a api, onde eu seleciono os arquivos coloco a versão e subo essas coisas para a api salvar no banco e por sua vez repassar as informações novas para os clientes S2. OBS2: Quem tiver ficado interessado no projeto do svke só entrar no discord para jogar ou acompanhar o desenvolvimento, atualmente estamos em beta: https://discord.gg/8XZc64yN9G
  25. [+] Pokémon Mystic [+] XP e CATCH Médio [+] Base shinys/megas [+] Ditto System [+] Aparição de megas no mapa [+] Catch persistente [+] Eventos diários [+] Staff sempre presente [+] 24 horas online [+] Shiny box quest [+] Mewtwo quest [+] Pokémons exclusivos [+] Hunt's exclusivas para VIP's e FREE's https://www.facebook.com/mysticpokemon https://discord.gg/Uv52snej9C https://chat.whatsapp.com/L067QqpcHG0A7GpfmpVeOY
×
×
  • Create New...