Jump to content
Close

Leaderboard


Popular Content

Showing content with the highest reputation since 07/21/18 in all areas

  1. 21 points
    Feliz 2019! Eu desejo que todos tenham um próspero início de ano, agradeço por tudo que aconteceu no Tk no ano passado. Um caloroso obrigado a todos vocês que contribuem nas seções de tutoriais e suporte, vocês são fodas! Separei alguns dos tópicos mais interessantes postados em 2018, eles serão promovidos na página oficial do Tk no face todos os dias até 10/janeiro! Deixe seu joinha em: https://www.facebook.com/TibiaKing/ 👍 #MDA Acompanhe as publicações em: https://www.facebook.com/TibiaKing/ Programado para os próximos dias: 25/12 • OTHire 7.4 Empera server + Port Hope + spr + dat + website • Snow rain system todos ACC • Paletas organizadas para map editor 10.x e 11.x • OTclient, adicionar novos outfits COMPLETO • Ice Map • SadSoul - OLD Karmia 7.72 | Mysql | OTHIRE | Client | Website 26/12 • RME Solução de bugs • OTCLIENT Criando um botão • War system 0.4 fix cast system • Magnus task system tfs 1.2 • Hell Dungeon cave hunt 11.40 • Pacote de OTs clássicos 8.10 • Teleport com janela tfs 1.3 • Nightmare seal dungeon cavehunt 11.40 27/12 • Adicionar novos elementos tfs 0.3.6 • Água transparente • Compilar tfs otx windows • Asura tower cave hunt 11.40 • Teleport System • TFS 0.4.3 edição exclusiva • Labia system 8.60 • Ancient scarab lair cavehunt 8.60 28/12 • Top fraggers system • Carlin Revamp 2.0 • Sistema bancário tfs 1.2 • Sistema de honra tfs 1.2 • Adicionar sprites, editar itens e gerar .otb • Os melhores packs 860 antigos e atuais 29/12 • Video-tutorial arrumando shop tibia 11.x • Servidor DBOTeach 8.6 Htdocs + Database + Client + Server • Poke X CaZzy 1.0 • Como proteger suas sprites • NTO Ultra 8.60 • Transformar imagem em odb 30/12 • Silverhand Livrary Map • [Lua & C++] getOtsysTime() + getPlayerPing(cid) + doPlayerSendPing(cid) • Tutorial mudar versão do mapa • Baú SAO - Sistema de quest • Fire Palace - Cave hunt 8.60 • Global Save + Restarter • Giant Spiders - Cave Hunt 8.60 • Tile party tfs 1.1+ 31/12 • Tutorial preencher items.otb facilmente • Pack de websites NTODBO • Update ProtocolGame::AddPlayerStats - TFS 1.3 & OTX 3 • Evellor Island Map • Limpar characters Inativos / Account vazias • Como criar um website POKETIBIA 01/01 • Deeplings loach cavehunt 11.40 • Creature information Offset • Spy System • Video-tutorial criando client 10.x • Divulgar pag do face no site • ReCAPTCHA by google • Yielothax Nest cave hunt 11.40 • Channel Help Mute tfs 0.4 02/01 • Hydra mountain cave hunt 8.60 • Alvos específicos em spells de area • Emote spells dinâmico • Hp/Mp 100/100 sem bugs • Guild id 0 doesn't exist - Como corrigir • Dragons Dungeon cave hunt 8.60 • Otclient last version • Store items tfs 1.2 • Nto Brasil attack speed tfs 0.3/0.4 • Medusa Sanctuary cave hunt 8.60 03/01 • Custom Depot 8.60 • Fix tfs 0.4 slot bug • Double exp com aviso • Deep desert - Skeleton elite warriors 11.40 (summer update) • The Secret Tomb cave hunt 11.40 • OTXServer 3.1 (10.X - 11.X) - COMPILADO 64 BITS (WINDOWS) - PURO/LIMPO (COM SCAN) • Remover Battle ao entrar em pz • Mathtime, GetStrTime • In game account manager tfs 1.3 OTX3 • Action de casulos de bixos • Fly system tfs 0.4 • Undeads Tower Cave hunt 8.60 04/01 • Como criar um site na umbler • Tiny Editor • Certificado SSL gratuito para o NGINX em UBUNTU 16.04 • Material kit • Airetsam Kit • Código para evitar Nuker • Askarak Demon cavehunt 11.40 • Warzone 4, 5, 6 new asuras falcons • Maps Deepling Ancestorial Grounds and Sunken Temple • Fortbay city cidade completa 11.40 05/01 • [TFS 1.1+] Guild Dungeon Lever (Com tempo) • [TFS 1.2] Exercise Weapons • Bog raider Island 8.60 • War Golem's cave hunt 8.60 • getPlayerSecureMode (cid) / getPlayerFightMode (cid) • [TFS 0.4 / TFS 1.x] Wand/Rod Elemental • Modal elemental Wand • Reunindo fragmentos 8.60 • Area hardcore tfs 1.1 06/01 • Comando Y cores • Adicionar restrição de level e vocação em itens • Tibia dark skin • Wyvern mountain cavehunt 8.60 • Toll clan cavehunt 8.60 • Hero fortress cavehunt 8.60 • Lost tomb cavehunt 8.60 • Ilha pequena 11.49 • Dark Complex cavehunt 8.60 • Crystal Spiders cavehunt 11.40 07/01 • Arcan Isle cavehunt 8.60 • Forbbiden Village 8.60 • Demons dungeon cavehunt 8.60 • Fortress castle 24h 8.60 • Pharaos tomb cavehunt 8.60 • Warlocks Hunt 8.60 • Minotaur Camp 8.60 • Training center 11.40 • Lizard Chosen Cave 11.40 • Dwarf cave treiners 11.40 • Republic Bay 10.77 • Grimeleech dungeon cavehunt 11.40 08/01 • Functions tfs 1.0 • Item temporário tfs 1.x • Spell cooldown janela própria • Monstros que morreram antes de criar tfs 1.3 • Sprite extractor tibia asset 11 to latest tibias client 11.89 • Evento snowball php mapa • Town portal system (dota 2) • Docker na criação de ots • Hidden trap - igual nto br • Criar OTsev em VPS + Site • Teleport Soulpoints • Comando !bless tfs 1.3 • Serialize/Unserialize Strings to Number • Remover item de um player • Testar proteção de client free Obrigado aos membros que publicaram os conteúdos:
  2. 18 points
    KotZletY

    Vamos melhorar o TK!

    Hello membros do Tibia King, vocês puderam notar que recentemente tivemos algumas melhorias em nossa comunidade, como por exemplo o nossa nova seção de Classificados, um novo visual para o site, entre outras novidades que vocês podem conferir clicando aqui. Aah! Vale lembrar também que está acontecendo neste momento o evento "Mapper King" organizado pelo membro @Daniel, participe e acompanhe clicando aqui. Neste tópico gostaria de abordar um assunto importantíssimo a respeito de nossa comunidade: a participação vocês na comunidade! Ou seja, alguns dos membros da comunidade ajudam aos outros, postam conteúdos e contribuem bastante. assim como eu, mas como todos, também tenho minhas ocupações, projetos pessoais e o mais importante, vida pessoal. Por isso digo que é essencial o agradecimento e a retribuição de todos que usufruem de tudo que nossa comunidade oferece, mas eu vejo que muitos esquecem de fazer isso, agem como "leechers", apenas sugam o conteúdo e até mesmo pedem ajuda em nossas seções de suporte, é ajudado pelos membros do fórum e nem se quer agradecem pela atenção. O reconhecimento é muito gratificante, as vezes receber um simples "obrigado" já é muita coisa, isso incentiva que as pessoas continuarem ajudando, publicando e criando novos conteúdos para todos. Tente também contribuir com a comunidade, as vezes alguém está com um problema que você já resolveu alguma vez ou até mesmo você já sabe a solução, não custa nada ajudar e compartilhar o seu conhecimento! Então é isso galera, vamos tentar sempre evoluir e fazer com que essa comunidade maravilhosa seja ainda melhor. Nós da equipe do TK continuaremos fazendo nossa parte, ajudando sempre da melhor maneira. Vale lembrar que estamos com novas ideias para valorizar ainda mais os membros que são realmente ativos, portanto aguardem que novidades surgirão! E você? O que acha, concorda ou descorda? Deixe sua opinião aqui e vamos juntos em busca de uma comunidade melhor!
  3. 17 points
    Yinz

    Telara-ATS

    Resolvi postar o projeto pra download, o servidor foi testado online e está funcionando SEM nenhum erro ou BUG. Testado em ubuntu, 14.04, OTX, 10~11. Download Telara.rar Database.sql (não está resetada, se preferir baixa do GIT do malucoo) Website.rar Scan Scan 18/01/2019 — Adicionado Boss Room, funciona como sistema de Raids — Corrigido todos teleports dos Trainers. — Adicionado 130+ Teleports próprios, diversos do DJ aqui do forum. — Adicionado Veradin npc que vende Addons & Montarias pelos Crown Tokens. — Autoloot modificado pelas srcs, com controle de items pelo banco de dados. — Mapa totalmente diferente, é pra ser um baiak por ser teleports, mas um baiak CUSTOM, nunca vi nenhum online por ai, venho dizendo o diferente me atraí, espero que te atraía também, uma coisa linda dessas. — Tentei trazer as mais diferentes quests que eu possuia no Thoria & Alvoria, e hunts também, então tudo que você verá, nunca fui visto em outros baiaks. — Foi adicionado todos items de Djin, Zão, Magicians, no Rashi no objetivo de simplificar e não ter vários npcs pra uma coisa só. — Adicionado system de task bolado do lobão você pode ver mais informações aqui — Foi adicionado NPC que venda items de Imbuiment — Adicionada Roshamuz, podendo ir pelo barco. — Sistema de Crown Token, cada level upado & chances de droparem de mobs, você pode ver mais aqui — Adicionado bônus exp para players que estiverem com cast aberto, criado pelo E um site totalmente novo para um servidor novo. Screens;
  4. 16 points
    MANUAL DO REMERE'S MAP EDITOR ÍNDICE - 01 Introdução, Menu "File" e configurações iniciais. (Ir para o tópico) - 02 Menus de Edição - "Edit", "Map", "View", "Floor" e "Window". (Ir para o tópico) - 03 Ferramentas, Extensões e Live Mapping (Você está aqui!) - 04 Lua Scripts. (Ir para o tópico) - 05 Ferramentas Externas. (Ir para o tópico) Atenção! O Live Mapping não está disponível em todas as versões do Map Editor, procure na seção utilitários caso o seu não possua e quiser utilizar. Atenção! Realize um backup antes de alterar ou criar novas extensões. FERRAMENTAS DO EDITOR • BRUSH SIZE O brush size permite que você adicione itens em grande escala, há 7 opções de tamanho e também é possível adicionar no formato arredondado (2 - funciona melhor para wall brushs) • TERRAIN PALETTE TOOLS Aqui você vai poder adicionar ferramentas com configurações invisíveis como PZ tile por exemplo, as restantes são destinadas à brushs e AM em geral. └──►Esta é a ferramenta opcional de auto-border, também conhecida como Border Tool, é útil caso você precise aplicar manualmente parte de algum brush. Não somente bordas, ela pode ser utilizada para completar doodads que estão pela metade no mapa (como fontes, estátuas, etc...), mas seu uso é principalmente focado em bordas de tiles, veja o exemplo abaixo: └──► Erase significa apagar. Você pode apagar qualquer item de detalhe, menos pisos e algumas bordas. (Fique atento com debris, algumas bordas e outros itens que parecem bordas mas não são, estes podem ser removidos). └──> Adiciona pz no mapa. Usada para fazer depots, templos e áreas de descanso em geral. Use a tecla de atalho E para ativar ou desativar a visualização. (os tiles ficarão esverdeados quando ativado). └──>Usado para definir áreas no mapa onde players não podem se atacar. Tecla de atalho: E. (os tiles ficarão levemente avermelhados). └──>Onde for aplicado essa ferramenta, o player não poderá deslogar, mesmo se der exit. Tecla de atalho: E. (os tiles ficarão amarelados). └──> Faz com que o player que morrer no local marcado não morra de verdade e volte ao templo. Muito usada em arenas. Tecla de atalho: E. (os tiles ficarão fortemente avermelhados) └──►Esta ferramenta adiciona uma porta na parede selecionada, para configurar, caso sua wall não tenha brush, você deve ir em walls.xml. (leia os tutoriais sobre extensions, citados mais abaixo) <door id="XXX" type="normal" open="false"/> (fechada) <door id="XXX" type="normal" open="true"/> (aberta) └──► Adicionará uma porta fechada, a configuração é: <door id="XXX" type="locked" open="false"/> (fechada) <door id="XXX" type="locked" open="true"/> (aberta) └──► Adicionará uma porta mágica: <door id="XXX" type="magic" open="false"/> (fechada) <door id="XXX" type="magic" open="true"/> (aberta) └──► E por fim uma porta de quest: <door id="XXX" type="quest" open="false"/> (fechada) <door id="XXX" type="quest" open="true"/> (aberta) Para aplicar as portas, basta selecionar a ferramenta e clicar em cima da parede na horizontal ou na vertical, veja o exemplo: └──► Seguindo o mesmo esquema das portas, adiciona uma janela fechada (daquelas que abre ao dar Use). Em algumas paredes recentes, essa opção adiciona uma variação de janela, não necessariamente fechada. <door id="5478" type="hatch window" open="false"/> (fechada) <door id="5400" type="hatch window" open="true"/> (aberta) └──► Adiciona janelas normais. <door id="3392" type="window"/> • FERRAMENTAS DE HOUSES Adicionando novas houses: - Antes de criar uma house, cadastre uma nova cidade (ctrl + T): Posicione o mouse no tile onde o player deverá nascer e de um ctrl + T. Clique em Add e adicione o nome da cidade. Anote a posição do tile que você marcou ao usar o atalho, que aparecerá reto para baixo da barra de rolagem. - Voltando à paleta de houses, clique em Add. - Clique em Edit e coloque: A identificação da house que aparecerá ao dar Look na porta ingame. O preço da casa. Selecione a opção GuildHall se for o caso. - Selecione House Tiles e aplique em toda a área da construção, incluindo em baixo das paredes. Se for no andar de cima, coloque o piso ID 460 em baixo das paredes que 'flutuam', para que os players consigam pendurar decorações. - House Exit deve ser adicionado na frente da porta, ele não pode ser colocado em cima de um house tile, mas deve haver um house tile na porta que estiver na frente dele para que funcione. - Selecione alguma house e clique em remove para deletá-la. - Você pode checar suas houses no arquivo mapa-houses.xml, na pasta do mapa. • FERRAMENTAS DE SPAWNS CREATURE PALETTE - Spawn Time: Tempo necessário para o monstro nascer, não coloque menos que 10 pois pode bugar o server. - Spawn Size: Tamanho da área onde será adicionado um ou mais monstros. É preciso aplicar esta ferramenta para poder adicionar a criatura no mapa. Exemplo de escala: Spawn Size 1: Spawn Size 5: Spawn Size 30 (máximo): • FERRAMENTAS DO MOUSE (RIGHT CLICK) 1 - Recorta e copia a área selecionada. (para selecionar grandes áreas e/ou em diferentes andares utilize ctrl + shift + seleção). 2 - Copia a área selecionada. 3 - Copia a posição, exemplo: {x = 1000, y = 997, z = 7}. 4 - Cola partes copiadas no lugar onde clicar. 5 - Deleta itens ou área selecionada. 6 - Permite controlar pisos que possuem vários detalhes em cima, possibilitando deletar um item mais abaixo sem precisar remover os outros de cima e trazendo algumas informações sobre essa posição, veja a imagem: 7 - Mostra em que lugar do editor fica o item selecionado. 8 - Propriedades permite adicionar actionIDs, uniqueIDS, textos ou itens em containers. 9 - No canto inferior/direito, no final da barra de rolagem, há um ícone que ao clicar faz o mouse ficar sem nenhuma ação ou com brush, veja a imagem: EXTENSÕES - PALETAS CUSTOMIZADAS Paletas Customizadas I - Grounds (link para o tutorial) Paletas Customizadas II - Walls (link para o tutorial) Paletas Customizadas III - Doodads e atalhos (em breve) LIVE MAPPING Com esta ferramenta, você pode mapear com seus amigos em tempo real. Hostear um mapa: Em Server Name, vai o seu ip local caso você tenha desbloqueado suas portas, ou o IP do hamachi. Seus amigos precisaram desse ip para abrir o mapa. Port 31313 é a padrão, quando hosteado via hamachi não troque-a. Allow copy paste between maps: Esta opção deveria não permitir que outras pessoas que entrassem no mapa copiassem o mesmo, no entanto ela não funciona! Uma vez que você pode clicar para fechar o programa e ele vai perguntar se você quer salvar o mapa... Entrar em um mapa Hosteado Name: Seu nome, que aparecerá na lista de pessoas online. Ip do server. Port do server. Senha do server. Atenção: Ao entrar em um mapa hosteado, se este for muito grande, você terá que 'passear' por ele para que o editor carregue a área por completo, isso também pode ocasionar em lag e fazer algumas pessoas caírem dependendo da velocidade de conexão do hoster. Além disso, quando uma pessoa perde a conexão, ela continua mapeando sem ser avisada, porém numa versão offline daquele mapa. Enquanto os outros que estão no mapa hosteado, mapeiam na versão original e posteriormente ao descobrir que o colega mapper caiu, terão que unir as partes que ele mapeou separado. PRÓXIMO TUTORIAL >>
  5. 15 points
    DEV C++, aprenda a compila uma source TFS! Downloads(Baixe de acordo as configurações do seu windows): DEV C++ CONFIGURADO PARA 32BITS DEV C++ CONFIGURADO PARA 64BITS REV 3884 TFS 0.4 Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos. ====================================== Abra o DEV C++: ====================================== ====================================== Abra a Source: ====================================== ====================================== Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev: ====================================== ============================================================= ====================================== Aguarde carregar todos os arquivos: ====================================== ====================================== Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK: ====================================== ====================================== Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo: ====================================== ====================================== Se der tudo certo em Log vai estar como mostra a imagem abaixo: ====================================== ====================================== Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou! ====================================== =========================================== Só isso galera tutorial rápido resumido e útil! Créditos Natanael Beckman! =========================================== Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar: Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone. Abra o DEV-C++, clique em File> New> Project: Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos: Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp. No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros: -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs: -lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK. Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project: Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9: OpenSSL 0.9.8 1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa! Clica aqui \/
  6. 14 points
    Salve salve galera do TK! Hoje vos trago o Wodbo Wars versão 5.9(de 2016) Creio que muitos daqui que joga dbo deve conhecer esse servidor, atualmente ele está online! Pra quem não sabe eu já fui da equipe, ajudei a dar inicio ao projeto, corrigindo bugs, scripts,mexendo com site,db etc... Por conta de mesquice do Arkam, ele me tirou da equipe e ai rolou treta entre eu e ele. Muitos já devem saber a história. Enfim... Decidi trazer para vocês pois faz muito tempo que a galera vive enchendo o saco para mim postar. E como esse servidor não tem nenhum valor para mim, só guardava e não postava por respeito ao Matheus P.(Arkam), mesmo tendo nossas intrigas, ele é um grande rapaz. Decidi postar, já que o mesmo não liga mais! Imagens: Bom, não estarei postando a distro original, estarei deixando a que ele utilizou no inicio. Recomendo vocês baixarem alguma src(source) e compilarem. Recomendo utilizar a do @Fir3element. No site dele oficial tem um bug de gerar várias vezes a RK, concertei isso para vocês. Assim podendo gerar apenas uma vez! A base utilizado nesse servidor foi o Dbo Hunter(criado pelo Renan), esse servidor tem umas gambiarras, mas creio que irá ajudar muitas pessoas que não tem muita experiência de começar do 0. Utilizem como base, sejam criativos e entre pra concorrência DOWNLOAD: Créditos: Matheus Pacheco(Arkam or Arkamed) Yan Liima(Night) As vezes certas pessoas se aproveita de outras para poder chegar longe. ;( Façam um bom aproveito, abraços!
  7. 14 points
    Yan Liima

    [System] Trade Points

    #Introdução Reparei que muitas pessoas estão atrás desse sistema que o DBOBR e NTOBR usa, e atualmente o VitorSubhi postou um, porém é necessário modificar as sources. Apesar de achar o dele bem melhor, estarei deixando este meu sistema(não é necessário mexer nas sources). #Funcionamente O jogador vai até um NPC e compra um papel, após ter comprado ele pode estar dando trade nesse papel e negociando com algum jogador em troca de qualquer item. Ao finalizar a negociação, os points são transferidos/removidos(caso houver points na conta). Também é possivel comprar o papel por comando, estarei disponibilizando ambos para vocês. #Alguns prints: Estarei deixando o script para vocês em inglês, modifique como quiser Então vamos lá... #Instalação Em data/lib crie um arquivo chamado tradepoints.lua cole isto dentro: Em data/creaturescripts/tradepoints.lua: TAG: <event type="tradeaccept" name="Trade_Points" event="script" value="tradepoints.lua"/> <event type="traderequest" name="Trade_Points_Request" event="script" value="tradepoints.lua"/> login.lua registerCreatureEvent(cid, "Trade_Points") registerCreatureEvent(cid, "Trade_Points_Request") NPC XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Frodo" script="data/npc/scripts/trade_points.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="275" head="114" body="113" legs="113" feet="113" corpse="2212"/> <parameters> <parameter key="module_shop" value="1" /> <parameter key="message_greet" value="Hello |PLAYERNAME|. I sell some utensils and Premium Points Transfer for you to transfer points to other players, remember to buy use '10' to 10 points." /> </parameters> </npc> Data/npc/scripts/trade_points.lua: Caso queira que a compra do papel seja feita por talkactions, aqui está: Prontinho xD Agradecimentos ao @lordzetros por ajudar na função scanContainer. obs: testado em TFS 0.4
  8. 14 points
    Nolis

    [10.98] Carlin Revamp 2.0

    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
  9. 12 points
    JZDJ

    Download Clients 11+ IP 127.0.0.1

    Olá galera do TK. Hoje eu trago vários clientes de Tibia 11+ com IP 127.0.0.1. Vi que alguns usuários não estão conseguindo algumas versões 11 então resolvi postar aqui. Estou disponibilizando o EXECUTÁVEL DO CLIENTE. Para que funcione é só colocar na pasta BIN da versão correspondente. Também disponibilizei a pasta completa compactada. Vamos ao que interessa. Tibia 11.43.5504 127.0.0.1-11.43.5504.exe SCAN do cliente Pasta completa: Tibia 11.43.5504.rar SCAN pasta completa Tibia 11.44.5516 127.0.0.1-11.44.5516.exe SCAN do cliente Pasta completa: Tibia 11.44.5516.rar SCAN pasta completa Tibia 11.46.5556 127.0.0.1-11.46.5556.exe SCAN do cliente Pasta completa: Tibia 11.46.5556.rar SCAN pasta completa Tibia 11.47.5640 127.0.0.1-11.47.5640.exe SCAN do cliente Pasta completa: Tibia_11_47.5640.rar SCAN pasta completa Tibia 11.47.5674 127.0.0.1-11.47.5674.exe SCAN do cliente Pasta completa: Tibia_11_47.5674.rar SCAN pasta completa Tibia 11.48.5712 127.0.0.1-11.48.5712.exe SCAN do cliente Pasta completa: Tibia_11_48.5712.rar SCAN pasta completa Tibia 11.48.5753 127.0.0.1-11.48.5753.exe SCAN do cliente Pasta completa: Tibia_11_48.5753.rar SCAN pasta completa Tibia 11.49.5813 127.0.0.1-11.49.5813.exe SCAN do cliente Pasta completa: Tibia_11_49.5813.rar SCAN pasta completa Tibia 11.49.5884 127.0.0.1-11.49.5884.exe SCAN do cliente Pasta completa: Tibia_11_49.5884.rar SCAN pasta completa Tibia 11.49.5921 127.0.0.1-11.49.5921.exe SCAN do cliente Pasta completa: Tibia_11_49.5921.rar SCAN pasta completa Tibia 11.49.5983 127.0.0.1-11.49.5983.exe SCAN do cliente Pasta completa: Tibia_11_49.5983.rar SCAN pasta completa Tibia 11.49.6018 127.0.0.1-11.49.6018.exe SCAN do cliente Pasta completa: Tibia 11.49.6018.rar SCAN pasta completa Tibia 11.49.6030 127.0.0.1-11.49.6030.exe SCAN do cliente Tibia 11.49.6030.rar SCAN pasta completa Tibia 11.50.6055 127.0.0.1-11.50.6055.exe SCAN do cliente Tibia 11.50.6055.rar SCAN pasta completa Tibia 11.51.6099 127.0.0.1-11.51.6099.exe SCAN do cliente Tibia 11.51.6099.rar SCAN pasta completa Tibia 11.52.6104 127.0.0.1-11.52.6104.exe SCAN do cliente Tibia 11.52.6104.rar SCAN pasta completa Tibia 11.55.6239 127.0.0.1-11.55.6239.exe SCAN do cliente Tibia 11.55.6239.rar SCAN pasta completa Tibia 11.56.6239 127.0.0.1-11.56.6239.exe SCAN do cliente Tibia 11.56.6239.rar SCAN pasta completa Tibia 11.57.6239 127.0.0.1-11.57.6239.exe SCAN do cliente Tibia 11.57.6239.rar SCAN pasta completa Tibia 11.58.6239 127.0.0.1-11.58.6239.exe SCAN do cliente Tibia 11.58.6239.rar SCAN pasta completa Tibia 11.58.6239 ATUALIZADO 127.0.0.1-11_58.6239.exe ATUALIZADO SCAN do cliente Tibia 11.58.6239 ATUALIZADO.rar SCAN pasta completa Tibia 11.59.6424 127.0.0.1-11.59.6424.exe SCAN do cliente Tibia 11.59.6424.rar SCAN pasta completa Tibia 11.60.6457 127.0.0.1-11.60.6457.exe SCAN do cliente Tibia 11.60.6457.rar SCAN pasta completa Tibia 11.65.6492 127.0.0.1-11.65.6492.exe SCAN do cliente Tibia 11.65.6492.rar SCAN pasta completa Tibia 11.65.6507 127.0.0.1-11.65.6507.exe SCAN do cliente Tibia 11.65.6507.rar SCAN pasta completa Tibia 11.66.6516 127.0.0.1-11.66.6516.exe SCAN do cliente Tibia 11.66.6516.rar SCAN pasta completa Tibia 11.70.6535 127.0.0.1-11.70.6535.exe SCAN do cliente Tibia 11.70.6535.rar SCAN pasta completa Tibia 11.70.6543 127.0.0.1-11.70.6543.rar SCAN do cliente Tibia 11.70.6543.rar SCAN pasta completa Tibia 11.70.6548 127.0.0.1-11.70.6548.rar SCAN do cliente Tibia 11.70.6548.rar SCAN pasta completa Tibia 11.70.6555 127.0.0.1-11.70.6555.rar SCAN do cliente Tibia 11.70.6555.rar SCAN pasta completa Espero que eu tenha ajudado. Créditos: A Cip pelos clientes e a mim por ter alterado os ips nos mesmos. REP+ é sempre bom e não dói. Abraços. ATT , Jaurez/JZDJ
  10. 11 points
    Explicação: Este sistema proporciona ao jogador a compra de determinada cave por "X" tempo, cada conta poderá comprar somente 1 cave por vez... Lá o jogador poderá upar livremente. Também poderá chamar um amigo para upar na sua cave!! O sistema é o mais completo do mercado, vou estar falando do mesmo abaixo. OBS: Não esqueça de executar a query para funcionar!! Exclusive Cave System Features Dentro do pacote terá duas versões: versão 1 : É para vendar as caves em money(Gold's) Versão 2: É para vender as caves por items, por exemplo por moedas especiais como scarab coins(ID 2159) O sistema é feito por banco de dados O tempo da cave é mostrado em tempo real Você poderá chamar um amigo para sua cave e também remove-lo quando quiser. Existe um globalevents especifico para mostrar no default quando uma cave ficou disponível para venda! (Irá informar o nome da cave o preço dela!) Você poderá configurar a cave para vender por exemplo: - Level minimo e máximo! - Tempo de duração da cave - Se precisa ser premium account para comprar a cave! Quando o tempo da cave expira tanto o dono da cave como o friend invitado são removidos da cave, mesmo estando offline ou online! Comandos exclusivos: Comando para dono da cave: /mycave - Mostra informações da sua cave, como: - Nome da cave - Nome do seu amigo de cave(caso tiver invitado) - Quando tempo falta para expirar o tempo da sua cave /addcavefriend - Adiciona um amigo seu para que ele possa entrar e sai da sua cave quando quiser... Obs: Tem um exhausted de 1 hora(configurável) para não ficar toda hora tirando e colocando amigo na cave. /removecavefriend - Remove o seu amigo da sua cave(caso ele esteja dentro da cave tanto offline quanto online, ele é removido) /cavetime - Mostra quando tempo falta para expirar a sua cave Comando para amigo invitado da cave: /cavefriendtime - Mostra quando tempo falta para expirar a cave que ele invitado. /caveleave - Comando para ele se kikar da cave que está invitado. Comandos adicionais importante para todos: /cavelist -- Mostra em uma janela todas as caves do servidor /cave ID -- Neste comando você terá que usar o ID da cave que deseja saber as infor,ações, por exemplo: /cave 1 -- Irá mostrar em uma janela todas as informações desta cave, como: -Nome da cave -Preço da cave -Level Minimo e Level Maximo para comprar a cave -Se nesta cave precisa ser Premium Account para comprar ou não. /cavepurchase -- Filtra em uma janela somente as caves que estão disponíveis para compra. ---------------------------------------------------------------------------------------------------------------------------------------------------- Configurações: Vá na lib e irá se deparar com duas tabelas... Esta primeira tabela é onde você irá adicionar novas caves e atribuir as configurações, exemplo: exclusives_caves_areas = { -- adicionar as caves [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}}, [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}} } [1] -- Entre os colchetes é o ID da cave, favor colocar e ordem. name = "Demon Hunter" -- Entre as aspas "" Você atribui o nome da cave price = 1000 -- Preço em gps da sua cave(caso use a versão que vende em gps) level = {min = 8, max =30} -- Aqui voce coloca o level min e max que o jogador tem que ser para comprar a cave time = 4 -- Tempo em horas que o jogador poderá ficar na cave premium = false -- Se para comprar a cave terá que ser premium (false ou true) enter = {x = 284, y = 223, z = 7} -- Pos de entrada da cave from = {x = 275, y = 219, z = 5}, -- Aqui você deverá pegar a pos do começa da cave to = {x = 302, y = 240, z = 7} - - -- Aqui você deverá pegar a pos final da cave!(como se fosse um quadrado. e como adicionar mais caves por exemplo? Assim: exclusives_caves_areas = { -- adicionar as caves [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}}, [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}}, [3] = {name = "Ciclops Cave", price = 5000, level = {min = 20, max = 50}, time = 2, premium = true, enter = {x = 198, y = 320, z = 7}, from = {x = 200, y = 340, z = 7}, to = {x = 250, y = 390, z = 7}} } ---------------------------------------------------------------------------------------------------------------------------------------------------- explicando a segunda tabela: exclusives_caves_config = { storage = 547575, check = 547576, comand_add_exaust = {hours = 1, storage = 547577}, -- tempo para nao ficar toda hora tirando e colocando amigo mensagem = "[Exclusive Cave System] Você foi removido ou o tempo da %s cave expirou!", serve_mensagem = "[Exclusive Cave System] A cave %s acabou de ficar liberada para venda por %d Gold's, aproveitem para compra-la no NPC!" } storage -- nao mexer! check -- não mexer!! comand_add_exhausted -- é o tempo que jogador poderá voltar a invitar outro jogador, está configurado para 1 hora!! mensagem -- não mexa serve_mensagem -- não mexa tbm kkk Só baixar e executar as querys!! Cave System.rar
  11. 11 points
    Coltera

    Show OFF - Mapping

    HUNTS: Estarei postando algumas imagens do meu projeto (O tópico não tem prazo de Atualização: (??/??/????)). * (Mapa simples e poucos detalhes) * --------------------------------------------------- Atualização: 06/07/2019 --------------------------------------------------- 1 2 --------------------------------------------------- Atualização: 25/06/2019 --------------------------------------------------- 1 2 --------------------------------------------------- Atualização: 14/06/2019 --------------------------------------------------- 1 2 --------------------------------------------------- Atualização: 02/06/2019 --------------------------------------------------- 1 2 --------------------------------------------------- Atualização: 27/05/2019 --------------------------------------------------- 1 2 --------------------------------------------------- Atualização: 25/05/2019 --------------------------------------------------- 1 2 --------------------------------------------------- Atualização: 02/02/2019 --------------------------------------------------- 1 2 3 CIDADE: --------------------------------------------------- Atualização: 27/01/2019 --------------------------------------------------- 1 2 3 4 5 6 7 8 9
  12. 11 points
    ~ • • ~ É com muita satisfação que venho anunciar esse grupo que vem crescendo dentro da comunidade, a Academia de Mapping. Composta atualmente por mais de 30 membros, em maioria Mappers, o grupo tem como objetivo compatilhar experiências e ajudar quem está iniciando no Mapping. Iniciei esse projeto para incentivar mais pessoas a praticarem Mapping, pois sei que muitos tem vontade de aprender, e saibam que não estão sozinhos. Mapping se torna prático, divertido e desestressante, se você se permitir tentar! • ~ Participe: Clique aqui para entrar no Grupo! ~ • Alguns dos participantes da Academia prepararam carinhosamente algumas amostras de seus mapas para compartilhar com a vocês, peço que se os Mappers pronunciem-se no tópico apresentando-se, divulguem seus projetos e falem um pouco sobre vocês! 💪 @Coltera @DdJs @Huni @Sharck @Clauis @Storm @Nolis @Walox @KOLISAO @Marco Oliveira @tataboy67 @Sphynx1 @Loide @WooX Obrigado a todos por tirarem um tempo pra separar o conteúdo, não poderia ter feito esse tópico sem a ajuda de vocês! Quer aprender a fazer seus próprios mapas? Junte-se a nós, todos os dias tem alguém online que pode te ajudar com dicas, instruções ou opiniões. Se você não for mapper pode acessar o grupo como Visitante e acompanhar os trabalhos divulgados. Além disso, você pode avançar seu Ranking dentro do grupo, os Rankings servem para mostrar o que cada mapper é capaz de fazer, e são definidos por auto-avaliação. • ~ Clique aqui para entrar no Grupo! ~ •
  13. 11 points
    Nolis

    Elements - Advanced Mining System

    Trago a vocês esse sistema, originalmente produzido para um servidor custom 8.60. (testado em 0.4 - firelement). Acredito que será mais útil pra vocês do que pra mim nesse momento. Se alguém puder acrescentar informações a respeito do uso em diferentes tfs agradeço. 💪 INFORMAÇÕES P = Posso mineirar vários itens nesse sistema? R = Sim, existem quatro elementos e quatro categorias, possibilitando gerar até 16 produtos finais nas minas. Essa configuração pode ser editada facilmente. Caso queira usar da maneira como o script está feito, ao mineirar você poderá coletar as seguintes pedras: P = Mas as pedras caem aleatoriamente? R = Não, esse mining possui um SKILL, conforme você mineira o skill aumenta e consecutivamente o seu LEVEL. Inicia com pedras Light, depois pure, rare e massive. Você pode editar facilmente o modo como a exp sobe, os leveis necessários para executar cada ação e as pedras. P = Qual a utilidade das pedras elementares? R = Na ideia original, projetei o sistema para que as pedras fossem gastas ao comprar itens em baús, mas fica a seu critério como utilizá-las. Por exemplo, um colar de proteção earth/ice precisaria ser pago com pedras de earth e ice. Incluirei no tópico o script utilizado no baú e o script para trocar as pedras quando atingir 100 unidades cada. Veja o exemplo: INSTALAÇÃO Em data/actions/script crie um arquivo .lua chamado elementalmining e cole o código dentro: local config = { maxmininglevel = 100, storagemining = 10000, expperlevel = 1000, experiencemining = 10001 } local stone = { blue = {8637, 8633, 9798, 1354}, green = {8640, 8636, 9791, 1353}, lightblue = {8638, 8634, 9790, 12344}, red = {8639, 8635, 9788, 1355}, } local stones = { crystal = {stone.blue[1], stone.green[1], stone.lightblue[1], stone.red[1]}, lcrystal = {stone.blue[2], stone.green[2], stone.lightblue[2], stone.red[2]}, pcrystal = {stone.blue[3], stone.green[3], stone.lightblue[3], stone.red[3]}, scrystal = {stone.blue[4], stone.green[4], stone.lightblue[4], stone.red[4]}, } local ore = { blue = {2146, 7759, 5905, 8302}, green = {2149, 7761, 12396 ,8298}, lightblue = {2150, 7762, 12575, 8303}, red = {2147, 7760, 5906, 8299}, } local ores = { ore.blue[1], ore.blue[2], ore.blue[3], ore.blue[4], ore.green[1], ore.green[2], ore.green[3], ore.green[4], ore.lightblue[1], ore.lightblue[2], ore.lightblue[3], ore.lightblue[4], ore.red[1], ore.red[2], ore.red[3], ore.red[4]} local levels = { { level = {0,19}, stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4]}, items = {ores[1],ores[5], ores[9], ores[13]}, iselect = 0, bstart = 1, gstart = 2, lbstart = 3, rstart = 4, chance = 10, -- 30 qtdmax = 1, expgainmin = 1, --15 expgainmax = 1 --50 }, { level = {20,49}, stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4]}, items = {ores[1],ores[2], ores[5], ores[6], ores[9],ores[10], ores[13], ores[14]}, iselect = 1, bstart = 1, gstart = 3, lbstart = 5, rstart = 7, chance = 10, qtdmax = 1, expgainmin = 1, expgainmax = 1 }, { level = {50,69}, stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4], stones.pcrystal[1], stones.pcrystal[2], stones.pcrystal[3], stones.pcrystal[4]}, items = {ores[1],ores[2], ores[3], ores[5], ores[6], ores[7], ores[9],ores[10], ores[11], ores[13], ores[14], ores[15]}, iselect = 2, bstart = 1, gstart = 4, lbstart = 7, rstart = 10, chance = 10, qtdmax = 1, expgainmin = 1, expgainmax = 1 }, { level = {70,89}, stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4], stones.pcrystal[1], stones.pcrystal[2], stones.pcrystal[3], stones.pcrystal[4], stones.scrystal[1], stones.scrystal[2], stones.scrystal[3], stones.scrystal[4]}, items = {ores[1],ores[2], ores[3], ores[4], ores[5], ores[6], ores[7], ores[8], ores[9],ores[10], ores[11], ores[12], ores[13], ores[14], ores[15], ores[16]}, iselect = 3, bstart = 1, gstart = 5, lbstart = 9, rstart = 13, chance = 10, qtdmax = 1, expgainmin = 1, expgainmax = 1 }, { level = {90,100}, stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4], stones.pcrystal[1], stones.pcrystal[2], stones.pcrystal[3], stones.pcrystal[4], stones.scrystal[1], stones.scrystal[2], stones.scrystal[3], stones.scrystal[4]}, items = {ores[1],ores[2], ores[3], ores[4], ores[5], ores[6], ores[7], ores[8], ores[9],ores[10], ores[11], ores[12], ores[13], ores[14], ores[15], ores[16]}, iselect = 3, bstart = 1, gstart = 5, lbstart = 9, rstart = 13, chance = 10, qtdmax = 1, expgainmin = 1, expgainmax = 1 } } function onUse(cid, item, fromPosition, itemEx, toPosition) local getMiningLevel = getPlayerStorageValue(cid, config.storagemining) local getMiningExp = getPlayerStorageValue(cid, config.experiencemining) if getMiningLevel == -1 then setPlayerStorageValue(cid, config.storagemining, 0) end if getMiningExp < 0 then setPlayerStorageValue(cid, config.experiencemining, 0) end if (isInArray(stones.crystal, itemEx.itemid) or isInArray(stones.lcrystal, itemEx.itemid) or isInArray(stones.pcrystal, itemEx.itemid) or isInArray(stones.scrystal, itemEx.itemid)) then for a = 1, #levels do min = levels[a].level[1]; max = levels[a].level[2] if (getMiningLevel >= min and getMiningLevel <= max) then if isInArray(levels[a].stone, itemEx.itemid) then if (math.random(1, 100) <= levels[a].chance) then quantity = math.random(1, levels[a].qtdmax) experience = math.random(levels[a].expgainmin, levels[a].expgainmax) if isInArray(stone.blue, itemEx.itemid) then iselection = math.random(levels[a].bstart, levels[a].bstart + levels[a].iselect) collect = levels[a].items[iselection] end if isInArray(stone.green, itemEx.itemid) then iselection = math.random(levels[a].gstart, levels[a].gstart + levels[a].iselect) collect = levels[a].items[iselection] end if isInArray(stone.lightblue, itemEx.itemid) then iselection = math.random(levels[a].lbstart, levels[a].lbstart + levels[a].iselect) collect = levels[a].items[iselection] end if isInArray(stone.red, itemEx.itemid) then iselection = math.random(levels[a].rstart, levels[a].rstart + levels[a].iselect) collect = levels[a].items[iselection] end if getMiningLevel == 100 then doSendMagicEffect(toPosition, 9) doPlayerSendTextMessage(cid, 22, text) doPlayerAddItem(cid, collect, quantity) elseif getMiningLevel <= 99 then if getMiningExp >= config.expperlevel then doSendMagicEffect(getCreaturePosition(cid), 49) setPlayerStorageValue(cid, config.storagemining, getMiningLevel + 1) setPlayerStorageValue(cid, config.experiencemining, getMiningExp - config.expperlevel) text = "You collected " ..quantity.. " matter" ..(quantity > 1 and "s" or "").. ". \n You have gained " ..experience.. " experience points in Mining. \n You advanced from mining skill level " ..getMiningLevel.. " to mining skill level " ..(getMiningLevel + 1).. "." else setPlayerStorageValue(cid, config.experiencemining, getMiningExp + experience) text = "You collected " ..quantity.. " matter" ..(quantity > 1 and "s" or "").. ". \n You have gained " ..experience.. " experience points in Mining. \n" ..(config.expperlevel - getMiningExp - experience).. " experience points left to next level. \nCurrent Mining Skill: " ..getMiningLevel.. "." end doSendMagicEffect(toPosition, 9) doPlayerSendTextMessage(cid, 22, text) doPlayerAddItem(cid, collect, quantity) end else doSendMagicEffect(toPosition, 3) doSendAnimatedText(getCreaturePosition(cid), "Working!", COLOR_WHITE) end else doPlayerSendTextMessage(cid, 22, "You need to get better in Mining to mining this.") end end end else doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendTextMessage(cid, 22, "You can't mining this.") end end Em data/actions/actions.xml use: <!-- MINING --> <action itemid="2553" event="script" value="elementalmining.lua"/> Se tiver dúvidas a respeito de como configurar pergunte no tópico. As partes editáveis são: Local config, local Stone, local Ore, local Levels. Note que local Levels indica que algumas pedras só podeerão ser mineiradas ao ter mining level superior. Configurações das pedras: Em data/items/items.xml troque os nomes de cada pedra (os nomes ficam a seu critério ;p) <item id="2149" article="a" name="light earth substance" plural="light earth substance"> <attribute key="weight" value="1000" /> </item> <item id="2146" article="a" name="light ice substance" plural="light ice substance"> <attribute key="weight" value="1000" /> </item> <item id="2147" article="a" name="light fire substance" plural="light fire substance"> <attribute key="weight" value="1000" /> </item> <item id="2150" article="a" name="light energy substance" plural="light energy substance"> <attribute key="weight" value="1000" /> </item> <item id="7761" article="a" name="pure earth substance" plural="pure earth substance"> <attribute key="weight" value="1000" /> </item> <item id="7759" article="a" name="pure ice substance" plural="pure ice substance"> <attribute key="weight" value="1000" /> </item> <item id="7760" article="a" name="pure fire substance" plural="pure fire substance"> <attribute key="weight" value="1000" /> </item> <item id="7762" article="a" name="pure energy substance" plural="pure energy substance"> <attribute key="weight" value="1000" /> </item> <item id="12396" article="a" name="rare earth matter" plural="rare earth substance"> <attribute key="weight" value="1000" /> </item> <item id="6551" article="a" name="rare ice substance" plural="rare ice substance"> <attribute key="weight" value="1000" /> </item> <item id="6550" article="a" name="rare fire substance" plural="rare fire substance"> <attribute key="weight" value="1000" /> </item> <item id="12575" article="a" name="rare energy substance" plural="rare energy substance"> <attribute key="weight" value="1000" /> </item> <item id="8298" name="massive earth substance" plural="massive earth substance"> <attribute key="weight" value="1000" /> </item> item id="8302" name="massive ice substance" plural="massive ice substance"> <attribute key="weight" value="1000" /> </item> <item id="8303" name="massive energy substance" plural="massive energy substance"> <attribute key="weight" value="1000" /> </item> <item id="8299" name="massive fire substance" plural="massive fire substance"> <attribute key="weight" value="1000" /> </item> TRANSFORMAR PEDRAS EM MOEDAS Em data/actions/scripts/tools crie um arquivo .lua e nomeie como changecoin: local COINS = { LIGHT = { EARTH_SUBSTANCE = 2149, ICE_SUBSTANCE = 2146, ENERGY_SUBSTANCE = 2150, FIRE_SUBSTANCE = 2147 }, PURE = { EARTH_SUBSTANCE = 7761, ICE_SUBSTANCE = 7759, ENERGY_SUBSTANCE = 7762, FIRE_SUBSTANCE = 7760 }, RARE = { EARTH_SUBSTANCE = 12396, ICE_SUBSTANCE = 6551, ENERGY_SUBSTANCE = 12575, FIRE_SUBSTANCE = 6550 }, MASSIVE = { EARTH_SUBSTANCE = 8298, ICE_SUBSTANCE = 8302, ENERGY_SUBSTANCE = 8303, FIRE_SUBSTANCE = 8299 } } local TRANSFORM = { [COINS.LIGHT.EARTH_SUBSTANCE] = { TO = COINS.PURE.EARTH_SUBSTANCE }, [COINS.LIGHT.ICE_SUBSTANCE] = { TO = COINS.PURE.ICE_SUBSTANCE }, [COINS.LIGHT.ENERGY_SUBSTANCE] = { TO = COINS.PURE.ENERGY_SUBSTANCE }, [COINS.LIGHT.FIRE_SUBSTANCE] = { TO = COINS.PURE.FIRE_SUBSTANCE }, [COINS.PURE.EARTH_SUBSTANCE] = { FROM = COINS.LIGHT.EARTH_SUBSTANCE, TO = COINS.RARE.EARTH_SUBSTANCE }, [COINS.PURE.ICE_SUBSTANCE] = { FROM = COINS.LIGHT.ICE_SUBSTANCE, TO = COINS.RARE.ICE_SUBSTANCE }, [COINS.PURE.ENERGY_SUBSTANCE] = { FROM = COINS.LIGHT.ENERGY_SUBSTANCE, TO = COINS.RARE.ENERGY_SUBSTANCE }, [COINS.PURE.FIRE_SUBSTANCE] = { FROM = COINS.LIGHT.FIRE_SUBSTANCE, TO = COINS.RARE.FIRE_SUBSTANCE }, [COINS.RARE.EARTH_SUBSTANCE] = { FROM = COINS.PURE.EARTH_SUBSTANCE, TO = COINS.MASSIVE.EARTH_SUBSTANCE }, [COINS.RARE.ICE_SUBSTANCE] = { FROM = COINS.PURE.ICE_SUBSTANCE, TO = COINS.MASSIVE.ICE_SUBSTANCE }, [COINS.RARE.ENERGY_SUBSTANCE] = { FROM = COINS.PURE.ENERGY_SUBSTANCE, TO = COINS.MASSIVE.ENERGY_SUBSTANCE }, [COINS.RARE.FIRE_SUBSTANCE] = { FROM = COINS.PURE.FIRE_SUBSTANCE, TO = COINS.MASSIVE.FIRE_SUBSTANCE }, [COINS.MASSIVE.EARTH_SUBSTANCE] = { FROM = COINS.RARE.EARTH_SUBSTANCE }, [COINS.MASSIVE.ICE_SUBSTANCE] = { FROM = COINS.RARE.ICE_SUBSTANCE }, [COINS.MASSIVE.ENERGY_SUBSTANCE] = { FROM = COINS.RARE.ENERGY_SUBSTANCE }, [COINS.MASSIVE.FIRE_SUBSTANCE] = { FROM = COINS.RARE.FIRE_SUBSTANCE } } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then return false end local COIN = TRANSFORM[item.itemid] if(not COIN) then return false end if(COIN.TO ~= nil and item.type == ITEMCOUNT_MAX) then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, COIN.TO, 1) elseif(COIN.FROM ~= nil) then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, COIN.FROM, ITEMCOUNT_MAX) end return true end Em data/actions/actions.xml acrescente: <action itemid="2149" event="script" value="tools/changecoin.lua"/> <action itemid="2146" event="script" value="tools/changecoin.lua"/> <action itemid="2150" event="script" value="tools/changecoin.lua"/> <action itemid="2147" event="script" value="tools/changecoin.lua"/> <action itemid="7761" event="script" value="tools/changecoin.lua"/> <action itemid="7759" event="script" value="tools/changecoin.lua"/> <action itemid="7762" event="script" value="tools/changecoin.lua"/> <action itemid="7760" event="script" value="tools/changecoin.lua"/> <action itemid="12396" event="script" value="tools/changecoin.lua"/> <action itemid="6551" event="script" value="tools/changecoin.lua"/> <action itemid="12575" event="script" value="tools/changecoin.lua"/> <action itemid="6550" event="script" value="tools/changecoin.lua"/> <action itemid="8298" event="script" value="tools/changecoin.lua"/> <action itemid="8302" event="script" value="tools/changecoin.lua"/> <action itemid="8303" event="script" value="tools/changecoin.lua"/> <action itemid="8299" event="script" value="tools/changecoin.lua"/> Script adicional: Bau/Chest - Comprar mesmo item com duas moedas diferentes Isso é tudo, façam bom uso!
  14. 10 points
    Salve galera hoje vou postar pra vocês esse characters.php que esta na image a baixo. "FUNCIONA EM GESIOR 2012" 1º Coloque as imagens de "Itens,Skills,Addons" dentro da pasta \images\equipment 2º Baixe o arquivo basic.css <Clique aqui para baixar, e coloque dentro de \layouts\tibiacom 3º Você baixa o characters.php <Clique aqui para baixar, jogue na pasta principal do seu Site. Creditos: @Fabio Leandro @Rusherzin
  15. 10 points
    Vodkart

    [8.6] Labia System

    UPDATE 05/02/2019: - Colocado exhauted na venda de items para não bugar a venda de itens com elf bot! Descrição do Arquivo *Sobre o Sistema* Labia System é um sistema que proporciona ao jogador a capacidade de aprimorar sua habilidade de venda, aumentando assim sua Labia Skill e obtendo maiores lucros em futuras vendas de itens. O Skill de Labia, pode ser upado enquanto Free ou Premmy Account em qualquer level que você queira! Basta vender itens no NPC Soya Master. Lembrando que sendo free, sua lábia pode ser upada apenas até skill 90. Já sendo premmium até a lábia 120. Se o player for premmy account, de repente ficar free... sua lábia cai para 90, e todos os itens serão vendidos com preços avaliados dentro dessa lábia! Quanto mais caro for, o item vendido, maior será a porcentagem de lábia upada. *Exclusividade* O Sistema também conta com uma configuração exclusiva, tendo a possibilidade de jogadores Premmy account possam upar mais rapído a sua Skill de Labia! Sem falar no comando inovador: !labia info -- Ensinando ao jogador como usar o sistema !labia level -- Mostrando ao jogador quanto de skill Try falta para o próximo level!! *Benefícios da Lábia* Quanto maior for sua Labia Skill, maior será o valor pago pelas NPC Soya Master em troca do seu item ! Lembrando que, este é um benefício apenas, para premiuns!, Desta maneira, jogadores premiuns com labia skill alta, conseguem maiores lucros ao vender seus itens! O valor do item varia de acordo com a Labia upada! Quanto mais skill, mais lucro na venda! A maior Labia alcançada é você que decide nas suas configurações! por exemplo no RPG Brasil a é Skill 120. *exemplo da fórmula para cálculos do valor do item de acordo com uma Lábia desejada* P = PI + PI * 0,025 * (L / 2) Onde: P ~ Preço que o item será vendido na lábia L. PI ~ Preço Inicial do item, preço do item para um lábia 0. L ~ Labia em que o item será vendido! Vale lembrar que se L for um nº ímpar, deve-se reduzir uma unidade deste número, ou seja, 13 vira 12, 27 vira 26, 91 vira 90, nesse esquema, apenas se L for í­mpar! Exemplo: Preço de uma Golden Legs na lábia 95: P = PI + PI * 0,025 * (L / 2) Como L é í­mpar (95), reduzimos uma unidade, 95 vira 94: P = 48000 + 48000 * 0,025 * (94 / 2) P = 48000 + 48000 * 0,025 * 47 P = 48000 + 56400 P = 104400 GP's ou 104,4 k Sistema Labia.rar
  16. 10 points
    The Magician's Library Version: 10.98 Magician's Library 10.98.rar [Scan] Type: .Rar Size: 229KB Position(s): [X: 1011 Y: 1030 Z: 10] File password: tibiaking Images:
  17. 9 points
    WooX

    DarkTheme e AutoComplete para Notepad++

    Atualização 05/05/2019: Olá a todos, acredito que muitos além de mim utilizam o Notepad++ para trabalhar com códigos, é por isso que hoje venho trazer um tema que eu mesmo fiz e um AutoComplete atualizado para o Notepad++. AutoComplete. Para quem não está familiarizado, o AutoComplete é uma função do Notepad++ que completa funções ou palavras assim que você começa digita-las. Neste AutoComplete que estou disponibilizando, possui todas as funções existentes no TFS 0.3.7 e 0.4. Para instalar o AutoComplete, primeiro você deve ativar a função no seu Notepad++. Para isso vá em Configurações -> Preferencias -> Autocompletar e deixa as configurações como mostra a seguir. Em seguida, basta colocar o arquivo lua.xml no seguinte diretório do Notepad++. Notepad++\plugins\APIs Atualização: Dark Theme. Eu fiz este tema porque detesto o tema original do Notepad++, todo aquele branco chega a arder os olhos e é muito cansativo ficar olhando pra quem programa muito tempo utilizando a ferramenta. Este tema não traz consigo somente a alteração da cor do fundo, mas um destaque de cor verde a cada função existente no AutoComplete. Um código Lua utilizando o tema, fica assim. Além disso, o tema não dá suporte apenas para a Linguagem Lua, mas também para C++, PHP, MySQL, Javascript, XML, HTML, CSS e INI. Para realizar a instalação do tema, basta ir em Configurações -> Importar -> Importar Tema(s) e escolher o arquivo DarkCode.xml. Atualização: Pronto! Após realizado todos os procedimentos, basta reiniciar seu Notepad++ que todas as alterações terão efeito. É isso, acredito que possa ser útil no dia a dia de quem desenvolve em Lua. Ultima atualização: 05/05/2019.
  18. 9 points
    Créditos por este conteúdo. RokojoM (RAW, wall autoborder, mountain autoborder, ground randomization...) Limos (Majority of item palette, ground autoborder.) PALETAS ATUALIZADAS PARA MAP EDITOR 11.X Como instalar: Baixe os arquivos .rar que contém os arquivos necessários para a modificação. Copie todos os arquivos e cole em: Remere's Map Editor > data > client (Se tiver dúvidas, faça um backup antes). Cole os arquivos .xml por cima dos existentes na pasta e reinicie o editor. Sobre A maioria dos pisos, paredes e montanhas que estavam faltando foram adicionados em terrain (autoborder). A maioria dos itens de others foram catalogados e organizados na paleta RAW. Contém organização de itens até a versão 10.98. Os arquivos foram feitos para funcionar em 10.98, porém funciona com qualquer client adicionado no RME 3.2. Ou seja, abaixo da versão 10.98 a paleta Terrain terá alguns itens em preto mas o editor não deixa de funcionar. RkjM RME Mod 3 (with Tiny Borders).rar RkjM RME Mod 3 (without Tiny Borders).rar
  19. 9 points
    Última Atualização: 18/06/2019, 02:07 BRT OBS: Esse é apenas um resumo do Lothus Online! [+] O Projeto Por conta de alguns acontecimentos, a equipe decidiu modificar o nome de World of Tibia para Lothus. Facebook do projeto: https://www.facebook.com/LothusOnline O projeto foi iniciado á 6 meses, Lothus Online conta com 2 integrantes e será baseado no mundo de Azeroth. E estaremos trazendo esse mundo fantástico e misterioso para os tibianos. Meu objetivo é criar um novo estilo de jogo, com sistema de PVP competitivo: Battleground e Arena e PVE: Dungeon e Raid. A primeira versão do jogo será simples, e ao longo da história e dos acontecimentos de Azeroth, o mundo ganhará conteúdos novos. A Origem dos Mundos Ninguém sabe exatamente como o universo começou. Alguns teorizam que uma explosão cósmica catastrófica espalhou as jóias do infinito nos mundos na imensidão da Grande Escuridão – mundos que um dia teriam formas de vida maravilhosas e fofas. Outros acreditam que o universo foi criado por uma única entidade todo-poderosa. Embora as origens exatas do universo caótico permaneçam incertas, está claro que uma raça de seres poderosos surgiu para trazer estabilidade a esses vários mundos e assegurar um futuro seguro para os seres que seguissem seus passos. Os titãs, deuses colossais que tinham a pele metálica, dos cantos distantes do cosmo, exploraram o universo recém nascido e se fixaram nos planos encontrados para trabalhar nele. Eles moldaram os mundos elevando imponentes montanhas e cavando vastos oceanos. Espiraram céus e criaram atmosferas. Tudo partindo de um plano, criar ordem a partir do caos. Eles deram poder a raças primitivas para cuidar e manter a integridade dos seus respectivos planos. Comandado pela elite conhecida como o Panteão, os titãs trouxeram ordem a cem milhões de mundos espalhados ao longo da Grande Escuridão do Além, durante os primeiros anos de criação. O benevolente Panteão que buscava proteger estes mundos estruturados, sempre estava vigilante contra a ameaça de ataque das entidades extra-dimensionais vis da Espiral Etérea. O Caos Inferior, uma dimensão etérea de magias caóticas que conectada a inúmeros mundos do universo, era lar de um número infinito de seres malignos que só buscavam destruir a vida e devorar as energias vivas do universo. Incapazes de conceber o mal em qualquer forma, os titãs tentaram achar um modo de terminar com a constante ameaça dos demônios. Facções: Alliance As nobres raças da aliança estão unidas por altivas tradições de nobreza, honra, fé, justiça e sacrifício. Os muito povos dessa facção contribuem com sabedoria técnica arcana e espiritual para alcançar um mundo pacifico e justo. Horde As altivas nações da horda estão unida por uma frágil aliança de convivência de um mundo hostil que buscava destruí-las. Determinadas, ferozes e as vezes monstruosas, a horda valoriza a força e a honra, mas luta para manter agressividade sob controle. [-] Mapa O mundo de Azeroth é a terra natal de várias raças, as mais notáveis sendo os elfos (elfos da Noite, elfos Nobres, elfos de Sangue e outros), humanos, anões, taurinos, goblins, trolls, gnomos e dragões. [-] Sistema Profissão – Profissões de produção: Encatamento: Encantar Itens (dando ML, resistência, etc) Ferraria: Criar itens com ataque e armadura mais fortes Alquimia: Criar poções mais fortes (Buffs, regeneração mais alto, etc) – Profissões de coleta: Herborismo: Coletar Plantas (Alquimia) Mineração: Coletar Minérios (Ferreiro) Destruição de equipamentos: Coletar magia dos itens (Encatamento) [-] Equipe Como a primeira versão será MVP, preciso de uma Equipe dedicada (não precisa ser profissional e sim força de vontade, querer aprender , ter ideias bacana, e querer inovar sempre e ter disciplina). Sou Mapper e mexo com mapa já tem 8 anos. E nossas vagas disponíveis: Scripter Spriter Designer Mapper Para se inscrever, é só me add no discord: Marcelo Weis#1024
  20. 9 points
    Boa tarde pessoal, me ausentei por um bom tempo e continua sendo difícil pra eu poder continuar mexendo com OTs diariamente, mas por um longo tempo eu me prometi que faria um tutorial de como começar seu servidor a partir da configuração da máquina usada, tudo isso baseado no tutorial do @sirarcken que postou como configurar a Google VM pro tibia. Bom, acho que um pouco mais de 1 ano depois do tutorial dele, resolvi finalmente dar uma "atualizada" e postar um usando, como o próprio título fala, Nginx + MariaDB ao invés de Apache+MySql. Por que dessa troca? Pois bem, fiz algumas pesquisas e todas indicavam um melhor desempenho com o Nginx ao invés do Apache por ter um melhor gerenciamento de memória, portanto ficou mais flúido, além de ser Open Source e bem mais seguro também. O mesmo se aplica ao MariaDB. Bom, fiz uma série de apenas 2 vídeos no youtube, o primeiro ensinando a configurar a máquina desde o 0, o segundo ainda não cheguei a postar, mas vai ser exatamente a partir da compilação do servidor até ligar ele usando IP do site No-IP. Bom, sem mais delongas, espero que gostem. Na descrição do vídeo tem um link com todos os comandos usados durante o mesmo. Obs.: Não quero que prestem atenção à qualidade de edição do vídeo pois não sei mexer muito bem com editores hahaha e também não gosto de frescura, gosto de ir direto ao ponto. Obs. 2: Quando eu postar o segundo vídeo, editarei este post adicionando o link para o tópico. Créditos: Eu @sirarcken Google valuebound.com EDIT> COMO HAVIA DITO: 2ª PARTE:
  21. 9 points
    Fala galera, bom eu vi que é difícil achar uma source 0.3.6 sem bugs, então resolvi disponibilizar a source do meu servidor 0.3.6 8.54 1- Magic Effects e ShotyEffect Extendido 2- Magic Effect até 700+ / Shoty Effect até 150 se não me engano 3- Sistema de Dupla Empunhadura 4- Tem a função doplayeropenchannel para abrir os chats ao logar 5- Todos os danos de elementos estão configurado para o magiceffect 131 que no meu client é vazio 6- Auto Stacking ao jogar item que se junta por quantidade ele junta automaticamente 7- No Blocking Respawn o monstro da respawn mesmo tendo jogadores perto e com magic effect (não lembro o número do magic effect) 8- Novo Elemento Wind Adicionado 9- Algumas modificações que não lembro Linux Compile Tem um arquivo.txt que tem os códigos para compilar no linux lá tem o nome da biblioteca e o código. Windows Compile Software necessário : Stian's_Repack_Dev-Cpp_0.2,_64bit.rar Scan Use a pasta Dev-Cpp/test esqueça do conteúdo da pasta dev-cpp e use o projeto criado na pasta test a diferença é o parâmetro usado para compilar a source. OBS: Caso tiver erros ou problemas abra um tópico na área de Suporte. DOWNLOADS: [NTO_NS]_Source_0.3.6_8.54.rar SCAN
  22. 9 points
    Salve galera bom eu achei um script de lenhar antigo fui atrás tentei editar deu fail então recebi ajuda de alguns membros e enfim consegui trazer isso para vocês para muitos pode ser um simples sistema de cortar arvore mas com ele da para usar a criatividade e usar para muitas outras coisas como por exemplo mina para minerar minérios/ arvores com frutos para colher e por ai vai. Bom o script faz o seguinte você usa o machado em uma arvore configurável e você fica com a roupa de lenhador corta a arvore fica o toco dela e depois de um tempo a arvore volta ao normal para ser cortada novamente e assim você ganha itens configuráveis. Membros que ajudaram no script @JoviM @lordzetros Criador do script original @PsyMcKenzie Corrigido por @Storm Testado na versão 0.3.6 / 8.54 Outfit de lenhador 8.54 V outfit obd 854_1248.obd = Homem outfit obd 854_1249.obd = Mulher 8.60 V outfit obd 860_1248.obd = Homem outfit obd 860_1249.obd = Mulher Action.xml <action itemid="ID DO MACHADO" event="script" value="NOME DO SCRIPT.lua"/> Script V Vídeo demonstrativo Espero que gostem do script
  23. 9 points
    Snowsz

    Creature Information Offset

    Faz tempo que não posto nada, então deu vontade, tava brincando um pouco ai fiz esse sisteminha básico. • Gifs Nesse primeiro Gif, ao trocar a direção da Outfit, o nome e as barras de informações como Health, Mana, mudam de posição, isso é bom para ajustar as Outfits de acordo com o seu tamanho, como o Demon, ficar com as informações logo em cima da cabeça, ou Hydra, todos estão com o local padrão. Aqui era como as informações ficavam com essa Outfit originalmente, no padrão de sempre dos clients. Comparativo em imagem estática: Tibia Outfit antes e depois: Aqui estão algumas outfits que meu primo @Fae1z fez, apliquei o sistema de offset nelas, uma do Graves, uma do Ekko, ambos são personagens do game League of Legends, e uma baseada Uganda Knuckle: Ekko antes: Ekko depois: Graves antes e depois: Uganda Knuckle antes e depois: Aqui eu estava brincando de por as informações da Outfit de anão de modo drogado kkk. • Código Em Creature.h modifique nesta linha: void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point". Ficando: void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags) Embaixo de: std::string getName() { return m_name; } Adicione: Point getInformationOffset() { return m_informationOffset; } void setInformationOffset(int x, int y) { m_informationOffset.x = x; m_informationOffset.y = y; } Embaixo de: Position m_oldPosition; Adicione: Point m_informationOffset; Agora, em Creature.cpp procure por: void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point". Ficando: void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags) Sim, isso está repetido, é assim mesmo, o processo é necessário em Creature.h e Creature.cpp, nessa função a variável point tem seu tipo alterado de Const para normal. Ainda em Creature.cpp procure por: if(!useGray) fillColor = m_informationColor; Pule duas linhas e adicione: point.x += m_informationOffset.x; point.y += m_informationOffset.y; Agora, em Luafunctions.cpp procure por: g_lua.bindClassMemberFunction<Creature>("jump", &Creature::jump); Embaixo adicione: g_lua.bindClassMemberFunction<Creature>("setInformationOffset", &Creature::setInformationOffset); g_lua.bindClassMemberFunction<Creature>("getInformationOffset", &Creature::getInformationOffset); A parte da source é só isso. Foi criada uma variável do tipo Point na classe Creature, que pode armazenar dois valores do tipo Int, sendo eles X & Y, assim detendo uma posição de offset, para ajustar a posição das informações(Health Bar, Mana Bar e Name) da criatura, essa variável é usada na função Creature::drawInformation, onde ocorre todo o desenho de informações das criaturas, lá o offset criado altera a posição de um Point usado como posição base das informações, alterando esse Point todo o resto segue aquela posição, você pode setar o offset diretamente na criatura, as funções podem ser usadas tanto na source usando C++ quanto nos scripts usando Lua, em Lua o uso das funções é o seguinte: Essa função retorna uma tabela com X & Y, algo como "table = {x = 10, y = 20}", são as posições do offset. Creature:getInformationOffset() Exemplo de uso: local Offset = Creature:getInformationOffset() print(Offset.x) print(Offset.y) Isso vai printar no client_terminal do OTClient os valores de X & Y. Enquanto esta altera as posições usando os valores X & Y. Creature:setInformationOffset(x, y) Exemplo: Creature:setInformationOffset(10, -5) Essa configuração de offset vai aumentar X em 10 Pixels e diminuir Y em 5 Pixels, no meu primeiro gif, na direção Sul do Char, eu usei X diminuindo 13 Pixels e Y diminuindo 8 Pixels, algo como isso: Creature:setInformationOffset(-13, -8) Para tudo isso funcionar igual os gifs acima eu fiz um módulo especial, onde dependendo da Outfit e da direção que a criatura está olhando, ele vai alterar o offset de acordo. Para criar o módulo, siga estes passos: Na pasta do OTClient em modules/ crie uma pasta chamada game_creatureinformation, dentro crie um arquivo com o mesmo nome e a extensão .otmod, algo como "game_creatureinformation.otmod", o conteúdo do arquivo é este: Module name: game_creatureinformation description: Changes the position of the informations point to correctly draw names and creature bars. author: Snowsz website: tibiaking.com autoload: true reloadable: true sandboxed: true version: 1.0 scripts: [ game_creatureinformation ] @onLoad: init() @onUnload: terminate() Crie um arquivo com o mesmo nome e a extensão .lua, algo como "game_creatureinformation.lua", o conteúdo do arquivo é este: --[[ Directions: North /\ East > South \/ West < Structure: [OutfitID] = { [Direction] = {x = OFFSETX, y = OFFSETY}, } ]] --Lista de offsets para cada Outfit. local OutfitOffsets = { [143] = { --Outfit do primeiro gif [North] = {x = -13, y = -8}, [East] = {x = -17, y = -8}, [South] = {x = -13, y = -8}, [West] = {x = -15, y = -8}, }, [160] = { --Outfit de anão com o nome full drogado. [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = -13, y = -80}, [West] = {x = 0, y = 0}, } } local function translateDir(dir) if dir == NorthEast or dir == SouthEast then return East elseif dir == NorthWest or dir == SouthWest then return West end return dir end local function getOutfitInformationOffset(outfit, dir) if OutfitOffsets[outfit] then return OutfitOffsets[outfit][translateDir(dir)] end return {x = 0, y = 0} end local function onCreatureAppear(creature) local Offset = getOutfitInformationOffset(creature:getOutfit().type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureDirectionChange(creature, oldDirection, newDirection) local Offset = getOutfitInformationOffset(creature:getOutfit().type, newDirection) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureOutfitChange(creature, newOutfit, oldOutfit) local Offset = getOutfitInformationOffset(newOutfit.type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end function init() connect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) connect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end function terminate() disconnect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) disconnect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end A parte do módulo está finalizada, o que resta agora é configurar as Outfits na tabela com seus determinados Offsets, e não se preocupe, se a outfit não estiver configurada, ela vai seguir o padrão normal, o módulo só altera algo quando determinada Outfit está configurada. Para configurar o módulo é simples, basta seguir o padrão: [ID DA OUTFIT AQUI] = { [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = 0, y = 0}, [West] = {x = -0, y = 0}, }, Nos primeiros colchetes coloque o ID da sua Outfit para ter o offset modificado, os colchetes restantes são as direções, não é necessário mexer neles, dentro de cada índice da tabela tem os offsets X & Y, basta modificar o valor de acordo, sendo ele positivo ou negativo. NÃO SE ESQUEÇA DA VÍRGULA NO FINAL "},".
  24. 9 points
    Olá a todos. Bom eu percebi que tem algumas pessoas levando vantagem em cima de um programa gratuito disponível na internet, então resolvi postar ele para todos usarem gratuitamente é um programa que além de criar a pasta cab muda a file name/mask do aplicativo, assim fazendo com que ele necessite abrir o data.cab criado por você trazendo enfim a proteção.cab para os clientes de hoje, o problema que existe nele é que ele coloca diversos falsos positivos no cliente fazendo com que qualquer anti-virus detecte o cliente do servidor como uma ameaça assim excluindo do computador e consequentemente faz com que o servidor perca jogadores, mas já que tem pessoas levando vantagem sobre esse programa gratuito na internet e cobrando horrores para passar esse programa e um tutorial de como fazer isso eu vou disponibilizar aqui para uso gratuito de todos. O Nome do programa em questão é Enigma Virtual Box Link para acessar o site oficial para baixar o programa https://enigmaprotector.com/en/downloads.html Bom agora irei mostrar como fazer o procedimento com um vídeo obs: estarei usando uma versão inferior mas o procedimento é o mesmo Após esse processo o cliente fica dessa forma Scan do cliente https://www.virustotal.com/#/file/c560af8310c672d88f20649178036220cc20b00e074959e9a14975727a8ec936/detection Scan da data.cab https://www.virustotal.com/#/file/2a43b080250ff3e02a1d3d5409f765e70cd4385bca748bae1f0b4b35bbd9e00b/detection Bom é isso pessoal o intuito é acabar com essa cilada Aproveito para falar sim que existe programadores que realmente criam programas próprios e realmente cria uma boa proteção mas não é o que esta acontecendo aqui ultimamente então o intuito e acabar com essas pessoas que estão se aproveitando desse programa para querer enganar falando que a proteção foi criada por eles etc... sendo que é um programa gratuito e disponível na internet
  25. 9 points
    Bom galera nao so muito bom em escrever nao , me descupa os erros mais bom bora la vamos comecar durante 5 anos da minha vida eu me dediquei a open server tibia 8.60 nesse tempo juntei varias coisas consegui varias coisas , que sao os sonhos de varias pessoas nesse mundo lixo de baiak vo começar postando os servidores mais antigos mais no fim estarei postando servidores atuais ex: baiak-perfect.com , Real Baiak full e meu servidor q ta 100 % ... A e o principal nao vo da suporte a nda cada um usa e faz o que bem entender ja vo posta isso tudo por que nao quero nunca mais nem ver fala de tibia .. A cada semana irei posta um pack nova ate chega no ultimo que sera meu servidor q trabalho nele a 4 anos sistemas inovadores ....Espero ajudar muita gente que ja foi roubado passado para trais como eu , irei posta coisas exclusivas que so os grandes da ot serv list tem. Mais agora toda a comunidade do TK vai poder ter .... BOM QUERO ACABAR COM ESSA PALHACADA DE VCS TEREM QUE PAGA PARA TER SERVIDOR SEM BUG VÁRIOS SERVIDORES QUE VOU POSTA ESTAO 100% PRONTO PARA RODAR EM LINUX TENHO A DISTRO DO REAL BAIAK A ORIGINAL UMAS DAS MELHORES SOUCER QUE EXISTE ESTAREI POSTANDO TBM DOIS SITES Q TENHO O DO REAL BAIAK E DO BAIAKINHO ACOMPANHE MEUS POST TEM MUITA COISA BOA GALERA . SONHO DE VARIAS PESSOAS COISA EXCLUSIVAS !!!! Creditos: Todos os Creditos sao a mim por posta a comunidade sao meus entao faço e que bem entender com eles ...  https://www.virustotal.com/#/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/detection https://mega.nz/#!4bplVICD!ZuLMP73j14OFwKqOsIGwdaDqJSIGl73d_symvW5Vtf0 Algumas imagens
  26. 9 points
    Storm

    [REMAKE] Nto B&W

    Olá usuários do TibiaKing, hoje disponibilizarei para vocês uma base de NTO das antigas, lançada no final de 2014. Essa base teve uma repercussão muito forte, pois deu origem a diversos servidores e todos os servidores daquela época tinha a base B&W. Eu mesmo joguei e aproveitei bastante aquela época e foi graças aquela época que hoje sou um programador. Link da base B&W antiga: [8.54] Servidor + Client Naruto B&W [EXCLUSIVO] Sendo assim, vamos lá: Primeiramente, vocês terão que entender o tipo de mudança que eu fiz no servidor. O primeiro de tudo é que eu não mexi em personagens, spells itens e etc. Mechi apenas na parte de infraestrutura do servidor, deixando ele estável, arrumando a database e organizando a bagunça feita pelo cara que postou a base. Segundo, irei sim mexer em personagens itens e tal, mas somente depois que vocês disponibilizarem para mim os bugs encontrados através deste tópico, o qual futuramente irei lançar uma nova versão com esses bugs corrigidos. E por terceiro, com essas mudanças que eu fiz, essa base será ótima para o inicio de servidores. -- CRÉDITOS [] Eytor [] [ADM] Johnatan [] Madara Rinnegan [] quemtuacha ( Source ) Caso queiram saber o que contém na base, basta acessar o link da base antiga. Agora uma parte importante. Eu removi todos os bugs da distro do client, inclusive aquele do limite dos sprites que não dava para se remover com o OB. Agora, quem está lendo isso deverá entrar in-game e ir testando, procurando bugs e denunciando aqui para que eu possar remover e disponibilizar para vocês, é só mandar como resposta aqui quaisquer forem os bugs encontrados. Uma prova para vocês, vejam essa imagem deliciosa de como a distro está agora: Vamos a parte mais esperada agora Servidor & Scan Client & Scan Source & Scan -- by quemtuacha ATENÇÃO: O scan acusou algumas DLL's como vírus. Geralmente, os antivirus acusam arquivos que são desconhecidos do windows como ameaças, mas que na verdade não causam absolutamente nada e são essenciais para funcionamento de programas.
  27. 9 points
    Coltera

    [Show OFF] - Shopping Modal

    Novo Shopping in-game usando Modal via Banco de Dados! Será que fica bom? Oque vocês acham?
  28. 9 points
    lordzetros

    [TFS 1.3] Teleport com janela

    TFS 1.3 - TESTADO EM VERSÃO 10.98 * Introdução * Bom, estive navegando no Fórum e vi que o usuário @Cleiton Felipi pediu um script que ao player entrasse no teleport de um X monstro, um Demon por exemplo, listasse qual hunt o jogador queria entrar. Achei interessante, e resolvi desenvolver e postar no TK, já que não tinha ainda, :). * Sobre o sistema * Você utiliza diversas hunts com vários tps criados no mapa no seu servidor do mesmo monstro? Bom, este script será muito útil para você! Pois ele permitirá que você habilite ao jogador em qual hunt ele quer caçar, por exemplo, se tiver Demon 01, Demon 02, Demon 03, Demon X, basta apenas você criar um tp indicando o monstro e que uma janela irá aparecer com a lista de opções de hunts, prático, né? Segue imagens de demonstração: OBS¹.: Você pode colocar TODOS OS MONSTROS neste script, contando que tenha o actionID que ficará no teleporte, não é de uma quantidade limitada, em outras palavras, você pode adicionar as hunts de Demon, Frost Dragon, Dragon, ..., tudo aqui, apenas mudando o actionID (tudo configurável, não se preocupe). * Instalação * Em data/movements/scripts/ crie um arquivo chamado mov_janela_hunts.lua e adicione dentro: --[[ Script - Lordzetros Fórum Tibia King ]] local config = { titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela } CONFIG_TPS_JANELA = { [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, [19091] = { {nome = "Frost 01", pos = {x = 98, y = 140, z = 7}}, {nome = "Frost 02", pos = {x = 93, y = 145, z = 7}}, {nome = "Frost 03", pos = {x = 91, y = 141, z = 7}}, {nome = "Frost 04", pos = {x = 94, y = 139, z = 7}}, {nome = "Frost 05", pos = {x = 95, y = 137, z = 7}}, }, } function onStepIn(creature, item, pos, fromPosition) if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then JANELA_TP_ACTION = item:getActionId() creature:teleportTo(fromPosition, true) creature:registerEvent("janela hunts") local janela = ModalWindow(1000, config.titulo, config.mensagem) for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do janela:addChoice(i, v.nome) end janela:addButton(100, "Confirmar") janela:addButton(101, "Fechar") janela:setDefaultEnterButton(100) janela:setDefaultEscapeButton(101) janela:sendToPlayer(creature) end return true end Em data/movements/movements.xml adicione o seguinte código abaixo de um semelhante: <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> Agora em data/creaturescripts/scripts/ crie um arquivo chamado creature_janela_hunts.lua e adicione dentro: function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("janela hunts") if (modalWindowId == 1000) then if (buttonId == 100) then local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos player:teleportTo(tele_pos) local pos_t = Position(tele_pos) pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE) end end return true end Em data/creaturescripts/creaturescripts.xml adicione o seguinte código abaixo de um semelhante: <event type="ModalWindow" name="janela hunts" script="creature_janela_hunts.lua"/> * Configuração * Bom, apesar de que não seja difícil de configurar, é necessário uma explicação, vamos lá... 1 - [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, Em [19090] este número de dentro é o actionID que ficará no portal. Com ele será identificado de qual monstro se trata, bastando apenas configurar este número e o nome das opções de monstros que você quer aparecendo na janela, em seguida, a posição na qual o jogador será teleportado, seguindo a ordem. Segue imagem de como deve ficar o seu portal: OBS²: VOCÊ EDITA O ACTIONID NO SEU EDITOR DE MAPA COLOCANDO NO ID DO ITEM DE TELEPORTE. OBS³: PARA ADICIONAR NOVAS HUNTS NO SCRIPT, BASTA SEGUIR O PADRÃO QUE ESTÁ NO CÓDIGO, DO 19090 PARA O 19091. 2 - (por fim) Em data/movements/movements.xml <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> itemID = Id do item que o player andará para abrir a janela de hunt Está como 5023 por conta que o magic forcefield é 5023, no qual utilizei para teste, aconselho você deixar da mesma forma (caso seja o mesmo id no seu servidor), ou mude, mas cuidado para não cometer algum erro. Enfim, algo simples, porém não encontrei no TK. Abraços.
  29. 9 points
    MANUAL DO REMERE'S MAP EDITOR ÍNDICE - 01 Introdução, Menu "File" e configurações iniciais. (Você está aqui!) - 02 Menu "Edit", "Map", "View", "Floor" e "Window". (Ir para o tópico) - 03 Ferramentas, Extensões e Live Mapping (Ir para o tópico) - 04 Lua Scripts. (Ir para o tópico) - 05 Ferramentas Externas. (Ir para o tópico) - INTRODUÇÃO AO REMERE'S MAP EDITOR Criado por Hampus Joakim Nilsson, em 2007, o RME (escrito em C++) surgiu pela necessidade de um editor que rodasse em outro sistema operacional além do Windows e pela frustração de Remere por não poder rodar o único map editor existente na época em 64 bits. O programa utilizava inicialmente um processador de software através do wxWidgets, o que não foi bom devido à dificuldades com velocidade de carregamento. Mais tarde, passou a utilizar OpenGL, e então surgiram novas ferramentas que destacaram o editor, como as poderosas ferramentas de seleção. Depois disso veio a automatização de várias outras funcionalidades, uma delas é o conhecido auto-magic (ou auto-border, como costumamos dizer). A última versão oficial atualizada é a 2.2, suportando até o protocolo 9.60. Mas por ser um programa Open Source e não tão complexo, outras versões superiores foram sendo atualizadas pela comunidade. Essas novas versões tiveram como objetivo acompanhar os protocolos mais recentes e trouxeram algumas funcionalidades extras, como por exemplo o Mapping Live que possibilita a criação de um mapa em conjunto. OUTROS EDITORES CONHECIDOS SimOne Map Editor; Forgotten Map Editor (módulo do OTClient e que depende do OTC para funcionar. O editor parou de ser atualizado em 2014.). DOWNLOAD REMERE'S MAP EDITOR QUAIS AS FUNÇÕES DA PALETA? O RME possui uma ferramenta chamada Auto-Magic, ou Auto-Border. São paletas categorizadas que permitem que você mapeie como se estivesse pincelando um quadro. Alguns itens que precisam ser montados usando vários sqms por ex podem ser feitos rapidamente, as bordas surgem automaticamente ao preencher um piso, além disso há outros atalhos para ferramentas do editor com funcionalidades de busca e edição. MENU FILE Se esta é a primeira vez que você abre o seu editor, comece explorando a opção preferences, pois é nela que você dita o protocolo que irá trabalhar e a localidade dos arquivos necessários para carregá-lo (no caso, a pasta do seu tibia ou derivado) New - Ao clicar nessa opção, o editor usará a configuração Default Version de preferences/client version para carregar o mapa. Se não estiver configurado o editor pedirá que você selecione o diretório correto. Open- Use para abrir um mapa. O editor pode pedir que você selecione a pasta daquela versão. Save- Esta opção guardará seu mapa no local escolhido. Se você estiver com o mapa salvo e aberto no editor, caso houver uma queda de energia repentina o mapa poderá corromper. Save as - Use esta opção para salvar seu mapa sem alterar o original. Use essa opção para fazer backups do seu mapa. Close - Fechará o mapa. Não se esqueça de salvar. IMPORT - É uma ferramenta que pode ser utilizada em diferentes situações. O Import Map, funciona apenas com um mapa já aberto em branco ou com edições. É possível mesclar mapas da mesma versão ou abrir mapas que não estão abrindo pela opção Open devido à problemas de compatibilidade. Com o Import Map pode escolher a posição do mapa em que será importado, além de opções para importação de houses e spawns. E o Import Monsters/NPC possibilita a adição de criaturas e NPCs customizados. IMPORTANDO MAPAS < • > Map file: Com o mapa A aberto, vá em Browse e selecione o mapa B para mesclar. É possível importar mapas de versões diferentes, mas como o itens.otb de cada uma varia, é muito fácil ocorrer bugs desastrosos. Import offset: Determine aqui a posição em que o novo mapa ficará no mapa receptor. House & Spawn import behaviour: Permite alterar como os arquivos house e spawns serão importados. IMPORT OFSET: A ferramenta de import do Remere's Map Editor (file -> import -> import map) vai posicionar as partes do mapa na posição em que elas estavam + os valores X e Y de offset. Se você importar um mapa que está na posição x1000, y2000 e atribuir em offset os valores x3000,y3000 - o mapa será adicionado em x4000,y5000. Você também pode usar valores negativos (x-3000,y-3000) em Offset para mudar a direção de X e Y. Para verificar ou alterar as dimensões do seu mapa use Map - Properties (ctrl + p). VOLTANDO AO MENU: Export- Utilizado para exportar minimaps. A imagem será exportada no formato .bmp, é possível exportar apenas o terreo, um andar específico ou todos os andares. Basta selecionar a pasta onde será salvo. Reload - Isto irá reiniciar todas as configurações do map editor, pode ser utilizada ao acrescentar uma extensão na pasta ou editar um novo item/sprite do cliente em execução. Recent Files - Um atalho para mapas que foram abertos recentemente. Preferences- Este menu trás várias opções sobre a performance do editor, incluindo protocolos, opções gráficas, e outros. MENU PREFERENCES - GENERAL Always make map backup: Cria um backup automático para restauração, recomendo fazer seu próprio backup. Create map on startup: Essa opção vai fazer com que automaticamente o editor carregue uma versão e crie um novo mapa ao abrir o editor. Ou você pode configurar para abrir sem carregar nada, o que é recomendado quando se trabalha com diferentes protocolos. Check for updates on startup: Updates no editor são raros. Open all maps in the same instance: Abre vários mapas selecionados mesmo que sejam de versões diferentes. Undo queue size: (PAR): Memória ram do seu PC, é recomendado por a metade dela aqui para não travar tanto o editor. Undo maximum memory size (MB): Tamanho máximo de memória que o RME poderá utilizar, aumente para metade da memória ram de seu pc (caso queira coloque mais). Worker Threads: Número de núcleos de processador que o RME pode utilizar, nessa parte depende se seu processador, caso seu pc só tenha um núcleo deixe apenas um caso tenha 2, deixe 2 e se for maior que isso deixe o tanto que você preferir. Replace Count: Quantidade de itens que você pode substituir no mapa utilizando a ferramenta de substituição (Ctrl + Shift + F). MENU PREFERENCES - EDITOR Group same-type actions: Vai agrupar ações do mesmo tipo (desenho, seleção, etc...)) quando várias ocorrerem em ordem consecutiva. (PAR). Warn for duplicate IDs: Avisará se tiver IDs duplicados no mapa. House brush removes items: Se ativado, o brush de houses vai remover itens que apareceriam toda vez que o mapa iniciasse no server. Auto-assign door ids: Isso irá atribuir automaticamente IDs de porta únicas para todas as portas colocadas com o brush de portas (ou portas feitas com house brush). Não afeta as portas colocadas usando a paleta RAW. Doodad brush only erases same: Doodad brush vai apenas apagar itens que pertencem a brush atual. Eraser leaves unique items: A ferramenta eraser (borracha) vai ignorar containers com itens dentro, assim como itens com action/unique ids. Auto create spawn when placing creature: Se marcado, não vai precisar por o spawn manualmente, quando colocar a criatura o spawn vai ser posto automaticamente. Prevent toporder conflict: Se marcada, você não pode por vários itens com a mesma toporder em um tile usando o raw brush. Use merge move: Itens movidos não vão substituir os mesmos itens já inseridos. Use merge paste: Itens colados não vão substituir os mesmos itens já inseridos. MENU PREFERENCES - GRAPHICS Hide items when zoomed out: Vai esconder alguns itens quando der zoom para longe. Use icon selection shadow: Vai por uma “sombra” no item selecionado na paleta, pra facilitar a visualização. Use memcached sprites: Quando marcado, as sprites serão carregadas na memória logo na abertura do mapa e descompactadas no tempo de execução. Isso é mais rápido, mas consome mais memória. Se não for marcado, o editor usará menos memória, mas haverá uma diminuição do desempenho devido à leitura de sprites a partir do disco. Icon background color: Isso muda a cor do background dos icones em todas as janelas. Exemplo: Cursor color: Muda a cor do quadradinho transparente que acompanha o mouse. Secondary cursor color: Este muda a cor do cursor secundário, para houses e flags. Screenshot directory: Diretório onde será salvo as prints. Screenshot format: Formato das imagens (para tirar print aperte f11) MENU PREFERENCES - INTERFACE Terrain, doodad, item e raw palette style: Define se a paleta será com ícones grandes, pequenos ou listados: PALETTE STYLE Switch mouse buttons: Troca o direito e esquerdo do mouse conforme sua preferência. Double click for properties: Dando clique duplo vai abrir as propriedades do item. Used inversed scroll: Quando marcado, arrastar o mapa usando o botão central do mouse será invertido (comportamento RTS padrão). Scroll e zoom speed: Muda a velocidade do zoom e do scroll. MENU PREFERENCES - CLIENT VERSION Client Version - Através dessas opções o RME vai localizar cliente a ser utilizado no mapa, assim ele vai poder identificar o Tibia.spr e Tibia.dat que são arquivos necessários para abrir um novo mapa ou editar um existente. Por exemplo, se você estiver tentando abrir um mapa de poketibia usando um client do Tibia Global, vai dar erro porque poketibia tem itens configurados de formas diferentes, além disso o editor também vai checar o Itens.otb (que contém informações funcionais de cada item). Antes de tudo, o items.otb do diretório REMERESMAPEDITOR/DATA/VERSÃO deve ser o mesmo do seu servidor (SERVER/DATA/ITEMS). Default client version é a versão que você quer utilizar, selecione-a e toda vez que abrir um novo mapa essa versão será carregada. Version Search Path é o local do seu cliente. Check file signatures desmarcada não vai pedir para confirmar o diretório do client novamente ao abrir um mapa. Exit - Fecha o editor. Créditos: Nolis Hampus (remeres) Próximo Tutorial >>
  30. 9 points
    DdJs

    Grimeleech Dungeon | Cave Hunt | 11.40

    Grimeleech Dungeon Version: 11.40 Download: Type: .Rar Size: 398KB Position(s): [X: 999 Y: 934 Z: 9], [X: 1016 Y: 1010 Z: 10] File password: tibiaking Scan: Images:
  31. 9 points
    Opa boa noite rapaziada, tudo bom? Eu estou treinando um pouco scripts e acabei que tendo a ideia de fazer algo relacionado com as Guilds. Então resolvi trazer 1 sistema de Guild Dungeon Lever para mim treinar Estou em fase de treinamento, então por favor, deem dicas e criticas ao sistema ! Obrigado ... Como o sistema funciona? Terá uma alavanca com local para os jogadores de sua Guild ficarem... O jogador que estiver na posição principal e próxima a alavanca irá clicar na alavanca que fará com que todos entrem na Dungeon. Os jogadores terão um tempo "x" para terminar, porém se o tempo acabar, o jogador será teleportado de volta para a posição principal da alavanca (Aonde o jogador clicou). Como configurar o script? local config = { time = 10, -- 1 Second. (1*60 To Minutes) level = 100, -- Level Necessary. dungeonPos = Position(1454, 909, 7), -- Dungeon Pos. needPos = { [1] = Position(1447, 915, 7), -- Position (where the player will click on the lever) and back position. [2] = Position(1449, 914, 7) }, fromPos = {x = 1449, y = 904, z = 7}, -- Position /\ < from the dungeon toPos = {x = 1456, y = 911, z = 7}, -- Position \/ > from the dungeon Storagetime = 39320, -- Storage Time. StorageDay = 39321, -- Storage Day. Timer = 24*60*60 -- To re-enter in the dungeon. (24hours) } time ------------------ Tempo que os jogadores ficarão dentro da Dungeon. level ----------------- Nível que todos precisam ser para entrar. dungeonPos ------ Posição que todos os jogadores serão teleportados. needPos ------------ Posição que os jogadores devem estar para serem teleportados. fromPos ------------- Posição SUPERIOR ESQUERDO da sala. toPos ----------------- Posição INFERIOR DIREITO da sala. Storagetime -------- Não mexer se não souber. StorageDay ----------- Não mexer se não souber. Timer ------------------ Tempo que o jogador terá que esperar para entrar novamente na Dungeon. Sem mais delongas, vamos ao script: Adicione a linha em: (data/actions/actions.xml) <!-- Script GUILD --> <action actionid="29305" script="Dungeon_Guild.lua" /> Adicione a linha em: (data/actions/scripts/Dungeon_Guild.lua) local config = { time = 5, -- 1 Second. (1*60 To Minutes) inside the dungeon. level = 100, -- Level Necessary. dungeonPos = Position(1454, 909, 7), -- Dungeon Pos. needPos = { [1] = Position(1447, 915, 7), -- Position (where the player will click on the lever) and back position. [2] = Position(1449, 914, 7) }, fromPos = {x = 1449, y = 904, z = 7}, -- Position /\ < from the dungeon toPos = {x = 1456, y = 911, z = 7}, -- Position \/ > from the dungeon Storagetime = 39320, -- Storage Time. StorageDay = 39321, -- Storage Day. Timer = 24*60*60 -- To re-enter in the dungeon. (24hrs) } function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) local guild = player:getGuild() for i = 1, #config.needPos do local playerTile = Tile(config.needPos[i]):getTopCreature() if not playerTile or not playerTile:isPlayer() then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You need 2 players and stay on the orange floor.") return true end if not playerTile:getGuild() and not player:getGuild() then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "One of the members does not have guild.") end if playerTile:getLevel() < config.level then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "All the players need to be level "..config.level.." or higher.") end if player:getGuild():getId() ~= playerTile:getGuild():getId() then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "Only players in your guild can join you.") end if player:getStorageValue(config.Storagetime) - os.time() > 0 and playerTile:getStorageValue(config.Storagetime) - os.time() > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end if player:getStorageValue(config.StorageDay) - os.time() > 0 and playerTile:getStorageValue(config.StorageDay) - os.time() > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You're in cooldown to enter in a dungeon again. Cooldown: %s.", string.diff(player:getStorageValue(config.StorageDay)-os.time()))) return false end local players = {} for x = config.fromPos.x, config.toPos.x do for y = config.fromPos.y, config.toPos.y do for z = config.fromPos.z, config.toPos.z do local tile = Tile(x, y, z) local creature = tile:getTopCreature() if creature and creature:isPlayer() then players[#players+1] = creature end end end end if #players > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "Already has a guild inside.") end player:teleportTo(config.dungeonPos) playerTile:teleportTo(config.dungeonPos) playerTile:getPosition():sendMagicEffect(50) addEvent(function() player:teleportTo(config.needPos[2]) playerTile:teleportTo(config.needPos[2]) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) playerTile:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:setStorageValue(config.StorageDay, os.time() + config.Timer) playerTile:setStorageValue(config.StorageDay, os.time() + config.Timer) end, config.time*1000) return false end return true end Créditos: @KotZletY E eu Espero que gostem 😄 ... Edit* Adicionado Tempo para que você possa entrar novamente na Dungeon: Rep+
  32. 9 points
    Matk

    8 anos de Tibia King e muitos updates!

    Iae galerinha do TK, este mês, mais especificamente dia 21 de agosto nós completamos 8 aninhos de idade! Não dá nem pra acreditar, pra mim parece que foi ontem que eu estava criando um pequeno fórum sem pretensão nenhuma na extinta OnServers e hoje somos o segundo maior do mundo neste seguimento! Neste período de 8 anos passamos por muita coisa, foram muitas lutas e conquistas, mas o que realmente importa é que seguimos firme e forte sendo uma incrível comunidade espalhando conteúdo e conhecimento. Nós fazemos aniversário mas o presenteado são vocês que compõem e alimentam essa comunidade. Estamos realizando diversos updates em nosso site para torná-lo um lugar mais produtivo, estas mudanças veem sendo feitas aos poucos desde o primeiro semestre deste ano, algumas vocês já podem ter notado, outras são recentes, mas vamos deixar de lerolero e ir logo ao que interessa! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NOVO LAYOUT Com o intuito de realizar uma "renovação" visual, lançamos hoje um layout completamente reformulado para nossa comunidade, este novo visual possui um aspecto inteiramente clean e diversas novas implementações e funções para o TK, fazendo com que o desempenho de nosso site seja ainda melhor. Além disso ele possui características de personalização, como por exemplo a possibilidade de mudar o background no menu superior do perfil pessoal. Explorem nosso site e deem seus feedbacks! * Este atual layout ainda está em desenvolvimento, devido à isto, eventualmente pode vir à apresentar algum tipo de erro. Nos relate caso houver. * Quem estava acostumado a utilizar o layout antigo, ele ainda ficará disponível durante um período de tempo, basta ir até o final da página e alterar o "Tema" para Revolution TK para reativar-lo. MERCADO REMOVIDO, CLASSIFICADOS ATIVADO Depois de um longo período com o mercado em atividade, chegamos a conclusão que este ainda não era um sistema ideal para a realização do comércio em nossa comunidade, portanto, resolvemos desativá-lo por tempo indeterminado e substitui-lo pelo nosso sistema de Classificados, que funcionará de forma semelhante ao extinto Mercado, a única diferença é que os pagamentos e os downloads não mais serão efetuados através do Tibia King. Na seção dos Classificados, você poderá fazer a postagem de seus próprios anúncios, nele você tem a liberdade de anunciar um item a venda ou até mesmo um tipo de serviço que você faz ou está a procura, tudo de forma simples, prática e eficaz. Além disso, temos planos para dar mais visibilidade aos anúncios, portanto nos próximos dias estaremos fazendo diversas implementações neste sistema. Essa é sua oportunidade de encontrar uma solução para seus problemas, em todos os "apectos", acesse os Classificados através de nosso menu principal ou clique aqui e confira o quanto antes! * É importante lembrar que o Mercado ainda ficará disponível para os compradores acessarem seus itens durante um período de tempo, porém ele estará desabilitado para novas atividades. Informaremos mais a respeito em breve. UPGRADE NO SISTEMA Também na onda de grandes atualizações trazemos à comunidade o IPS 4.3.x, que trás uma grande melhoria na estrutura e desempenho da nossa comunidade. Entre as maiores novidades, está a página de clubes que agora é mais organizada e em breve pretendemos integrar os clubes com os fóruns da comunidade, permitindo que os membros utilizem os mesmos de maneira mais fluida (sem se descolar à lugares específicos), também há novidades no sistema de denúncias e o chat agora contém emojis mais completos. Ao longo do tempo deveremos implementar mais novidades relacionadas a esta atualização. Todas as novidades podem ser vistas no blog da Invision Depois de muitos anos usando o bom e velho HTTP nós migramos para um Certificado SSL e com isso também resolvemos mudar o caminho com que vocês acessavam nosso fórum, assim oferecendo mais tranquilidade e segurança para vocês. Com isso para manter o selo seguro em nossos links mudamos o esquema de imagens do fórum e agora todas as imagens trazidas de outros lugares irão ser transformadas pelo fórum para terem a segurança de um protocolo https. Também afim de melhorar a conexão e se adaptar as novas tecnologias, agora o acesso ao Tibia King é feito preferencialmente via IPv6, portanto quando a transição para este protocolo for efetuada por completo, estaremos prontos! Nosso link era http://www.tibiaking.com/ agora ele é https://tibiaking.com/. PUBLICIDADE NO TIBIA KING Reformulamos por inteiro nosso esquema publicitário no Tibia King, agora possuímos planos de anúncios publicitários super acessíveis para qualquer um que deseja dar uma alavancada em seus projetos. Os anúncios em nosso site podem ser adquiridos de forma pŕatica e instantânea na nossa loja, que por sinal também foi completamente refeita. Portanto, se você está querendo dar mais visibilidade para seus projetos, chamar mais players para seu servidor ou até mesmo divulgar um site ou canal, não perca tempo, obtenha um espaço publicitário em nosso site que possui um público abrangente e contém dezenas/centenas de acessos simultâneos e milhares de visualizações diárias, acesse em nosso menu principal ou clique aqui e confira agora mesmo! OUTRAS MUDANÇAS E CONSIDERAÇÕES Além de tudo isso que já citamos, vários plugins e sistemas de nossa comunidade foram atualizados, corrigimos muitos erros e fixamos muitos problemas que o fórum vinha apresentando, várias mudanças talvez vocês nem irão notar (ou irão, navegando em nosso site). Seguiremos trabalhando duro e muito em breve haverá ainda mais updates em nossa comunidade! Bom pessoal, por enquanto é isso, esperamos quetenham gostem das novidades e caso tenha alguma crítica, sugestão ou até mesmo encontre algum tipo de problema, por favor nos relate neste mesmo tópico ou entre em contato com nossa equipe que iremos sanar o mais breve possível. Atenciosamente, Equipe Tibia King.
  33. 9 points
    NetoKain

    [Projeto] Mapping Art - Nature

    Salve galera do TK, estarei revivendo um projeto antigo de tutorial sobre mapping e espero ter ajuda para dar continuidade. Esse post inicialmente será feito como introdução MAS NETO QUE PORR@ É ESSA? Basicamente jovem estarei trazendo um pouco de experiência na área de mapping, de várias pessoas, estilos diferentes, afinal cada mapper tem um estilo e isso muda muita coisa, entre um e outro, então a ideia é trazer uma variedade de conteúdo para que vocês possam observar como trabalhamos e criar seu próprio estilo fazendo mapas bonitos. Regras: 1 - Eu vou criar um tutorial, ao final irei indicar um mapper, ele irá fazer outro tutorial sobre outro estilo e no final ele vai indicar outro mapper, e assim sucessivamente. 2 - Usar meu tutorial como referência, ou seja, sendo bem detalhado nos quesitos que vão abordar e trazer imagens. 3 - Se não quiser participar, por qualquer motivo, comenta que não pode e será escolhido outro. 4 - Titular o tópico com "[Projeto] Mapping Art - (Nome do tema)" (ex: [Projeto] Mapping Art - Cidades)". No caso convido o @Daniel para dar continuidade (o tipo do mapa fica a escolha do mapper, só peço para que não seja repetido). Vou falar um pouco sobre nature, que é o básico! Tutorial 1: NetoKain - Nature Nature - Complemento. Vou passar uma breve explicação de como eu geralmente faço para montar a nature com arvores e arbustos, acho que ficou meio vago na explicação anterior, nesse caso vamos iniciar com o ground já feito. Após seguir os passos e caso tenha entendido o tutorial deixe sua imaginação andar junto com um bom planejamento e coerência. Bom mapping a todos, espero o tutorial do @Daniel!
  34. 8 points
    Beeny

    Extraindo sprite (pokepro, otpoke, etc)

    eae, se n me engano esse rolê não funciona no gla/pxg. mas, tem outros jeitos de pegar lá tb links: ninjaripper - https://gamebanana.com/tools/download/5638 dds converter - http://www.softsea.com/download/DDS-Converter.html scan: ninja ripper - https://www.virustotal.com/gui/file/60541e6a43661f0ee2e70c0a7cedb86d44a874e5376949db7a2e1f604fa5cdf1/detection dds - https://www.virustotal.com/gui/file/611d6bbb534b8a3210b2ca1e7954d6abc3055c6f2995833fbb04b6093f418263/detection
  35. 8 points
    Darcio Antonio

    Criando um Botão OT CLIENTE

    game_topslot.zi Bom o scan do arquivo está ai. https://www.virustotal.com/#/file/5a0b17722b93fd4c9117086b80ad24442c305a05723680cad34ec50138ef30bc/detection
  36. 8 points
    Designer Walox

    água transparente ( Walox Edit )

    Olá! Bom venho trazer para vocês sprites com animações que eu editei para o meu servidor! Vi que muitas pessoas tem dificuldade para mexer no PHOTOSHOP e como para mim é o contrario pretendo ajudar no que puder Bom vamos parar de frescura e ir para o conteudo haha, Espero que gostem e colaborem com o UP ❤️ Baixe e use com moderação haha qualquer coisa só chamar no chat Baixar Conteudo
  37. 8 points
    Phineasz

    Cidade [8.60]

    Meu primeiro mapa feito, estou despertando essa habilidade de mapear com ajuda de alguns integrantes da comunidade. @Coltera, @Nolis e @Astra Moskov. Obrigado pelas dicas, criticas construtivas. Pretendo melhorar o máximo possível. Download: https://www.mediafire.com/file/40nckfpf5whqlzh/Phineasz.rar/file Scan: https://www.virustotal.com/#/file/34702d03e5859f8060c5d10f8ab21966aa0d1758f3125db83407dc4ef7862290/detection
  38. 8 points
    Yinz

    Telara Baiak Futuristico.

    Olá, eu me chamo Yinz "Pedro", sou dono do Thoria e já tive outros projetos, sempre foram de mapa proprio, custom, algo diferente. O diferente me chama muita atenção, por isso depois dá minha ultima frustração com mapa próprio "não ter jogadores" eu resolvi abrir um Baiak. Ah, mas você gosta de low rates, rpg, mapa todo bonitinho e bla bla bla e agora vai abrir um baiak cheio de teleports? - Sim, vou. Para quem não sabe, o mapper @Nolis mais foda que eu admiro bastante liberou o Futurístico, e eu sempre achei seu trabalho fodastico apesar de não estar terminado. Então resolvi abrir, por ser algo totalmente diferente, e que não falta muitas coisas, eu basicamente tenho tudo. Ainda não resolvi qual site usar, mas queria usar algo diferente, longe de tibiarl layout. Tenho algumas ideias, de niveis de monstros, magias customs, segunda promotion, sistema de tokens (colocar recompensas por leveis, quests, tasks, manter online), enfim. Como eu nunca abri um Baiak, estou atrás de uma equipe, alguém para me auxiliar, com sistemas, ideias, o que precisa ter um baiak, como manter, com eventos etc. Se for alguém que entenda de lua é melhor ainda. Não vou citar Programador, Scripter, nada disso, basta ter uma noção e querer fazer algo maneiro, eu não sei muito de nada disso, mas sei pouco de tudo. você pode me chamar aqui, por pm ou no discord Yinz#7439
  39. 8 points
    L3K0T

    GRAMA - SPRITE - REPINTADA (VERDE)

    Olá galera esses dias repintei uma grama que no caso era amarela, deixei ela num tom verde que ficou muito bonita no mapa e não quebrava a cor das arvores etc... essa é do tibia global, então só mudei a cor dela. espero que gostem algumas imagens abaixo junto a meu jogo . grama >> scan da sprite de montar: https://www.virustotal.com/#/file/c80fbe750939ce45bfedccbfc81dbe76032ef5c760146607b6c29263cffb6cc1/detection scan da sprite OBD: https://www.virustotal.com/#/file/9c4cef388da4a8c19e45c8eb4aa85ba7d376103ffdcabd157f43e1929979e618/detection Download da sprite pra montar: http://www.mediafire.com/file/eep0s1a5gd8fn5n/grama 1.zip Download da sprite em OBD: http://www.mediafire.com/file/fr3db9ctmt44dam/sprite+em+obd.zip senha: pokemonpwo créditos: cipsoft e a mim por mudar a cor pra verde como na imagem.
  40. 8 points
    Vodkart

    [8.6] Teleport System!

    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"/>
  41. 8 points
    Fala clã, há um tempo soltei um sistema privado meu no grupo do TK no Discord e hoje resolvi soltar aqui no Fórum também, abaixo irei explicar um pouquinho sobre esse sistema. O que é Legendary Lever? É um sistema de alavancas que vendem itens (aleatórios), similar à uma surprise bag, porém cada item possui x porcento de chances de dropar ao jogador que estiver pagando para tentar a sorte. Qual o objetivo afinal? Bom, na época que desenvolvi esse sistema, era para um cliente meu que acabou desistindo da compra quando eu estava prestes a começar a desenvolver. O objetivo do cara era criar 5 alavancas, onde cada alavanca teria pelo menos 1 item lendário com 3% de chance de dropar ao jogador que estivesse puxando a alavanca, e cada alavanca teria entre 5 a 7 itens ao todo (a maioria itens simples). Mas a ideia por trás de tudo era lucrar com isso, fazer jogadores donatarem mais para poder tentar pegar esses itens lendários (claro, o cara ia ter que gastar muito pra isso). Terminou que resolvi desenvolver esse sistema com proteção contra duplo click, exaustão, logs de ações, etc. Em qual versão posso utilizar esse sistema? Esse sistema foi programado para rodar em TFS 1.x. Se vocês quiserem, em breve posso converter para 0.4 e trazer ao Fórum, mas aí vai depender do feedback Sem mais delongas, vamos ao sistema! antes de tudo, crie uma pasta chamada legendarylever em data/actions/scripts, e dentro da legendarylever crie outra pasta chamada lib. data/actions/scripts/legendarylever/lib/lib.lua : agora abra data/lib/lib.lua e inclua esta linha : dofile('data/actions/scripts/legendarylever/lib/lib.lua') Feito isso, você já pode começar a criar os arquivos das alavancas. Vamos então criar a nossa primeira alavanca! data/actions/scripts/legendarylever/royalcrossbow.lua : data/actions/actions.xml : <action actionid="3370" script="legendarylever/royalcrossbow.lua"/> E por fim, adicione a actionid 3370 em uma alavanca no Remere's Map Editor! 😄 Para criar novas alavancas, você já deve saber o que se fazer. Sim! CTRL + C CTRL + V no arquivo royalcrossbow.lua, renomea o nome, edite a tabela de itens, preços, premium etc e adicione a tag no XML com uma nova actionid (a actionid põe em uma nova alavanca no Remere's). A configuração não preciso nem explicar né! A única dica que dou, é deixar brodacast = true apenas nos itens mais difíceis de dropar, ou seja, os lendários. Porque isso irá anunciar ao servidor todo que aquele player conseguiu o danado do item haha 😄 Então é isso, espero que tenham gostado! *Edit: Para salvar log de ações, crie uma pasta chamada randomitems em data/logs. Créditos: Lyu (isme)
  42. 8 points
    Nolis

    ANSWERED A logo antiga era mais bonita

    Olá a todos, recentemente pude notar que houve mudança na staff com a promoção do @KotZletY para coordenador da equipe, parabéns. Também quero parabenizar os membros @Vodkart, @Wakon pela eficiência, sempre vejo vocês aprovando conteúdos, movendo, removendo, alertando e ajudando membros. E também os suporters @Brunds @Dwarfer @tataboy67 @Werner e @Sttorm por se disporem a ajudar a comunidade de alguma forma, principalmente na seção de suporte. Eu vejo que do jeito que tá, se não fosse vocês estaria muito pior *risos, enfim, não quero puxar o saco de ninguém, apenas dizer que como membro, embora eu espere muito mais do que isso (mas sei que não depende só de vcs) estou muito satisfeito com a equipe atual do Tibia King (de coordenador pra baixo). E isso me motiva a trazer novos conteúdos e ajudar mais nas seções de suporte de mapping, como eu vinha fazendo até semanas atrás. Além disso, eu acho que seria uma boa ideia ter o @Vodkart como coordenador. (não mantenho contato com ele então não é nada pessoal, eu tenho meus motivos. Isso depende da administração e da vontade dele, então fica a sugestão). @Matk com uma equipe forte assim por que não realiza algumas mudanças no tk, que não somente eu, mas vários membros (Até de outros fóruns) estão notando que seja preciso? O portal não é atualizado tem um bom tempo e quando isso acontece é geralmente sobre algum plugin ipb (saudades daqueles seus tópicos #Tkrecomenda), o fórum em geral está um pouco poluído e com lugares que poucos ou nenhum membro visita. O Tk está sendo mal falado também, um exemplo recente é o grupo da OTX dizendo por ai que foram banidos do tibia king por que atrapalham as vendas e, segundo eles, o Tk tem seus próprios mecanismos de lucro com servidores e projetos. (foi dito no discord da otbr e o membro confirmou por pm, o @KotZletY sabe do que estou falando) Esse tipo de coisa é algo negativo que poderia ser evitado, são membros, seguidores e conteúdos minimizados por causa de um mal entendido por parte dos ambos os lados, sem falar que pequenas fofocas como essa resultam em uma nova reputação (sei bem como isso funciona...) Spoiler Spoiler 2 @Matk você deve lembrar das coisas boas que já fiz pela comunidade, além da presença no fórum, ideias, eventos, conteúdos e até mesmo os momentos engraçados no skype. Depois vieram oportunidades e junto com isso as minhas loucuras, polêmicas, as revoltas, vírus, remoção de conteúdos, traição, lavação de pano, etc... E eu não espero ser recebido aqui como antigamente, mas o Tk sempre foi meu habitat natural e eu me importo. Também não espero ter chances de entrar na equipe novamente, até por que isso não deu muito certo pra mim e nem pra vocês. Mas diante de tudo isso eu ofereço motivação, mudança (6), e o pouco conhecimento que tenho sobre cada coisa pra alimentar a comunidade. Para finalizar eu gostaria de deixar algumas sugestões de mudanças: Sugestões de estrutura - o Tibia King da comunidade Remover por completo o 'Mercado'. Transformar classificados em uma seção comum na área de foruns e deixá-lo como sub-menu de fóruns. Podendo postar nessa seção membros com permissões especiais (bloco de anuncio pode manter). Opção 2: Criar uma otservlist do TK (otservlist.tibiaking.com) e remover classificados. Remover o sistema de clubes completamente (voltar seções comuns por favor ;( ). Mover o menu 'Atividades' para o userbar do membro (economia de espaço). Remover calendário. Remover sidebar do portal (ênfase no conteúdo promovido, diminuição da poluição visual) Mover Posts recentes para a sidebar Mover 'Nossos destaques" para onde estava posts recentes (com conteúdos da comunidade destacado, ex. servidores mais procurados, mapas, sistemas, etc... Retirar visualização de textos para diminuir a altura do bloco, acrescentar imagens autoexplicativas para divulgação e remover a parte "promovido por" para economizar espaço no bloco ) Fazer o menu do perfil "sobre mim" aparecer antes de "fluxo de atividades", como uma apresentação editada pelo membro (opcional?) Mover a visualização de reacts recebidos para o início do perfil dos membros: Sugestões de fóruns e sub-fóruns - Doi mas se der beijinho sara Fórum "Comunidade' -> Mover regras para 'recursos' para economizar espaço na seção inicial e apresentar conteúdos principais no campo de visão do visitante. Fórum 'Comunidade' -> Deletar comércio Fórum 'Comunidade' -> Deletar clubes Fórum 'Otserv' -> Mover 'Concursos e eventos' para o Fórum 'Comunidade' ou deletar se não forem mais fazer eventos, e consequentemente utilizar esse recurso apenas no portal quando preciso Fórum 'Otserv' -> 'Formação de equipe' seria o classificados (clube) transformado em seção comum. A seção não tem destaques internos, os tópicos em geral não passam de 100 visualizações e mesmo assim muitos tópicos estão sendo criados. Poderia melhorar esse sistema ligando a uma possível lista de ots do Tk e cobrando taxas para ajudar a comunidade com novos conteúdos, eventos, etc.... Fórum 'Otserv' -> 'Anuncie seu servidor' -> lista.tibiaking.com Fórum 'Tibia Bots' -> Selecionar algum membro para ser responsável pela seção, organizar e trazer conteúdos novos. Houve uma época onde sugeri remover essa seção, mas vejo que ela é importante por agregar conteúdos e acessos. Fórum 'Clubes da Comunidade' -> Renomear para 'Diversos'' contendo as sub-seções: 'Computação (e mover desenvolvimento e programação para dentro de computação)', 'Design (e mover gráficos e fakes para dentro de design)', 'Roleplaying (e mover outros jogos para dentro de roleplaying)' e 'Divulgações (e mover tibia geral para dentro de divulgações ou para discussões) Por fim, criar uma seção final separada para o nosso querido playground, com algum destaque especial e eventos para manter acessos diários (quem se diverte no playground acessa todo dia e consequentemente vai acabar contribuindo com a comunidade de alguma maneira) Sugestões Finais Mudança no background do Header Mudança no background do body (minimamente menos claro, talvez?) Voltar com a logo antiga ou alguma nova (sei que tem designer bom nessa equipe ai, que pode fazer mt mais que jogar LoL durante uma reunião séria.) Logo Antiga: The End
  43. 7 points
    Yan Liima

    [8.60] TFS 0.4 Rev3996 War & Cast

    Salve salve pessoal, no inicio desse ano estava dando uma estudada e mexendo com a TFS 0.4 rev3884, e vi que havia alguns bugs e que não tinha Cast incluso. Com base nisso decidi atualizar e otimizar a source, já que ainda ela é uma das mais utilizadas no mundo de Otserv. Um rapaz tinha me procurado e comprado ela por um preço razoavel, mas ao descobrir que ele estava revendendo por um preço bem maior, decidi compartilhar esse meu trabalho com vocês! Acredito que possa ser uma das melhores REV atualmente. Conto com o seu feedback, caso haja algum bug, algo que tenha que mudar/optimizar, não exite em avisar aqui no tópico. Toda ajuda será bem vinda xD The Forgotten Server, Tibia Versão: 8.60 O que contém nela? Dentro da pasta contém o config.lua com todas as tag já adicionadas. Não esquecam de executar a Query do Cast na sua DB: Downloads uint8(Effects até 255) Distro: TheForgottenServer.exe Src + datapack: Source & Data ------------------------------------------------------- Downloads uint16(Effects até 65534) Distro: TheForgottenServer.exe Src + datapack: Source & Data É necessário fazer a modificação do Hexadecimal no cliente. Aqui tem um já pronto: Cliente.exe (só será necessario se utilizar a src com o uint 16.) ------------------------------------------------------- Scans: Distro(uint8) & Distro(uint16) Source Cliente Obs: Os virus detectado é um falso positivo, então não se preocupem! E para quem se interessa em saber onde se localiza os code do Cast, aqui está uma imagem. Você pode achar procurando por "//CAST" Façam um ótimo aproveito :D
  44. 7 points
    Removido: *Boss Room *Rank Task *Prêmios para os 10 primeiros a terminar todas as tasks Adicionado: *Daily Task System (Sistema exclusivo de Task diario, podendo pegar 1x a cada 24 hrs, irei explicar mais depois.) *Task agora é por progresso, você não pode sair e voltar, terá que terminar a task 1 para avançar para a task 2, assim sucessivamente. *Task Points *Level para realizar a task *Nova talkaction que mostra uma janela de informações sobre o level da task, premios que irá receber, progresso, etc... *Items para entrega(Se o jogador deverá levar algum item junto com a quantidade de monstro morta) para finalizar a task *Sistema de look Task (Varia de acordo com a sua quantidade de Task Points, podendo ficar por exemplo como "Huntsman", "Ranger", etc...(alterável) *Mods e npc mais "clean", várias linhas removidas e o sistema está mais rápido *Vou Adicionar "scripts extras" Como: --> Tile que só passa quem tiver permissão depois de finalizar determinada quest --> Npc de Boss Room para entrar e enfrentar o monstro quem fez determinada quest [+] Resumo do Task system + Daily Task System [+] Task System: É o sistema de task "original", onde consiste em matar determinada quantidade de monstros(E entregar certo itens <- é configurável), para receber recompensas como Exp, Money e Items. Algumas mudanças do simple task 3.0 para o 4.0 foram: [+] O sistema agora é por progresso, isso quer dizer que você terá que ir terminando a quest para avançar para a seguinte. [+] O sistema Também recebeu uma alteração, fazendo com que as Tasks precisem que o jogador tenha um level determinado [+] A tabela para edição está mais fácil, fazendo com que você adicione ou remova monstros com mais tranquilidade, inclusive alterações das Rewards da Task. Daily Task System: É um sistema que desenvolvi para que os jogadores sempre estejam se comunicando com o npc de Task, no caso da Task Diaria, vária de acordo com o level do jogador, por exemplo: Jogadores entre level 6 ao 49 poderá cair em uma dessas 3 Task Diarias: Orcs, Tarantulas ou Wyverns Jogadores entre level 50 ao 79 poderá cair em uma dessas 3 Task Diarias: Dragons, Wailing Widows ou Ancient Scarabs E por ai vai, claro que você poderá aumentar as Task Diarias dependendo do level, eu fiz 3 para cada level que é pra postar, mas tudo isso você pode aumentar! Dependendo do seu servidor. E sim, você pode fazer a TASK "ORIGINAL" e a TASK "DIARIA" ao mesmo tempo! Ambas são distintas e possuem Rewards diferenciadas! No caso da Task diaria, levando em conta que você começou a fazer ela no dia 08/01 ás 20:00 Hrs, você tem até o dia 09/01 ás 20:00Hrs para termina-la e receber a recompensa, caso termine antes, a Task diaria só irá ficar disponível para repetição a partir desta mesma data 09/01 20:00 Hrs; [+] Caso você não termine a tempo, não tem problema, basta esperar este horário e começar uma nova Task. [+] Caso você começou a Daily Task e terminou antes desta data. mas por algum motivo esqueceu de entregar e a mesma passou do prazo, não tem importância, caso você tenha matado todos os monstros até 09/01 20:00 Hrs, você poderá entregar está Task em qualquer horário para receber suas Rewards e começar uma task a partir do momento em que você entregou! (INJUSTIÇA AQUI NÃO CARALHO). [+] Comandos Adicionais [+] /task -- Mostra as informações da sua Task Atual, como Nome da Task, Level, Rewards, Monstros que você poderá matar, Se tem que entregar algum Item junto, etc... /task daily -- É basicamente mostra a mesma informação da Task Principal, porém mostra também qual o prazo limite para entrega da task. /task counter -- É um comando que ATIVA ou DESATIVA o contador de monstros mortos na task no seu Channel. [+] Imagens [+] Cline neste link para ver algumas imagens da Task : http://imgur.com/a/eLIY3 ------------------------------------------------ // -------------------------------------------------------------- [+] Instalação do Sistema [+] Requisitos: Nível Médio de conhecimento em scripting LUA Pasta Mods Simple Task.xml https://pastebin.com/raw/P5hqMC3j NPC: Ludger.xml https://pastebin.com/raw/R56yLWHw simple_task.lua https://pastebin.com/raw/1mRzJ6aJ ---------------------------------------------- // ---------------------------------- [+] configuração [+ ] Task System Principal task_sys = { [1] = {name = "Trolls", start = 176201, monsters_list = {"Troll","Troll champion"}, level = 8, count = 40, points = 0, items = {}, reward = {}, exp = 2000, money = 2000} } [1] --> O número entre os colchetes [] significa a ordem da Task, como a Task é por progresso sempre começará no 1 e irá pro [2], assim sucessivamente. name --> É o nome da task que o jogador irá fazer. start --> é a storage que indicará se o jogador começou a Task monster_list ={} --> É o nome dos monstros em que o jogador deverá caçar para completar a Task level --> É o level necessário para dar inicio á Task count --> É o número de monstros que o jogador tem que matar para completar a Task points --> Aqui determinada quantos Task points o jogador irá receber ao completar a Task items = {} --> Aqui determinada se além de matar os monstros, o jogador terá que entregar item também! Caso tenha só colocar o {ITEM_ID, QUANTIDADE} EX: items = {{2173,1}{2160,10},{2493,2}} rewad --> Aqui determinada se o jogador irá receber itens ao terminar a Task, mesma formula do items /\ reward = {{2520,1},{2173,1}} exp --> Se o jogador irá receber Exp ao terminar a task. 0 ou quantidade de exp Money --> Se o jogador irá receber dinheiro ao terminar a task. 0 ou quantidade de dinheiro Daily Task System daily_task = { [1] = {name = "Orcs" ,monsters_list = {"Orc Berserker","Orc Rider","Orc Leader","Orc Warlord"}, count = 100, points = 0, reward = {}, exp = 5000, money = 10000} } Segue o padrão da Task original, exceto que não precisa entregar items para o npc! Como funciona A randomização de level de acordo com a Daily task? Procure por está tabela em MODS local t = { [{6,49}] = {1,3}, [{50,79}] = {4,6}, [{80,129}] = {7,9}, [{130,math.huge}] = {10,12} } entre as chaves e colchetes é o level do jogador para as Daily Task, Você pode adicionar quantas você quiser! Digamos que: [{6,49}] = {1,3} --> Quer dizer que entre o level 6 ao 49 o jogador poderá cair na Daily Task número 1(Orcs), 2(Tarantulas) ou 3(Wyvern)! [{50,79}] = {4,6} --> Quer dizer que entre o level 50 ao 79 o jogador poderá cair na Daily Task número 4(Dragons), 5(Wailing Widows) ou 6(Ancient Scarabs)! ... [{130,math.huge}] = {10,12} --> Quer dizer que o jogador level 130 ou MAIS poderá cair na Daily Task número 10(Undead Dragons), 11(HydraS) ou 12(Ghastly Dragons)! Look Rank System Procure por está tabela em MODS local ranks = { [{1, 20}] = "Huntsman", [{21, 50}] = "Ranger", [{51, 100}] = "Big Game Hunter", [{101, 200}] = "Trophy Hunter", [{201, math.huge}] = "Elite Hunter" } Entre 1-20 Task points o Rank será Huntsman Entre 21-50 Task posints o Rank será Ranger Entre 51-100 Task Points o rank será Big Game Hunter etc... Altere como quiser!
  45. 7 points
    Fala galera, por muito tempo utilizei o notepad++ para desenvolver meus códigos em lua. Agora voltando a desenvolver meu servidor, utilizo o Visual Studio Code e digo que ajuda muito em relação ao notepad++. Vantagens: 1) Você pode abrir a pasta de seu servidor, tendo uma estrutura semelhante a um projeto Java por exemplo, tudo isso de uma forma bem fácil. Se não me engano o notepad++ tem uma funcionalidade parecida, mas acredito que a maioria aqui não usa. Para fazer isso é só utilizar o atalho CTRL + K + O, ou file > Open Folder e selecionar a pasta de seu servidor. 2) Diversos atalhos. Com o VS Code, você pode utilizar atalhos, como o CTRL + P, ao fazer isso ele abre um box no topo da IDE onde o desenvolvedor pode escrever o nome do arquivo e ele encontra dentro do projeto. Fazia mais de ano que eu não abria meu servidor, então eu não lembrava de diversas coisas, como os monstros que dropavam o item 10566, então com o Visual Studio Code, eu consegui descobrir que eu não tinha configurado nenhum monstro para dropar aquele item. Para fazer essa pesquisa utilizei o atalho CTRL + SHIFT + F, onde ele pesquisa alguma palavra em específica entre os arquivos do seu projeto. E muitos outros, que você pode encontrar pesquisando pela internet. 3) Diversas extensões. Com o VS Code você pode instalar diversas extensões que auxiliam no seu desenvolvimento, por enquanto adicionei a padrão de Lua. Com ela, ao escrever códigos Lua é utilizado intellisense, facilitando muito no desenvolvimento. 4) Criação de snippets para utilização das funções do Tibia. 5) Muito mais.. Utilizo há algum tempo o VS Code para desenvolvimento de front e sempre descubro coisas novas sobre ele.. O VS Code esta disponível em: https://code.visualstudio.com/download.
  46. 7 points
    tataboy67

    [TFS 1.1+] Bau diário

    Opa galera beleza? Eu vi um cidadão aqui do forum pedindo, e para não reviver o tópico resolvi desenvolver 1 e postar @ADM Mayk on BaiakME Ta ai o script que tu pediu. Crie um arquivo com o nome de Bau_Diario.lua local config = { items = { [1] = {2160, 10}, [2] = {2159, 10} }, level = 100, tempo = 24*60*60, -- 24 horas stoTime = 31402 } function onUse(player, item, fromPosition, itemEx, toPosition) if player:getLevel() >= config.level then if player:getStorageValue(config.stoTime) - os.time() < 0 then player:setStorageValue(config.stoTime, os.time() + config.tempo) for _, table in pairs(config.items) do for i=1, #config.items do player:addItem(table[i]) end end else player:getStorageValue(config.stoTime, 0) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Wait: %s.", string.diff(player:getStorageValue(config.stoTime)-os.time()))) end else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce nao tem level "..config.level..".") end end Adicione a TAG em actions.xml <action actionid="22164" script="Bau_Diario.lua"/> Créditos: Eu
  47. 7 points
    Dwarfer

    Goblin Merchant Quest

    Falaaaaa, galerinha! Bem, hoje compartilho com vocês o código da Goblin Merchant Quest que é a quest dos coryms lá de venore 😁. Na verdade, estou compartilhando as duas primeiras missões. A depender do feedback, se o pessoal se interessar pelo tipo de conteúdo, compartilho as outras missões. Acredito que a quest pode ser aproveitada em servidores com foco no RPG ou apenas para levar algo diferente ao servidor. Lembrando que o código é para TFS 0.4. Para saber mais sobre a quest: https://www.tibiawiki.com.br/wiki/Goblin_Merchant_Quest As falas do NPC Rafzan estão 99% iguais ao global. Aquele 1% vagabundo🎵 é de algumas adaptações que fiz. Adaptei os itens que foram utilizados na quest, já que não possuía os itens utilizados na quest do global por ter feito em uma versão anterior a atual. No entanto, está facilmente editável para vocês também colocarem os ids que desejarem. Configuração: Em data/lib crie o arquivo Goblin Merchant Quest.lua e cole isto dentro: No items.xml (Escolha os ids que preferir e edite de forma semelhante, mostrarei os que escolhi): ---> Para a missão 1: * cracked stone (id 1285) <item fromid="1285" toid="1292" article="a" name="stone" /> * skull stone (id 10023) <item id="10023" article="a" name="skull stone"> <attribute key="description" value="It is used to mark the way." /> <attribute key="decayTo" value="1285" /> <attribute key="duration" value="60" /> <attribute key="weight" value="950" /> </item> * skulls (id 2229) <item id="2229" article="a" name="skull" plural="skulls"> <attribute key="weight" value="2180" /> </item> O resultado ficou assim: --->Para a missão 2: * perfume gatherer (id 2007) <item id="2007" article="a" name="perfume gatherer"> <attribute key="weight" value="250" /> <attribute key="description" value="It is empty. The first odour you'r looking for is special snail slime." /> </item> Em data/actions/scripts, crie o arquivo rafzan_mission01.lua e cole isto dentro: Em data/actions/scripts, crie o arquivo rafzan_mission02.lua e cole isto dentro: No actions.xml, adicione as linhas: <action itemid="2229" script="rafzan_mission01.lua" /> <!-- id da placa --> <action itemid="2007" script="rafzan_mission02.lua" /> <!-- id do perfume gatherer --> E por último, mas não menos importante, em data/npc crie o arquivo Rafzan.xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Rafzan" script="rafzan.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="61"/> <parameters> <parameter key="module_shop" value="1" /> <parameter key="shop_buyable" value="backpack,1988,10;bag,1987,4;fishing rod,2580,150;rope,2120,50;shovel,2554,10;scythe,2550,12;torch,2050,2;worm,3976,1;" /> <parameter key="shop_sellable" value="fishing rod,2580,30;rope,2120,8;shovel,2554,2;" /> </parameters> </npc> Lembrando que coloquei somente os itens que existiam na versão que utilizei. Em data/npc/scripts, crie o arquivo rafzan.lua e cole isto dentro: Qualquer dúvida na configuração que tenha ficado, é só se basear na própria quest do global. É isso, beijinhos 😘.
  48. 7 points
    Informações sobre o servidor: Observação: Bugs: Prints: Créditos: Download:
  49. 7 points
    * Sobre o Sistema da Quest * Para quem já assistiu Sword Art Oline vai ficar fácil de entender. Jogadores poderão fazer uma quest simples, porém, diferenciada. Funciona da seguinte forma: 1 - Jogador terá que possuir uma chave para abrir o caminho de uma sala misteriosa e aparentemente cheia de tesouros e recompensas dentro de um baú 2 - Abrindo a passagem, ele vai se deparar com um baú em sua espera, o interesse do ser humano é devastador, ele irá abrir sim! 3 - Ao tentar abrir o baú, monstros serão invocados e a passagem será imediatamente fechada 4 - De todos os monstros que serão invocados, terá um chefe que será responsável por permitir a saída dos jogadores para sala de recompensa e sair daquele lugar, APENAS matando ele, isso será possível 5 - Após a morte do chefe, TODOS players na sala da quest serão teleportados para a área de recompensa configurada no script. Obs.: A quest tá configurada para ser feita em X minutos para TODO servidor, ou seja, se uma guild fez a quest e você configurou para ela ser feita novamente em 10 minutos, então, nenhum outro player poderá fazer a quest nesse intervalo, pois a storage armazenada é a do servidor. * Instalação * VERSÃO TESTADA: 8.6 - TFS 0.4 Para agilizar o processo, deixei como anexo todos os arquivos necessários, devidamente separados e organizados, caso queira baixar, o ViruScan dele está logo abaixo. Em data/actions/scripts/ 1° - Crie um arquivo chamado keySAO.lua e cole o seguinte código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]]-- local config = { parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente tempoFechar = 1, -- MINUTOS para a passagem fechar, caso não entrem APÓS abrirem a passagem } function remover_parede(conf) local parede = getTileItemById(conf.parede.pos, conf.parede.id) if (parede) then doRemoveItem(parede.uid, 1) doSendMagicEffect(conf.parede.pos, 10) end return true end function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onUse(cid, item, fromPos, item2, toPos) if (item2.itemid == config.parede.id) then if (getGlobalStorageValue(config.strPassagem.storage) >= os.time()) then return doCreatureSay(cid, 'Precisa esperar ' .. config.strPassagem.tempo .. ' minuto para fazer a quest!', TALKTYPE_ORANGE_1) end doRemoveItem(item2.uid, 1) doSendMagicEffect(config.parede.pos, 10) doCreatureSay(cid, "A passagem foi aberta por "..getPlayerName(cid).."! Peguem a recompensa no bau, depressa!", TALKTYPE_ORANGE_1) doPlayerSendCancel(cid, "A passagem ira fechar em " ..config.tempoFechar.. " minuto!") addEvent(function() adicionar_parede(config) end, config.tempoFechar * 60 * 1000) doRemoveItem(item.uid, 1) end return true end Em seguida, crie outro arquivo no mesmo local com o nome de bauSAO.lua e cole o código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]] local mti = { [1] = {nome = 'Demon', pos = {x=955, y=935, z=6}}, -- [numero] = {nome = 'Nome Monstro', pos = 'POSICAO QUE IRÁ RESPAWNAR O MONSTRO'} [2] = {nome = 'Demon', pos = {x=955, y=936, z=6}}, [3] = {nome = 'Demon', pos = {x=955, y=937, z=6}}, [4] = {nome = 'Demon', pos = {x=955, y=938, z=6}}, [5] = {nome = 'Demon', pos = {x=955, y=939, z=6}}, [6] = {nome = 'Demon', pos = {x=955, y=940, z=6}}, [7] = {nome = 'Demon', pos = {x=964, y=935, z=6}}, [8] = {nome = 'Demon', pos = {x=964, y=936, z=6}}, [9] = {nome = 'Demon', pos = {x=964, y=937, z=6}}, [10] = {nome = 'Demon', pos = {x=964, y=938, z=6}}, [11] = {nome = 'Demon', pos = {x=964, y=939, z=6}}, [12] = {nome = 'Demon', pos = {x=964, y=940, z=6}}, [13] = {nome = 'Loki', pos = {x=959, y=940, z=6}}, } local config = { unique = 17458, -- uniqueID que vai colocar no BAÚ no seu EDITOR DE MAPA! parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente } function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onUse(cid, item, fromPos, item2, toPos) if (item.uid == config.unique) then if (getGlobalStorageValue(config.strPassagem.storage) >= os.time()) then return doCreatureSay(cid, 'Precisa esperar ' .. config.strPassagem.tempo .. ' minuto para fazer a quest!', TALKTYPE_ORANGE_1) end doCreatureSay(cid, "Argh!! Sala com armadilha.", TALKTYPE_ORANGE_1) adicionar_parede(config) for _, cf in pairs(mti) do doSummonCreature(cf.nome, cf.pos) end setGlobalStorageValue(config.strPassagem.storage, os.time() + config.strPassagem.tempo * 60) end return true end Adicione as seguintes linhas de código em data/actions/actions.xml <action uniqueid="17458" event="script" value="bauSAO.lua"/> <action itemid="IDdaKEY" event="script" value="keySAO.lua" /> 2° - Agora em data/creaturescripts/scripts Crie um arquivo chamado tpSAO.lua e cole o código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]] local config = { SupEsquerdo = {x=953, y=930, z=6}, -- posicao do canto SUPERIOR ESQUERDO da área que ficará a quest InfDireito = {x=966, y=941, z=6}, -- posicao do canto INFERIOR DIREITO da área que ficará a quest chefe = "Loki", -- Nome do BOSS, responsável por abrir passagem e liberar a recompensa no baú parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- id da parede ||||| posicao dela posPremio = {x = 1263, y = 1128, z = 7}, -- posicao para area de recompensa quando os players matarem o boss msgSucesso = "Parabéns por passarem do desafio! Agora permitirei pegar algumas recompensas como reconhecimento de um otimo guerreiros que es!" -- Mensagem quando os players conseguirem matar o boss da sala } function getAllPlayersInArea(fromPosition, toPosition) local players = {} for _, pid in ipairs(getPlayersOnline()) do local f = {x = fromPosition.x, y = fromPosition.y, z = fromPosition.z} local t = {x = toPosition.x, y = toPosition.y, z = toPosition.z} local min = (fromPosition.z > toPosition.z and toPosition.z or fromPosition.z) for index = 0, math.abs(toPosition.z - fromPosition.z) do f.z = min + index t.z = min + index if (isInRange(getPlayerPosition(pid), f, t)) then table.insert(players, pid) end end end return players end function remover_parede(conf) local parede = getTileItemById(conf.parede.pos, conf.parede.id) if (parede) then doRemoveItem(parede.uid, 1) doSendMagicEffect(conf.parede.pos, 10) end return true end function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onDeath(cid) local boss = getCreatureName(cid) == config.chefe if boss then doCreatureSay(cid, config.msgSucesso, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid), 49) addEvent(function() local players = getAllPlayersInArea(config.SupEsquerdo, config.InfDireito) for _, jogador in ipairs(players) do doTeleportThing(jogador, config.posPremio) doSendMagicEffect(getPlayerPosition(jogador), 11) end end, 7000) end return true end Adicione a seguinte linha de código em data/creaturescripts/creaturescripts.xml <event type="death" name="tpSao" script="tpSAO.lua"/> Em data/creaturescripts/scripts/login.lua adicione esta linha de código abaixo do último registerCreatureEvent 3° - Por fim, agora escolhe um monstro que será o chefe responsável por permitir que os jogadores saiam do local e que leve-os até a sala de recompensa após o derrotarem. Escolheu? Show, agora vá até o diretório dele em data/monster/pastaDoSeumonstro/arquivoDoSeuMonstro.xml e adicione essas linhas de códigos abaixo de alguma tag, no meu caso, utilizei abaixo da tag flags <script> <event name="tpSao"/> </script> Segue foto para melhor entendimento: * Explicação da configuração * Bom, apesar de está TUDO COMENTADO e AJUSTÁVEL, acho importante dá algumas explicações: 1 - Configurou tudo nas pastas corretamente, colocou todas linhas de códigos necessárias e explicadas? Beleza, você tá quase lá. 2 - Coloque em um baú no seu editor de mapa um UNIQUEID que será responsável por identificar que aquele BAÚ é da quest, segue imagem: Aconselho não modificar o valor, pois é muito improvável que já esteja sendo utilizado em seu servidor. 3 - Agora entrando na parte dos scripts: No arquivo keySAO.lua localizado em data/actions/scripts/ local config = { parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente tempoFechar = 1, -- MINUTOS para a passagem fechar, caso não entrem APÓS abrirem a passagem } Configure o id da parede que impedirá a passagem dos players e o jogador utilizará a chave nela para passar! Não esqueça de configurar a posição dela também, deixe a mesma que você colocou no mapa. Configure o storage que será responsável por permitir ou não jogadores fazerem a quest em X minutos. Configure o tempo que o player terá para passar para dentro da sala antes que a passagem se feche, no script tá 1 minuto. No arquivo bauSAO.lua localizado em data/actions/scripts/ local mti = { [1] = {nome = 'Demon', pos = {x=955, y=935, z=6}}, -- [numero] = {nome = 'Nome Monstro', pos = 'POSICAO QUE IRÁ RESPAWNAR O MONSTRO'} [2] = {nome = 'Demon', pos = {x=955, y=936, z=6}}, [3] = {nome = 'Demon', pos = {x=955, y=937, z=6}}, [4] = {nome = 'Demon', pos = {x=955, y=938, z=6}}, [5] = {nome = 'Demon', pos = {x=955, y=939, z=6}}, [6] = {nome = 'Demon', pos = {x=955, y=940, z=6}}, [7] = {nome = 'Demon', pos = {x=964, y=935, z=6}}, [8] = {nome = 'Demon', pos = {x=964, y=936, z=6}}, [9] = {nome = 'Demon', pos = {x=964, y=937, z=6}}, [10] = {nome = 'Demon', pos = {x=964, y=938, z=6}}, [11] = {nome = 'Demon', pos = {x=964, y=939, z=6}}, [12] = {nome = 'Demon', pos = {x=964, y=940, z=6}}, [13] = {nome = 'Loki', pos = {x=959, y=940, z=6}}, } local config = { unique = 17458, -- uniqueID que vai colocar no BAÚ no seu EDITOR DE MAPA! parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente } Configure os nomes e posições que os monstros irão respawnar, e repare que deixei apenas 1 diferenciado chamado 'Loki', pois foi o monstro que escolhi como CHEFE Configure o uniqueID que será utilizado no baú, recomendo não mexer nessa parte Configure novamente o ID da parede que irá bloquear a passagem e a mesma posição (use a mesma coisa da configuração anterior) Configure novamente o storage e tempo que permitirá os jogadores fazerem a quest em X minutos (use a mesma coisa da configuração anterior) No arquivo tpSAO.lua em data/creaturescripts/scripts/ local config = { SupEsquerdo = {x=953, y=930, z=6}, -- posicao do canto SUPERIOR ESQUERDO da área que ficará a quest InfDireito = {x=966, y=941, z=6}, -- posicao do canto INFERIOR DIREITO da área que ficará a quest chefe = "Loki", -- Nome do BOSS, responsável por abrir passagem e liberar a recompensa no baú parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- id da parede ||||| posicao dela posPremio = {x = 1263, y = 1128, z = 7}, -- posicao para area de recompensa quando os players matarem o boss msgSucesso = "Parabéns por passarem do desafio! Agora permitirei pegar algumas recompensas como reconhecimento de um otimo guerreiros que es!" -- Mensagem quando os players conseguirem matar o boss da sala } Configure o canto superior esquerdo e inferior direito, é de EXTREMA importância isso, pois será responsável por verificar os jogadores na sala da quest e teleportá-los, segue imagem: Coloque as posições corretamente de cada canto. Configure o nome do chefe que você escolheu para completar a quest, o monstro diferenciado que falamos lá em cima, certo? Configure novamente o ID da parede que irá bloquear a passagem e a mesma posição (use a mesma coisa da configuração anterior) Configure a posição do prêmio, isto é, a posição que o player será teleportado quando matar o CHEFE, a posição da SALA DE RECOMPENSAS ou seja lá o que queira fazer após os jogadores matarem o chefe. Configure a mensagem, caso queira, de quando os jogadores matarem o CHEFE da sala. * Observações finais e anexos para download * Digo logo que é um script simples, porém bastante trabalhoso de ser configurado, visto que faz-se necessário a instalação de alguns arquivos, mas não deixa de ser simples! A ideia que tive foi quando estava lembrando do anime, e como estou voltando aos poucos com Tibia (aprendendo bastante), tive a ideia de fazer isso, pois como gostava bastante de jogar em Baiak e modos semelhantes, isso daqui pode ser bastante útil. Ah! E deixe-me alertá-lo, é um sistema simples que não está 100% como eu desejava, portanto, quando tiver tempo estarei atualizando e deixando com mínimo de incoerência possível no funcionamento dele. POR FAVOR, faça o trabalho de ler as configurações do script, está tudo organizadinho para que você configure lá e deixe da maneira mais prática possível. Acredito que isso é tudo, abraços, \o. Download dos arquivos zipados: Arquivos - Quest Baú SAO - Lordzetros.zip Scan do arquivo: https://www.virustotal.com/pt/file/10e6bf2be0ccb33838a75198e5f822c1c8888f4c8652dcfc5235f87260a7582a/analysis/1540133843/
  50. 7 points
    Salve salve, Reis e Rainhas. Nos últimos tempos tenho recebido algumas propostas de trabalhos e as tenho repassado para colegas mappers, o que me intriga é que algumas dessas pessoas que me procuram relatam situações, eu diria que, desnecessariamente constrangedoras. Eu acompanho as comunidades já tem um bom tempo e posso dizer que hoje temos mais mappers habilidosos e ativos que nos últimos anos, e por esses e outros motivos resolvi montar esse projeto para dar um impulso à essa oportunidade de ajudar a comunidade. Sei que o nome e a logo estão deixando a desejar kkk mas vamos la! Sobre nossa página no Fb: Muitas pessoas que nos procuraram atrás de mão de obra relataram serviços mal prestados, referente à prazo de entrega, qualidade do produto e confiabilidade em geral. Atualmente há um grupo de pessoas dispostas a ajudar a comunidade e que também querem ganhar uma graninha extra com isso. Por isso decidimos atualizar esta página em parceria com o Tibia King, para trazer à comunidade pessoas capacitadas para atender pedidos e também conteúdos gratuitos para o público que nos apoia. A parceria com Tibia King é referente à divulgação de conteúdos e incentivo à aprendizagem e desenvolvimento dos mappers dentro da comunidade para que possam posteriormente partir para a área profissional, todas as negociações serão feitas fora do fórum e os participantes deverão obrigatoriamente trazer conteúdos para o TibiaKing. Quais os nossos objetivos? - Trazer novos mappers para a nossa comunidade; - Incentivar mappers a se aperfeiçoarem no método e nos serviços prestados; - Servir como intermediador para que o grupo de pessoas cadastradas no projeto tenham credibilidade e confiança nas negociações; - Oferecer serviços de qualidade à comunidade; - Incentivar mappers a trazerem novos conteúdos gratuitos para o Tibia King; - Incentivar mappers a trazerem seus clientes para o Tibia King; - Mostrar os trabalhos realizados e gerar novo fluxo de acessos à conteúdos diversos do Tibia King; - Ter uma WhiteList de Mappers confiáveis e uma BlackList de clientes mal intencionados em funcionamento. Quais as nossas metas? - Disponibilizar sequencia de tutoriais ensinando a utilizar o Map Editor. Ok - Disponibilizar sequencia de tutoriais ensinando a fazer mapas de forma aceitável: • Minimaps, formatos e espaçamento • Estradas, passagens e acessos • Montanhas, cavernas e vegetação • Lagos, fontes e cachoeiras • Pontes, balsas e portos • Houses e Guildhouses • Lojas, depots, templos e arenas • Torres, muralhas e castelos (...) - Conseguir 5 mappers associados. - Conseguir 10 mappers associados. - Alcançar mil curtidas na página Mundo Map. Mas como funciona? Os mappers cadastrados no nosso grupo terão acesso à uma lista de clientes dispostos a gastar R$. Ao se cadastrar, o mapper deve ter plena consciência de que terá que cumprir com as exigências do projeto para que este não fique manchado com má reputação (tempo de entrega, qualidade mínima de serviço exigida, preço justo, não divulgação do conteúdo produzido). Uma vez que você entra e é expulso, não poderá mais ser citado em nossa WhiteList! Os participantes devem ter um tópico de show-off muito bem organizado e atualizado com frequência no Tibia King, para que os clientes possam escolher a dedo caso dois ou mais mappers se interessarem pelo mesmo pedido. Não poderão aceitar pedidos de mapas grandes ou com prazo de entrega muito longo através do projeto. Caso aceitem convite para entrar em projetos grandes, onde receberá periodicamente para produzir diferentes mapas para o mesmo projeto, o grupo deve ser informado e o mapper será colocado em modo de espera. Nesse caso a pessoa que o contratou deve estar ciente de que o projeto não se responsabilizará pela sequência de serviços prestados por essa pessoa. Se isso resultar em má reputação, o mapper será expulso da WhiteList. Todos os pedidos deverão ser supervisionados a aprovados. Caso o mapper queira aceitar um pedido que não foi autorizado pelo projeto, o mesmo será colocado em OFF e poderá realizar o pedido, porém sem ser sob responsabilidade do grupo. Se isso resultar em má reputação, o mapper será expulso da WhiteList. Todos os participantes devem publicar no mínimo um mapa para download no TibiaKing, mensalmente. Qualquer tema, tamanho ou tipo. No entanto, esse mapa deve ser exclusivo (não tenha sido vendido). Os que mais publicarem, receberão destaque na WhiteList e prioridade nos melhores pedidos. Quero Vender, como participo? R: Responda esse tópico com as seguintes informações: - Nome real completo - CPF (Se não quiser publicar envie quando entrarmos em contato) - Idade - Contato (discord, skype ou private message aqui no Tk, para que eu possa entrar em contato para conversar) - Mapeia desde quando? Com que frequência? - Link do Show Off - Outros links (trabalhos disponibilizados à comunidade) - Horários e dias disponíveis - Qualidades e Defeitos - Recomendações (cite pessoas que já compraram com você e confiam no seu trabalho, se houver) Quero Comprar, como faço? R: Responda esse tópico com as seguintes informações: - E-mail para contato - CPF ou CNPJ (Se não quiser publicar envie quando entrarmos em contato) - Tipo de serviço que quer contratar - Métodos de pagamento utilizados - Recomendações - Link do seu projeto (publicado no Tibia King) (não garantimos retorno imediato visto que nosso projeto ainda está em desenvolvimento, se quiser pode se cadastrar e aguardar até que tenhamos uma base melhor definida.) Respondi o tópico, serei aceito? Isso vai depender de alguns fatores: Quantidade de pessoas dispostas a participar do projeto, tempo até que o sistema se estabilize, avaliação das ofertas/demandas. (Atenção: Os mappers que se apresentarem aqui neste tópico podem não ser participantes do projeto, mas sim inscritos!) Espalhe este tópico para seus amigos, quanto mais pessoas se cadastrarem e ajudarem esta causa, melhor poderemos definir nosso funcionamento! @Matk Quero ressaltar que nada disso envolve o Tibia King em quaisquer negociações, a parte burocrática do projeto será executada via facebook sob responsabilidade dos membros envolvidos e o Tibia King servirá como um show off de trabalhos e receptor de conteúdos. Se vocês da equipe não concordarem entenderemos perfeitamente! Aceitamos sugestões! E obrigado pelo apoio dado até esse momento e pelas mudanças realizadas na comunidade!
This leaderboard is set to Sao Paulo/GMT-03:00

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...