Ir para conteúdo
Close

Líderes


Conteúdo Popular

Exibindo conteúdo com a maior reputação em 21/08/2018 em todas áreas

  1. 3 pontos
    Hoje é niver do TK, completamos 8 aninhos, estarei retornando à comunidade para trazer novidades. ;)
  2. 2 pontos
    Bom, vou pontuar as coisas que você disse. 1º Bloco de sugestões Eu sou um grande apoiador de remover o mercado, isso só me da dor de cabeça pois eu preciso ficar sozinho aprovando todas as compras morrendo de medo de alguém pedir disputa, o que infelizmente acontece. O Sesso não entra mais no fórum e toda a administração fica por minha conta, tanto que agora com o @KotZletY de coordenador ele me passa tudo o que acontece e eu vejo em cima disso. Os classificados continuaria como está e o mercado iria para ele. - Não vou remover o sistema de clubes, a Invision em breve tem ideias de melhorar ele e eu estou aguardando isso. Eles irão voltar a ser fóruns vistos como antes e ficarão ainda melhor para todos. É uma ideia boa, apesar que eu acho que o menu do membro ficaria poluído. Não. O calendário pode ser bem útil se usado. Realmente com o novo sistema de conteúdo promovido eu acho que a sidebar do portal seria bacana removida. Acho que não, eu gosto de como está agora. Precisaria alguém ficar destacando produtos, e eu gosto como está agora (apesar de que os destaques deveriam ficar sim numa posição melhor). Realmente é uma opção boa e precisa ser estudada. Acho que teria muita poluição visual. 2º Bloco de sugestões Não, as regras devem sempre aparecer primeiro. Não. Não. Quando a Invision atualizar haverá mudanças. Acho uma ideia boa, apesar que a sessão TibiaKing ficaria poluída. Posso pensar nisso. Eu tenho ideia de fazer isso há muito tempo, mas a faculdade me impede. Quando eu tiver um tempo o TibiaKing terá uma lista de servidores integrada com o sistema Invision. Quem seria esse membro? Não. Quando a Invision atualizar vai mudar toda essa estrutura. Não. Quando a Invision atualizar vai mudar toda essa estrutura. 3º Bloco de sugestões Isso já está previsto desde 2016 Isso já está previsto desde 2016 Está previsto uma nova desde de 2016. Pensando nisso estou querendo liberar a homologação para a equipe criar um tema novo e colocaremos no fórum atual. Sobre as críticas a administração eu entendo, pois só eu estou mexendo nisso e não sou ativo devido a falta de tempo. Todas as transações do mercado chegam no meu email e do Sesso (não consigo conversar com ele a meses), e sou eu quem verifica se a pessoa tem um e-mail verdadeiro e não vai abrir disputa no paypal (como alguns fazem). Sobre os problemas com a OTX eu prefiro não comentar pois sei que o assunto é bem mais profundo que isto e vai por mim, não é só o que eles dizem. Apesar que já são águas passadas e se me passar o nome de todos os banidos eu irei desbanir numa boa.
  3. 1 ponto
    KotZletY

    [Narutibia] Jinchuuriki System - Distro 0.4

    Salve rápázyádá, recentemente estava de rolê pelo tk, e vi um tópico com o seguinte pedido: "Jinchuuriki System", pra que não conhece irei da um breve resumo. Para quem conhece o anime naruto sabe sobre as bijuus, e que elas foram seladas em shinobis destinados a carregar tamanha responsabilidade devido a cada biju ter um poder destruidor, como por exemplo a bijuu raposa de nove caldas(Kyuubi), selada dentro do personagem principal chamado de Naruto Uzumaki, a Kyuubi quando dominada, dá ao usuário uma grotesca quantidade de chakra, assim como jutsus e muito mais, cada bijuu tem sua especialidade, jutsus de defesa, assim como a própia defesa e resistência do usuário a tais jutsus, mas claro para você ter a bijuu, é necessário que você sele-a dentro de você, através de um dos jutsus proibidos, como o Shiki Fuujin usado por Minato o 4º Hokage e também pai de naruto, ao usar o selo ele consome a alma de quem usa levando-o a morte após o termino do jutsu, minato como hokage não poderia deixar a kyuubi destruir a vila, então ele invoca o Selo Consumidor do Demônio Morto(Shiki Fuujin) conhecido também como Selo Ceifeiro da Morte, e sela a kyuubi dentro de seu própio filho salvando a vila e morrendo como herói, e naruto desde então passa a ser o Jinchuuriki da raposa de nove caldas. Tendo uma ideia básica de como funciona, vamos a explicação do sistema, que não é diferente. Ao usar um jutsu(spell) de selo em algum bijuu(monstro), você terá ele selado dentro de você e obterá os jutsus de acordo com cada bijuu, mas para isso, a vida(hp) da bijuu deve está menor que 20%(configurável), e então você durante 2(configurável) dias, terá ele selado dentro de você e poderá usar os jutsus, ao acabar esse tempo você irá perdelo, assim como os jutsus. Sistema criado e testado na versão 8.60 usando uma distro na versão 0.4, mesmo assim pode funcionar em versões inferiores!! Siga os passos corretamente que é sucesso. Vá em data/lib e crie um arquivo chamado JinchuurikiSystem.lua e coloque o seguinte code dentro: A tabela está de acordo com a ordem de bijuus existente desde o bijuu de 1 calda, até a biju de nove caldas, então você irá mexer somente em qual ou quais jutsus(spells) cada bijuu irá usar, mais precisamente aqui: spells = {""} entre aspas coloque a quantidade que seja de jutsus(spell), como por exemplo: Tk no Jutsu 1- Tk no jutsu 2, separados por virgula, assim: spells = {"Tk no jutsu 1", "Tk no jutsu 2"} Lembrando que o nome das spells não é a que fica em words, é que fica em name na xml, por exemplo: eu tenho um jutsu chamado kai, quem joga narutibia sabe pra que serve, para usar ela, usamos o nome que está em words, e a que fica em name, será que vai ser mostrada quando for usar, entretanto a função que faz o player aprender a spell, segui pelo nome: <instant name="Kai!" words="kai" note que contém uma exclamação no nome da spell, então vai ter que ir exclamação e tudo junto, ficando assim: spells = {"Tk no jutsu 1", "Tk no jutsu 2", "Kai!"} e então quando o player for usar a spell pelo words kai, a spell será usada. Agora vá em data/spells/scripts crie um arquivo chamado selojin.lua e coloque o seguinte code dentro: Agora vá em data/spells/scripts crie um arquivo chamado buff bijuu.lua e coloque o seguinte code dentro: a tag que você irá colocar na spells.xml para esse jutsu(spell) será a seguinte: <instant name="Shiki Fuujin" words="shiki fuujin" lvl="1" mana="1" prem="0" exhaustion="10" enabled="1" needtarget="1" event="script" value="selojin.lua"> </instant> <instant name="Buff Jin" words="buff jin" lvl="1" mana="0" prem="0" selftarget="1" exhaustion="1000" enabled="1" event="script" value="buff bijuu.lua"> </instant> Agora vá em data/talkactions/scripts e crie um arquivo chamado jincheck.lua e coloque o seguinte code dentro: Nota: esse comando serve para você checar quanto tempo você tem de Jinchuuriki, e qual bijuu está selado dentro de você. A tag da talkactions.xml para esse jutsu(spell) é a seguinte: <talkaction words="!jincheck" event="script" value="jincheck.lua"/> Agora vá em data/globalevents/scripts e crie um arquivo chamado jincheck.lua e coloque o seguinte code dentro: Nota: esse script checa a cada um minuto, os players online na qual o tempo de Jinchuuriki já expirou, e então remove, para assim ele não continuar com os jutsus. A tag do globalevents.xml desse script é a seguinte: <globalevent name="JinSystem" interval="60000" script="jincheck.lua"/> Agora pra finalizar vá em data/creaturescripts/scripts e crie um arquivo chamado jinsystem.lua e adicione o seguinte code: e a tag do creaturescripts.xml desse script é a seguinte: <!-- Jinchuuriki System --> <event type="look" name="JinSystemLook" event="script" value="jinsystem.lua"/> <event type="death" name="JinSystemDeath" event="script" value="jinsystem.lua"/> <event type="login" name="JinSystemLogin" event="script" value="jinsystem.lua"/> <event type="logout" name="JinSystemLogout" event="script" value="jinsystem.lua"/> Nota: na spells.xml que não precisam ter uma vocação especifica para ser usada e devem conter a tag: needlearn="1" contendo essa tag, a spell não irá aparecer para nenhum player e não poderá ser usado até que o player sele a bijuu, após ser aprendida quando o player sela a bijuu, irá aparecer no comando !jutsus que em servidores normais é o spellbook e o !spells, em quanto o player não selar, ele não ver e nem pode usar. bijuu_outfit é o id da looktype que o player vai ganhar ao usar o buff(se você tem outro buff ou speel que faça o mesmo, remova-o ou então remova a função doSetCreatureOutfit da minha buff, assim não gerando conflito e ficando o outfit que deseja). skill_p é a quantidade de pontos que ao usar o buff da bijuu, vai add no player. time_buff é quanto tempo o buff vai ficar no player valendo também para a looktype. effBuff é o id do efeito que vai sair em cima do player quando ele usar o buff. Pronto, basta configura a spells que cada bijuu(monstro), e pronto. Acho que não preciso explicar como configurar, no própio script deixei umas observações. É totalmente proibido levar meu sistema para outro blog, site ou fórum, fiz esse sistema exclusivamente para membros da comunidade do TibiaKing. Quaisquer erros, sugestões, críticas(construtivas), fiquem a vontade, caso tenha alguma duvida sobre tal parte do script, ou não entendeu alguma parte de como configurar, basta comentar que estarei dando suporte. Script feito por mim. Abraços, bom uso, e boa noite! xD
  4. 1 ponto
    Olá galera do Tibia King. Após um período que fiquei afastado do fórum resolvi trazer um cliente editado que tem a maioria das novas atualizações. Algumas montarias e outfits, alguns itens editados tbm. Como alguns de vcs sabem eu estou criando o CARTOON SERVER e espero em breve divulgar aqui. O client está com ip 127.0.0.1 configurado. Alguns itens novos e outfits precisam ser adicionados e configurados ao gosto de cada um aos arquivos: items.xml, mounts.xml e outifits.xml. Os arquivos dat e spr já estão atualizados. Espero que gostem. Vídeos com amostras do que tem no client: arquivos.rar SCAN Créditos: Eu por divulgar, Não sei quem criou o client.
  5. 1 ponto
    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 >>
  6. 1 ponto
    Nolis

    RESPONDIDO 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
  7. 1 ponto
    Hetrik Hetrik

    Bleach Sprites RTSonline

    Hello, I have something for bleach fans, there are basically a lot of new bleach sprites here https://www.virustotal.com/#/file/c69fb9e0cdaac3f2f4971d172a4c1075ca627adbfca84838856fe75d246d0a29/detection spr.rar
  8. 1 ponto
    DiegoRulez

    RESPONDIDO A logo antiga era mais bonita

    Bom eu acredito que não cabe a mim nesse momento postar concordando ou descordando com o tópico. Prefiro dar mais algumas sugestões e fazer um comentário. Comentário: Eu não sei o que se passou com o @Daniel, mas observo que ultimamente a equipe do TK mudou bastante, se o cara colabora, traz conteudo e já tem uma certa experiencia de como atuar no forum porque não reconsiderar em colocar ele na equipe (Se é que já não fizeram isso)?? Calma, não precisam atirar pedras em mim, é só uma pergunta. Sugestões: Acredito que a experiencia no fórum possa ser melhorada adicionando mais um filtro. O filtro seria basicamente o seguinte: Você conseguir separar na sua busca o que é para 0.4/OTX2, o que é para 1.2/OTX3 e o que é para a 1.3/OTX3. Esse filtro se aplicaria dentro da seção, exemplo: Desenvolvimento de Código > Tibia Clássico > OTX2 Em primeiro de tudo a maioria não consegue ler o código e saber pra qual versão o script foi feito, e mesmo que saiba a questão não é essa. Eu mesmo me deparei procurando algumas coisas, ai era tudo que eu queria, chegava lá era pra outra versão. Sim eu poderia adaptar, mas tem quem não sabe também. O fórum precisa facilitar e ajuda quem não sabe, porque o que sabe sempre tem uma resposta ou solução. Mano remove esse mercado lixo, sério.. Até pra quem vende é ruim, o cara chega e fala: "Faz mas barato ai, você já tem pronto". No lugar coloca uma White List e Black List, igual a OTland, ai se cria uma "reputação" de bom pagador e bom prestador de serviços, mas não uma coisa que você administrem, deixa lá, cada pessoa livre para denunciar o que não gostou e falar o que gostou, quem for contratar ou ser contratado que tire as próprias conclusões! É mais fácil por um filtro, do que fazer todo mundo postar igual o @tataboy67 que percebeu essa pouca organização e meteu um [TFS 1.1+] na frente.. E mesmo que postem assim o cara entra numa página com tudo.. O filtro é o mais ideial! @Bruno Carvalho e @KotZletY tudo bem vocês concordarem ou não, mas pensem sobre o que eu falei no tópico minha única intenção é que o forum melhore.
  9. 1 ponto
    Aprovar é complicado pois você precisa ver o conteúdo de todos que postam. A disputa é quando alguém compra o produto do mercado e reclama no paypal que não recebeu o produto ou ele não veio como a pessoa quis, e dai só eu e o Sesso temos acesso ao paypal do TibiaKing. Assim como a compra feita, onde eu preciso olhar se a pessoa que está comprando no paypal é a mesma pessoa que está comprando no fórum... Antes eu aprovava tudo e tomei no cu com cara que tinha conta hackeada e fazia compra.
  10. 1 ponto
    Celulose

    RESPONDIDO A logo antiga era mais bonita

    O problema é ADMINISTRAÇÃO , ativação de compras são demorada só ativa quando quer . Por Exemplo comprei um produto hoje e até agora não foi ativo. A Administração tem que fica ativa já comprei coisa e foi ativo depois de uma semana !!!! Sobre a equipe atual tirando administração ta muito bacana , Vodkart e KotZletY são os que mais movimenta os fórum são bem ativo ! a administração deveria foca mais no forum , igual antigamente hoje é movimentado a cada 4 meses e olha la .
  11. 1 ponto
    Dwarfer

    Dúvidas sobre lib

    @Kamiz Bem, respondendo de forma bem superficial e de maneira que seja mais fácil o entendimento: 1) Quando eu crio uma função na lib, como eu usaria ela nos scripts normais? As funções localizadas na lib estão acessíveis em qualquer outro script localizado em actions/movements/talkactions, nas demais pastas também. Usar uma função localizada na lib é da mesma forma que a função localizada no próprio script tanto declarada localmente quanto globalmente. O diferencial é que ela se torna 'visível' para as demais pastas de trabalho. 2) Adicionando a função que criei junto com o arquivo eu poderia usar ela de forma global no servidor? Sim, após declarar o diretório do arquivo localizado na lib, você poderá usar a função como falei na pergunta 1. 3) Quais as vantagens de criar funções em lua? As vantagens são as mesmas para que quase todas as linguagens. Organização do código, 'reunir' ações repetitivas em um bloco mais simples, conferir maior flexibilidade ao código (mais fácil ser editado, atualizado). 4) Quando eu devo utilizar uma função C++ direto nas sources e quando eu devo criar uma lib para isso? Na verdade a questão de utilizar uma função C++ direto nas sources ou criar uma lib não tem relação. O ponto é que em algumas situações não é possível criar um código utilizando Lua (independente de estar na lib ou não) com base nas funções já existentes e adicionadas à source. Nesse caso, você precisa adicionar/criar uma função C++ que atenda às suas necessidades. Com o tempo, ao se tornar um pouco mais experiente, você vai perceber que existem limitações que impedem certas ações nos scripts, falando de forma bem simplória. Aqui vai um exemplo genérico e simples que acredito ajudar a entender as vantagens de usar funções: Ao clicar em um item, enviar mensagem para todos os players em determinada área: - Em data/actions/scripts no arquivo sendmsg.lua: local area = {{x=1,y=1,z=1}, {x=2,y=2,z=2}} function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerVocation(cid) == 1 then if getPlayerLevel(cid) < 100 then doPlayerSendCancel(cid, "Você possui level menor que 100.") return true end for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), area[1], area[2]) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Um Sorcerer usou o item.") end end doCreatureSay(cid, "Sou um sorcerer.", TALKTYPE_SAY) elseif getPlayerVocation(cid) == 2 then doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), area[1], area[2]) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Um Druid usou o item.") end end elseif getPlayerVocation(cid) == 3 then doCreateMonster("Demon", getPlayerPosition(cid)) for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), area[1], area[2]) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Um Paladin usou o item.") end end end return true end Perceba que o bloco que envia mensagem para os players que estão em uma área se repete várias vezes: for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), area[1], area[2]) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Um Druid usou o item.") end end Poderia ser feita uma função para enviar mensagem para jogadores em uma área: function enviarMsgEmArea(msg, area_from, area_to) for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), area_from, area_from) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, msg) end end end E o script se tornaria algo como: local area = {{x=1,y=1,z=1}, {x=2,y=2,z=2}} function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerVocation(cid) == 1 then if getPlayerLevel(cid) < 100 then doPlayerSendCancel(cid, "Você possui level menor que 100.") return true end enviarMsgEmArea("Um Sorcerer usou o item.", area[1], area[2]) doCreatureSay(cid, "Sou um sorcerer.", TALKTYPE_SAY) elseif getPlayerVocation(cid) == 2 then doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) enviarMsgEmArea("Um Druid usou o item.", area[1], area[2]) elseif getPlayerVocation(cid) == 3 then doCreateMonster("Demon", getPlayerPosition(cid)) enviarMsgEmArea("Um Paladin usou o item.", area[1], area[2]) end return true end function enviarMsgEmArea(msg, area_from, area_to) for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), area_from, area_from) then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, msg) end end end Percebeu a diferença? Caso a função estivesse na lib, ela poderia ser usada em um script que ao usar um comando !msg (na pasta talkactions) envia certa mensagem para os players de uma área ou mesmo ao pisar em certo local e fazer a mesma coisa caso o script estivesse na pasta movements. Bem, foi algo muito superficial e em uma linguagem para que pudesse entender. Espero ter ajudado.
  12. 1 ponto
    Vodkart

    RESPONDIDO A logo antiga era mais bonita

    Obrigado pelo reconhecimento caro amigo @Daniel, fico feliz em saber tudo isso! Porém eu me dedico mais ao fórum em época de férias da faculdade, fora isso eu tenho que estudar, já que estou cursando Direito e preciso ler bastante, fora os trabalhos e provas, rsrs. Então acho que eu como coordenador não faria bom uso dessa ferramenta já que não teria tempo disponível para frequentar muito o fórum... sobre o Mercado acho que poderiam colocar novas formas de pagamento como boleto ou deposito bancário, até porque a maioria que frequenta o fórum tem entre 15 ~ 25 anos e nem todos possuem cartão de crédito ainda(kids), eu quando tinha 15-18 anos só pagava CASH pelo boleto bancário, então né, uma ideia a mais. Mas você deu muitas ideias interessantes, vamos nos reunir com a equipe para desenvolver algumas delas. E você @Daniel, não teria interesse em ser Coordenador do TK novamente?
  13. 1 ponto
    Nolis

    O que você colocaria na porta de level 999?

    deu pra entender, seria como explorar a história do Tibia em partes exclusivas do mundo
  14. 1 ponto
    linsoul

    [C++] Color Name [DigiWo]

    Abaixo de: if(g_game.getFeature(Otc::GameBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x66, 0xcc, 0xff); Adiciona: if(!g_game.getFeature(Otc::GameBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x66, 0xcc, 0xff); // EDITA AQUI A COR. (Lembrando que só ficará com essa cor caso não tenha/esteja desativado "GameBlueNpcNameColor" no otc Pra checar se é npc: isNpc(), olha o exemplo acima, checar se é monstro/pokemon: isMonster() E se quiser trocar a cor de algum ou alguns npc's específicos em vez de todos, só fazer como explicado no post adicionando "&& isNpc()" e desativando/tirando o GameBlueNpcNameColor no otc Em vez disso: if (m_name == "Banana Fight"){ Deixa assim: if (m_name == "Banana Fight" && isNpc()){ Se quiser mudar somente de monstros, troca: if (m_name == "Banana Fight"){ Por: if (m_name == "Banana Fight" && isMonster()){ OBS: Não testei!!
  15. 1 ponto
    mee

    Mega Evolution System (PxG)

    Oi. Antes de tudo, este sistema foi escrito para o servidor PDA by Slicer, versão 1.9. A adaptação para outras bases pode ser bem simples, dependendo do seu conhecimento em Lua (que na verdade nem precisa ser grande). Resolvi escrever este simples sistema porque me deu um certo desgosto ver vários servidores onde a mega evolução é literalmente uma evolução (inclusive o que estive jogando, onde alguns jogadores também concordaram com minha opinião). Quero dizer, o pokémon fica transformado direto, para sempre, forever, algo que contraria a ideia original. Optei por fazer o sistema igual (ou semelhante, já que me baseei apenas nas informações disponíveis no Blog PxG, que aliás são poucas) ao da PokeXGames. Mais futuramente, no entanto, posso fazer uma outra versão voltada a ideia de uma mega evolução temporária. Para quem não conhece o sistema, bem, estou com preguiça de explicar, logo recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem este sistema). O sistema, como poderão notar, possui muitos detalhes. O motivo é que tenho a tendência de deixar a configuração o menor possível. Ou seja, basta configurar o efeito no código da spell e a tabela das mega evoluções. Nossa, que textão. TL;DR: Igual ao sistema da PxG; PDA; muitos detalhes mas pouquíssima configuração. data/lib: cooldown bar.lua: Troque o código da função getNewMoveTable(table, n) por este: function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValue end No código da função doUpdateMoves(cid), troque o segundo: table.insert(ret, "n/n,") Por: local mEvolve if not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true end end if not mEvolve then table.insert(ret, "n/n,") end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por: min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell: elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir = getThingPos(cid), getCreatureLookDir(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua: megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"}, } Agora, em data/actions/scripts, código da mega stone: function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return true end Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return true end coloque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque: local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone") if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] end end Depois, acima de: doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque: if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".") end Já em data/talkactions/scripts, move1.lua: Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por: if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} end E troque: doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por: local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!" if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!" end doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se quiser que o "Mega" não apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end coloque: if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end E, caso o seu servidor possua pokémons evoluídos permanentemente na forma mega, em data/actions/scripts, goback.lua: Troque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end por: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if not normalPoke then local megaStone for itemid, table in pairs(megaEvolutions) do if table[2] == pokemon then megaStone = itemid break end end if not megaStone then return doPlayerSendTextMessage(cid, 27, "Your pokemon is bugged. Please, talk to the administrator.") end doItemSetAttribute(item.uid, "megaStone", megaStone) normalPoke = megaEvolutions[megaStone][1] end doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end Bem, é isso aí. Acho que não esqueci de nada. Até mais. Obs¹:,esqueci uma informação específica no segundo passo de instalação do sistema (doUpdateMoves). Editado. Ah, editei novamente com uma correção para OTClient. Creditos: zipter98 (Pela criação) Eu (por divulgalo)
  16. 1 ponto
    mee

    Mega Evolution System (PxG)

    Que demora é essa para aprovar meu conteudo? Deus me livre...
  17. 0 pontos
    mesma coisa ainda vodkartzera =CC obg por ta tentando ajudar ainda
Líderes está configurado para São 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!

×
×
  • Criar Novo...