Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 09/04/18 em todas áreas

  1. [10.98] Carlin Revamp 2.0

    Aventureiro com mapa e 5 outros reagiu a Cat por uma resposta no tópico

    6 pontos
    Trago a vocês a nova versão desse remake que fiz um tempo atrás. Agradecimentos ao @JohnBonner que me ajudou em alguns locais. Confiram o que mudou: - Bugs em algumas houses corrigidos; - Saídas leste, oeste e norte modificadas; - Nova loja de paladins, no topo da estrutura onde se localizava a antiga; - Nova biblioteca; - Novo depot; - Adição de um segundo depot com loja de jewels no topo e vista para o Magician's park; - Adição do Magician's Park e estatuas de memorial nos dois lados da cidade; - Remake do templo; - Remake da prision; - Remake do teatro; - Novo porto, localizado ao sol, tendo como acesso a loja de potions e de móveis; - Castelo editado, novo piso no topo com duas passagens para saída; - Remake em loja de npc de tasks, com saída para campo com flores; - Outras edições menores. Espero que gostem! Download - Link direto (arquivo.otbm) carlinrevamp2.0.otbm
  2. [8.6] Teleport System!

    gutalo e 4 outros reagiu a Vodkart por uma resposta no tópico

    5 pontos
    Descrição do Arquivo *Sobre o Sistema* Resolvi postar este sistema por ser simples, já que estou desenvolvendo sistemas para guild e focar em evento de PVP para comércio aqui no TibiaKing, sem mais deslongas; O sistema é simples, basta você ativar um comando e você será teleportado para o local depois de "X" segundos, como mostra na imagem! Exemplo do uso de comando: !tp templo !tp depot !tp baiak city ----- Função que leva você para as houses! Pode ser sua house ou a house que seu amigo te invitou! !tp casa,1 ou !tp house,1 *Features* [+] O Jogador que ativar o comando e entrar em combate, automaticamente o teleport é desativado! [+] Fácil configuração! [+] Você pode configurar para que determinados locais sejam acessados só por premium account! [+] Nova função que fará que você seja levado para sua house ou house de amigos que tenham te invitado... e também irá mostrar a lista de houses disponíveis para ir! *Versão Testada* Versão Tibia 8.6 TFS 0.3.6 TFS 0.4 *Código* tp_system.lua --[[ Teleport System Desenvolvido por Vodkart Exclusivo TibiaKing Versão : 1.0 ]]-- --[[ Configuração ]]-- local time = 5 -- tempo que demora para ser teleportado local premium_teleport_houses = true -- se para teleportar para as houses precisa ser premium local teleports = { -- ["nome do lugar"] que poderá ir ["depot"] = {pos = {x=129, y=54, z=6}, premium = false}, -- posição que irá e se precisa de premium para ir! ["templo"] = {pos = {x=160, y=54, z=7}, premium = false}, ["arena"] = {pos = {x=125, y=351, z=9}, premium = false}, ["baiak city"] = {pos = {x=1028, y=1034, z=7}, premium = false} } --[[ Functions ]]-- function doTeleportWithDelay(cid, pos, delay) -- by vodkart if not isCreature(cid) then return LUA_ERROR end if delay > 0 then if getCreatureCondition(cid, CONDITION_INFIGHT) then setPlayerStorageValue(cid, 548745, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} O teletransporte foi desativado pois você entrou em estado de combate.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} "..delay.." segundos para se teletransportar.") addEvent(doTeleportWithDelay, 1000, cid, pos, delay-1) else doTeleportThing(cid, pos) doSendMagicEffect(getPlayerPosition(cid), 10) end end function getHouseInvite(cid) -- by vodkart local t = {} local qry = db.getResult("SELECT `house_id`,`list` FROM `house_lists`;") if (qry:getID() ~= -1) then repeat local lista = qry:getDataString("list") if string.find(lista, getCreatureName(cid)) then local id = qry:getDataInt("house_id") if not isInArray(t, id) then t[#t+1] = id end end until not qry:next() qry:free() end return t end function onSay(cid, words, param) local z = string.explode(param:lower(), ",") if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Este comando só pode ser usado fora de combate.") return true elseif getPlayerStorageValue(cid, 548745) - os.time() > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} aguarde, você está em processo de teletransporte.") return true end if z[1] == "casa" or z[1] == "house" then local t,invite,str = {},getHouseInvite(cid),'{Teleport} As casas disponíveis para você se teletransportar são:\n' if premium_teleport_houses == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} você precisa ser premium account para teleportar para houses.") return true end if getHouseByPlayerGUID(getPlayerGUID(cid)) ~= nil then t[#t+1] = getHouseByPlayerGUID(getPlayerGUID(cid)) end if #invite ~= 0 then for i = 1,#invite do t[#t+1] = invite[i] end end if #t == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} você não tem nenhuma house para ir.") return true end if not tonumber(z[2]) or tonumber(z[2]) > #t then for i = 1, table.maxn(t) do local h = getHouseInfo(t[i]) local hname, htown = getHouseName(t[i]),getTownName(h.town) str = str .. i .. ') '..hname..' [' .. htown..']' str = i ~= table.maxn(t) and str .. ', ' or str .. '.' end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Você deve especificar uma das casas para se teletransportar usando !tp house,numeroDoIndice") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) return true end setPlayerStorageValue(cid, 548745, os.time()+time) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Ativado.") doTeleportWithDelay(cid, getHouseEntry(t[tonumber(z[2])]), time) return true end if not teleports[z[1]] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Desculpe, este lugar não existe, lugares disponíveis: house, depot, templo, arena, baiak city.") return true elseif teleports[z[1]].premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Desculpe, você precisa ser premium para ir para este lugar.") return true end setPlayerStorageValue(cid, 548745, os.time()+time) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Ativado.") doTeleportWithDelay(cid, teleports[z[1]].pos, time) return true end TAG <talkaction words="!tp;/tp" script="tp_system.lua"/>
  3. This Is Spriting Discord

    lordzetros reagiu a Nogard por uma resposta no tópico

    1 ponto
    Já conhece o Discord da This is Spriting? Nós temos o intuito de ajudar os interessados em aprender a fazer sprites. Como as do Tibia, PokeXGames, Grand Line Adventures e similares. Para isso, o grupo conta com o acompanhamento de profissionais no chat, dando dicas de como e o que melhorar. E a melhor parte: É tudo gratuito! Duelo Mensal Nós organizamos um duelo de sprites mensalmente, com um tema escolhido pela comunidade. O objetivo do duelo é estarmos sempre praticando e incentivar novos artistas. Sprites Free For Use Nós procuramos incentivar desenvolvedores independentes cedendo algumas sprites gratuitas e exclusivas. Interaja, aprenda, ensine, encontre um artista para seu projeto ou apresente seu trabalho. Te esperamos lá!
  4. TopLevel Effect

    JEAN JR reagiu a Bruno Minervino por uma resposta no tópico

    1 ponto
    Fala galera, Um membro fez um pedido, e achei que deveria compartilhar com vocês, algo simples porém útil. Principalmente em OT's do estilo Baiak. O que o script faz ? Ele simplesmente manda um efeito para o Top Level caso ele estiver online. Instalação: Em data/creaturescripts/creaturescripts.xml adicione: <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/> Agora crie um arquivo em data/creaturescripts/scripts com o nome topeffect.lua e adicione: --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if getPlayerName(cid) == name then if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end registerCreatureEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= getPlayerID(cid) then doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = getPlayerID(cid) doSaveServer() setGlobalStorageValue(config.globalstr, getPlayerID(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not isPlayer(cid) then return true end if topPlayer == getPlayerID(cid) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito) doSendMagicEffect(getCreaturePosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end Espero ajudar!
  5. 1 ponto
    Fala galera eu recentemente me aventurei a adicionar uma nova outfit no servidor e com addon e descobri que não tinha muitos conteúdos falando sobre isso detalhadamente com imagens etc... então resolvi pegar tudo o que aprendi e vou explicar a vocês detalhadamente passo a passo com as ferramentas que temos hoje no caso o object builder. Programas Usados: Paint Object Builder Explicando jogo de cores a serem adicionadas e como adicionar Todo o cabelo Blusa e Braços Pernas Botas e detalhes do corpo 1º- Outift Toda Branca obs: É necessário a outfit pintada toda de branco por causa da paleta de cores quando for trocar as cores e a outfit estiver colorida ao mudar a cor vai mesclar uma cor com a outra e quando mudar para a cor branca vai mudar para a cor que estava então caso o cabelo for amarelo quando adicionar no cliente e for na paleta de cores in-game e mudar para a cor branca vai ficar amarelo o cabelo.... Exemplo: Configurações padrão para criar a nova outfit obs: Única coisa que notei referente a essas configurações é que se for diferente disso ao adicionar a sprite do addon ela buga.... 2º- Adicionando as áreas que vão mudar de cor Exemplo: Para criar essa parte colorida basta pegar as sprites normais da outfit e pintar de rosa as áreas do rosto das mãos caso aparecer dedos etc... remover também tem que sobrar apenas as áreas das roupas que vai mudar de cor... obs: caso quiser que algum detalhe da roupa continue sem mudar de cor padrão basta não pintar de nenhuma cor seja amarelo na parte da cabeça, vermelho na parte do busto, verde parte das perna e nem em azul a parte das botas e detalhes do corpo todo. 3º- Adicionando as áreas que vão mudar de cor na outfit Quando você tiver criado o slot com as configurações padrões acima vai ter a opção Blend Layer nas opções de aparence no object builder logo abaixo onde adiciona as sprites Exemplo: Ao selecionar a caixa a oufit adicionada vai sumir então você vai adicionar as sprites da sua oufit colorida Exemplo: Após adicionar tudo certinho como se fosse uma nova outfit basta salvar e compilar. 4º- Adicionando a nova outfit no Set Outfit Mesmo tendo adicionado no cliente ainda não é possível selecionar a nova outfit na opção Set Outfit dentro do jogo para habilitar essa opção você vai ter que ir na pasta. pasta do seu servidor/data/xml/outfits obs: pode váriar de servidor para servidor como vai estar mas essa linha de script é padrão. <outfits> <outfit id="1" premium="0"> <list type="female" looktype="136" name="Citizen"/> <list type="male" looktype="128" name="Citizen"/> </outfit> Tem também a versão que precisa de storage para ser usada só vai liberar a outfit ou addon para o player que tiver a storage configurada <?xml version="1.0"?> <outfits> <outfit id="1" quest="9785"> <list gender="0" lookType="1288" name="Test"/> <list gender="1" lookType="1288" name="Test"/> </outfit> </outfits> ou também pode ser adicionado com a linha premium ficando assim <outfits> <outfit id="1" premium="0" quest="9785"> <list type="female" looktype="136" name="Citizen"/> <list type="male" looktype="128" name="Citizen"/> </outfit> obs: Premium = 0 free Premium = 1 premium 0 contas free account podem usar a outfit 1 apenas contas premium podem usar a outfit 5º-Explicando Configuração das linhas Em ID é o id da outfit dentro do script outfit.xml então basta ir no ultimo adicionado e seguir a contagem se o ultimo for 44 o próximo é 45 e assim vai Quest é a storage necessária para o player poder liberar a outfit no set outfit Female looktype é o id da outfit da mulher no object builder no caso do citizen a outfit da mulher é 136 e o nome que vai aparecer no set outfit da outfit é citizen Male looktype é o id da outfit do homem no object builder no caso do citizen a outfit do homem é 128 e o nome também é citizen obs: Caso a outfit ser a mesma para mulher e homem basta colocar o mesmo looktype nos dois e colocar o mesmo nome da outfit. --------- ENCERRAMENTO --------------- Se gostou curta Se o tópico bombar trago a parte de adicionar os addons bem explicado nesse mesmo tópico By: Brunds
  6. [ SISTEMA ] ADDONS PARA POKETIBIA

    DarkRed reagiu a Viny 13 por uma resposta no tópico

    1 ponto
    Tudo bem ? Venho trazer um sistema de poketibia que são no caso as roupinhas de Pokémon's Vamos á instalação ? Na parte onde fica actions.xml adicione á seguinte tag : Onde está 1234 vai ser o id do item que vai dar á addon AGORA VOCE VAI ADICIONAR O SCRIPT : Crie um arquivo e renomei para addons.lua abra-o e coloque isso dentro : AGORA VOCÊ VAI PREOCURAR O ARQUIVO action do GOBACK e se eu não me engano tá na pasta action. Quando você encontrar abre ele, e bem no finalzinho antes disso : PS : Vai adicionar isso \/ 2 linhas acima do else : AGORA VOCE VAI ATÉ " DATA/LIB/Catch system.lua " e vai abrir o catch system.lua agora você vai dar cntrl+f e pesquisar por isso quando você encontrar você pule 2 linhas e adicione isso FEITO ISSO VOCE VAI EM data/talkactions/scripts/createpokeball.lua Abra o arquivo, quando abrir aperte ctrl+f e pesquise por : quando você achar isso pule 2 linhas e adicione isso : Se gostou do conteúdo não esqueça de avaliar com um REP+ que já vai me ajudar bastante da mesma forma que eu te ajudei " Yeaaah " O Sistema de Addon box é o mesmo sistema do = Randon Box só preocurar ai no tibiaking ai você pode botar os id da addon dentro dessa random box pra gerar uma addon PS : Se o seu pokemon dar fly não vai dar fly com o addon acontece o mesmo com o RIDE Obrigado ai galera do grupo Poketibias, por me insistirem tanto por PM ! CREDITOS : Cacaio : Deu e fez elas Stigal : Arrumou e deixou compatível em todas versões SkyFrozer : Disponibilizou no tópico e no fórum : Tibiaking
  7. [10.98] Carlin Revamp 2.0

    Cat reagiu a DdJs por uma resposta no tópico

    1 ponto
    Incrível. Sem mais. Vendo esse propósito de revamp, me lembrei de um local que sempre quis ver com uma cara nova que é Mintwallin. Um ótimo lugar do global cheio de história porém abandonado desde 1999.
  8. [10.98] Carlin Revamp 2.0

    Cat reagiu a Africano por uma resposta no tópico

    1 ponto
    Sempre um prazer ajudá-lo @Daniel ^^'
  9. AUTO TP Depois de matar boss.

    andrelcb reagiu a thelifeofpbion por uma resposta no tópico

    1 ponto
    Existem alguns scripts que depois de matar boss abri tp para os players entrarem em uma sala de recompensa, porém (não sei se já existe) vou postar 2 scripts: 1º Script: Todos players que der algum dano no boss é teleportado 2º Script: Depois que o Boss for derrotado todos players de uma sala são teleportados. É Basicamente isso, tava ajudando no suporte quando pediram isso e resolvi postar para ficar mais facil de achar (e depois pra eu achar também). Agradeço o vodkart por ter disponibilizado a parte do script onde seleciona todos players de uma area (retirei de algum post do forum), e Xagah que copiei descaradamente as imagens de tópico porque achei bonito Ajudei de alguma Forma? REP+.
  10. 1 ponto
    @Helder Junio adm existe uma conexão com o vapus, como o vapus está off não foi possível completar essa conexão. Configure manualmente pelo config.php, as querys para criar as colunas necessárias para o modern aac você também executa manualmente, na pasta install tem um arquivo chamado schemas, cópia o código e executa no phpmyadmin, desativa o install no config.php e boa sorte!!
  11. 1 ponto
    Not tested but I wrote them anyway... this is a means of adding the missing stat information in TFS 1.3 & OTX 3 for 10.98 & up. This is the previous code protocolgame.cpp in TFS 1.3 void ProtocolGame::AddPlayerStats(NetworkMessage& msg) { msg.addByte(0xA0); msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint32_t>(player->getFreeCapacity()); msg.add<uint32_t>(player->getCapacity()); msg.add<uint64_t>(player->getExperience()); msg.add<uint16_t>(player->getLevel()); msg.addByte(player->getLevelPercent()); msg.add<uint16_t>(100); // base xp gain rate msg.add<uint16_t>(0); // xp voucher msg.add<uint16_t>(0); // low level bonus msg.add<uint16_t>(0); // xp boost msg.add<uint16_t>(100); // stamina multiplier (100 = x1.0) msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxMana(), std::numeric_limits<uint16_t>::max())); msg.addByte(std::min<uint32_t>(player->getMagicLevel(), std::numeric_limits<uint8_t>::max())); msg.addByte(std::min<uint32_t>(player->getBaseMagicLevel(), std::numeric_limits<uint8_t>::max())); msg.addByte(player->getMagicLevelPercent()); msg.addByte(player->getSoul()); msg.add<uint16_t>(player->getStaminaMinutes()); msg.add<uint16_t>(player->getBaseSpeed() / 2); Condition* condition = player->getCondition(CONDITION_REGENERATION); msg.add<uint16_t>(condition ? condition->getTicks() / 1000 : 0x00); msg.add<uint16_t>(player->getOfflineTrainingTime() / 60 / 1000); msg.add<uint16_t>(0); // xp boost time (seconds) msg.addByte(0); // enables exp boost in the store } The focus of what we want to change here is this msg.add<uint16_t>(100); // base xp gain rate msg.add<uint16_t>(0); // xp voucher msg.add<uint16_t>(0); // low level bonus msg.add<uint16_t>(0); // xp boost msg.add<uint16_t>(100); // stamina multiplier (100 = x1.0) and this msg.add<uint16_t>(0); // xp boost time (seconds) msg.addByte(0); // enables exp boost in the store To do this we'll use storage values that are referenced via methods of the player class. Our new code will look something like this. // base xp gain rate msg.add<uint16_t>(player->getBaseXpGain()); // xp voucher msg.add<uint16_t>(player->getVoucherXpBoost()); // low level bonus msg.add<uint16_t>(player->getGrindingXpBoost()); // xp boost msg.add<uint16_t>(player->getStoreXpBoost()); // stamina multiplier (100 = x1.0) msg.add<uint16_t>(player->getStaminaXpBoost()); and this // xp boost time (seconds) msg.add<uint16_t>(player->getExpBoostStamina()); // enables exp boost in the store msg.addByte(1); In player.h Under #include "mounts.h" place this #include "configmanager.h" Under class Guild; place this extern ConfigManager g_config; Under bool hasLearnedInstantSpell(const std::string& spellName) const; place this uint16_t getBaseXpGain() const { uint32_t key = g_config.getNumber(ConfigManager::BASEXPGAIN_STORAGE); int32_t value; getStorageValue(key, value); return (value < 0 ? 100 : (uint16_t)value); } uint16_t getVoucherXpBoost() const { uint32_t key = g_config.getNumber(ConfigManager::VOUCHERXPBOOST_STORAGE); int32_t value; getStorageValue(key, value); return (value < 0 ? 100 : (uint16_t)value); } uint16_t getGrindingXpBoost() const { uint32_t key = g_config.getNumber(ConfigManager::GRINDINGXPBOOST_STORAGE); int32_t value; getStorageValue(key, value); return (value < 0 ? 100 : (uint16_t)value); } uint16_t getStoreXpBoost() const { uint32_t key = g_config.getNumber(ConfigManager::STOREXPBOOST_STORAGE); int32_t value; getStorageValue(key, value); return (value < 0 ? 100 : (uint16_t)value); } uint16_t getStaminaXpBoost() const { uint32_t key = g_config.getNumber(ConfigManager::STATMINAXPBOOST_STORAGE); int32_t value; getStorageValue(key, value); return (value < 0 ? 100 : (uint16_t)value); } uint16_t getExpBoostStamina() { uint32_t key = g_config.getNumber(ConfigManager::EXPBOOSTSTAMINA_STORAGE); int32_t value; getStorageValue(key, value); return (value < 0 ? 100 : (uint16_t)value); } Next we'll go into configmanger.cpp and find integer[MAX_PACKETS_PER_SECOND] = getGlobalNumber(L, "maxPacketsPerSecond", 25); and place this under it integer[BASEXPGAIN_STORAGE] = getGlobalNumber(L, "baseXpGain", 18000); integer[VOUCHERXPBOOST_STORAGE] = getGlobalNumber(L, "voucherXpBoost", 18001); integer[GRINDINGXPBOOST_STORAGE] = getGlobalNumber(L, "grindingXpBoost", 18002); integer[STOREXPBOOST_STORAGE] = getGlobalNumber(L, "storeXpBoost", 18003); integer[STATMINAXPBOOST_STORAGE] = getGlobalNumber(L, "staminaXpBoost", 18004); integer[EXPBOOSTSTAMINA_STORAGE] = getGlobalNumber(L, "expBoostStamina", 18005); Then open up configmanager.h and find MAX_PACKETS_PER_SECOND, and place these under it BASEXPGAIN_STORAGE, VOUCHERXPBOOST_STORAGE, GRINDINGXPBOOST_STORAGE, STOREXPBOOST_STORAGE, STATMINAXPBOOST_STORAGE, EXPBOOSTSTAMINA_STORAGE, Then add this to your config.lua -- storages for player stats baseXpGain = 18000 voucherXpBoost = 18001 grindingXpBoost = 18002 storeXpBoost = 18003 staminaXpBoost = 18004 expBoostStamina = 18005 Since it is just storage values then its just a matter of setting the correct storages to set the bonuses. if no value is set then it is set to a default of 100. Here is a screen shot to show you that this works This code is incomplete I will update it when I have time. :)
  12. [8.6] Teleport System!

    Vodkart reagiu a Cat por uma resposta no tópico

    1 ponto
    ótimo script, uma versão melhorada do fly
  13. Mapper King 2018

    tataboy67 reagiu a Cat por uma resposta no tópico

    1 ponto
    Pessoal, estarei alterando as regras do evento conforme solicitado pelo pessoal. 1 - As votações serão por tempo e não mais por diferença de votos, quando o prazo estipulado expirar o mapa com mais votos vence; 2 - Os participantes tem a opção de enviar mais de uma foto, com diversos tamanhos, para serem publicadas junto com a imagem principal; 3 - Em caso de empate, continua valendo o sistema em que um terceiro participante interfere no duelo, nesse caso um novo prazo será estipulado para a votação. O membro participante do último duelo @tataboy67 estará ocupado essa semana e me pediu para se ausentar do evento. Eu gostaria de dizer que se não fosse por isso eu lhe entregaria a coroa do Mapper King, por que percebi que seu mapa teve mais impacto na votação, muitos membros comentaram pelo discord e no tópico e apesar dos bugs/desvios o seu mapa está sim muito bom e melhor que o meu em alguns aspectos, parabéns!! No geral agradeço muito a participação de todos, esse tópico veio em um momento em que a comunidade começa a se reerguer e juntos estamos fazendo dela um local divertido e com conteúdos. Eu aceito o desafio do @JohnBonner e deixo você escolher o tema ?
  14. (Resolvido)ERRO AO REMOVER ITEM

    Vodkart reagiu a FlavioHulk por uma resposta no tópico

    1 ponto
    local config = { {chance = {from = 0, to = 30.5}, itemId = 123, count = 2}, {chance = {from = 30.5, to = 60}, itemId = 123, count = 2}, {chance = {from = 60, to = 100}, itemId = 123, count = 2}, } function onUse(cid, item) if getPlayerStorageValue(cid, STORAGE) > 0 then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já recebeu seu prêmio.") return false end local chance = math.random(0, 10000) / 100 for i = 1, #config do local reward = config[i] if chance >= reward.chance.from and chance < reward.chance.to then doPlayerAddItem(cid, reward.itemId, reward.count) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você encontrou ".. reward.count .." ".. reward.itemId .. ".") setPlayerStorageValue(cid, STORAGE, 1) doSendMagicEffect(getThingPos(cid), 13) doRemoveItem(item.uid, 1) end end return true end
  15. Sistema de Addon [ Poketibia ]

    DarkRed reagiu a Viny 13 por uma resposta no tópico

    1 ponto
    Tudo bem ? Venho trazer um sistema de poketibia que são no caso as roupinhas de Pokémon's Vamos á instalação ? Na parte onde fica actions.xml adicione á seguinte tag : Onde está 1234 vai ser o id do item que vai dar á addon AGORA VOCE VAI ADICIONAR O SCRIPT : Crie um arquivo e renomei para addons.lua abra-o e coloque isso dentro : AGORA VOCÊ VAI PREOCURAR O ARQUIVO action do GOBACK e se eu não me engano tá na pasta action. Quando você encontrar abre ele, e bem no finalzinho antes disso : PS : Vai adicionar isso \/ 2 linhas acima do else : AGORA VOCE VAI ATÉ " DATA/LIB/Catch system.lua " e vai abrir o catch system.lua agora você vai dar cntrl+f e pesquisar por isso quando você encontrar você pule 2 linhas e adicione isso FEITO ISSO VOCE VAI EM data/talkactions/scripts/createpokeball.lua Abra o arquivo, quando abrir aperte ctrl+f e pesquise por : quando você achar isso pule 2 linhas e adicione isso : Se gostou do conteúdo não esqueça de avaliar com um REP+ que já vai me ajudar bastante da mesma forma que eu te ajudei " Yeaaah " O Sistema de Addon box é o mesmo sistema do = Randon Box só preocurar ai no tibiaking ai você pode botar os id da addon dentro dessa random box pra gerar uma addon PS : Se o seu pokemon dar fly não vai dar fly com o addon acontece o mesmo com o RIDE Obrigado ai galera do grupo Poketibias, por me insistirem tanto por PM ! CREDITOS : Cacaio : Deu e fez elas Stigal : Arrumou e deixou compatível em todas versões SkyFrozer : Disponibilizou no tópico e no fórum : Tibiaking
  16. [Ajuda] errozinho básico :P

    KayquexD reagiu a 9k22 por uma resposta no tópico

    1 ponto
    Resumindo... N a coordenada aonde está informando o erro possui o foguinho de spawn (aquele VERMELHO), verifica os monstros dentro dele, clica com o botão direito do mouse>propriets e verifica o spawn inverval, se tiver 1 seg, modifica para 60 seg...
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo