Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 01/25/16 em todas áreas

  1. EVENTO - Last Man Standing - 100% funcional.

    Vodkart e 2 outros reagiu a Xagah por uma resposta no tópico

    3 pontos
    Olá, bom dia a todos. Como tenho visto muitíssimos pedidos neste sentido, lhes apresento o LMS - Last Man Standing com BroadCast
  2. [OrochiElf] New OTRestarter v1.0

    Sonnyzera e 2 outros reagiu a Orochi Elf por uma resposta no tópico

    3 pontos
    New OTRestarter version: 1.0 developer: Tony Araújo (OrochiElf) pt. Gabriel Nogueira (Idéias) Funções: - Auto Restarter (Ele inicia o servidor assim que ele não detectar mais que o processo está ativo, ou seja, toda vez que o seu servidor fechar sozinho, o programa automaticamente irá reconhecer e irá reinicia-lo.) - Auto Crash Timer (Uma nova função inédita foi adicionada, esta função é responsável por detectar quando o processo do servidor para de funcionar, algo que acontece frequentemente, então ele irá reconhecer e reiniciar o processo.) - Auto Restarter Timer (Outra função nova adicionada nesta versão, esta função é responsável por programar os horários que você deseja reiniciar o seu servidor. ela é bastante usada para evitar o desperdício de memória usada no consumo do processo do servidor, ou seja, quando um servidor está ativo por muito tempo o gasto de memória aumenta, então esta função irá reiniciar o processo do seu servido de acordo com os horários que você marcar. Para próxima versão: - OTRestarter hosting (Esta função será uma inovação bastante bacana, ela dará o direito de você acessar o Restarter *que estará provavelmente instalado no VPS/Dedicado do servidor* sem que a pessoa precise acionar a conexão remota, ou seja, funcionará parecido com um FTP Control, você poderá controlar o Restarter e ter acesso as informações gravadas no LOG do programa através de um simples client, deixando possível ser acessado em computadores diferentes, e em breve uma versão para mobile/celular.) Imagem do funcionamento do programa: Download: Programa anexado ao tópico. OTRestarter.rar
  3. EVENTO - Last Man Standing - 100% funcional.

    Bruxo Ots e um outro reagiu a Xagah por uma resposta no tópico

    2 pontos
    Muito Obrigado, @Azhaurn, espero poder contribuir com outros tópicos diferenciados. Obrigado pela atenção @sirarcken, testei no TFS 0.3884 e 0.4 Windows. Meu amigo testou TFS .3777 em Linux e disse que funcionou também.
  4. [Ajuda] Alterar cor do Texto

    Bruxo Ots e um outro reagiu a gmdouglas por uma resposta no tópico

    2 pontos
    @sirarcken muito obrigado! questão resolvida! REP+ e uma simples homenagem abaixo;
  5. [Ajuda] Alterar cor do Texto

    Xagah e um outro reagiu a Bruxo Ots por uma resposta no tópico

    2 pontos
    Procura por isso no seu config.lua emoteSpells = false No lugar do false colaca true..
  6. OTClient 0.6.3 | 7.4 à 10.9 (ATUALIZADO!)

    Tryller reagiu a Tricoder por uma resposta no tópico

    1 ponto
    OTClient 0.6.3 Rev 2474 Compilado em: 11 de dezembro de 2015. Compativel com as versões: 7.4 à 10.9 Compilado por: zbizu Background: http://kate-fox.deviantart.com/art/SteamFox-505747704 Sources: https://github.com/edubart/otclient Versões compatíveis Mudar background do OTClient Vá em otclient\data\images\ Substitua background.png. Reinicie o client. Adicionar versão no client Adicione a versão do client em otclient\modules\gamelib\game.lua. Crie uma pasta com a versão do client em otclient\data\things\ e coloque o .spr e dat. Reinicie o jogo. Download MEGA Google Drive Sendspace Scan VirusTotal Jotti
  7. Naruto War Life BY King of Narutibia

    Cat reagiu a King of Narutibia por uma resposta no tópico

    1 ponto
    Quando eu fiz um topico eu coloquei naruto white edited king of narutibia , parece que foi removido , então melhorei aquela versão e fiz uma nova com nome Naruto War Life Servidor: - Vocações Naruto, Sasuke, Sakura, Lee, Neji, Tenten, Kiba, Shino, Kisame, Hidan, Kakuzu, Itachi, Deidara, Kakashi, Killer Bee, Yamato, Madara, Minato, Hashirama, Tobirama, Obito, Kankuro, Gaara, Kabuto, Jiraya, Tsunade, Anbu, Hinata. - Vocações novas Rikudou Sennin, Kaguya, Sasori, Konan, Raikage. ( Estão com poderes e outfits certo ) - Novos items Donates [DONATE] kurama bandane [DONATE] kurama chakra coat [DONATE] kurama chakra legs [DONATE] kurama chakra boots [DONATE] rikudou coat [DONATE] madara gumbai [DONATE] susanoo gloves [DONATE] teleport scroll ( Teleporta você ao seu alvo , Recarga 20 segundos ) [DONATE] Premium 30D ( se usado lhe da 30 dias de premium ) [DONATE] Item Box ( Da um item Donate Aleatorio ) - Novos Sistemas Prisão Ao dizer /jail (PLAYER) , ele ira para a cadeia no ultimo andar do templo e ficará la por 2 minutos , apos isso será libertado automaticamente ( TRADUZIDO PARA O PORTUGUES POR MIN ) Donate No primeiro andar do templo tem uma alavanca ao puxa-la mostra-ra o jeito de comprar items com PREMIUM POINTS Bug ao dizer !bug , se não estiver em battle , teleportara você ao ultimo andar do templo , para caso caia em um bug Teleport Scroll como eu havia dito , vou dar uma explicação agora , este scroll so pode ser usado quando há um target , quando usado ele teleportará seu personagem até seu alvo , mas a uma duração de recarga de 20 segundos , ou seja so pode ser usado 1 a cada 20 segundos ( INFINITO ) NPC no primeiro andar , há um npc que troca 20 premium points por uma vocação dentre: HASHIRAMA , MINATO , TOBIRAMA , MADARA , RIKUDOU SENNIN , KAGUYA - Monstros Eu balancei os montros , pois eu ja tinha balanceado mais ficou muito forte , então balancei e deixei meio medio , e adicionei o montro False Zetsu no lugar do Insect - DOWNLOAD SERVER 4SHARED CLIENTE MEDIAFIRE - SCAN SERVER SCAN CLIENT SCAN Conta do ADM login: admin senha: mod CREDITOS Beeny - Por disponibilizar a Base King of Narutibia - Por editar o servidor
  8. Bem procurei aqui na comunidade um VIP System mais informativo e nada, além de ter tido problema com os que estão aqui e acabei achando em outro lugar um que funcionou perfeitamente para mim. Usando tfs disponibilizado neste tópico http://www.tibiaking.com/forum/topic/53099-1078-tfs-12-cast-system-novos-outfits-mounts/ Só estou trazendo o conteúdo e por não conhecer bem não posso dar suporte mas do jeito que está é só 'instalar' e vai funcionar. Creditos.: Summ Sistema Vip Talkaction !checkvip para todos os players Talkaction /vip para membros da staff - /vip adddays, NomedoPlayer, 5 --> Adiciona 5 dias vip para o Player. - /vip removedays, NomedoPlayer, 5 --> Remove 5 dias vip do Player. - /vip remove, PlayerName --> Remove todos os dias vip do Player. - /vip check, NomedoPlayer --> Checa quantos dias vip o Player tem. - /vip addinfinite, NomedoPlayer --> Adiciona tempo vip infinito para o Player. Tiles VIP Portas VIP / Actions Items que adicionam dias VIP ItemId 10135 adiciona 10 dias vip. ItemId 10134 adiciona 30 dias vip. ItemId 10133 adiciona 90 dias vip. Imagens Comando !checkvip mas sem ter vip Comando /vip adddays, dracoknight, 5 Comando !checkvip após adicionar 5 dias Comando /vip addinfinite, dracoknight Comando !checkvip após usar infinite Comando /vip remove, dracoknight
  9. Aula 1 #Swords - Academia do Pixel

    Meguminyan reagiu a Madarada por uma resposta no tópico

    1 ponto
    Bem vindo todos ao primeiro tutorial da academia do pixel,neste tutorial iremos aprender como criar e desenvolver espadas,uma tema que é de interesse de muitas pessoas. Espero que nesta primeira aula todos se esforcem bastante pois no final da semana suas artes serão expostas e julgadas por membros do fórum inclusive eu. ---------------------------------------------------------------------------------------------------------------------------------------- - Moldando Outline - • Para começarmos devemos abrir o paint e selecionar a ferramenta do quadrado e fazer um quadrado de tamanho 32x32,pois esse é tamanho padrão de itens do tibia. • Começando outline iremos fazer ela de cima para baixo pelo fio da espada,usando o lápis vamos posicionando os pixels corretamente... • Lembrem-se que o fio nunca deve ser muito grande nem muito pequeno,mas sim de um tamanho médio considerando que o fio deve ter mais ou menos o dobro do tamanho do cabo (isso pode variar)... • Com o fio definido iremos começar o cabo da espada,o cabo em si deve não deve ser muito largo nem muito curto ele deve estar encaixado harmonicamente com a espada.É importante entender de maneira realista como o cabo funciona por exemplo,um cabo muito pequeno não seria confortável de segurar e um cabo muito deixaria a espada muito pesada. - Coloração - • As espadas seguem um padrão básico para gerar corte,todas em geral seguem um padrão de alto contraste pois o metal está presente em quase todas as espadas.O metal é um material que recebe bastante luminosidade então para alcançarmos o ponto chave das espadas devemos prestar atenção no contraste,que significa que devemos usar cores com diferencial de luminosidade grande. • Sabemos também que a luz está em todo o lugar,partindo deste conceito o metal recebe luz porém a luz é de alguma cor,seja do sol a luz amarelada,seja do céu a luz azulada ou de outros focos de luz que podem ter as mais variadas cores. Partindo desse conhecimento devemos entender que nunca se deve usar cores que tenham nenhuma saturação pois a saturação age como brilho e da vivacidade para nossa arte. • No exemplo,monto minha paleta com diferencial de Luminosidade +40 ou seja, a cada cor eu aumento 40 pontos de luminosidade seguindo 20 na 1ª cor,60 na 2ª cor,100 na 3ª cor e assim por diante. • A saturação eu deixo 26 ponto pois mais para frente iremos abordar esse assunto,por enquanto deixemos com pouca saturação. A matriz é a grade de cor, eu deixo 160 pois é a grade da cor azul,outra grade de matriz boa é a 45 que seria do amarelo.Não necessariamente deve-se trabalhar com essas grades,contudo são as que se encaixam melhores no metal. - Gerando Corte - • O corte da espada é característico por apresentar bastante contraste e respeitar o foco de luz que vem do noroeste.No exemplo a seguir os passos de como gerar um corte simples. Não exatamente o corte deve seguir esse padrão dividido no meio,muitas espadas podem possuir corte apenas nas laterais... - Cabo - • O cabo tem muito mais a ver com criatividade do que com técnica.Geralmente os cabos são dourados ou de bronze,grande parte deles possuem jóias no centro como no exemplo que fiz. Bom espero que tenham compreendido um pouco do tutorial,abaixo vou deixar 4 outlines de espadas para usarem como base se quiserem. Boa Sorte
  10. [NTO] Base NTO Foxter

    marlino reagiu a LucasAyres por uma resposta no tópico

    1 ponto
    PS: Sei que está no lugar errado mas não consegui de jeito nenhum postar na área de servidores derivados e nem achei a área de aprovação de downloads, se alguém puder mover por favor. PS: Utilizar a Distro chamada Servidor, ou OTRestarter [+] Informações: - Sistema de Crítico. - Combos e Magias Novas. - Sprites de Personagens Novas. - Elemental System. - Mapa bom, com lugares novos. - Combos 90% concluídos, faltando só de alguns personagens. - Guild War System. - Sala de Quests. - Sistema de Recompensa. - Sistema de Points. - Personagens totalmente equilibrados. - Nova sala de eventos. [+] Desvantagens: - Muitos erros de distro, mas nada que afete o server. - Client com limite de sprites. [+] Imagens: [+] Downloads: http://www.4shared.com/rar/KAd6YH_cba/NTOFox.html? [+] Scan: https://www.virustotal.com/pt/file/657a18976eb2b747a0356fdd306cbc56b3677f81ed83d6698f89d86c06f63664/analysis/1453246178/ [+] Créditos: Eu pelas modificações. Aos que trabalham nessa base antes de mim.
  11. Criando Spells para seu servidor!

    ypz msty reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Ola gaaaaaaalera, é com muito prazer que venho trazer esse primeiro tutorial meu como Aprendiz do TibiaKing, Spells: Bom, spells sao as magias do nosso servidor, elas servem tanto para healar, atacar, dar suporte e etc ... Criar magias é algo muito simples, vc mesmo poderam criar quantas magias quiserem para o seu servidor seguindo esse tutorial, Muito bem, vamos começar ... Spells de Curar (Healing) Fazendo a sua Spell Nao precisamos mecher aqui Aqui sera, oque vai acontecer Aqui é o effect que saira quando o player usar a spell A spell nao vai agressivar, assim podendo ser usada em areas PZ Aqui sera um Extra, a spell ira curar paralyze Formula do magic level, quanto maior mais vai healar Nao precisamos mecher aqui tambem Legenda: × Mais efeito pode ser encontrados no final do Tutorial × Oque ira acontecer, poder ser encontrado no final do Tutorial × Condições, pode ser encontradas mais no final do Tutorial Obrigado a Todos, Estou terminando de fazer o SpellMaker para facilitar a vida de vc, Abraços Spells de Atacar (Attack) Fazendo a sua Spell Nao mechremos aqui Aqui sera o tipo de dano que a spell causara Aqui é o effect que saira quando o player usar a spell setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 12) Formula do magic level, quanto maior mais vai healar Area que a spell vai atingir, Nao mecheremos aqui tambem Legenda: × Areas, podem ser encontradas no final do Tutorial × Efeitos, podem ser encontrados no final do Tutorial × Danos, podem ser encontrados no final do Tutorial Spells de Suporte (Support) Fazendo a sua Spell Nao mechemos aqui Efeito da magia Magia nao agressiva, pode ser usada em areas PZ Condição de escudo de mana O tempo que demora para essa spell acabar, 1 segundo = 1000 Nao mechemos aqui Legenda: × Efeito, pode ser encontrados mais no final do Tutorial × Condições, pode ser encontradas mais no final do Tutorial Oque a Spell vai fazer Efeitos Areas Condições
  12. OT Server "Analytics"

    dragonfight reagiu a Wolven por uma resposta no tópico

    1 ponto
    Edit: Retomei o projeto do OTChecker, aprimorando o sistema de notificações e agora também coletando informações dos jogadores. https://otchecker.net
  13. Respawn de Monstro Automático

    Ghaz reagiu a L3K0T por uma resposta no tópico

    1 ponto
    Fala pessoal, olha eu aqui novamente. Hoje eu vou explicar como funciona a tal respawn automático (chamada raids) que serve para todo tipo de servidor e a configuração é tudo para que possa funcionar perfeitamente! Agora algumas dicas para que seu sistema funcione perfeitamente. *Vocês precisa saber sobre o nome monstro que vai nascer a posições e o horário. *Verifique se o monstro está sendo sumonado pelo /m para que ele possa aparecer quando o scripts da raids for chamado pelo globalevents. *Aqui va umas parte que iremos configurar para quem não sabe muito do inglês vaja abaixo. Em Português = Em Inglês *Segunda-Feira = Monday *Terça-feira = Tuesday *Quarta-Feira = Wednesday *Quinta-Feira = Thursday *Sexta-Feira = Friday *Sábado = Saturday *Domingo = Sunday Em Português = Em Inglês Nome = Name Dia = Days Hora = hour minute = minutos Pronto agora você aprendeu o básico do script que levará esse inglês . Chega de muito papo agora vamos ao trabalho! Vá na pasta Data/Raids dentro dela terá um arquivo chamado raids.xml, abra ele usando o bloco de notas ou outro tipo de editor que dê para você editar. Dentro desse arquivo terá várias linhas com raids ou não. Cloque essa tag lá name="Rat" « Nome do monstro file="Rat.xml" « o arquivo que iremo criar ainda será chamado Rat.xml interval2="30" seria o temo em segundos para nascer. enabled="yes"/> seria ligar raids ? então deixa yes mesmo. pronto salve o arquivo. Agora ainda na pasta Raids copia o arquivo Raids.xml e da um ctrl v e renomeia para Rat ficará Rat.xml, abra o arquivo Rat.xml e add delay="0" « tempo em segundos dependendo do tfs se tá 0 a mensagem 1 vai aparece sem atraso. delay="150000" esses 150000 seria 15 segundos após a mensagem 1 aparecer em alguns tfs os 15 segundos em delay seria 15000. message=" mensagem que vai aparecer é claro. name=" seria o nome do moonstro que iremos por no caso será o Rat. x="local x" y="local y" z="local z" /> « seria aposição no exemplo vocês terá que alterar a gosto x="local x" y="local y" z="local z" /> por numero do sqm. pronto você está informado e terminamos de criar a primeira parte da raid. Depois das edições pf salve! Vamos trabalhar agora com o globalevents. Vá na pasta globalevens/scripts copie um arquivo, renomeia para Rat e add. Explicando... local raids = { [1] = { name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui! type = 'weekly', days = {'Monday'}, ««« dias da semana hour = 22, ««« hora minu = 33 «« minutos }, } há eu queria adicionar mais como posso ? simples veja como o exemplo. [1] = { name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui! type = 'weekly', days = {'Monday'}, ««« dias da semana hour = 22, ««« hora minu = 33 «« minutos }, [2] = { name = 'Rat', ««« nome do monstro, lembra do inglÊs lá no começo ? então ele aqui! type = 'weekly', days = {'Monday'}, ««« dias da semana hour = 22, ««« hora minu = 33 «« minutos }, terminando com } ficando o scripts assim. sempre que por nova raid mude sempre o numero diferente entre [] para que não possa duplicar. Pronto nosso scripts ficará assim. Pronto salve o arquivo, volta uma pasta e abra o arquivo globalevents.xml e add a tag. Explicando »» name=" pode botar qualquer nome q vc possa indentificar o scripts. interval="15000" no caso 15000 seria 15 segundos pro globalevents ser excutado pode varia o tfs se ficar sem passando rápido bote 150000. pronto após edições pf salve... agora seu monstro irá nascer automaticamente... é isso ai! @créditos CipSoft e a mim.
  14. [BETA] Quest Maker

    Adventure reagiu a Caronte por uma resposta no tópico

    1 ponto
    Olá pessoal, criei um quest maker e quero compartilhar com vocês, para opiniões e avaliações. O programa está em versão beta, não fiz para ficar bonitinho, fiz para praticar, e depois, fazer um bonitinho. previsão da versão 1.0: [bETA] Quest Maker - By Caronte Como funciona? Ele pede 3 coisas, que precisam ser respondidas de acordo com suas funções. ao terminar de fazer as 3 perguntas, ele gera um arquivo.lua na pasta onde se encontra, prontinho para colocar como uma quest. Exemplo: Exemplo com storage: function onUse(cid, item, frompos, itemex, topos) if getPlayerStorageValue(cid,1234) == -1 then doPlayerAddItem(cid, 2160, 10) doPlayerSetStorageValue(cid, 1234, 1) else doSendMagicEffect(frompos, CONST_ME_POFF) doPlayerSendCancel(cid, 'The chest is empty.') end return true end Exemplo sem storage: function onUse(cid, item, frompos, itemex, topos) doPlayerAddItem(cid, 2160, 10) return true end Código fonte: Bom pessoal, é um código super simples, mas para mim, já ajuda um pouco...
  15. 1 ponto
    PokeZot Olá Galerinha, alguns devem me conheçer, sou o ADM Wolf, criador do "PokeZot".. Hoje venho apresentar a vocês tudo que o servidor tem de bom..Vamos Começar ~~Versão 1.0 PokeZot 1.0 OBS: Desculpe pelo tamanho excessivo do servidor, minhas ferramentas que uso no servidor foram junto ai ficou muito pesado. @Atualizado 16/08 Abaixo disponibilizo a vocês o Servidor PokeZot 2.0, atualização do 1.0, onde ocorreu varias mudanças, e foi um ótimo trabalho na minha opinião • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. Informações Edições Erros Prints Downloads Créditos Então, é isso.. Espero que gostem e aproveitem bastante. E se Gostou, por favor Deixe um "Gostei" aqui que me Ajuda Muito Até a Próxima Galera
  16. Apresentação: Gustavojbr

    Bruxo Ots reagiu a SuigetsuPK por uma resposta no tópico

    1 ponto
    Olá, meu nome é Gustavo. Estou aqui no TK por 1 motivo. Criar um OT. (Não, não é um OT comum, só existe 1 OT no mundo com esse tema e nenhum, absolutamente NENHUM com as minhas ideias. (Suas ideias são boas? Sim, elas são ótimas, é a junção e mais um pouco de TODOS os ots famosos e não famosos mais com ideias fantásticas!) Oque planejo fazer aqui? Vermelho = Não Construído. Amarelo = Em Conclusão... Verde = Concluído. Aprender mapping. Aprender Scripting. Aprender Programação Aprender a fazer sites. Aprender Infraestrutura. Aprender Spriting. É, é meio desanimador ver isso mas vou me aprimorar e me tornar um dos melhores! (Não, não sou retardado, apesar de parecer )
  17. 1 ponto
    Olá ( Bom dia, Boa tarde ou Boa noite!) à todos do fórum, há semanas venho tentando aprender um pouco sobre cada uma das àreas: Mapping, Scripting, Spriting e Programação; tendo apenas lido tutoriais à respeito e algumas dicas sobre as àreas mencionadas. Bom, eu sou tibiano desde os meu 9 anos de idade (Hoje tenho 20) e tenho notado que a essência do Tibia, se perdeu com as demasiadas atualizações. Desde então, estou desenvolvendo um projeto de um client onde apresente um rpg de qualidade, tendo como base o próprio Tibia. Eu não sei fazer nada, ou não sabia até uma semana atrás, rsrsrs; desde que comecei a ler, passei a praticar, tendo então os resultados abaixo. Gostaria de partilhar com vocês um pouco do que venho treinando, pra quem sabe no futuro, poder estruturar realmente um game. Já tenho uma história que (ao meu ver) está fantástica (sou suspeito em comentar sobre isso). Então, das àreas descritas acima, só treinei até agora Spriting e Mapping. Gostaria que vocês avaliassem sinceramente, apresentando críticas construtivas. 1º contato com o RME, e 2° Sprite feitos por mim. (Obs: Eu já fiz um sprite antes, mas foi uma cópia que eu modifiquei, então acho que não conta) Desde já agradeço à todos. OBS2: Desculpe se estiver na àrea errada, sou novo no fórum.
  18. Apresentação: Gustavojbr

    SuigetsuPK reagiu a Takamassa Nakama por uma resposta no tópico

    1 ponto
    Você ta sozinho fazendo esse OT? Se tiver...Vai perder anos de sua vida kkkkk
  19. [SUPORTE] Doors bugadas !

    premii reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Se n me engano esse é o script pra ir direto colocando na actions local function checkStackpos(item, position) position.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local thing = getThingfromPos(position) position.stackpos = STACKPOS_TOP_FIELD local field = getThingfromPos(position) if(item.uid ~= thing.uid and thing.itemid >= 100 or field.itemid ~= 0) then return FALSE end return TRUE end function onUse(cid, item, fromPosition, itemEx, toPosition) local nuevas = { {closed=10269, open=10270}, {closed=10272, open=10273}, {closed=10274, open=10275}, {closed=10276, open=10277}, {closed=10278, open=10279}, {closed=10280, open=10281}, {closed=10282, open=10283}, {closed=10284, open=10285}, {closed=10469, open=10470}, {closed=10471, open=10472}, {closed=10473, open=10474}, {closed=10475, open=10476}, {closed=10478, open=10479}, {closed=10480, open=10481}, {closed=10482, open=10483}, {closed=10484, open=10485}, } for ia = 1,#nuevas do if (item.itemid == nuevas[ia].closed) then doTransformItem(item.uid, nuevas[ia].open) elseif (item.itemid == nuevas[ia].open) then doTransformItem(item.uid, nuevas[ia].closed) end end if(getItemLevelDoor(item.itemid) > 0) then if(item.actionid > 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid))) then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") end return TRUE end if(isInArray(specialDoors, item.itemid) == TRUE) then if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) ~= -1) then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.") end return TRUE end if(isInArray(keys, item.itemid) == TRUE) then if(itemEx.actionid > 0) then if(item.actionid == itemEx.actionid) then if doors[itemEx.itemid] ~= nil then doTransformItem(itemEx.uid, doors[itemEx.itemid]) return TRUE end end doPlayerSendCancel(cid, "The key does not match.") return TRUE end return FALSE end if(isInArray(horizontalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition) == TRUE) then local newPosition = toPosition newPosition.y = newPosition.y + 1 local doorPosition = fromPosition doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local doorCreature = getThingfromPos(doorPosition) if(doorCreature.itemid ~= 0) then if(getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTeleportThing(doorCreature.uid, newPosition, TRUE) if(isInArray(closingDoors, item.itemid) ~= TRUE) then doTransformItem(item.uid, item.itemid - 1) end end return TRUE end doTransformItem(item.uid, item.itemid - 1) return TRUE end if(isInArray(verticalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition) == TRUE) then local newPosition = toPosition newPosition.x = newPosition.x + 1 local doorPosition = fromPosition doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local doorCreature = getThingfromPos(doorPosition) if(doorCreature.itemid ~= 0) then if(getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTeleportThing(doorCreature.uid, newPosition, TRUE) if(isInArray(closingDoors, item.itemid) ~= TRUE) then doTransformItem(item.uid, item.itemid - 1) end end return TRUE end doTransformItem(item.uid, item.itemid - 1) return TRUE end if(doors[item.itemid] ~= nil and checkStackpos(item, fromPosition) == TRUE) then if(item.actionid == 0) then doTransformItem(item.uid, doors[item.itemid]) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") end return TRUE end return FALSE end
  20. [10.90] Vanaheim Global Opensource - TFS 1.2

    Cocenco reagiu a Droox por uma resposta no tópico

    1 ponto
    Não por isso irmão! Da um REP+ ai pra nois!
  21. Arrumando os pokémons andando.

    Mirajane Sitri reagiu a Refe por uma resposta no tópico

    1 ponto
    Muitos tem um problema em poketibias (PDA, por sua maioria), em que os pokémons andam teleportando. Vou ensinar a Arrumar. Primeiro vá nas sources do OTC e ache o arquivo creature.cpp Lá ache e substitua int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) return 0; Por int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) speed = 150; Também troque void Creature::setSpeed(uint16 speed) { uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); } Por void Creature::setSpeed(uint16 speed) { if(speed < 1) speed = 150; uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); }
  22. 1 ponto
    Antes de qualquer coisa o sistema foi feito pelo RazorBlade e eu pedi autorização para estar postando aqui, pois é um sistema super interessante e sei que muitos brs não tem a mínima noção de inglês.. Se curtiu da um rep ae.. posso não ter feito o sistema, mas testar, informar erros, esperar o Razor responder para arrumar, trazer para cá, traduzir e nada de tradutor online.. deixar arrumado da trabalho né Se seguir todos os passos corretamente.. é esperado somente um erro.. olhar item no trade.. ainda estou esperando o razor corrigir.. houve uma alteração feita mas não corrigiu todo.. mas isso não afeta o funcionamento.. verá que é um ótimo sistema vale a pena conferir.. Testado e funcionando em 1.1 e 1.2 Vídeo para ter +- uma ideia de como funciona (o vídeo não é meu, o meu ainda n fiz upload) Caracteristicas Para usar o sistema, (configurável) atualmente você deve usar um empty vial em um bowl with sacred water (id:12289) -- ACTIONS Em actions.xml adicione crie uma pasta chamdada custom e crie um arquivo chamado alchemy.lua e adicione isso é recomendado usar uma versão 'melhorada' do arquivo fluids.lua na pasta other, basta alterar todo seu conteudo por isso -- CREATURESCRIPTS Em creaturescripts.xml adicione Registre em login.lua Crie em scripts o arquivo alchemy.lua e adicione isso Crie em scripts o arquivo potionResist.lua e adicione isso -- EVENTS Em events.xml certifique-se de alterar ambas as linhas para 10 No arquivo player.lua procure por onLook e após isso adicione isso e em onLookIntrade você deveria ver isso altere para isso --O SISTEMA PRINCIPAL Em global.lua adicione dentro da pasta data/lib crie o arquivo alchemy.lua e adicione isso e em func.lua adicione isso ** Edit - onLookInTrade corrigido.. Sistema 100% bug free
  23. Fala galera do TK! Então, estou voltando agora a mexer com ot servers, estou muito por fora, fiquei muito tempo sem ter contato com nada a respeito de Tibia, eu estava pensando em abrir um ot 10.90 em forma de Baiak, no qual eu pegaria um server, e apenas desenvolveria um mapa novo, porém com fast atack, teleports, etc de um classico baiak, mas nada exagerado, um fast atak basico, o que vocês acham? Perca de tempo?
  24. Achamos os erros. Aqueles 'interval' são valores e milisegundos. Logo, por exemplo, seu server está dando 'save' a cada 2600 milisegundos, ou seja, a cada 2,6 segundos! hahaa Assim, por exemplo, se quer que seu server salve a cada 26 minutos faça o seguinte: Multiplique 26 x 60 x 1000 = 1560000. Porque são minutos x segundos x milisegundos. Entendeu? E não só o save, mas, isto sim, todos aqueles que usam 'interval'. Ajudei ou esclareci? Rep+ Edited: Deu certo, @Micheel15?
  25. Tá dizendo que seu 'items.otb' que usou dentro do seu Remere para editá-lo não confere com o que está utilizando no Server. Primeiro, no seu Remere vá em 'file > preferences > client version'. Nesta parte, no topo existe uma opção (seta vermelha): Selecione a versão do seu Client. Depois vá na pasta do Seu server 'data > items' e copia os arquivos: items.xml e items.otb copie os dois e cole na pasta do 'C:\Program Files (x86)\Remere's Map Editor\data\versão que escolheu ali em cima'. Depois abra seu mapa, salve-o e tente recarregar o server. Fiz meio que de cabeça, tenta e veja se dá erros. Se sim, bate um 'screenshot' e mostra aqui.
  26. Vá no seu 'config.lua' e escreva isto: mapName = 'nomedoseumapa.otbm'. e veja se funciona.
  27. Npc que troca varios itens por 1

    silasops reagiu a Xagah por uma resposta no tópico

    1 ponto
    Crie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole isso: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local items = { item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca } local counts = { count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca count2 = {10, 1} -- count2 quantidade que será pedido e que será dado na segunda troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'blue note') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end elseif msgcontains(msg, 'bar of gold') then if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then doPlayerRemoveItem(cid, items.item2[1], counts.count2[1]) doPlayerAddItem(cid, items.item2[2], counts.count2[2]) selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid) else selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Crie um arquivo chamado Jax.xml na pasta data/npc e cole isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Jax" script="Jax.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150" /> <look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" /> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." /> <parameter key="message_farewell" value="Bye bye!" /> </parameters> </npc> Testado e está 100% funcional
  28. (Resolvido)[Ajuda] Level Max Por Stages!

    KotZletY reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    vc tem q colocar essas duas no lugar de <stage minlevel="651" maxlevel="700" multiplier="300"/> não é garantido funcionar, mas porque vc não testa e nos diz se funciona ou não?
  29. !exiva "Npc Name

    Tricoder reagiu a Wakon por uma resposta no tópico

    1 ponto
    Diminua essas letras, isso deixa o tópico feio, assim que for feito eu irei aprovar.
  30. 1 ponto
    acredita não will foi tu -' mais eu peguei um susanoo no nto war e editei Bom o susanoo do shisui eu tenho..
  31. [MAGIAS] Como adicionar-las no seu servidor

    SuigetsuPK reagiu a Caronte por uma resposta no tópico

    1 ponto
    Olá pessoal, estou fazendo esse tutorial a pedido de admelite no meu tópico como um tutorial é algo fácil e rápido de fazer (dependendo do tema) eu me propus a fazer: Esse tutorial é bem simples, porém não se encontra no TibiaKing, acho que o motivo é a sua simplicidade, e ele pode ajudar a qualquer um que esteja começando agora a criar um servidor tibia OTserver. Ok chega de lorotas, vamos começar: De nada adianta você querer adicionar uma spell, se você não sabe fazer uma, por isso, eu recomendo que veja pelo menos dois tópicos do fórum antes de ver este: http://www.tibiaking.com/forum/topic/7448-criando-spells-para-seu-servidor/ http://www.tibiaking.com/forum/topic/48868-spell-creator/ O principal a se saber antes de eu começar é: que quase todos os scripts ou sistemas do tibia, sejam eles de creaturescripts ou actions ou qualquer coisa, precisam ser registrados em um XML, para serem carregados ao OTserver ligar ou carregados ao GOD dar o comando /reload (param), não esquecendo também que os scripts são extremamente necessários, sem uma das duas partes, seja XML ou seja SCRIPT, não será possível utilizar o script no servidor. Nota: XMLs: Os XMLs, são arquivos com a extensão XML e servem para mostrar ao servidor o que carregar, como se fosse um indicador. Vou usar o exemplo de um XML de spells... Todos os XMLs precisam ser abertos e fechados internamente, o xml da Spells é aberto com <spells> e é fechado com </spells> E todas as spells, devem ser inseridas em baixo de um </instant> , exceto a primeira de uma aba, que pode ser criada assim: <!-- Aba --> o </instante> serve para separar o começo da nova spell do final da spell anterior, ele é de extrema importância, se não você irá bugar 2 spells. <instant name="Death Strike" words="exori mort" lvl="16" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/death strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Legenda: Linguagem binária: Usa-se 0 para não e 1 para sim ! instant name = Nome da magia. words = Palavra para chamar a magia. lvl = Level mínimo para usar a magia mana = Mana que gastará a magia. prem = Se precisa de premmium para usar a magia. range = Distância (em sqm) da magia casterTargetOrDirection = Seguir alvo ou direção. blockwalls = Não passará paredes. exhaustion = Tempo para repetir a magia. (em mili segundos cada 1000 é 1 segundo) needlearn = Se precisa aprender para usar a magia event = Sempre use script, não interessa a function agora... value = Onde se encontra o script vocation = Vocação para usar a magia. Vocations: Nos servidores normais: Rookie = 0 (qualquer um pode usar) Sorcerer = 1 Druid = 2 Paladin = 3 Knight = 4 Master Sorcerer = 5 Elder Druid = 6 Royal Paladin = 7 Elite Knight = 8 Agora se você quer adicionar uma nova spell no seu XML, suponhamos que seja assim o seu XML: <?xml version="1.0" encoding="UTF-8"?> <spells> <!-- Suas spells --> <instant name="Death Strike" words="exori mort" lvl="16" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/death strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> </spells> Para adicionar simplesmente fazemos isso: <?xml version="1.0" encoding="UTF-8"?> <spells> <!-- Suas spells --> <instant name="Death Strike" words="exori mort" lvl="16" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/death strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> <instant name="Death Strike" words="exori mort" lvl="16" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/death strike.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> </spells> Veja como o </instant> no final das spells, serve para dividi-las. Aviso: De nada serve adicionar a spell ao XML se não tiver o SCRIPT a tag no XML é simplesmente para avisar ao otserver que tem um conteúdo, ou seja, de nada vai servir avisar que tem, se não tiver, só dará erro na distro e dor de cabeça. Créditos: EU O Tutorial acaba aqui. se você gostou deixe o seu obrigado como post ! Espero que tenha ajudado um bocado de membros e visitantes, se você é um visitante cadastre-se e poste no meu tópico Qualquer dúvida ou sugestão em relação ao tutorial, POSTE AQUI:
  32. Fala Galera do TK, sei que já tem um tutorial desse aqui + vim postar o meu 100% Lembrando esse tutorial Vale para somente quem não tem net COMPARTILHADA e nem IP FIXO! Esse é meu primeiro tutorial, Pf Criticas somente CONSTRUTIVAS ! Pode Parecer difícil + é mais fácil do que você imaginava ! -Info- Instalando Vertrigo Liberando Portas Configurando PhpMyAdmin & Server NO-IP Criando Host Para seu site Instalando & configurando o Site -Instalando Vertrigo- -Liberando Portas- -PhpMyAdmin & Server- Pronto a parte chata já acabou ! -Criando Hosto No-Ip- -Instalando & configurando o Site- Agora deixe akele REP+ pq DA TRABALHO PRA FAZER ! Créditos: 50% EU por fazer e trazer ao TK & + 50% EU pq sou digdim ! >Curta a page do meu projeto que eu ficarei eternamente grato ! @se for utilizar o conteudo em outro site Pf colocar creditos ! Qualquer Duvida Poste Aqui ! Lembrete: Para evitar conflito de IPs coloque o ip do meuip no seu servidor> MEU IP e deixe o do No-Ip para seu site (Opsional - é apenas uma dica) Para entrarem no seu site basta colocar o ip do host no-ip no navegador !
  33. Administrando as borders

    lucassilvaa reagiu a Caronte por uma resposta no tópico

    1 ponto
    -Olá pessoal, eu percebi algo que realmente pode incomodar alguns na hora da edição (quando usam auto-border) , e esse tutorial é uma coisa bem simples sobre as borders, para quem quer aprender a criar ou editar. Primeiro de tudo. Localize onde você vai editar ou criar as borders, caso seja 8.6 será em: C:\Program Files (x86)\Remere's Map Editor\data\860 Para você editar, recomendo de modo simplificado que você dê um ctrl+c no arquivo e cole no desktop, edite lá, e caso queira experimentar, troque de lugar com a border original, sempre fazendo backup !!! agora abra e no border 860 estará assim: Agora é a hora de entender. Eu vou pegar um exemplo de borda que incomoda bastante gente e é a de ID 1 , antes de editar, temos que entender: Para o remere's se situar usa-se as coordenadas para cadastrar e ler as borders: LEGENDA: North = Norte West = Oeste East = Leste South = Sul O remere's usa siglas: As siglas C e D, podem ser interpretadas por Corner e Detour respectivamente, que significam, esquina ou quina e virada ou mudança de direção. Já as outras siglas, podem ser facilmente identificadas pelas coordenadas. vamos para um exemplo A border normal é essa: <border id="1"> -- mountain edge border -- <borderitem edge="n" item="891"/> <borderitem edge="w" item="894"/> <borderitem edge="e" item="892"/> <borderitem edge="s" item="893"/> <borderitem edge="cnw" item="895"/> <borderitem edge="cne" item="896"/> <borderitem edge="cse" item="897"/> <borderitem edge="csw" item="898"/> <borderitem edge="dnw" item="899"/> <borderitem edge="dne" item="900"/> <borderitem edge="dse" item="901"/> <borderitem edge="dsw" item="902"/> </border> Mas se alterarmos os ID's, devagar e precisamente por : N = 3227 W= 3234 E= 3233 S= 3240 CNW= 3238 CNE= 3239 CSE= 3226 CSW= 3228 DNW= 3237 DNE= 3236 DSE= 3230 DSW= 3231 Ficando assim: <border id="1"> -- mountain edge border -- <borderitem edge="n" item="3227"/> <borderitem edge="w" item="3234"/> <borderitem edge="e" item="3233"/> <borderitem edge="s" item="3240"/> <borderitem edge="cnw" item="3238"/> <borderitem edge="cne" item="3239"/> <borderitem edge="cse" item="3226"/> <borderitem edge="csw" item="3228"/> <borderitem edge="dnw" item="3237"/> <borderitem edge="dne" item="3236"/> <borderitem edge="dse" item="3230"/> <borderitem edge="dsw" item="3231"/> A borda mudará conforme a imagem, da segunda para a primeira: E se você quiser tirar a borda que eu usei de exemplo, essa: basta pegar essa parte: <border id="1"> -- mountain edge border -- <borderitem edge="n" item="891"/> <borderitem edge="w" item="894"/> <borderitem edge="e" item="892"/> <borderitem edge="s" item="893"/> <borderitem edge="cnw" item="895"/> <borderitem edge="cne" item="896"/> <borderitem edge="cse" item="897"/> <borderitem edge="csw" item="898"/> <borderitem edge="dnw" item="899"/> <borderitem edge="dne" item="900"/> <borderitem edge="dse" item="901"/> <borderitem edge="dsw" item="902"/> </border> E apagar, ficando assim : <border id="1"> -- mountain edge border -- </border> Pronto, você retirou sua borda indesejável sem causar erro no remere's ! para adicionar é só fazer o processo inverso, e se você quiser criar uma nova borda sem tirar nenhuma, vá até o final do border copie a última e cole, mudando o id para id+1 , e colocando as bordas de sua preferência ! ! ! O tutorial é só isso, espero que tenham gostado e ajude o maior número de usuários possível, se faltou algo, por favor pode postar falando o que faltou ou mandar PM ! Qualquer dúvida, por favor, poste aqui mesmo para ser tirada. Caso as imagens fiquem off, reupload.
  34. BUG

    Snowsz reagiu a BizaoOtserver por uma resposta no tópico

    -1 pontos
    estou tendo problema com meu ot as portas das casas nao se abrem, e as que precisa de level para passar abre e nao fecha mais e esta dando uns bugs se puderem me ajudar agradeço des de já. o ot e 9.83
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo