Líderes
-
-
xWhiteWolf
HéroiPontos3605Total de itens -
-
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/19/15 em todas áreas
-
[TUTORIAL] Pensando em Cores - Spriting
Bom dia, boa tarde e boa noite amigos do TK! Venho hoje trazer um tutorial traduzido que tem como o tema "Pensando em Cores" na hora de criar sua sprite! Este tutorial me ajudou muito quando comecei a fazer sprites e espero que possa ajudá-los tanto quanto me ajudou! Vamos lá: Pensando em cores Eu passo muito tempo em uma série de Fóruns de RPG e muito deste tempo que passo é gasto dando às pessoas feedback sobre suas sprites. A minha crítica mais comum se tornou uma espécie de bordão e até poderia ser pensado como uma tese para esta série inteira de tutoriais: as cores precisam de mais contraste. A escolha da cor faz ou quebra uma sprite. Cores - e o contraste entre elas - são a base de todas as sprites. Isso é exatamente o que pixels são: pequenos blocos de cor. Spriting não é como desenhar ou colorir as linhas; trata-se de colocar cores nos lugares certos para criar a ilusão da forma. Eu vi um monte de tutoriais que falam longamente sobre linhas e técnica e sombreamento e blá blá blá, mas dão muito pouca atenção para a parte mais importante e absoluta de pixel art: cor, e tudo que vem com ela. Dê uma olhada nessa sprite - ela foi publicada em uma discussão crítica no HBGames.org por um membro chamado Norton Estruturalmente, não está ruim. É baseado em um personagem de Mass Effect o que é imediatamente óbvio, e eu nunca sequer joguei o jogo, por isso trabalho foi bem feito. Por outro lado, as cores são muito plana, porque lhes falta um contraste significativo. (Update: Eu já disputou os jogos Mass Effect, e eu os amo.) Isto é o que eu fiz com ele, eu mudei muito pouco da própria sprite, mas as cores atualizadas fazem uma enorme diferença. Agora parece que tem uma verdadeira profundidade. São as cores que trazem uma sprite para a vida. Palavras Cor: vale a pena conhecer! Embora existam mais do que suficientes recursos on-line que tratam sobre os seguintes termos e conceitos, eu poderia escrever a o meu próprio texto. Nota-se que na maioria das vezes essas palavras realmente não são fatos em Pixel Art, ou melhor; eles são, mas sabendo que a terminologia exata não é realmente necessária. O maior deles para se pensar quando se trata de spriting é constraste, e eu vou dedicar uma seção inteira para que em breve. Mas ainda é útil ter uma compreensão destes conceitos básicos de cores. Cor A palavra "cor" é muito vaga. Quando a luz é refletida fora de qualquer superfície, seus olhos reconhecem a cor. Desde cedo, aprendemos que "vermelho", "azul", e "amarelo" são cores. Hoje, muitas pessoas pensam de cores como "# FF0033", "# 003399" ou "# FFFF00". Mas simplesmente, uma "cor" é um pedaço de informação visual que engloba todas as seguintes definições. Matriz Quando crianças pequenas são ensinadas sobre as cores, eles estão realmente sendo ensinado matrizes. Hues são fáceis: vermelho, azul, verde, etc. O nome de uma cor é geralmente referindo-se a sua tonalidade. É possível pensar em tons como categorias de cores. Dê uma olhada: Esta linha de todas as cores compartilham a mesma tonalidade: verde. Estas cores, por outro lado, proporcionar uma gama de diferentes matizes. Brilho / Luminosidade / Valor Em nível técnico, estes termos têm significados ligeiramente diferentes (tão pequenos que realmente não vale a pena se preocupar, tem a ver com a matemática de fazer cores, mas em um nível prático eles têm a mesma função). O brilho de uma cor é apenas isso: se é claro ou escuro. A proximidade de cor para branco ou preto determina o seu brilho. É praticamente autoexplicativo, certo? Saturação A saturação de cor é muito semelhante ao seu brilho, mas em vez de luz contra a escuridão, a saturação é forte contra o fraco. A cor com alta saturação vai realmente se destacar, enquanto uma cor com baixa saturação vai parecer desbotada. Por exemplo, um azul altamente saturado vai gritar "Eu sou azul!", Mas o mesmo azul com uma baixa saturação iria se lamentar "Estou me sentindo um pouco azul hoje." Estes três azuis têm o mesmo tom e brilho, mas níveis de saturação drasticamente diferentes. A cor mais à esquerda é tão saturada que chega a ser quase cinza. Contrastar Essa é a minha favorita, porque quando se trata de Pixel Art, tudo é sobre o contraste. Embora as definições acima possam ser aplicadas a uma única cor, contraste não pode existir sem duas ou mais cores. O contraste é a diferença entre as cores. As cores podem ter contraste entre sua cor, brilho, saturação, ou todas as anteriores. O importante a se lembrar é que as cores com alto contraste se destacam um do outro enquanto as cores com contraste baixo irão borrar juntas. O contraste entre o azul e o amarelo é muito alto por isso parece afiada, mas o menor contraste entre o amarelo e o bronze se torna uma transição mais suave. Em Pixel Art, eu diria que o contraste é um dos mais importantes desses termos. É isso ai pessoal, este tutorial é um tutorial simples, porém de muita eficiência e de didática extremamente notável. São conceitos básicos, mas que realmente (hoje digo com certeza, pois vejo esta deficiência em massa), a coloração é o ponto mais pesado em termos de aprendizagem sobre Pixel Art! Espero que com esse tutorial algumas pessoas possam aprender mais sobre esse tipo de arte que te exige uma visão e criatividade muito aguçadas para criações. Estarei em breve traduzindo mais tutoriais desse tipo para incrementar ainda mais nosso conteúdo de Spriting!! Conto com vocês para o Feedback destas traduções! Espero ver muitos novos spriters em nosso fórum haha. Até o próximo tutorial Créditos: Final Boss Blues (pelo tutorial) Thayam (pela tradução) Way20 (por ter me indicado este fucking awesome tutorial!) Link do tópico original: Thinking in colors5 pontos
-
Passagem secreta diferente
Passagem secreta diferente
Breniinx e 3 outros reagiu a xWhiteWolf por uma resposta no tópico
4 pontosEai pessoal, vim trazer hoje um sistema de passagem secreta que um amigo viu no Baiak-wars. Não sei qual server é esse e eu não jogo tibia então pra mim tanto faz mas ele gravou um vídeo, pediu um igual e obviamente eu não fiz um igual porque o sistema dos caras era muito ruim uhauheuhauheuhauheuhuhauhe Enfim, comecei um script do 0 pra fazer exatamente oque ele queria e foi isso daqui que eu consegui: Explicação: Você clica em algum item escondido pelo mapa e abre uma passagem secreta que vai durar X segundos (configurável), após esse tempo a passagem se fecha; Note que nessas imagens ele não tá escondido já que tem uma FUCKING ARVORE NO MEIO DE UM DESERTO mas você pode colocar uma tocha em cima de uma parede e colocar o actionid na tocha pra ativar e vai ficar super foda e com muito rpg Ué, mas oque tem de diferente dos outros scripts? Bem, ele é super fácil de configurar e ele dá a sensação de que o item foi arrastado :] Bom, se isso não foi o bastante pra você entender então observe essas fotinhas Tendo entendido tudo vamos à parte mais legal da coisa (SCRIPTAR!!!!) Você vai precisar criar um arquivo em actions\scripts chamado hidden.lua com o seguinte conteúdo: local positions = { [1] = {pos = {x=139, y=77, z=7}, id = 1718}, [2] = {pos = {x=140, y=77, z=7}, id = 1718}, [3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884}, [4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884}, } local createpos = { [1] = {pos = {x=138, y=77, z=7}, id = 1718}, [2] = {pos = {x=141, y=77, z=7}, id = 1718} } local tempo = 5 function onUse(cid, item, frompos, item2, topos) if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then doPlayerSendCancel(cid, "Is already open.") return true end doCreatureSay(cid, "You have ".. tempo .." seconds.", 19) function criar_paredes() for i = 1, #positions do if i <= (#positions/2) then doCreateItem(positions[i].id, 1, positions[i].pos) local obst = getTileItemById(createpos[i].pos, createpos[i].id).uid doSendMagicEffect(createpos[i].pos, 2) doRemoveItem(obst, 1) elseif i > (#positions/2) then local obst = getTileItemById(positions[i].pos, positions[i].toid).uid doTransformItem(obst, positions[i].id) end end return true end for i = 1, #positions do local obst = getTileItemById(positions[i].pos, positions[i].id).uid if i <= (#positions/2) and obst ~= 0 then doRemoveItem(obst, 1) doSendMagicEffect(positions[i].pos, 2) doCreateItem(createpos[i].id, 1, createpos[i].pos) elseif i > (#positions/2) and obst ~=0 then doTransformItem(obst, positions[i].toid) end end addEvent(criar_paredes, tempo*1000) return true end Feito isso vc vai precisar declarar no actions.xml a forma que você quer utilizar o script <action actionid="27004" script="hidden.lua"/> note que vc pode colocar algum itemid, actionid ou uniqueid de sua escolhe, só lembre de mudar no map editor dependendo da forma que vc escolher. Agora eu vou ensinar vocês a configurarem o meu monstrinho *-* aqui você tem o tempo que a passagem vai ficar aberta aqui você vai editar o seguinte: na primeira são as posições dos itens e seus respectivos id's posição das duas prateleiras e seus id's posição das paredes, id dela e pra qual id ela vai ser transformada. aqui você tem as posições que sua prateleira vai se mover e os id's dela. Lembrando que você pode se sentir livre pra adicionar oque vc quiser e deixar do seu gosto, só lembrando que se vc quiser adicionar mais items ou diminuir itens é só alterar nas duas tabelas seguindo a mesma lógica. Metade pra prateleira, metade pra parede e uma tabela pra fazer as prateleiras se moverem. Os créditos são 60% meus e 40% do @MaXwEllDeN por ter me dado um norte no começo do script. Qualquer coisa comenta aí e dá aquele rep+ pra ajudar ;]4 pontos -
[Talkaction] Deletar player
[Talkaction] Deletar player
Cain Jorge e 3 outros reagiu a keilost1 por uma resposta no tópico
4 pontosO comando é simples, ele funciona para deletar player e retirar o delete, vocês podem dizer "o rule violation já faz a função de deletar", no caso do meu ot não tinha o rule violation, então estou passando o conteúdo para o Tibia King pois achei útil para mim. Vamos ao script: Em talkactions/scripts crie um arquivo chamado deleteplayer.lua e então coloque esse conteúdo dentro: function onSay(cid, words, param) local t = string.explode(param, ",") if(t == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local pid = getCreatureByName("".. t[1] .."") if isPlayer(pid) then doRemoveCreature(pid) end if t[2] == 1 then db.executeQuery("UPDATE `players` SET `deleted` = '1' WHERE `players`.`name` ='".. t[1] .."';") doPlayerSendTextMessage(cid, 27, "Player ".. t[1] .." foi deletado.") end if t[2] == 0 then db.executeQuery("UPDATE `players` SET `deleted` = '0' WHERE `players`.`name` ='".. t[1] .."';") doPlayerSendTextMessage(cid, 27, "O delete do player ".. t[1] .." foi retirado.") end return true end No seu talkactions.xml coloque: Como funciona o comando? Para deletar o player: /delete Nome,1 Para remover o delete: /delete Nome,0 Corrigido a query, havia esquecido de remover a tabela `otserv` (que é a que eu usava) Créditos: Keilost4 pontos -
getUpTimeString()
4 pontosUptime Uptime é a quantidade de tempo que um sistema de computador está desempenhando atividades de forma ininterrupta, ou seja, constante/sem interrupção. Com base em outros códigos que vi pela internet, decidi criar uma função própria para retornar essa quantidade de tempo, futuramente simplificando alguns scripts. A função, basicamente retorna as horas e minutos do uptime em uma string, de forma inteligente. function getUpTimeString() local wut = getWorldUpTime() local h, m = math.floor(wut / 3600), math.floor((wut % 3600) / 60) if m == 60 then m = 0 h = h + 1 end return h..' hour'..(h > 1 and 's' or '')..' and '..m..' minute'..(m > 1 and 's' or '') end Ex: -- WorldUpTime = 12345 seconds if getWorldUpTime() > 10800 then -- 10800 seconds = 3 hours print('UpTime: '..getUpTimeString()) end ------------------------------ UpTime: 3 hours and 25 minutes -- 3 hours and 25 minutes = 12345 seconds4 pontos
-
[TUTORIAL] Usando e Escolhendo Cores - Spriting
[TUTORIAL] Usando e Escolhendo Cores - Spriting
gabisa00 e 2 outros reagiu a Thayam por uma resposta no tópico
3 pontosFalae Pessoal do TK! Olha eu ai mais uma vez trazendo outro tutorial para os aventureiros que querem aprender um pouco sobre spirting haha Vamos ao que interessa: Usando e Escolhendo as Cores Antes de mergulhar na criação de paletas de cores, eu quero explicar como maximizar cada cor, para tirar o máximo proveito de todas as cores em sua paleta. Aqui está um exemplo de rampa de cor: A primeira vista não parece nada particularmente especial. Mas note que algumas das cores estão dispostas em colunas muito finas, enquanto outros estão em blocos maiores. Os coloquei desta forma para mostrar como algumas cores são usadas como cores maiores ("cluster" cores, para ser usado como uma sombra base para uma superfície), enquanto outros são meio-termo ("tampão" cores, para ajudar a mistura os aglomerados em conjunto). O que acontece se mudarmos as relações um pouco? Esta rampa utiliza as mesmas cores, mas como um todo que parece mais leve devido à maneira como as cores são utilizadas em quantidades relativas de cada cor são diferentes, os aglomerados e tampões foram invertidos. O resultado é uma mudança de saturação e brilho de toda a rampa. O contraste, no entanto, permanece no mesmo nível de legibilidade, e continua agradável. Qual é o ponto deste exemplo? Mostrar que você pode empurrar as suas cores para trabalhar para você, em vez de ficar preso a elas. Eu vi um monte de gente se atrapalhar com suas paletas porque eles estavam com muito medo de empurrar suas cores. Isso leva a outro ponto de contraste - um que você usará constantemente sendo um bom artista de pixel: a cor está diferente dependendo das cores em torno dele, e quanto essas cores são usadas. Dica, aprendizes! Por que conservar cores? Nos velhos tempos, o hardware era muito mais simples e jogos tinha limites muito específicos sobre quantas cores poderíamos utilizar. Tirar o máximo proveito de cada cor foi talvez o aspecto mais importante da arte do pixel naquela época, e a ideia tem transitado para os dias de hoje. Os jogos modernos não possuem mais esses tipos de limites, mas ainda vale a prática para manter suas paletas o quanto menores possíveis. Não só é muito mais fácil gerenciar as cores da sua arte com uma paleta menor, como vai criar uma consistência visual que vai manter tudo junto. Então, é hora de fazer uma paleta. Há uma série de maneiras sobre a escolha de suas cores. Um monte de gente vai tentar chegar a uma paleta "definitiva" antes mesmo de começar a trabalhar, eu não fui diferente. Porém essa não é a melhor abordagem. As melhores paletas são alteradas conforme estão sendo usados. Não sinta a necessidade de prender-se a algo. Mas por onde começar? Normalmente, com algumas rampas de cores básicas. A rampa de cores é um agrupamento de cores que lhe dão uma gama de tons para trabalhar, geralmente organizadas a partir da mais escura para a mais clara. Esta é uma rampa de cores: Não é particularmente bom, no entanto. É o que chamamos de "rampa reta", porque ela vai direto da escuridão para a luz. Em outras palavras, a única coisa que muda é o brilho ou a luminosidade, mas não a matiz ou saturação. Em uma boa rampa, o tom vai mudar, porque isso é como funciona a luz na vida real. Neste exemplo, a tonalidade mais escura aponta para uma tonalidade púrpura ou vermelho, enquanto a mais leve (sombra) é verde (caminhando para o amarelo). Contanto que as cores no meio são reconhecíveis, o enorme global da rampa será preservada. E não se esqueça de manter sempre em consideração o contraste. Isso é chamado de hue-shifting. Dica, aprendizes! Normalmente, os tons mais escuros terão menos saturação, e serão desviadas para o azul ou roxo, enquanto tons mais claros serão mais saturados e tenderão para o amarelo. Mas, isso é apenas um bom ponto de partida, não sinta-se limitado a essas regras!. Uma vez que você está confortável com seus tons da rampa de cores, aventure-se! A paleta de cores é uma coleção de suas rampas de cores, e é o que você usaria para manter suas cores organizado. Há muito para falar sobre paletas, então eu vou começar, mostrando-lhe um exemplo do que não fazer. Eu vejo muito isso. E quando eu digo "muito", eu quero dizer que eu vejo isso constantemente. Em todos os lugares. Parece ser a primeira coisa que um novo artista do pixel fará ao tentar vir para cima com as suas próprias cores. Então por que é ruim? Além do problema imediato que as rampas são "rampas retas".O grande problema é que isso não é uma paleta unificada, mas uma coleção de rampas individuais. Ele não parece ser criado com a imagem grande em mente, cada cor foi construída individualmente, e como resultado, a paleta tem uma sensação de estar desconectada. Os vermelhos foram criados do mais escuro ao mais claro, e depois os amarelos, e, em seguida, os verdes, etc etc. Não há sobreposição entre as cores; eles não se misturam em tudo. Este é um modelo de como se construir uma paleta de cores: Claro que parece diferente, não é? Quando eu crio uma paleta de cores, eu não tenho medo de fazer uma bagunça. Eu a trato como uma verdadeira paleta do pintor (lembre-se que a arte pixel é muito mais perto de pintura do que o desenho). A ideia é a união das cores. Cada rampa tende a ter uma distância da mesma tonalidade mais escura e, eventualmente, atingir o mesmo tom mais leve (aviso de que os amarelos de luz nos cantos opostos são, na verdade a mesma cor). Como resultado, toda a paleta é coesa. Eu sugiro que você dê uma abordagem semelhante -não sinta a necessidade de organizar suas rampas em linhas pequenas puras só porque você já as viu organizadas dessa forma antes. As cores precisam fluir para a outra, para mantê-lo orgânica. Você sempre pode reorganizá-las depois. Antes de passarmos para a próxima seção, aqui está um alienígena malvado e assustador: A sprite na esquerda é feita com a primeira paleta (a ruim, com as rampas retas). O problema óbvio é que a saturação muito brilhante é uma monstruosidade. Mais relevante, o azul e o verde não combinam muito bem juntos em nada - o contraste é tão grande que a sprite não se sente coesa. Ao mesmo tempo, o contraste dentro das rampas de cor (em particular, a verde), é muito baixa. O resultado é uma bagunça estranha: as áreas verdes parecem muito planas, mas a azul é tão diferente que se destaca até demais. O cara da direita usa cores da minha paleta mais orgânica, e é óbvio que as cores se misturam de uma forma natural - se você olhar para as pernas, você pode ver que a tonalidade mais escura dos azuis combinam melhor com a a tonalidade mais escura do verde . Isso deve ajudar com as cores e paletas, pelo menos as coisas importantes. É isso ai pessoal esse foi mais um tutorial sobre spriting, espero que ajude vocês a entender melhor sobre esses tais "monstros de 7 cabeças" que são as cores haha. Espero que tenham gostado e até a próxima! Créditos: Final Boss Blues (pelo tutorial) Thayam (pela tradução) Way20 (por ter me indicado mais este fucking awesome tutorial!) Link do tópico original: Using e Choosing Colors3 pontos -
(Resolvido)[Pedido] Sprite de uma sereia com perspectiva
Como o Thayam citou, tentaremos quebrar essa onda de sprites por dinheiro, bem, tentarei ajudar em que puder, também não sou nenhum profissional, comecei faz pouco tempo, fiz a sprite um pouco baseada na sua referencia, embora não ficou "igual" e então é isso, não deu pra fazer em todas as direções por que iria gastar mais tempo e estou meio ocupado o/.3 pontos
-
(Resolvido)[Pedido] Sprite de uma sereia com perspectiva
Cara, tentei fazer um esboço baseado na sua imagem (apesar de ser muitos detalhes para uma sprite pequena) Uma duvida, essa mermaid seria um monstro, outfit ou NPC? Se for monstro ou NPC, poderia ultrapassar o tamanho de 32x32 e recortá-la, ajudaria na adição de detalhes haha Antes de postar a imagem, gostaria de me desculpar, pois sei que ficou muito ruim!! Se for mais ou menos essa a sua ideia para a sprite, vou aperfeiçoando aos poucos, mas quanto a essa, desculpe mesmo pela vergonha. Ta muito longe ou longe demais do que você esperava?3 pontos
-
[MODERN AAC] Poke X Mostyer
[MODERN AAC] Poke X Mostyer
Gustavo Mello e um outro reagiu a Beeny por uma resposta no tópico
2 pontos•Imagens •Download Mediafire •Créditos Beeny Kranzix •Exclusivo TK.2 pontos -
(Resolvido)[Pedido] Sprite de uma sereia com perspectiva
Bom, vamos lá... acredito que hoje em dia, os que cobram o fazem por falta de reconhecimento, na maioria das vezes o pessoal pede a sprite pronta e não tem interesse em aprender. Quando é algo simples, eu nem me importo de fazer, mas o seu pedido é um tanto complexo, se o seu tópico solicitasse ajuda para você mesmo tentar algo, eu seria o primeiro a tentar te ajudar a conseguir um bom resultado. Enfim... Eu estou disposto a ajudar qualquer um que queira aprender. "Se deres um peixe a um homem faminto, vais alimentá-lo por um dia. Se o ensinares a pescar, vais alimentá-lo por toda a vida." Lao-Tsé2 pontos
-
[CMS] Campeonato Mensal de Scripting #01
[CMS] Campeonato Mensal de Scripting #01
Wise e um outro reagiu a xWhiteWolf por uma resposta no tópico
2 pontoscomo eu vou participar e dar nota? HHUIEUHAHUIE O motivo dos membros da staff não poderem participar é pra evitar preferências na hr de julgar o código, esse é um dos motivos pelo qual o Suicide vai me ajudar na votação2 pontos -
(Resolvido)[Pedido] Tanque de Mergulho (32x32)
(Resolvido)[Pedido] Tanque de Mergulho (32x32)
The Legend Of Atari e um outro reagiu a Thayam por uma resposta no tópico
2 pontosBom, ta de madrugada, mas ninguém dorme num calor desse, então:2 pontos -
[Sistema] Battlefield Event! V.1
1 pontoMapa BattleField Feito Por AnneMotta : Mapa Battlefield.rar Scan: https://www.virustot...sis/1346548669/ Imagens do mapa Descrição: - O evento é automático e acontece em determinado dia e hora da semana - Logo após é aberto um teleport então apenar um número limitado de players entra no evento - São formados por dois times, os "Black Assassins" e os "Red Barbarians" - Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque. - O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio. Bônus: - Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times. - Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo. - Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo. Lembre-se: - De colocar Pvp Tool na área - De colocar área NoLogout Imagens: Instalação: Data > Lib Data > CreatureScript > Script Data > GlobalEvents > Scripts Data > Movements > Script Configurações do evento1 ponto
-
OTClient 0.6.7 | 10.71
1 pontoOlá galera, como muitos estavam reclamando dos links off, e de atualizações do OTC. Ai esta a versão mais recente dele. Informação: Versão OTC: 0.6.7 Versões suportadas pelo client: 7.4 há 10.71 Compilada por: Avuenja Compilada em 16/01/2015 Imagem: Download: For Windows Abraços pessoal, as sources estão juntas. :31 ponto
-
[talkactions] Adicionar item para todos players online
[talkactions] Adicionar item para todos players online
Tumaty Vermelho reagiu a ViitinG por uma resposta no tópico
1 pontoPara quem não sabe como funciona o script é o seguinte o ADM pode usar o comando para adicionar um item para todos os players online no servidor. • Adicionando o script • Em "data/talkactions/talkactions.xml" adicione está tag : <talkaction log="yes" words="/additem" access="5" event="script" value="additem.lua"/> Em "data/talkactions/scripts" crie um arquivo lua com o nome "additem" e adicione este script nele : function onSay(cid, words, param, channel) local t = string.explode(param, ",") if t[1] ~= nil and t[2] ~= nil then local list = {} for i, tid in ipairs(getPlayersOnline()) do list[i] = tid end for i = 1, #list do doPlayerAddItem(list[i],t[1],t[2]) doBroadcastMessage(getPlayerName(cid) .. " Acabou de dar: " .. t[2] .." ".. getItemNameById(t[1]) .. " para todos os players online!") end else doPlayerPopupFYI(cid, "No parm...\nSend:\n /itemadd itemid,how_much_items\nexample:\n /itemadd 2160,10") end return true end • Configurando •1 ponto -
[PDA]Pokemon Whots 1.0
[PDA]Pokemon Whots 1.0
DarkRed reagiu a Drazyn1291 por uma resposta no tópico
1 pontoEaw Galera Hoje eu vim trazer meu servido de pokemon tibia chamado "Pokemon Whots" Oque ele tem? Rep+ System Comando de Correr Comando de !luz Comando de !afk Comando de !bug (voltar ao cp" Sistema de Anucio Ex: !anucio aeae galera. vai aparecer em verde [Anuncio]Seunick : aeae galera. Para todo Servido Entre Ooutros Sistemas Muitos Legais!!!!! Pokemon da 1 até 6 Geração (Incompleta) Arquivos imcompletos: Pokemons sem modificações no Configuration.lua Algums Bugs Facil de resolver mas estou sem tempo Scan : Cliente :https://www.virustotal.com/pt/file/31c2bc94a5a799f7ffeeec74d5844185f0693761e80cb192b9a8157f5d44b220/analysis/1412209567/ Servido : Não Conseguir Fazer Upload no Virus Total Download : Cliente : http://www.mediafire.com/download/iykh4y6uyr9xpzk/Client_Pxz.rar Servido : http://www.mediafire.com/download/vetcgsjartia38n/Pokemon_Whots.rar Creditos : Equipe Skyfall Pela Base Eu por editar Muitas Coisas Lucasmc Por Umas sprites como Iniciais de Kalos e Sprite de Meloetta Tibiaking Se Gostarem Dem Rep++ Vlw Se Gostarem Rep++1 ponto -
[DOWNLOAD] Server PokeZot
[DOWNLOAD] Server PokeZot
thyagolima reagiu a AdmAlexandre por uma resposta no tópico
1 pontoEae Galerinha do TibiaKing Hoje Venho Postar um Servidor Mais não é Feito Por Min !! Lista Completa de Pokemon Adicionados!! Sistemas Quests Alterações Prints Downloads!! -Créditos-1 ponto -
[Modern Acc] WebSite Otpokemon.com (2014) versão 1.0
[Modern Acc] WebSite Otpokemon.com (2014) versão 1.0
jottave155 reagiu a kranzix por uma resposta no tópico
1 pontoIae pessoal blz? *Sempre procurei um website igualzinho ao do otpokemon.com mas como nunca encontrei então tive a iniciativa de montar um do "0" deu um trabalhozinho mas valeu a pena!! +Aqui estão algumas imagens: ___________________________________________________________________________________________________________ Obs: No Otpokemon WebSite 1.0 as configuração do config.lua do seu servidor de poketibia so serão suportadas na versão criptografada Sha1 (Então altere para Sha1 e mysql) Não esqueça tambem de remover as linhas "----" do config.lua do seu servidor para evitar problemas futuros!. Desative o account manager do config.lua também pois se ele permanecer os irá bugar os char's e não vão poder logar no servidor. A instalação é simples não precisa de senha de administrador, terão que mudar o acesso de pagina direto do banco de dados qualquer duvida comentem! Aconcelhado usar Xampp 1.7.7 pois não tive nenhum problema com ele! ___________________________________________________________________________________________________________ *Bom essa é a versão 1.0 então não está 100% igual ao website do otpokemon.com mas irei fazer o maximo para que fique 100% igual. - O WebSite é 100% Editavel so é preciso ter os conhecimentos necessarios. ...É isso ae galera espero que curtam o website! (Em breve na versão 2.0 mas novidades aguardam) $-Obs:Caso forem compartilhar esse post, não esqueçam de deixar os creditos-$ Ahh.... Lembrando não esqueça de dar REP+ até porque deu um trabalhaço! ___________________________________________________________________________________________________________ Download:http://www.mediafire.com/download/cvttts1ae47usrb/WebSite+OTPokemon+1.0+%282014%29.rar Scan:https://www.virustotal.com/pt/file/3b20e20c6f103fd508de6693abea5e2e16c36aaff139d605124e9db183260edc/analysis/1392469897/ Aviso: A senha para descompactar o WebSite OTPokemon 1.0 (2014).Rar é: (otpokemon!) sem os parenteses. ...................................................................................................................................................................................................................... *- Creditos -* Modern Acc e (Kranzix).1 ponto -
Pyrus OT, 1.5
1 pontoPokemon Pyrus ot Antes de tudo por favor, leia abaixo: Leiam aqui plx Informações: Imagens: Creditos: Scan Extras: REP + Novidades da 1.5 Download: http://www.mediafire.com/download/d2kcwj61kwrt6gk/PYRUS_OT.rar UTILIZEI PARA EDITAR passa na page do projeto que to trabalhando pra dar aquela força https://www.facebook.com/PokemonImperiumPI/?fref=nf1 ponto
-
[OLD/OTC] Criando link de Download Direto para seu cliente!
Fala Nação TK, tudo beleza com vocês? Eu sou o Thayam, muito pouco conhecido (até porque sou muito novo no fórum), sou OT ADMIN e atualmente trabalho em um projeto de PokeTibia que divulgarei em breve. MAS O QUE ISSO TEM A VER? - Absolutamente nada, é apenas uma apresentação pessoal para aqueles que não me conhecem, enfim, recebi ajuda de muitos usuários nesse fórum e isso me motivou a tentar ajudar aqueles que também estão começando. Esse tutorial é bem simples, porém eu procurei nesse fórum e não achei nada relacionado, então achei interessante cria-lo para explicar como criar um link de Download Direto para seu client usando o DropBox! ATENÇÃO: Nesse tutorial não ensinarei a compilar o cliente, somente a disponibilizá-lo para download em um link livre de download hosters. Ok, vamos lá: 1° Passo: Entendendo o que é um Link Direto Sabe quando você acessa um site para baixar aquele cliente de servidor que você tanto quer, e ao clicar em download (normalmente está escrito Clique Aqui fazendo com que você realmente ache que ao clicar ali você já irá fazer o download do arquivo) o site te redireciona para algum download hoster dentro dos bilhares existentes - porém nem todos confiáveis - e você precisa se registrar, ou esperar 20 segundos, ou acertar aquele códigozinho ilegível chamado captcha? Então, ao criar um link direto para seu cliente, quando o usuário acessá-lo, ele irá fazer o download do seu cliente automáticamente, sem espera, nem desenhos, nem códigos (eu realmente odeio aqueles códigos) 2° Passo: Criar uma conta no DropBox Acesse o site do DropBox clicando aqui: https://www.dropbox.com/ 3° Passo: Crie sua conta no DropBox Clique em Registrar-se e preencha o formulário com os seus dados (Nome, Sobrenome, E-mail, Senha) em seguide aceite os termos e clique em Registrar-se e o site irá fazer o download automáticamente do programa (ATENÇÃO: NÃO É NECESSÁRIO O DOWNLOAD DO PROGRAMA, SOMENTE CASO VOCÊ QUEIRA O TER EM SEU PC) 4° Passo: Após o download (ou não) clicar no ícone do DropBox Após ter feito o download (ou não) do cliente do dropbox clique no ícone do site no canto superior esquerdo da tela. 5° Passo: Clicar no ícone Enviar Clicar no ícone Enviar, e em seguida clicar em Selecionar Arquivos. 6° Passo: Selecionar o arquivo em seu Computador Selecione o arquivo que você quer que os usuários baixem e clique em Abrir (No meu está Open porque meu Windows esta em Inglês) e em seguida clique em Pronto. OBS: O Arquivo que será upado não precisa necessariamente ser um arquivo zipado (.rar, .zip, .7zip etc). 7° Passo: Clique sobre o arquivo upado e copie seu link de download Clique sobre o nome do arquivo que você acabou de upar e em seguida clique com o botão direito do mouse e selecione a opção Copiar Link. 8° e último passo: Cole esse link copiado no arquivo do seu site e pronto Cole o link que você copiou no arquivo de download do seu site e pronto. RECOMENDAÇÃO: Cole o link que você copiou no seu navegador como feito na imagem do passo 8 para testar se tudo ocorreu bem E assim chegamos ao fim deste tutorial, como eu disse antes, é muito simples, mas acredito que muitos não sabiam e podem sim absorver algo de positivo deste conteúdo! É Isso galera, gostaram? se sim, comente ai em baixo, e caso não gostaram, comentem também, todas as críticas construtivas são bem vindas! Até a proxima! Créditos: ~~Thayam1 ponto
-
Arruma Acc Manager pegando com Site em Sha1 (tirar salt acc manager)
ESSE MÉTODO NÃO ESTÁ MAIS FUNCIONANDO. Talvez esse aqui posso ser mais útil http://www.tibiaking...-muito-estável/ MAS CASO QUEIRAM TENTAR MESMO ASSIM \/\/\/\/\/\/ ----------------- Muitos que não consegue colocar account manager junto com Site é porque quando criamos conta nele elá é feita senha + salt, ja no site é so a senha então para resolver esse problema é simples, mais precisa das sources da distro para compila depois. Na sources ache o arquivo iologindata.cpp, nele procure: bool IOLoginData::setPassword(uint32_t accountId, std::string newPassword) { std::string salt; if(g_config.getBool(ConfigManager::GENERATE_ACCOUNT_SALT)) { salt = generateRecoveryKey(2, 19, true); newPassword = salt + newPassword; } e onde está newPassword = salt + newPassword retire o salt ficando newPassword = newPassword Aqui você resolveu o problema de criar acconta mais caso alguem mude a senha por account manager tera o mesmo bug entao procure agora: uint64_t IOLoginData::createAccount(std::string name, std::string password) { std::string salt = generateRecoveryKey(2, 19, true); password = salt + password; e retire o salt de password = salt + password; ficando: password = password; Após isso apenas compile sua distro e estará resolvido. ---- --- Para quem quiser a distro ja Compilada > http://www.tibiaking.com/forum/topic/40463-distro-tfs-04-ant-dv-war-system-no-otbm-check-no-gerar-salt-acc-manager-pega-junto-com-site-em-sha1/#entry2305881 ponto
-
[OLD/OTC] Compactando Client com spr, pic e dat
[OLD/OTC] Compactando Client com spr, pic e dat
luanluciano93 reagiu a paulo henriqueg por uma resposta no tópico
1 pontoOlá vou postar aqui como criar 1 client sem o .spr, .dat, .pic. Para fazer seu client você vai precisar: 1º Cliente (Pode ser qualquer Client Wodbo - Tibia - Naruto - Pokemon) 2º MoleBox (pode ser encontrado no baixaki) VIDEO AULA Spoiler No Final Postarei os Links. Primeiramente: NÂO TEM COMO BLOQUEAR PARA NINGUEM COPIAR SUAS SPRITES! Existem Vários programas que desfazem essa Compilação. Como exemplo vou compilar o Tibia 8.60 Tutorial em Imagens! ________________________________________________________________________________________ Abra o Molebox Entre em Package Options Em seguida selecione o executável do teu Cliente No próximo passo selecione um local para salvar seu novo Cliente Em seguida marque a opção "compress" Pressione o botão "Add Files" Selecione os Arquivos mostrados na imagem Aperte OK Em seguida aperte "Pack" Aguarde até que todos os arquivos sejam Compilados _________________________________________________________________________________ Links: http://www.2shared.c..._By_Babidy.html http://www.4shared.c..._By_Babidy.html http://www.multiupload.nl/0LE7I45F06 SENHA: babidy SCAN: https://www.virustot...sis/1355177552/ Creditos para Babidy1 ponto -
Broadcast System 100%
Broadcast System 100%
Miragem reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala galera do TK, hoje vim trazer um script que eu já fiz a algum tempo prum cara no suporte, é nada mais e nada menos doque um sistema de broadcast onde players maiores que um determinado level pagam um determinado valor de gp's para soltarem uma mensagem para o server todo. talkactions\scripts\broadcast22.lua: local config = { storage = 19400, -- storage em que será salvo o tempo cor = "advance", -- de acordo com o constant.lua da lib tempo = 2, -- em minutos price = 1000, -- preço pra usar o broadcast level = 100 -- level pra poder utilizar o broadcast } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if getPlayerLevel(cid) >= config.level then if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then if doPlayerRemoveMoney(cid, config.price) then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*60)) doBroadcastMessage("[BROADCAST] "..getCreatureName(cid)..": "..param.."", config.cor) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You have successfully sent a broadcast, now you'll have to wait " ..config.tempo.. " minute(s) until you broadcast again.") return false else doPlayerSendCancel(cid, "You don't have " ..config.price.. " gp's for broadcasting.") return false end else doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.") return false end else doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.") end end e em talkactions.xml adicione essa linha: <talkaction log="yes" words="/all" event="script" value="broadcast22.lua"/> Da forma que tá configurado os players nv 100 ou mais poderão digitar /all Mensagem e por apenas 1000 gp's eles falarão a mensagem para o server inteiro, feito isso ele terá que esperar 2 minutos para mandar outro broadcast. Se você quiser mudar a cor é só ir no constant.lib e procurar algo parecido com isso daqui: MESSAGE_TYPES = { ["advance"] = MESSAGE_EVENT_ADVANCE, ["event"] = MESSAGE_EVENT_DEFAULT, ["white"] = MESSAGE_EVENT_DEFAULT, ["orange"] = MESSAGE_STATUS_CONSOLE_ORANGE, ["info"] = MESSAGE_INFO_DESCR, ["green"] = MESSAGE_INFO_DESCR, ["small"] = MESSAGE_STATUS_SMALL, ["blue"] = MESSAGE_STATUS_CONSOLE_BLUE, ["red"] = MESSAGE_STATUS_CONSOLE_RED, ["warning"] = MESSAGE_STATUS_WARNING, ["status"] = MESSAGE_STATUS_DEFAULT } Uma imagem pra vcs verem como é:1 ponto -
[talkaction] Mandar mensagem para pasta do servidor
[talkaction] Mandar mensagem para pasta do servidor
kombosabo666 reagiu a ViitinG por uma resposta no tópico
1 pontoPara quem não sabe como funciona o script : É um comando que o player poderá usar para reportar bug's direto para o ADM do servidor com um intervalo de 60 minutos(configurável) O bug será enviado para um log(bloco de notas) que será criado na pasta do servidor ! • Adicionando o script • Em "data/talkactions/scripts/reportbugs.lua" : function onSay(cid, words, param, channel) if os.time() > getPlayerStorageValue(cid, 14001) then setPlayerStorageValue(cid, 14001, os.time()+3600) local file = io.open('log.txt','a') file:write(getCreatureName(cid)..": "..tostring(param).."\n") file:close() doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING,'Mensagem enviada com sucesso.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING,'Você não pode mandar outra mensagem ainda. Falta(m) '..(math.ceil((getPlayerStorageValue(cid, 14001)-os.time())/60)+1)..' minuto(s) para você poder mandar uma nova mensagem.') end return TRUE end Em "data/talkactions/talkactions.xml" : <talkaction words="/reportbug" event="script" value="reportbugs.lua"/> • Imagens • Quando utilizar o comando : Quando utilizar o comando sem esperar o tempo : Dentro da pasta do servidor é criado um txt chamado "log" e dentro dele ficará as mensagens : • Configurando •1 ponto -
[TalkAction] Sistema de Frags
[TalkAction] Sistema de Frags
samuel.show reagiu a yogo por uma resposta no tópico
1 pontoOlá, hoje venho apresentar o script, Sistema de Frags, este script faz com que abra uma janela em game, e depois na janela apresente os 'Top Killers' do servidor. Bom, vamos lá. Primeiro, abra a pasta de seu Servidor > Data > TalkActions > Scripts, lá copie qualquer arquivo.LUA e renomeio como "topkillers" e nele coloque isso: Agora, vamos em seu Servidor > Data > TalkActions > TalkActions.XML lá adicione está linha: Salve e Feche. Abra seu servidor e veja os 'Top Killers' Bom esse script, eu só editei. Obrigado pela Atenção. Abraços.1 ponto -
Tibia IP-Changer 9.31
Tibia IP-Changer 9.31
Alan Vandre reagiu a Raul Neiva por uma resposta no tópico
1 pontoTUTORIAL: Tibia IPChanger 9.31 - OtLand Fala galera do TK, Estarei ensinado a vocês hoje,como utilizar o IPChanger 9.31 da OtLand. Para utiliza-lo é bem simples,basta apenas fazer o download do mesmo e configurar a versão do cliente do Tibia que desejar(lembrando que ele serve para todas as versões até a 9.31) Primeiramente,faça o Download do arquivo. Após ter feito o download,extraia o arquivo para um local de fácil acesso,de preferência na área de trabalho. Depois de ter extraido o arquivo,aparecerá o Incone do IPChanger,abra-o. Com o IPChanger aberto,clique em Settings,abrirá uma aba das configurações do IPChanger.Logo abaixo terá a opção "Configure client versions",clique em "Add new Tibia client". Abrirá outra aba novamente,porém está será a aba que você escolherá a versão do Tibia.Em "Version" coloque a versão desejada(9.31).Do lado de version tem a opção "Path",clique em Browse e selecione a pasta do tibia(normalmente é: C:\Arquivos de programas\Tibia).Após ter escolhido a versão desejada e a pasta do tibia,clique em Add,verifique naa aba Settings se contém a versão instalada(9.31),logo após,feche-a. Seguindo todos as opções acima,você estará com o seu IPChanger configurado e pronto para ser utilizado. Espero que gostem,faça bom proveito ! OTLand-IP-Changer.rar1 ponto -
Mostra a imagens do item ao catar o loot
Mostra a imagens do item ao catar o loot
Leandro Elite reagiu a CarlosHenrique7457 por uma resposta no tópico
1 pontoBom, gostaria da ajuda de vcs se puderem ajudar ner. Eu consegui implantar o systema de altoloot da pxg na minha base. Juntei o systema de altoloot /addloot, com o systema de altoloot pxg de um membro aqui do fórum. é o seguinte queria colocar pra aparecer o item que veio para minha bag quando eu dou use o corpo do mostro Tipo da pxg. Como o da pxg Up1 ponto -
8.5 PokexVnzl
8.5 PokexVnzl
Bluetooth reagiu a mestre server por uma resposta no tópico
1 ponto•Informaçoes 1.0V •Mapa com hunts Kantos •Server Sem level! •Clan System (Pda Slicer). •Pokes Até 1 até 2 geração •Novas Sprinters Adicionado. •Taunt 100% Paras os rank 5 •Novos items Adicionado No Servidor. •Clan System 100% •Arrumado Algums bugs que crash map •Shinys Espalhados pelo map. •Moves System (m1 a m12) . •Maximo de pokemon 6 na Bag. •Order 100%. •Outland 100% Com quests Ganha boosts •IconSystem 100% Imagems •Novos Items •Legendary Quest •Porygon Quest •Sprintes Atulizada Screen Shoot Do Mapa Download : Server - http://www.mediafire.com/download/puc9x6o8lo6i6af/Server+PxVzla.rar Scan - https://www.virustotal.com/pt/file/a5b16167f7c0599716c03d0d379858f337726216d958eef9455298b1e7daa99f/analysis/1386175577/ Cliente - http://www.mediafire.com/download/hk0ubgqglgb6a8m/PxVzla+Client.rar Scan - https://www.virustotal.com/pt/file/bdf2d1e90d8f65086343bab9ae7b681dd3945b9bdfa4e713b6ee555835a2c7fa/analysis/1386176114/ Senha do God acc - yoelvis senha - 2006905 Creditos : Yoelvis Sneider Master Server Caso esteja esquecendo alguem desculpa :x1 ponto -
Script CASINO Blackd NG
Script CASINO Blackd NG
Safadinsafadin reagiu a oclipper por uma resposta no tópico
1 pontoQuer um Script de Casino pra otserver/global de qualquer versão sem precisar crackiar nada? Com o Blackd NG é possivel ter um Casino com ou sem Dice ! O Script é simples e sem Bug, nem precisa baixar nada. 1- Deixe o personagem como na foto a seguir: Script com Dice deixe apenas 1 dado dentro da BP aberta 2- No Blackd NG, abra o CaveBot 3- No CaveBot, vá em edit cole o Script (codigo) e clique em Load Script. Script COM dado Script SEM dado Download do Bot disponivel no proprio site do Blackdtools: http://www.blackdtools.com1 ponto -
[TUTORIAL] Usando e Escolhendo Cores - Spriting
[TUTORIAL] Usando e Escolhendo Cores - Spriting
Thayam reagiu a xWhiteWolf por uma resposta no tópico
1 pontoSó pra complementar esse tutorial que está muito bom: fonte: viverdeblog.com1 ponto -
[TUTORIAL] Pensando em Cores - Spriting
Perfeito Thayam, eu também estava pensando em traduzir e trazer aqui pro TibiaKing, mas você foi mais rápido, enfim... É um ótimo conteúdo, tenho certeza que vai ajudar muitos membros que venham a se aventurar na área de Spriting.1 ponto
-
[Poketibia] JhonBot
[Poketibia] JhonBot
Jhonatan Carvalho reagiu a CarlosHenrique7457 por uma resposta no tópico
1 pontoBom, quem fez a doação e nao conseguiu ativar o Jhonatan Carvalho me mandou a versão funcional basta baixa o arquivo ir em C:\Program Files\JhonBot substitui pelo existente dae abre normalmente e põe tua key lá novamente. Vai ativar na hora. https://www.mediafire.com/?j2p13hvw49j5asn (e se a pesca nao estiver funcionando corretamente, basta mudar o tempo pra 20 Segundos)1 ponto -
(Resolvido)[Pedido] Talkactions
(Resolvido)[Pedido] Talkactions
ADM Kinomotu reagiu a Thayam por uma resposta no tópico
1 pontoAqui vai um caso o do amigo acima não seja do seu agrado: Vá na pasta data\talkactions\scripts e crie um arquivo chamado compravip.lua e dentro adicione: local a = { ITEM = {2145, 10}, -- ID do item (no caso, diamond) , Quantidade de diamonds para comprar a vip! DAYS = 30 -- Dias de vip } function onSay(cid, words, param,channel) if getPlayerItemCount(cid, a.ITEM[1]) >= a.ITEM[2] then doPlayerAddPremiumDays(cid, a.DAYS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu "..a.DAYS.." dias de vip account! Faça bom proveito!") doSendMagicEffect(getCreaturePosition(cid), 28) --efeito que aparecerá quando o player comprar a vip (configurável) doPlayerRemoveItem(cid, a.ITEM[1], a.ITEM[2]) else doSendMagicEffect(getCreaturePosition(cid), 2) -- efeito caso o player não possua os diamonds para a compra (configurável) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe mas você não tem Diamonds suficientes para ativar sua vip.") end return TRUE end Agora vamos adicionar a Tag, vá em data\talkactions e abra o talkactions.xml, dentro adicione isso: <talkaction words="!buyvip30;@buyvip30" event="script" value="compravip.lua"/>1 ponto -
(Resolvido)Movements com efeito
(Resolvido)Movements com efeito
Hoad reagiu a xWhiteWolf por uma resposta no tópico
1 pontotesta agr rapaz function onStepIn(cid, item, position, fromPosition) local maxmana = getCreatureMaxMana(cid) local maxhealth = getCreatureMaxHealth(cid) if isPlayer(cid) then doSendMagicEffect(position, 39) doCreatureAddHealth(cid, maxhealth) doCreatureAddMana(cid, maxmana) doPlayerSendTextMessage(cid, 22, "You have been restored.") end return true end1 ponto -
(Resolvido)Movements com efeito
1 pontoTenho esse script caso lhe ajude ( Recupera Life e Mana): Vai em globalevents.xml e coloca: Depois vá em Globalevents>script e cria um lua com o nome areahealth Onde está em Vermelho é a posição do tile que irá curar. Onde está em Verde é o quanto você quer que recupere.1 ponto
-
(Resolvido)Movements com efeito
1 pontotenta assim: function onStepIn(cid, item, position, fromPosition) local maxmana = getCreatureMaxMana(cid) local maxhealth = getCreatureMaxHealth(cid) if isPlayer(cid) then doSendMagicEffect(position, 39) doCreatureAddHealth(cid, maxhealth) doCreatureAddMana(cid, maxmana) doPlayerSendTextMessage(cid, 22, "You have been restored.") end return true end1 ponto
-
[PEDIDO] OTX COM CAST SYSTEM
[PEDIDO] OTX COM CAST SYSTEM
Source reagiu a Natanael Beckman por uma resposta no tópico
1 pontoDATA - CAST MYSQL - CAST1 ponto -
(Resolvido)math.random
1 pontoif getPlayerStorageValue(cid, 3509) > 0 then math.randomseed(os.time()) local rand = math.random(1,45) if rand == 1 then doPlayerAddItem(cid, 2488, 1) -- Crown Legs doSendMagicEffect(getPlayerPosition(cid), 12) end end1 ponto
-
como criar sprites
1 pontoBom dia amigo, Não sou nenhum profissional em spriting, também estou aprendendo e digo que aqui no fórum existem bons tutoriais pra que você consiga ter um ponto de partida interessante! Algumas dicas que eu posso dar: As sprites no tibia são do tamanho 32x32 (padrão), isso quer dizer que uma imagem com o tamanho maior que isso teria que ser recortada e encaixada no object builder para que fosse reconhecida no jogo. Como a sua sprite é do Oshawott que é um Pokémon de porte físico pequeno, então não tem motivos para que agente ultrapasse esse tamanho, visto que ele não deve ser um pokémon gigante no jogo haha. Quanto a coloração, uma coloração de 3 cores como na sua sprite acaba deixando ela fora das noções do jogo, tendo em vista que a luz sempre vem do noroeste, adicionar uma sprite da forma como está pintada, deixaria ela fora das proporções de cores do jogo, então sempre imagine a luz vindo do noroeste da sua sprite, e partir dai, pense em que pontos do seu desenho a iluminação seria maior, e em qual seria menor. Créditos da imagem: Way20 Tendo em mente essas coisas, criei um modelo de Oshawott mais compatível com o Tibia para você ter uma idéia do que estou falando Aproveitei também e criei ele de costas também, nessa parte que você estava com dúvida a ideia é sempre conhecer perfeitamente o que você está reproduzindo, para reproduzir um pokémon de costas, você tem que se lembrar de todos os detalhes que esse pokémon tem ao se virar de costas (olhando para o Norte), para que sua reprodução saia fiel ao original. Quando comecei a fazer sprites o membro Way20 me ajudou muito, e me sugeriu alguns sites para que eu aprendesse sobre o assunto, então vou repassar para você, espero que sejam úteis, pois pra mim me ajudaram muito!: Técnicas básicas de Pixel Art. http://www.pixelaria.org/tutorialpt3 2 ótimos tutoriais de cores que me ajudaram muito no começo (Inglês). http://finalbossblue...nking-in-color/ http://finalbossblue...hoosing-colors/ Outro tutorial abordando cores http://www.pixelaria.org/tutorialpt51 ponto
-
Problemas VPS
1 pontoArrisco um chute: acho que você deve estar sofrendo ataques que provavelmente está influenciando na rede da infraestrutura e prejudicando outros clientes, com isso devem ter dado essa desculpa pra tentar forçar você a sair.1 ponto
-
(Resolvido)[PROBLEMA] Ao conectar no meu otserv
(Resolvido)[PROBLEMA] Ao conectar no meu otserv
lastdemon reagiu a MoopieHead por uma resposta no tópico
1 pontoAmigo, abra o executar e digite cmd, em seguida digite ipconfig. Entre pelo seu Endereço IPv4. Aqui resolveu, todos estavam conseguindo entrar de boa, porém aqui estava dando como offline, entrei pelo Endereço IPv4 e funcionou!1 ponto -
Problemas VPS
1 pontoUsou windows alguma vez? baixe seu website passe um antivirus nele veja se há a existência de alguma Shell C99 ou algum php que faça ataque DoS isso é o mais próximo que eu posso imaginar, cheque quantos users existe na sua máquina. Só você acessa certo? caso contrário tome cuidado com quem você compartilha a VPS!1 ponto
-
[Duvida] Mudar db
1 pontoBom, acredito a única forma de mudar os passwords de plain pra sha1 é resetando os passwords e colocando 1 password padrão para todas as contas no caso ficaria assim. No caso o player só precisaria saber da account de cima e colocar esse password padrão, entrando ele iria no site e iria mudar esse password. Esta é a única maneira possível de se fazer caso contrário você terá que resetar o servidor!1 ponto
-
(Resolvido)[PROBLEMA] Ao conectar no meu otserv
@MoopieHead Já que resolveu, se possível, compartilhe a solução do problema para que outros membros do fórum (como o membro acima) possam conferi-la e solucionar também.1 ponto
-
Sistema Tipo PXG(Help)
Sistema Tipo PXG(Help)
Kewen Batista reagiu a gristony por uma resposta no tópico
1 pontotenta assim obs nao testei1 ponto -
O que é mapear? - Parte três [1/2]
O que é mapear? - Parte três [1/2]
Aoshi Shinomori reagiu a GoTheHell por uma resposta no tópico
1 pontoEai galera beleza? Hoje eu vou estar trazendo a terceira parte de vários tutorias explicando o que é e como funciona a arte de mapear. Os tópicos que serão tratadas são: --> O que é o mini-map; --> Introdução à randomização de bordas; --> Introdução ao detalhamento; 1º O que é o mini-map? Mini-map (ou mini mapa) é uma parte específica do jogo o qual você pode observar o mapa, mas de uma forma mais diminuída. Ou seja, mini-map é uma parte que mostra a dimensão do mapa o qual você está criando ou, quando jogando, o tamanho do mapa em que se encontra. Mas geralmente muitas pessoas não se importam com o mini-map. Está ação geralmente não pode ocorrer, apenas em alguns casos como por exemplo criar um mapa apenas para mostrar suas habilidades (aonde o mini-map não vai ser mostrado), ou coisa do tipo. Porém, se você estiver em algum projeto, você mapper não pode fazer um mini-map feio. Geralmente o mini-map não possui tanto detalhes como o mapa em que você cria, ou que o jogador está jogando. Ou seja, podemos dizer que a qualidade do mini-map é inferior ao mapa real, mas não podemos desprezá-lo. 2º Introdução à randomização de bordas. Randomização de bordas é, de uma forma bem simples, fazer com que as bordas fiquem mais aleatórias (you don’t say). Mas como assim, fazer com que elas quem mais aleatórias? Podemos explicar isso observando a imagem abaixo. Como podemos ver, as bordas que foram feitas com a função de auto-border ficaram quadras, chegam a ficarem feias. Por outro lado, as bordas que foram feitas manualmente, ficaram de certa forma mais agradáveis, e possuem uma variação de bordas. Mas que variação de borda? Podemos não ver muito bem passando o olho rapidamente sobre a imagem, entretanto, se você observar bem, existem duas bordas, uma sobre a outra, dando uma variação. Quando você está criando seus mapas, existem diversas bordas que podem ser modificas, fazendo-as mais agradáveis, mais agressivas, ou até mesmo deixando-as mais bonitas. Observando as imagens abaixo, você pode ter noção de quantas variação de bordas podem existir. Foi explicado o que é randomização de bordas, as diferenças de bordas automáticas e manuais e as variações que podem existir. Devemos, agora, explicar como fazer. Não vou mentir para vocês, no começo é um saco, pois é demorado e entediante (mas como foi dito no primeiro tutorial, é preciso paciência e tempo disponíveis para mapear), mas com o tempo você pega a manha e passa a ser mais rápido, fácil e eficiente. A randomização é algo que você deve treinar. Observe o gif abaixo e logo em seguida tente você mesmo. 3º Introdução ao detalhamento. Detalhar é uma ação de fazer, neste caso, um ambiente mais bonito e agradável, sem esquecer da jogabilidade, que não pode desaparecer. Quais ambiente devemos detalhar? Sinceramente, a maioria. Grande parte dos mapas que você for fazer, a ambientação e o detalhamento são muito importantes. Os únicos casos que você não vai precisar detalhar, na minha opinião, é quando o mapa já possui muitos itens. Caso coloque mais itens, seu mapa vai ficar spammed. Mas como podemos detalhar ambientes? Cada ambiente que você cria é diferente, então cada um vai ter seu tipo de detalhamento. Vamos pegar um exemplo básico, uma floresta. O que existe em uma floresta além de árvores? Plantas, grama, terra, barro, pedras (grandes e pequenas) e assim por diante. Então só podemos pensar que irá utilizar pedrinhas ou grama como forma de detalhar. Não só isso, mas a utilização de bordas podem ajudar no detalhamento. Espero que gostem. Ps.: Infelizmente esse tutorial ficou meio grande, então eu decidi dividir em duas partes Continuação (Em breve)-> <- Segunda tutorial.1 ponto -
[Heelp]Object Builder
1 pontoTentou desinstalar e reinstalar o Adobe AIR? se nada resolver, tenta usa esse https://www.dropbox.com/s/qf1r7tnsxk8ydv9/ObjectBuilder0_3_4_CR.rar?dl=01 ponto
-
(SIMPLES) Mensagem Quando Staff Logar
(SIMPLES) Mensagem Quando Staff Logar
NighteyeTV reagiu a Erik Cazo por uma resposta no tópico
1 ponto• O que Faz ?• Toda Vez que Um Menbro da staff entrar aparece uma mensagem na tela Avisando e bem simples e fácil Bom Vamos lá 1• va em data\creaturescripts\scripts Crie Um arquivo chamado Admlg.lua e adicione isso dentro function onLogin(cid) if getPlayerGroupId(cid) >= 3 then doBroadcastMessage("Staff [".. getCreatureName(cid).."] Entrou no Servidor") end return true end Explicando: Vermelho = não mude nada verde = mensagem que irá aparecer 2• Va em data\creaturescripts\ Abra o arquivo creaturescripts.xml e adicione essa tag; não mude nada Pronto Agora e so Aproveitar o Script1 ponto -
Novo sistema de noticias
Novo sistema de noticias
Peixola reagiu a MaXwEllDeN por uma resposta no tópico
1 ponto#Instalação Copie qualquer arquivo com a extensão .lua na paste data/lib, renomeie ele para Scroll.lua, exclua todo o conteúdo e cole este código nele: http://pastebin.com/VCwaULJs Na pasta data/globalevents/scripts copie qualquer arquivo com a extensão .lua, renomeie ele para Propaganda.lua, abra ele delete todo o conteúdo e cole este código: http://pastebin.com/pvAanCZW No pasta data/globalevents/globalevents.xml adicione a seguinte tag: <globalevent name="prop" interval="180000" event="script" value="Propaganda.lua"/> #Demonstração1 ponto -
[Resolvido] [PEDIDO] Outfi e item na quest.
Primeiramente vai na PASTA DO OT/DATA/ACTION/SCRIPT... crie um arquivo. lua com o nome outfitquest.lua e cole isso dentro function onUse(cid, item, itemEx, toPosition, fromPosition) if getPlayerStorageValue(cid, 30003) ~= 1 then setPlayerStorageValue(cid, 30003, 1) doPlayerAddOutfit(cid, 287, 3) doPlayerAddOutfit(cid, 312, 3) doPlayerSendTextMessage(cid, 22, "Você Ganhou Um Novo Outfit.") else doPlayerSendCancel(cid, "O Baú Está Vazio.") return true end return true end Em vermelho é a storage que o player recebera! em roxo é o outfit para player male! em azul outfit para player female! o numero em verde é o numero da parte dos addons que o player recebera.. no caso está pra receber as 3 partes! Depois que fizer isso salve feche e vai na PASTA DO OT/DATA/ACTIONS/ACTION.XML abra e adicione a tag <action uniqueid="30003" event="script" value="outfitquest.lua"/> Depois de ter feito isso vá na PASTA DO OT/DATA/XML/OUTFIT.XML e cole essas tags <outfit id="PROXIMO ID DO ULTIMO OUTFIT QUE TIVER NA SUA PASTA EX: SE O ULTIMO FOR 15 COLOQUE 16" quest="30003"> <list gender="0" lookType="ID DO OUTFIT FEMALE" name="NOME DO OUTFIT FEMALE"/> <list gender="1" lookType="ID DO OUTFIT MALE" name="NOME DO OUTFIT MALE"/> </outfit> Pronto!1 ponto
-
[Action] Controlled Attack
1 pontoATENÇÃO: NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO. MEU MSN: [email protected] Pretexto: Olá, este é o meu primeiro tópico aqui no TibiaKing, e resolvi trazer pra vocês um script que eu criei, e que estava criando mofo no meu PC haha, eu não vou explicar muito, eu coloquei um vídeo que explica melhor o que o script faz. Explicando: O script é basicamente um ataque que tem uma rota controlada por você, usando ctrl + setas, para direcionar o ataque. - Tempo de controle limitado - Não tem efeito em proction-zone - Os danos são: level do jogador (min), e level do jogador x 3 (max) - Mana gasta: level do jogador x 6 Script: [data/actions/scripts/cattack.lua] function onUse(cid, item, fromPosition, itemEx, toPosition) minMana = getPlayerLevel(cid) * 6 onoff = 4956 quantx = 0 quanty = 0 function setAxis() o = getPlayerPosition(cid) xe = o.x ye = o.y ze = o.z tempo = 3 velocidade = 150 end function doEffect() pos = {x=xe+quantx,y=ye+quanty,z=ze} if getPlayerMana(cid) < minMana then setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getTilePzInfo(pos) == FALSE then local ef = 6 of = 2 doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, pos, 0, -getPlayerLevel(cid), -getPlayerLevel(cid) * 3, ef) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") else doSendMagicEffect(pos,of) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") end addEvent(checkDir,velocidade) end function checkPer() if getPlayerStorageValue(cid,work) == 1 then checkTime() end end function checkTime() if tempo > 0 then doEffect() else stop() end end function stop() posi = {x=xe+quantx,y=ye+quanty,z=ze} doSendMagicEffect(posi,49) doSendAnimatedText(posi,"...",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) addEvent(doPlayerSendCancel,800,cid,"Tempo restante: 0.") end function minusTime() if getPlayerStorageValue(cid,onoff) == 0 then elseif tempo > 0 then doPlayerSendCancel(cid,"Tempo restante: "..tempo..".") tempo = tempo - 1 addEvent(minusTime,1000) elseif tempo == 0 then stop() end end function checkDir() po = getCreatureLookDirection(cid) if po == NORTH then quanty = quanty - 1 elseif po == SOUTH then quanty = quanty + 1 elseif po == WEST then quantx = quantx - 1 elseif po == EAST then quantx = quantx + 1 end checkPer() end if getTilePzInfo(getPlayerPosition(cid)) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"PZ!",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerMana(cid) < minMana then doSendAnimatedText(getPlayerPosition(cid),"MANA",TEXTCOLOR_LIGHTBLUE) doPlayerSendCancel(cid,"Você precisa de "..minMana.." de mana para isso.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerStorageValue(cid,onoff) == 0 then setPlayerStorageValue(cid,work,1) setPlayerStorageValue(cid,onoff,1) doPlayerAddMana(cid,-minMana) doPlayerSetNoMove(cid,1) setAxis() minusTime() checkDir() else doPlayerSendCancel(cid,"Contagem cancelada.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) end return TRUE end "velocidade = 150": velocidade em milisegundos "tempo = 3": tempo em segundos Tag: [data/actions/actions.xml] <action itemid="xxx" script="cattack.lua"/> Note: xxx é o ID do item que será utilizado. Vídeo:1 ponto