Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. 6 pontos
    Com esse tutorial vou ensinar a cortar sprites de forma rápida. Utilizei o Adobe Photoshop CS6 (inglês) no tutorial mas acredito que versões anteriores tenham as mesmas ferramentas. O tutorial será todo com imagens qualquer dúvida que aparecer eu esclareço. 1° Passo: 2° Passo: 3° Passo: obs: Não é necessário colocar "8 e 6", isso é a quantidade de linhas e colunas. 4° Passo: 5° Passo: Resultado:
  2. Aula 2 # Orcs - Academia do Pixel

    Sphynx1 e 4 outros reagiu a WooX por uma resposta no tópico

    5 pontos
    Boa noite a todos! Primeiro queria pedir desculpas pela demora desse tutorial, meu dia a dia anda muito corrido. Bom... esse é o segundo tutorial/aula da academia do pixel, desta vez sobre Orcs. Aqui vocês vão aprender: Características Antes de tudo temos que estudar as características dos Orcs, breve pesquisa na internet. Wikipédia: é retratado como um gigante ou simplesmente como um homem maior do que o normal e de aparência brutal, possuem uma variedade de tons de verde maior que de outras cores,diferente dos ogros que só tem um tom de verde. Sugiro também pegar alguma imagem para usar de referência, é sempre bom pra estudar a anatomia do ser em questão, vou usar a seguinte imagem como referencia no tutorial. Outline Antes de tudo, vamos definir a área em que iremos trabalhar, eu vou usar um tamanho maior que o comum. Então abra o Paint escolha o tamanho que irá usar e faça uma linha diagonal para ter noção de perspectiva. Após definida a área, podemos começar a Outline baseado no que aprendemos e olhando a referencia, eu costumo sempre começar pela cabeça, ir rascunhando/rabiscando e alinhando pouco a pouco. Após terminado a Outline e definido as formas, usaremos um método usado para checar a perspectiva de humanoides, faça um 2 linhas horizontais, 1 na altura dos ombros para checar se estão alinhados e outra na altura das mãos para checar se também estão alinhadas. Agora faça novamente a linha diagonal para checar se a perspectiva esta correta, a linha deve começar no pé direito e passar pelo olho direito. Se depois de checado estiver algo errado, conserte, depois de corrigido podemos passar para o próximo passo. Detalhes Agora vamos colocar alguns detalhes na Outline, tem que ser algo que de um destaque ao nosso Orc, algo que o diferencie de um Orc comum, pode ser algum escudo, lança, espada, coisas do tipo, nessa parte o limite é sua criatividade, se estiver sem ideias busque auxílio nas referências. Eu decidi fazer um axe semelhante ao da minha referência. Lembre-se tudo tem que estar na perspectiva, você não pode fazer uma criatura na perspectiva e colocar 1 detalhe que esteja fora da perspectiva, NÃO faça isso! Pintura Antes de começar a pintura precisamos das cores óbvio, eu não pretendo explicar como funcionam as cores neste tutorial, portanto sugiro que usem as cores da própria referência, usando a ferramenta conta gotas vamos criar uma paleta, pegue do tom mais escuro ao mais claro de cada cor, procure não pegar muitas tonalidades de uma só cor, sugiro no máximo 5 tonalidades, não se esqueça de manter um bom contraste. Feito a paleta, vamos definir aonde vai ficar cada coisa, pinte com o tom médio cada parte da Sprite. Agora vamos entender como funciona a luz na perspectiva, a luz na perspectiva do Tibia sempre vem do noroeste, portanto o sudeste deve ser mais escuro, um erro muito comum entre iniciantes, é simplesmente criar uma ponte de cores, da mais clara para a mais escura, esse é o grande erro de muitos, NÃO faça isso! As características devem ser levadas em conta quando formos sombrear, não deve ser esquecido nariz, boca, barriga, músculos etc... abaixo uma ilustração de como deve ser os pontos de luzes e sombras. Veja agora pintado de forma correta, note o volume na Sprite. Finalização Nesta parte, vamos corrigir algumas coisas da Sprite, vamos consertar tudo que não esteja agradável, procure algo que não esteja te agradando na Sprite e conserte aquilo, eu por exemplo vou fazer 1 pescoço no Orc. Não se esqueça também de substituir a cor preta dentro da Sprite, por uma cor bem escura, mas NUNCA preto, somente a Outline (contorno) deve ser preto. Resultado final após alguns ajustes: É isso pessoal, não é 1 super tutorial, mas acho que da pra tirar algo disso, vou deixar aqui a Sprite finalizada e as cores que utilizei para fazer. Desejo boa sorte a todos que forem participar!
  3. Server Pokemon Black Fire

    LucasEduardo e um outro reagiu a victor0707 por uma resposta no tópico

    2 pontos
    - Base PokeXRain - 1 a 2 Geraçao - Addon System Editado - VIP System ( Comando !buyvip ) - Possui Alguns Bugs Nas Hauses - Editada Cidade VIP - Adicionado Novas Quest - Sprites da PXG Adicionadas - Envasao Automaticamende de 13:00 Ate 23:00 Aparece Pokes Acada 1 Minuto - Teletransporte VIP De Quests VIP Adicionada - Algumas Partes de Saffron Editadas - Adicionadas Elite Evoluçoes OBS: 4Shared Ja Possui Scan> Download: Baixar Para Editar a Invasao ou removela va em data\globalevents\scripts\invasao - Algumas Fotos do Server - Creditos
  4. Eae Galera do TibiaKing É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min Espero que Gostem Oque eu Fiz ? | Novo Visual do Templo Totalmente ICE | Critical System | Task System | Dodge System | Run Event (CORRIDA MALUCA) | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS ) | War System (100% RODANDO EM SQLITE) | Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true ) Duvidas entrem em http://www.tibiaking...os-na-distro/ | PvP Balanceado Agora com mais RPG | Armas Arrumadas Para Melhor PvP | Varios Eventos Automaticos | Battle Field Event | Capture The Flag Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Distro 0.4 Rodando 100% ( Se For 64x Bits) | Refinamento ( Aprimora seus Equipamentos ) | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Outras Coisas | SENHA DO GOD: rox/styller | Aqui Vai Umas Prints | Castelo Reset System | Nova Imagem do Templo | Área Donate | Mostra de Itens Donate + Eventos | Download | Scan | Créditos | Gostou ? Então dei um REP
  5. Global Map Full - By NvSo

    edilmodotibia reagiu a .HuRRiKaNe por uma resposta no tópico

    1 ponto
    Informações: » Map RL 8.60, Com Novas Áreas; » Distro 100% - Sem Erros; » Magias Novas; » Monstros 100% RL; » Addons 100% RL; » NPC's 98% RL; » Addon Bonus 100%; » Items 95%; » War System 100%; » Quests RL 90%; » Servidor 100% Estável; Screen's: Download Server / Scan: » Download Server: http://www.mediafire.com/?9dw90td7e8bp955 » Scan Server: OBS: Não realizei o scan porque o arquivo ultrapassa o limite de 32MB no virustotal! Account GOD: tibia / tibia Créditos: NvSo Kaiser e The OTX Team TheForgotten Server Cipsoft Animal Pak
  6. Confira Novo Servidor Baiak Devilbaiak.ml Olá Galerinha Tibiana! Durante 3 anos o baiak ainda está se atualizando cada vez mais e agora eu venho trazer a nova versao 10.10 não esta 100% mais garanto que vao gostar,entao vamos ver oque há de novo nele ? Essa Nova Versão eu conseguir criar em apenas 2 dias e meio e nao deu tempo de testar mais se houver bugs comentem por favor. Versão x10.1- 1.0 Oque há de novo ? • Todas as mountarias da versao 10.10 • Todos os outfits 10.10 • Todos os items 10.10 • Monsters ainda em andamento. • Templo com cara de 10.10 • City Vip com novo visual 10.10 • War System 100% - Comandos :/war invite,nomedaguildrival outra guild ativar a war /accept war,guildrival cancelar war . /war cancel,guildrival • Cast System 100% - Comandos:!cast list para ver casts abertos,!cast nomedoplayer para entrar, !cast exit para sair do cast que voce está !cast on para voce abrir um cast e !cast off para sair • Novo Npc no templo que vende items 10.10 • Novo npc que vende items vip • Bug das houses retirados • Bug da Sql retirado • Novos Comandos /rank !mount nomedamount !addon nomedoaddon !changesex !buyhouse,!leavehouse,alana res,!sellhouse funcionando 100% e muito mais que nao veio na cabeça mais quando eu lembrar posto. O Servidor está em SQL pronto para por online e os erros do distro nao encomodam o server. • Baiak Yurots V5.2 Oque Mudou ? •Tirei bug das houses •Tirei todos os erro do distro •Arrumei o lado >> da city vip agora mais rox. • Baiak Yurots V5.1 Oque Mudou ? • Mudei a Quest do templo lv 150 ganha 2kk agora ganha só 500k • Melhorei os teleports master lv 300+ agora tem 4 novas quest e 2 hunt + • Mudei respaw de todas as hunts free , vip e master agora ta 5x melhor. • Mudei Tempo da loteria tava 15 em 15 minutos agora ta de 1 em 1 hora. • Melhorei a Exori gran do kina. • Mudei os loot do monster bosses agora igual da versao 10.30 do global • Adicionei quest do addon doll na area d lvel 300+ • Adicionei Quest do 2kk na area d Lvl 300+ • Adicionei Quest do necromancer shield na area de Lv 300+ • Adicionei Quest do Dwarven Set e hornede helmet na area de level 300+ • Adicionei o novo monster Master Medusa Lv 300+ • Adicionei 2 novas hunt de Master Medusa. Se eu lembrar mas alguma coisa eu posto. :S • Baiak Yurots V5.0 Oque Mudou ? • Agora a City Está Maior Mais Bonita e Com Mais Houses. • Novo Sistema de Treiner não prescisa andar muito para axar um livre. • Novos monstros vip ( Sea Serpent Vip , Hellhound vip , night mare vip , fury vip ) novos monstros master ( hydra master , frost master , grim master e demon master). • Nova Quest Master Com Armas Para todas as vocaçao. • Agora o NPC VIP Vende e compra items vip, pois se voce pegar item vip de algum red algo assim voce pode vender mais so que o npc compra 60% mais barato ☺ • Novo Npc que vender Red Remover. • Novo Templo. • Novas Quests. • Novo Depot. • Novos Commandos ( !food Compra 100 , !topfrags Ver quem é o top frag , !glist ver as guild do server e !glist Nameguild para ver os player da guild. • Teleports Free e vip Agora com nova cara. • Novo Caminho Para Poi no mesmo lugar so que mais bonito. • Addon agora é com addon doll npc Varkhal Vende. • Systema de Loteria a cada 2 Horas. • Nova arena de team god que organiza. E muito Mais .. Novos Items. Master vip Quest Teleports Master Templo vip Templo city Teleports Master Teleport Free O Server Está FULL EM SQL Só Baixar e Por Online Abaixo ! DOWNLOAD 4shared SCAN VirusTotal Testado 32bits windows 7. ACC DO GOD god/god Creditos 10% GOD Bon | Por editar em 2008 90% Baiak Lula = Luizbaiak | Por editar2010 a 2014 Obrigado bom jogo! GOSTOU? DE REP+.
  7. Algumas Sources e também um Dev-C++ (Configurado) Bom, não sou um membro antigo do TK, mas estou aqui para disponibilizar alguns sources que encontrei, ao procurar muito. Os que apresentaram algum tipo de infecção, eu não colocarei, abrirei apenas 2 exceções, para evitar aquelas velhas ladainhas que sempre acontecem. Irei disponibilizar também meu Dev-C++ já configurado, só no ponto de mandar bala, mas claro que pode não funcionar em todas as sources. Não tive tempo de testar todas, então cabe a vocês esse trabalho. Se o post estiver na área errada, por favor movam para a correta. Façam um bom proveito. Downloads Sources: (8.6x) trunk.r3777: Download Scan (8.6x)trunk.r3884: Download Scan (8.70) trunk.r4138: Download Scan (8.70) trunk.r4175: Download Scan (8.70) trunk.r4186.tar: Download Scan (8.71) trunk.r4267.tar: Download Scan (8.71) trunk.r4269.tar: Download Scan (8.71) trunk.r4393: Download Scan (9.0) TFS 0.4 r4416: Download Scan (9.1) trunk.r4473: (Apresentou 1 infecção no scan) Download Scan (9.4) TFS 0.4 r5181 (9.4).ta: (Apresentou 2 infecções no scan) Download Scan (9.52) trunk.r5639: Download Scan (9.53) trunk.r5663: Download Scan Download Dev-C++: Dev-C++: Download Scan Créditos: Apenas ao Amiroslo pelas Sources. Sem ele eu não as teria.
  8. [854] Servidor Galaxy PokeOT

    pedro poke tibia reagiu a Wolf Admin por uma resposta no tópico

    1 ponto
    GALAXY POKEOT Olá Galera... Estou Aqui hoje para postar um servidor onde eu editei por um tempo, o "Galaxy PokeOT". Vamos começar: • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. Informações Básicas: Edições Erros do Servidor Prints Downloads Créditos Bom, é isso galera.. Espero que tenham gostado do meu servidor Façam bom proveito. Gostou? Ajudei? Deixe seu Rep ai Vlw !!
  9. 1 ponto
    Fala TibiaKG's!! Essa é a Atualização V4.0 Do WebSite OTPokemon Espero Que Curtam As Novidades EDIÇÃO *Adicionado Poke Of Day (Editavel Na index.tpl Do Template) *Adicionado Facebook News (Editavel Na index.tpl Do Template) *Shop e Doação ( Disponiveis ) *Nova Template *Atualizado Style.css *Deixei Apenas Um Mundo (BLUE) Disponivel Porque Muitos Estavam Com Dificuldades Para Tirar Os Outros *Sistema De Tradução Dentre Outras... PRINT DOWNLOAD MediaFire ATENÇÃO:senha para descompactar (otpokemon!) Sem Parenteses. SCAN CRÉDITOS Kranzix (Edição Geral) ModenAcc (Base) --------------------------------------------------------------------------------------------------------------------------- REP + SÃO BEM-VINDOS!!
  10. [Sistema] Loja De Roupas

    Max willain reagiu a KekezitoLHP por uma resposta no tópico

    1 ponto
    O script é composto de 1 action e 1 movement. save como ldr.lua em actions/scripts a tag save como ldr.lua em movements/scripts function onStepIn(cid, item, frompos, item2, topos) doRemoveCondition(cid, CONDITION_OUTFIT) end a tag depois disso ponha a actionid 1920 no item que o player ira dar use pra trocar de outfit e actionid no 9015 no tile da entrada ou saida da loja o video n fui eu q fis um amigo meu q me mostro o video mais o meu script n manda msgn para o player dizendo qual ropa ele esta usando. https://www.youtube.com/watch?v=cunksBkWhgw
  11. 1 ponto
    Galera Hoje Vim Ensinar A Criar Magias Do Jeito Que Aprendi <Rep+ ai ser gostarem>: ai galera por passos: 1º - Va Em data/lib/pokemon moves.lua, Escolha A Magia Com A Forma Que Você Quer ( Eu Vou Usar Quake): 2º Passo Editando As Tags: Vermelho: Nome Do Poder. Azul: Efect Do Poder Teste Com /z Pelo Game. Verde: Tipo De Dano Do Poder Criando Tornados Va em data/lib/pokemon moves.lua e casse isso: E adicione seu poder: Dessa um pouco e casse isso: E Adicione Seu Poder:
  12. New Baiak 8.6 Editado. V2.0

    luizsommer reagiu a paulo thush por uma resposta no tópico

    1 ponto
    AGORA NA VERSÃO 2.0 Ola amigo Tibiaking vim trazer uma novidade a vocês... sei que existem varios Baiaks por ai.. todos diferentes alguns são até iguais mais com funções inovadoras.. A um tempo atras resolvi criar um Baiakão pra mim rsrs. E pior que deu certo, em 5 dias online consegui conquistar mais de 100 players fixos online. mais acabei ficando sem tempo de resolver tudo sozinho e resolvi fechar. o server ficou parado aqui.. muitos no msn me pedirão e eu nunca tive coragem de entregar ele assim de mão beijada né guardei por um bom tempo.. Mais.... hoje resolvi dar uma olhada nele e enquanto eu via o mapa .. funções.. e outras coisas mais , acabei achando interessante eu liberar ele aqui pra vocês ... Então chega de papo e vamos ao que Importa.... Baiak 8.60 Usando Crystal server All features, actions, funções 100% Addons 100% Spells 100% Vocações balanceadas. Estabilidade garantida. Serve save sem lag Clean 100% Talkactions GOD, CM, GM 100% MAPA Baiak Yourots Editado por mim. INQ. Quest 100% POI 100% Anihi 100% Areá VIP com Hunts e teleports 100% Sala de teleports Arenas e muito mais... LAST UPDATE VIP 1 - 100% VIP 2 - 100% Adicionado Comando !buyvip por 3kk Adicionado Novos Outfits "Elf e Vampire" Mapa com novo visual npcs concertados e melhorados Novas quests novas hunts novas arenas PRINTS... É isso ai galera .. já que viram um pouco do mapa.. irei postar abaixo beleza xD acho que sera util para alguem que esteja a proucura de um baiak estavel.. Se a galera curtir estarei disponibilizando ele na versão 9.44 do Crystal server... ACC GOD = god/god CREDITOS: Tryller - desenvolvedor crystal server. Erimyth - Edição, melhorias e adaptações de novas actions. Equipe Baiak Yourots. DOWNLOAD: LINK ON - >>> Mediafire <<< SCAN: CLICK AQUI - VIRUSTOTAL <- Scan atualizado com a versão 2.0
  13. 1 ponto
    Galera é um script muito simples, porém pra mim é muito ÚTIL. Abra a pasta data/globalevents/scripts crie um arquivo .lua com o nome GlobalSave.lua, em seguida adicone o code: function prepareShutdown(minutes) if(minutes <= 0) then doSetGameState(GAMESTATE_SHUTDOWN) return false end if(minutes == 1) then doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!") elseif(minutes <= 3) then doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.") else doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.") end shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1) return true end function onTime() return prepareShutdown(5) -- Quantos minutos pra executar o ServeSave. end Ajustes: Quando quiser modificar os minutos altere: -return prepareShutdown(5) - (5) = 5 minutos, eu recomendo no mínimo 5 minutos, em outras palavras não mexa. Em globalevents.xml adicione a tag seguinte: <globalevent name="GlobalSave" time="05:30" event="script" value="GlobalSave.lua"/> No meu ServeSave é feito as 05:30 da manhã, modifique pro horário desejado! Em config.lua verifique essa regra: Se tiver TRUE deixa, assim ele fecha o .exe se não tiver no seu config.lua não tem problema closeInstanceOnShutdown = true - - - Esse tutorial é só isso, clique em GOSTEI, e comente no tópico, muito obrigado! -------------------------------------------------------------------------------------------------------------------------------------------------------- AUTO RESTART -------------------------------------------------------------------------------------------------------------------------------------------------------- Pra você que utiliza Windows esse é perfeito: Dezon OT Admin [restarter] Pra você que utiliza Linux: Baixe esse arquivo, TFS.SH, bote dentro da pasta do seu OT. Esse arquivo está configurado pra abrir outro arquivo chamado tfs caso o seu seja outro nome mude pra esse, tfs. Sempre que for abrir seu OT execute esse comando ./tfs.sh& e assim toda vez que o OT cair ele renicia automaticamente.
  14. [Dragon Ball Absalon - 8.54 - Project] Final News

    Laitek reagiu a Mozark por uma resposta no tópico

    1 ponto
    O game! O game se baseia no anime de Dragon Ball,que contem varias sagas Z,GT,AF,Absalon.Nosso servidor é proprio com o intuito de produzir uma jogabilidade melhor a todos jogadores.Nosso servidor possui 17 planetas no total ( Com chance de ser adicionado,mais ainda.) .Nosso servidor,possui um sistema de missoes,que após voce completa-la e pegar as esferas do dragao,voce deve dar-las ao Shenlong,que se encontra na Shenlong Room.Mas lembre-se voce precisa ser Premium Account,para completar o processo!Nosso servidor não é daqueles que é jogo de zuação que o player começa com Full Set,e level 1k,e ja tem hunt que você pode upar uns 50k de level por dia +-.Nosso servidor,será hosteado em uma empresa de alta qualidade e qualificada,para transmitir um jogo estavel e sem lags.O jogo será com Rates Proprios,que serão discutidas pela equipe,em reunioes que terão futuramente. Fotos: Sistemas: Reborn System (Funcionando 100%) Transform System (Funcionando 100%) Aura System por Vocação (Funcionando 100%) Party System (Funcionando 100%) Lottery System (Funcionando 100%) Magias: O nosso servidor,terá magias proprias,criadas para cada vocação.Cada vocação terá sua propria spell. Transformações/Vocações: Como dito,em partes acima,nosso servidor,possui o sistema de transformar,onde o player nao perde a graça ao upar,e tera o objetivo de upar para alcançar novas transformações. Reborn System: O sistema funciona da seguinte,maneira,quem ja jogou wodbo 8.0,sabe mais ou menos como é.Quem ai ja viu a saga Dragon Ball Z e a GT?O Reborn System é praticamente isso,o player,reseta seu jogador,com as skills,e vocaçao.Quando o player é resetado,muda a vocação e ele terá novas transformações para nao perder a graça de sempre ser a mesma coisa.Magias certamente hitaram mais. OBS:So pode dar Reborn 1X por char.Entao pense bem antes de dar Reborn,veja se voce sente que seu char está forte. Digamos que o servidor está 90% Completo. Oque precisamos para completar. Precisamos de 2 Programadores C++/C#. Precisamos de 3 Scripter.LUA Precisamos de 1 WebMaster Profisional,que mexa bastante com PHP. #Lembrando eu estou criando esse servidor,com o meu amigo, Vini001.Caso alguma duvida sobre o OTServ,poderá ser respondida por ele tambem. Abraços,e vamo que vamo gente. Formulario: Nome:Mozark001 Idade:40 O que voce faz:Sou OT-Admin Voce acha pode ajudar este Server a crescer? Sim ou Nao.
  15. 1 ponto
    e ae pessoal!! vou ensinar vcs a colocarem a uma TalkAction no seu ot 8.6 que serve para vcs verem o spellbook sem precisar te-lo apenas digitando !spells. 1º: primeiramente va na pasta do seu ot vá em data/talkactions e clique no arquivo xml chamado talkactions (vc pode abri-lo com bloco de notas ou com OTScript Live!) adicione a linha de comando em player se preferir <talkaction words="!spells" event="script" value="talkspellbook.lua"/> obs*: coloque como os outros! salve e feche 2º: depois vá em data/talkactions/scripts copie e cole um arquivo .lua (formato LUA) renomeie para talkspellbook abra-o apague tudo e cole: function onSay(cid, words, param, channel) local count = getPlayerInstantSpellCount(cid) local text = "" local t = {} for i = 0, count - 1 do local spell = getPlayerInstantSpellInfo(cid, i) if spell.level ~= 0 then if spell.manapercent > 0 then spell.mana = spell.manapercent .. "%" end table.insert(t, spell) end end table.sort(t, function(a, b) return a.level < b.level end) local prevLevel = -1 for i, spell in ipairs(t) do local line = "" if prevLevel ~= spell.level then if i ~= 1 then line = "\n" end line = line .. "Spells for Level " .. spell.level .. "\n" prevLevel = spell.level end text = text .. line .. " " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n" end doShowTextDialog(cid, words, text) return TRUE end SALVE E Feche agora abra seu ot e com qualquer player digite !spells que vai abri o spellbook! gente esse é meu primeiro post ake no tibia king espero que tenham gostado (clika em gostei pra me ajuda)
  16. [Tutorial] Substituindo Sprites no Client

    IIG3N3S1SII reagiu a Wend por uma resposta no tópico

    1 ponto
    Bom Galerinha várias pessoas estavam pedindo esse tutorial de como substituir sprites no client! então resolvi postar. Tutorial Super fácil ! vamos começar! Programas Necessários! 1° Spr editor feito pelo Cristofer Martins!. (Download no Final do Tópico) 2° Spr do seu servidor e do Servidor que você quer pegar as Sprites. Bom Começando agora o Tutorial. 1° Selecione a versão do seu client no caso 8.54 o de Poketibia e Selecione onde está localizado sua SPR. 2° Clique em Extract para começar a abrir sua SPR. OBS: você Pode abrir 2 Programas ao mesmo tempo. 3° Espere carregar a barrinha verde. ai depois clique em Ok. 4° Agora vá na SPR do servidor que você quer copiar a Sprite e seleciona elas e depois clica em Export! OBS: Recomento criar uma pasta para as Sprites. 5° ficando assim na pasta que você selecionou para ficar as Sprites. 6° Agora volte na sua SPR e Selecione a mesma quantia de Sprites que você exportou no meu caso 12 sprites sem contar a Sprite do corpo do pokemon. OBS: Recomendo selecionar Sprites dos monstros de tibia. 7° Agora você seleciona as 12 Sprites que você exportou do client que você queria pegar as Sprites. 8° Ficando assim na Sua SPR . 9° Agora para salvar só você clicar em compile e depois ir na sua SPR e salvar por cima. Pronto galera é isso ai só esperar salvar e pronto você substituiu sprites no seu client. depois Se quiser criar ele no dat faço outro tutorial mais já tem um tutorial desse genero no tibiaking. Créditos: PxG;; Pelo client usado para pegar o Bulbasaur. Cristofer Martins;; pelo SPR editor usado. Gabrieltxu:: por fazer o Tutorial ​ Download do SPR editor by: Cristofer Martins Download: http://www.4shared.com/archive/BYQgxaDt/SprEditor.html
  17. 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/#entry230588
  18. 1 ponto
    • Naruto Atarashi Online • • Menu: ├ Informações; ├ Ajustes; ├ Erros; ├ Senha; ├ Prints; ├ Download; ├ Scan; ├ Creditos; └ Agradecimento. • Informações • Spoiler Nome Do Servidor: Naruto Atarashi Online Max Usuarios Online: 100 Online Ele Contém:"Mapa Próprio" ; "Jutsus Próprio" / ( Diga "!jutsus" para saber Seu Jutsu) "Quest Propria". • Ajustes • Spoiler 0.1 - Modificado Dat e Spr (Modificado Por Avuenja) (21/Março) 0.2 - Arrumado Outifts Dos Personagens E Monstros / (Arrumado Por Avuenja) (20/Abril) 0.3 - Arrumado Corpos Dos Montros / Dando Debug quando Players Matavam Os Mesmos / (Arrumado Por Avuenja) (26/Abril) 0.4 - Novos Montros / (Adicionado Por Avuenja) (28/Abril) 0.5 - Erro Trainer / Pouca Vida / ( Arrumado Novamente Por Avuenja) (08/Maio) 0.6 - Novas Houses / (Adicionado Por Avuenja) (26/Maio) 0.7 - Criada Uma Arena PvP / (Adicionado Por Avuenja) (26/Maio) 0.8 - Criado Sistema Ver Jutsus / (Adicionado Por Avuenja) (26/Maio) 0.9 - Arrumado Jutsus Que Não Funcionavam / (Arrumado Por Avuenja) (26/Maio) • Erros • Spoiler 0.1 - Anbu Em Casa Separada Na Cidade Principal / (Ainda Não Arrumado) 0.2 - Pode Se Levar Debug Em Alguns Montros / (Ainda Um Pouco) Obs - Se Achar Mais, Basta Entrar Em Contato Com: [email protected] • Senha • Spoiler Senha Para Entrar No Server / (Do GOD): god / god • PrintScreen • IMAGENS OFFLINES RETIRADAS! • Download's • Spoiler Pacote Nrtao Contém: 0.1 - Dat e Spr; 0.2 - Client; 0.3 - Server; 0.4 - SqliteStudio. DOWNLOAD AQUI • Scan • Spoiler Link • Creditos • Spoiler 50% Eu (Avuenja) Motivo: "Edição Final / Ajustes Finais / Implementação De Sistemas / E Outros". 45% (Stigal) Motivo: "Edição Mediana / Alguns Ajustes". 5% (Seven) Motivo: "Edição Inicial". • Agradecimento • Obrigado A Equipe
  19. 1 ponto
    Bem esse é um tutorial simples de como add PagSeguro automático no seu site pq essa é uma duvida que tive e possivelmente outros tem, com isso o PagSeguro entrega os points automaticamente sem necessidade de confirmação , bem vamos lá No Seu Htdocs va em Config/config.php e coloque isso no final: // Sistema automatico Pagseguro by tatu_hunter // Seu email cadastrado no pagseguro $config['pagseguro']['email'] = 'seu e-mail'; // Valor unitario do produto ou seja valor de cada ponto // Exemplo de valores // 100 = R$ 1,00 // 235 = R$ 2,35 // 4254 = R$ 42,54 $config['pagseguro']['produtoValor'] = '100'; // Token gerado no painel do pagseguro $config['pagseguro']['token'] = 'SEU TOKEN PAGSEGURO AQUI'; crie um arquivo chamado retPagseguro.php nas pasta htdocs Dentro adicione isso: <?php include('config-and-functions.php'); define('TOKEN', $config['pagseguro']['token']); // Incluindo o arquivo da biblioteca include('retorno.php'); // Função que captura os dados do retorno function retorno_automatico ( $VendedorEmail, $TransacaoID, $Referencia, $TipoFrete, $ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento, $StatusTransacao, $CliNome, $CliEmail, $CliEndereco, $CliNumero, $CliComplemento, $CliBairro, $CliCidade, $CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) { global $config; if(strtolower($StatusTransacao) == 'aprovado') { $account_logged = $ots->createObject('Account'); $account_logged->find($Referencia); if($account_logged->isLoaded()) { $pontos = $account_logged->getCustomField("premium_points"); $account_logged->setCustomField("premium_points", $pontos + $produtos[0]['ProdQuantidade']); $nome = $Referencia.'-'.date('d-m-Y',$_SERVER['REQUEST_TIME']).'.txt'; if(file_exists('logsPagseguro/'.$nome)) $nome = $Referencia.'-2-'.date('d-m-Y',$_SERVER['REQUEST_TIME']).'.txt'; $arquivo = fopen('logsPagseguro/'.$nome, "w+"); $dados = "Conta: ".$Referencia."\n"; $dados = "Email: ".$CliEmail."\n"; $dados .= "Total de Points: ".$produtos[0]['ProdQuantidade']."\n"; $dados .= "Hora da Transação: ". date('d-m-Y H:i:s', $_SERVER['REQUEST_TIME']).""; fwrite($arquivo, $dados); fclose($arquivo); } } } // A partir daqui, é só HTML: ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <h1>Pedido em processamento</h1> <p>Recebemos seu pedido e estamos aguardando pela confirmação do pagamento. Obrigado por comprar conosco.</p> </body> </html> Depois crie um arquivo chamado retorno.php e adicione isso: <?php if (!defined('TOKEN')) define ('TOKEN', ''); /** * RetornoPagSeguro * * Classe de manipulação para o retorno do post do pagseguro * * @package PagSeguro */ class RetornoPagSeguro { /** * _preparaDados * * Prepara os dados vindos do post e converte-os para url, adicionando * o token do usuario quando necessario. * * @internal é usado pela {@see RetornoPAgSeguro::verifica} para gerar os, * dados que serão enviados pelo PagSeguro * * @access private * * @param array $post Array contendo os posts do pagseguro * @param bool $confirmacao Controlando a adicao do token no post * @return string */ function _preparaDados($post, $confirmacao=true) { if ('array' !== gettype($post)) $post=array(); if ($confirmacao) { $post['Comando'] = 'validar'; $post['Token'] = TOKEN; } $retorno=array(); foreach ($post as $key=>$value){ if('string'!==gettype($value)) $post[$key]=''; $value=urlencode(stripslashes($value)); $retorno[]="{$key}={$value}"; } return implode('&', $retorno); } /** * _tipoEnvio * * Checa qual será a conexao de acordo com a versao do PHP * preferencialmente em CURL ou via socket * * em CURL o retorno será: * <code> array ('curl','https://pagseguro.uol.com.br/Security/NPI/Default.aspx') </code> * já em socket o retorno será: * <code> array ('fsocket', '/Security/NPI/Default.aspx', $objeto-de-conexao) </code> * se não encontrar nenhum nem outro: * <code> array ('','') </code> * * @access private * @global string $_retPagSeguroErrNo Numero de erro do pagseguro * @global string $_retPagSeguroErrStr Texto descritivo do erro do pagseguro * @return array Array com as configurações * */ function _tipoEnvio() { //Prefira utilizar a função CURL do PHP //Leia mais sobre CURL em: http://us3.php.net/curl global $_retPagSeguroErrNo, $_retPagSeguroErrStr; if (function_exists('curl_exec')) return array('curl', 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); elseif ((PHP_VERSION >= 4.3) && ($fp = @fsockopen('ssl://pagseguro.uol.com.br', 443, $_retPagSeguroErrNo, $_retPagSeguroErrStr, 30))) return array('fsocket', '/Security/NPI/Default.aspx', $fp); elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $_retPagSeguroErrNo, $_retPagSeguroErrStr, 30)) return array('fsocket', '/Security/NPI/Default.aspx', $fp); return array ('', ''); } /** * not_null * * Extraido de OScommerce 2.2 com base no original do pagseguro, * Checa se o valor e nulo * * @access public * * @param mixed $value Variável a ser checada se é nula * @return bool */ function not_null($value) { if (is_array($value)) { if (sizeof($value) > 0) { return true; } else { return false; } } else { if (($value != '') && (strtolower($value) != 'null') && (strlen(trim($value)) > 0)) { return true; } else { return false; } } } /** * verifica * * Verifica o tipo de conexão aberta e envia os dados vindos * do post * * @access public * * @use RetornoPagSeguro::_tipoenvio() * @global string $_retPagSeguroErrNo Numero de erro do pagseguro * @global string $_retPagSeguroErrStr Texto descritivo do erro do pagseguro * @param array $post Array contendo os posts do pagseguro * @param bool $tipoEnvio (opcional) Verifica o tipo de envio do post * @return bool */ function verifica($post, $tipoEnvio=false) { global $_retPagSeguroErrNo, $_retPagSeguroErrStr; if ('array' !== gettype($tipoEnvio)) $tipoEnvio = RetornoPagSeguro::_tipoEnvio(); $spost=RetornoPagSeguro::_preparaDados($post); if (!in_array($tipoEnvio[0], array('curl', 'fsocket'))) return false; $confirma = false; if ($tipoEnvio[0] === 'curl') { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $tipoEnvio[1]); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $spost); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $resp = curl_exec($ch); if (!RetornoPagSeguro::not_null($resp)) { curl_setopt($ch, CURLOPT_URL, $tipoEnvio[1]); $resp = curl_exec($ch); } curl_close($ch); $confirma = (strcmp ($resp, 'VERIFICADO') == 0); } elseif ($tipoEnvio[0] === 'fsocket') { if (!$tipoEnvio[2]) { die ("{$_retPagSeguroErrStr} ($_retPagSeguroErrNo)"); } else { $cabecalho = "POST {$tipoEnvio[1]} HTTP/1.0\r\n"; $cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n"; $cabecalho .= "Content-Length: " . strlen($spost) . "\r\n\r\n"; $resp = ''; fwrite ($tipoEnvio[2], "{$cabecalho}{$spost}"); while (!feof($tipoEnvio[2])) { $resp = fgets ($tipoEnvio[2], 1024); if (strcmp ($resp, 'VERIFICADO') == 0) { $confirma = (strcmp ($resp, 'VERIFICADO') == 0); $confirma=true; break; } } fclose ($tipoEnvio[2]); } } if ($confirma && function_exists('retorno_automatico')) { $itens = array ( 'VendedorEmail', 'TransacaoID', 'Referencia', 'TipoFrete', 'ValorFrete', 'Anotacao', 'DataTransacao', 'TipoPagamento', 'StatusTransacao', 'CliNome', 'CliEmail', 'CliEndereco', 'CliNumero', 'CliComplemento', 'CliBairro', 'CliCidade', 'CliEstado', 'CliCEP', 'CliTelefone', 'NumItens', ); foreach ($itens as $item) { if (!isset($post[$item])) $post[$item] = ''; if ($item=='ValorFrete') $post[$item] = str_replace(',', '.', $post[$item]); } $produtos = array (); for ($i=1;isset($post["ProdID_{$i}"]);$i++) { $produtos[] = array ( 'ProdID' => $post["ProdID_{$i}"], 'ProdDescricao' => $post["ProdDescricao_{$i}"], 'ProdValor' => (double) (str_replace(',', '.', $post["ProdValor_{$i}"])), 'ProdQuantidade' => $post["ProdQuantidade_{$i}"], 'ProdFrete' => (double) (str_replace(',', '.', $post["ProdFrete_{$i}"])), 'ProdExtras' => (double) (str_replace(',', '.', $post["ProdExtras_{$i}"])), ); } retorno_automatico ( $post['VendedorEmail'], $post['TransacaoID'], $post['Referencia'], $post['TipoFrete'], $post['ValorFrete'], $post['Anotacao'], $post['DataTransacao'], $post['TipoPagamento'], $post['StatusTransacao'], $post['CliNome'], $post['CliEmail'], $post['CliEndereco'], $post['CliNumero'], $post['CliComplemento'], $post['CliBairro'], $post['CliCidade'], $post['CliEstado'], $post['CliCEP'], $post['CliTelefone'], $produtos, $post['NumItens'] ); } return $confirma; } } if ($_POST) { RetornoPagSeguro::verifica($_POST); die(); } ?> No seu buypoints.php,basta colocar isso: <?php if(!$logged) if($action == "logout") $main_content .= '<div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Logout Successful</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td>You have logged out of your '.$config['server']['serverName'].' account. In order to view your account you need to <a href="?subtopic=accountmanagement" >log in</a> again.</td></tr> </table> </div> </table></div></td></tr>'; else $main_content .= 'Please enter your account name and your password.<br/><a href="?subtopic=createaccount" >Create an account</a> if you do not have one yet.<br/><br/><form action="?subtopic=accountmanagement" method="post" ><div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Account Login</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td class="LabelV" ><span >Account Name:</span></td><td style="width:100%;" ><input type="password" name="account_login" SIZE="10" maxlength="10" ></td></tr><tr><td class="LabelV" ><span >Password:</span></td><td><input type="password" name="password_login" size="30" maxlength="29" ></td></tr> </table> </div> </table></div></td></tr><br/><table width="100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=lostaccount" method="post" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Account lost?" alt="Account lost?" src="'.$layout_name.'/images/buttons/_sbutton_accountlost.gif" ></div></div></td></tr></form></table></td></tr></table>'; else { $main_content .= ' <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="'. $config['pagseguro']['email']. '"> <input type="hidden" name="tipo" value="CP"> <input type="hidden" name="moeda" value="BRL"> <input type="hidden" name="item_id_1" value="1"> <input type="hidden" name="item_descr_1" value="Pontos na account de nome: '.$account_logged->getCustomField("name").'"> <input type="hidden" name="item_valor_1" value="'. $config['pagseguro']['produtoValor'] .'"> <input type="hidden" name="item_frete_1" value="0"> <input type="hidden" name="item_peso_1" value="0"> <input type="hidden" name="ref_transacao" value="'.$account_logged->getCustomField("name").'"> <table border="0" cellpadding="4" cellspacing="1" width="100%" id="#estilo"><tbody> <tr bgcolor="#505050" class="white"> <th colspan="2"><strong>Escolha a quantidade de pontos que deseja comprar</strong></th> </tr> <tr> <td width="10%">Sua conta</td> <td><strong>'.$account_logged->getCustomField("name").'</strong></td> </tr> <tr> <td width="10%">Pontos</td> <td> <input name="item_quant_1" type="text" value="1" size="5" maxlength="5"> </td> </tr> <tr> <td colspan="2"> <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/carrinhoproprio/btnFinalizar.jpg" name="submit" alt="Pague com PagSeguro - &eacute; r&aacute;pido, gr&aacute;tis e seguro!" /> </td> </tr> </tbody></table></form>'; } ?> Para finalizar: Adicione no seu phpmyadmin,na parte SQL,a seguinte database: CREATE TABLE `retorno_automatico` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; E essa outra aqui : CREATE TABLE `PagSeguroTransacoes` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CRéDITOS: Walef Xavier Sociopata
  20. Poke zot editado Factur Final 50%

    nathankdr reagiu a Factur por uma resposta no tópico

    1 ponto
    Entendendo : Galera seguinte, Vai ser assim O Poke zot que estou editando, ele está chegando em sua faze final, está 50% completo, quando chegar 100% vou terminar a versão pokezot editado by: factur, Coisas adicionadas versão Final 50% Foi adicionado o Pokémon "SHINY HETRAN" junto com ele veio o MVP. (não foi adicionado a quest dele); Foi adicionado a "Área Level" éla te dá a chançe de abrir baús,porém tera que ter level para poder abrir, e quando abre ganha certo pokémon; Foi retirado as box que ganhava pokés, agora grande parte das quests vip ganha DIRETAMENTE o pokémon; ATENÇÃO Conta do god é Login : Luh Senha: 123 BUGS QUEST MODIFICADAS/ADICIONADAS OUTRAS COISAS MODIFICADAS/ADICIONADAS PRINTS DOWNLOAD CRÉDITOS Pelo jogo = Wolf Admin Por Editar = Factur Flw galera! Factur ~
  21. Com as novas atualizações essa distro não está mais funcionando. Mas quem tiver com problema pode tentar essa: http://www.tibiaking.com/forum/topic/46790-tfs-3884-86-war-system-anti-salt-muito-est%C3%A1vel/
  22. 1 ponto
    Olá Galera do TK, venho hoje rapidamente trazer um sistema muito útil e pedido em meu tópico do !eject system: http://www.tibiaking.com/forum/topic/35060-eject-system-expulsar-player-inativo-da-house/ Explicação: Sabe aqueles players chatos que compram as melhores casas e não logam no servidor e enche a desgrama da casa de item só para os novos players não comprar? Pois é, isto não existirá mais! =D Este script é apenas um arquivo que você colocará em sua pasta mods e ele executará toda vez que o servidor for reiniciado, ou seja: Quando o servidor ligar ele irá verificar os players que não logam a X dias (configurável) e então expulsa-los da casa movendo seus items para o depot deixando a casa sem dono. Vamos ao que interessa; Na pasta principal do servidor, onde fica a distro que roda o servidor e tudo mais, entre na pasta MODS e crie um arquivo com o nome de cleanhouses.xml e dentro coloque o seguinte: <?xml version="1.0" encoding="UTF-8"?> <mod name="Cleanhouses" version="1.03" author="nsanee" contact="tibiaking.com" enabled="yes"> <description> v.1.03 - Added 'onlyNonPremium' configurable. Removed modlib, since the script is run once anyway we don't need it loaded at all times. It shouldn't now stop execution when a house is nameless. v.1.02 - now uses only one sql query, removed multiworld configurable since it's not needed anymore v.1.01 - small fixes, optimized query + multiworld support. This mod will clean houses of inactive players and move their items to the depot. config explained: days - If the player hasn't logged in for this number of days his house will be freed. log - true/false, whether to enable logging of which houses have been cleaned. file - path to the log file, where logs will be stored. Ignored if 'log' set to false onlyNonPremium - if set to 'true', the script will clean only the houses of players who don't have any pacc days left. other notes: DO NOT remove doSaveServer() at the end, otherwise if your server happens to crash before the nearest server save you will regret it =) </description> <globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[ local config = { days = 3, log = true, file = getDataDir() .. "/logs/cleanhouses.txt", onlyNonPremium = true } local ns_query =[[ SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses LEFT JOIN players ON players.id=houses.owner LEFT JOIN accounts ON players.account_id=accounts.id WHERE players.lastlogin < (UNIX_TIMESTAMP() - ]] ..config.days.. [[*24*60*60) ]] ..(config.onlyNonPremium and ' AND accounts.premdays=0 ' or '')..[[ AND players.world_id =]] .. getConfigValue("worldId") local house = db.getResult(ns_query) local logs = " :: Houses cleaned:\n\n" if house:getID() ~= -1 then repeat logs = logs .. house:getDataString('house_name') ..", owned by " .. house:getDataString('name') .. "\n" setHouseOwner(house:getDataInt('hid'), 0) until not house:next() house:free() else logs = logs .. "There were no houses to clean." end if config.log then doWriteLogFile(config.file, logs) end addEvent(doSaveServer, 1000) ]]></globalevent> </mod> Pronto, salve e feche. Toda vez que o servidor iniciar irá expulsar os players que não logam aos dias configuráveis. Como configurar: days = 3 * É o número em DIAS que o player terá que ficar sem logar para perder a casa. Configure apenas isto, o resto aconselho não mexer, caso queira aprimorar o sistema aconselho ser avançado na área para não causar erros no mesmo. O Mesmo foi testado hoje por mim e está em funcionalidade a todas as versões de TFS. Créditos: Absolute nsanee (otland) Demais dúvidas deixe-me saber! Até o próximo
  23. NPC Reborn

    danilodenteh reagiu a arthurabreu por uma resposta no tópico

    1 ponto
    Olá galera do TK, venho trazer para vocês uma script bem utilizada em WODBO's, porem essa é pra 8.54. Função da script: Reseta o level, da 20.000 de [life|mana] e uma nova vocação. Vá ate data/npc copie um arquivo .xml e de um novo nome(Reborn.xml) e cole isso: <npc name="Reborn Man" script="data/npc/scripts/reborn.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="100" max="100"/> <look type="118" head="57" body="59" legs="40" feet="76" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Reborn!" /> </parameters> </npc> Depois va ate data/npc/scripts copie um arquivo.lua e de um novo nome: (Reborn.lua) local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('?????.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello. If you ready I can "Reborn" you.') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. getCreatureName(cid) .. '! Hey!.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'reborn') and getPlayerStorageValue(cid,30023) == 1 then selfSay('Sorry, but you are after reborn.') focus = 0 talk_start = 0 elseif msgcontains(msg, 'reborn') and getPlayerLevel(cid) < 300 and getPlayerStorageValue(cid,30023) ~= -1 then selfSay('Hehe, I say If you READY. You do not have 300 lvl.') elseif msgcontains(msg, 'reborn') then selfSay('Are you sure?') talk_state = 2 elseif msgcontains(msg, 'yes') and talk_state == 2 and getPlayerLevel(cid) >= 300 and getPlayerVocation(cid) == 49 then setPlayerStorageValue(cid,30023,1) doReborn(cid, 1, 42, 82) talk_state = 0 elseif msgcontains(msg, 'yes') and talk_state == 2 then selfSay('Sorry, ' .. getCreatureName(cid) .. '! You must have got last transform.') elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye.') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end Para configurar a vocação atual, a vocação que vai dar reborn e a nova outfit é nessa tag: elseif msgcontains(msg, 'yes') and talk_state == 2 and getPlayerLevel(cid) >= 300 and getPlayerVocation(cid) == 49 then setPlayerStorageValue(cid,30023,1) doReborn(cid, 1, 42, 82) talk_state = 0 Adicionem isso na pasta lib/050-function pra funcionar a tag doReborn function doReborn(cid, level, looktype, vocation) db.executeQuery("UPDATE `players` SET `level` = " .. level .. " WHERE `id` = " .. getGlobalStorageValue(1000) .. ";") db.executeQuery("UPDATE `players` SET `looktype` = " .. looktype .. " WHERE `id` = " .. getGlobalStorageValue(1000) .. ";") db.executeQuery("UPDATE `players` SET `vocation` = " .. vocation .. " WHERE `id` = " .. getGlobalStorageValue(1000) .. ";") doRemoveCreature(cid) return TRUE Até a proxima galera. Creditos: DBWarrior
  24. [Comando] Adicionando comando !say

    luanluciano93 reagiu a Factur por uma resposta no tópico

    1 ponto
    • Oque ele faz? • Ele faz o pokémon falar, isto mesmo por exemplo se você escrever !say Eae galera usando o pokémon Haunter Vai aparecer "Haunter Says: Eae Galera" Funciona com todos os pokémons! • Tutorial Code 1 - Scripts • • Vá para o local Data/TalkActions/Scripts • Chegando nesta pasta crie um novo arquivo chamado Say.lua • Agora dentro cole este código function onSay(cid,words,param) local pokemons = getCreatureSummons(cid) if #pokemons == 0 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Tira Seu Pokemon Da Ball.") end doCreatureSay(getCreatureSummons(cid)[1],param,TALKTYPE_SAY) return true end function onSay(cid,words,param) • Ápos ter colado feche e salve, não é necessário mudar este código. • Tutorial Code 2 - TalkActions.xml • • Vá para o local Data/TalkActions • Chegando neste local abra o arquivo chamado Talkactions.xml • Dentro deste arquivo cole este código <talkaction words="!say" event="script" value="say.lua"/> • Se você criou o arquivo o código tudo certinho não será necessario modificar este código. • Porém queira dar uma modificada, veja as configurações que você poderá fazer: → Onde está escrito <talkaction words="!say" É o nome do código; → Onde está escrito value="say.lua"/> É o nome do arquivo.lua que você criou no tutorial code 1; • Finalização • • Bom agora abra o seu servidor; • Caso já esteja aberto vá em Reload → Reload TalkActions • Créditos • • Factur → Por fazer o tópico; • principe sharingan → Por fazer a script. • Tópico Alterado! • New Foi adicionado duas imagens; New Foi substituido algumas palavras erradas; New Adicionado a configuração na parte dos Tutoriais Code 2 - TalkActions
  25. MOTW #19

    Aerithcal reagiu a Cat por uma resposta no tópico

    1 ponto
    Gates / Entrances Neste tema, a águia será o símbolo do Mapeamento, significa olho fixo aos detalhes e critérios; a águia deve ser atenta a tudo ao seu redor, busca principalmente a perfeição. Jurado convidado: GoTheHell 1 - O conteúdo enviado pelo participante, deverá ser de autoria própria; 2 - Mapas já utilizados ou publicados serão desclassificados; 3 - O participante deve enviar uma foto junto com o mapa (.otbm); 4 - Serão aceitas mais de uma imagem por PM, somente se o autor especificar qual delas deverá ser postada no tópico; 5 - O calendário pode ser modificado durante o concurso caso houver fatores que impeçam a continuação do mesmo; 6 - As regras poderão ser mudadas apenas depois do resultado ou antes do envio de qualquer mapa. Inicio: 16/09/14 Término: 26/09/14 Avaliação e publicação: 27/09/24 - 28/09/14 Premiação: 1º Lugar: 3 Pontos de Reputação, 3 Pontos no Ranking, 3 Moccs; 2º Lugar: 2 Pontos de Reputação, 2 Pontos no Ranking, 2 Moccs; 3º Lugar: 1 Pontos de Reputação, 1 Pontos no Ranking, 1 Moccs; Avaliação: Detalhamento - (30) Criatividade - (25) Jogabilidade (RPG) - (10) Harmonia - (10) Utilização do espaço - (15) Inovação - (10) _______________________ Total: 100 Inspiração:
  26. (Resolvido)AJUDA RME 9.60 ?

    Antonio Satoshi reagiu a yagochristian por uma resposta no tópico

    1 ponto
    quando aparecer isso fexe todas essas msg dps vai em file>>preferences>>client version seleciona a versao do seu client
  27. sim... pelo que vi no script o spell vai funcionar certinho se for player usando... estou aqui para ajudar xD..... se ajudei Rep+ e reporte para fecharem o topico.
  28. 1 ponto
    Para criar o botão de spoiler Fassa o comando [*spoiler] aki coloca oque você quer [/*spoiler] É só retirar as *
  29. comprar pokemon por comando

    SliceFalso reagiu a Wend por uma resposta no tópico

    1 ponto
    Deixe as pastas em oculto
  30. (Resolvido)[Help-me] Como criar bike?

    Rafaelk36 reagiu a TioDoLeite por uma resposta no tópico

    1 ponto
    Bom, vá na pasta actions\scripts do seu server crie um arquivo .lua chamado "Bike" sem as aspas. e cole isso dentro dele Depois vá no actions.xml e coloque a seguinte tag <action itemid="13075" event="script" value="Bike.lua"/> ~ Explicação ~ 1. Como no próprio script indica : local bike = {lookType = 1394} --- LookType do player em cima da bike. homem local bike1 = {lookType = 1393} --- LookType do player em cima da bike. mulher local speed = 999 --- Velocidade que a bike terá. 2. No actions.xml itemid="13075" (Id do item que o player vai usar para usar a bike).
  31. Creio que isso é por causa do seu client,quando você está em trade com o NPC você pode comprar os itens por backpack clicando com o botão direito em cima do item e clicando em "Buy with backpack".É só desabilitar que vai comprar normalmente !
  32. (Resolvido)[Pedido] Npc Reborn / Reset

    RenanPhellip reagiu a arthurabreu por uma resposta no tópico

    1 ponto
    Veja meu tópico e veja se te ajuda, porem ele so necessita do LEVEL. Depois faço algumas modificações pra ajudar você. http://www.tibiaking.com/forum/topic/42613-npc-reborn/
  33. (Resolvido)Erro no Gesior

    shntutor reagiu a luanluciano93 por uma resposta no tópico

    1 ponto
    Execute esse comando no phpmyadmin em sua database: ALTER TABLE `accounts` ADD `page_lastday` int(11);
  34. 1 ponto
    sabe o meu experience system? lá tem uma função que checa o level do item, daí vc usa a getTileItem que o amigão citou aí em cima pra pegar o item.. eu to meio zoado pra conseguir escrever tudo agora (quebrei o pulso esquerdo) mas se vc nao entender comenta ai que eu faço um esforço pra tentar explicar melhor.
  35. Erro ao compilar TFS 0.4

    CoyoteStark reagiu a kbelin por uma resposta no tópico

    1 ponto
    É o seguinte, vou upar pra ti meu Dev C++ já configurado, aí tu tentas compilar com ele. Aqui está, este é o que uso em ot 8.6: http://www.4shared.com/rar/7NAbKaR9ce/Stians_Repack_Dev-Cpp_86.html? E este é o que uso em ot 8.54: http://www.4shared.com/rar/yYH4NwnHce/Stians_Repack_Dev-Cpp_Configur.html? Testa os dois se preciso. Caso dê errado, acredito que poderá ser o projeto, ou estás marcando alguma opção errada na hora de compilar, estás tentando compilar em Console ou em GUI? Edit: Vish, não havia visto teu edit kkkkk, vou dar uma averiguada, se eu achar os prováveis motivos te aviso.
  36. (Resolvido)Scripts

    anderson123 reagiu a Jeffeson 123 por uma resposta no tópico

    1 ponto
    Bom gente vim aqui pedir uma ajudinha em um script ja tentei fazer não conseguir Vamos direto ao assunto, preciso de um iten que quando click nele sumone um pokemon Ex Statue Blastoise quando eu clica nela sumona um pokemon, se alguem tive esse script e poder mim passa eu ficaria mt grato.
  37. (Resolvido)Scripts

    anderson123 reagiu a Wend por uma resposta no tópico

    1 ponto
    function onUse(cid, item, fromPosition, item2, toPosition) if isPlayer(cid) then doSummonCreature("Mega Alakazam", getCreaturePosition(cid)) doSummonCreature("Mega Blastoise", getCreaturePosition(cid)) doSummonCreature("Mega Charizard X", getCreaturePosition(cid)) doSummonCreature("Mega Charizard Y", getCreaturePosition(cid)) doSummonCreature("Mega Blaziken", getCreaturePosition(cid)) doSummonCreature("Mega Tyranitar", getCreaturePosition(cid)) doSummonCreature("Mega Lucario", getCreaturePosition(cid)) doSummonCreature("Mega Gengar", getCreaturePosition(cid)) doSendMagicEffect(getCreaturePosition(cid), 29) doRemoveItem(item.uid, 1) doCreatureSay(cid,"Cuidado! Pokemons Muito Perigosos apareceram do Nada OMG.", TALKTYPE_ORANGE_1) end return true end
  38. 1 ponto
    ver ae pokepro mano e muito famoso pokepro mon ja foi ate divulgado aqui no tibiaking. achei um server igual mas os pokemons lendario estavao bugador.si nao fosse pelos bugs seria perfeito
  39. Nova stone

    Lucas Kuchiki reagiu a otaviogfl por uma resposta no tópico

    1 ponto
    X = Nome do Pokemon Y = Nome do Mega Pokemon Z = Quantidade de Mega Stone que precisa pra evoluir tão pokemon. K= ID da Ball J= ID da Ball Shiny (Pega o ID da Pokeball e depois o ID da Shiny Pokeball) Em Actions.xml coloca: <action itemid="IDDAMEGASTONE" event="script" value="mega stone.lua" allowfaruse="1"/> Script Adaptado desse tópico: http://www.tibiaking.com/forum/topic/35575-actions-script-scripts-boost-stone-e-shiny-stone-configur%C3%A1veis/
  40. No configuration.lua, lá você adiciona os attacks adiciona a foto do pokemon a pokédex e a vida,defesa,força,specialforça(atackes) etc Fassa igual a esse video: https://www.youtube.com/watch?feature=player_embedded&v=4duTACgj28k
  41. Como adicionar bike no meu poketibia ?

    Astral Sword reagiu a Nogard por uma resposta no tópico

    1 ponto
    Data/Actions/Scripts, arquivo.lua: function onUse(cid, item, frompos, item2, topos) local bike = {lookType = 129 } --- LookType do player em cima da bike. local speed = 474 --- Velocidade que a bike terá. if getPlayerStorageValue(cid, 32001) == 1 then setPlayerStorageValue(cid, 32001, 0) doRemoveCondition(cid, CONDITION_OUTFIT) doSendAnimatedText(getCreaturePosition(cid), 'Bike OFF!', 32) doChangeSpeed(cid, -speed) doPlayerSendTextMessage(cid, MESSSAGE_STATUS_CONSOLE_ORANGE, 'Você desmontou da bike.') else doChangeSpeed(cid, speed) doSetCreatureOutfit(cid, bike, -1) doSendAnimatedText(getCreaturePosition(cid), 'Bike ON!', 32) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou da bike.') setPlayerStorageValue(cid, 32001, 1) end return true end Roupa, velocidade: local bike = {lookType = 129 } --- LookType do player em cima da bike. local speed = 474 --- Velocidade que a bike terá. Abra actions.xml, e adicione essa tag: <action itemid="0000" event="script" value="arquivo.lua"/> Com o id do item que será usado, claro.
  42. [Resolvido] Spell que aumenta ML

    RenanPhellip reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 3)
  43. [Resolvido] [Erro] - Duplicate uniqueID

    maarlonmjc reagiu a Fausto32 por uma resposta no tópico

    1 ponto
    Tinha um rep ai na historia mais .. k era uma alavanca mesmo? só pra confirmar o mapa ..
  44. Você pode botar o level pelo RME. Exemplo: Se você quiser que só level 30 passe pela door. Action ID: 1030 E sobre a quest, é só procurar no TibiaKing, tem vários tutorias.
  45. ixi, nunca vi este ot Tenta ver se acha em algum arquivo do tipo: pokecatches.xml ou .LUA ou catches.xml ou .LUA configuration.LUA Ou nos propris .xml de cada pokemon! É só achar a parte que fala chance=
  46. [PEDIDO] Client Proprio

    Nerivalhs reagiu a EddyHavoc por uma resposta no tópico

    1 ponto
    Eae Fabricio há várias maneiras de se fazer um cliente próprio. Varia de que tipo de cliente exatamente você quer, tem aqueles clients mais complexos de se fazer que tem instaladores. E Tem aqueles clientes que é apenas um cliente próprio o básico. Vou te passar como é o básico que já ajuda para um servidor de Tibia Normal que não tem novas sprittes etc... Primeiro você tem que criar o executável do seu cliente o executável são aqueles programas .exe. Acesse: http://vapus.net/customclient para criar o client. Depois você pode alterar a imagem de fundo do cliente usando PIC EDITOR. È bem fácil alterar o fundo e tem vários tutoriais. Após ter baixado o executável se une ele com os programas Tibia.DAT e Tibia.SPR e Tibia.PIC que ele executará normal o seu IP. Ou seja vai da pra entrar normal no seu OT. Quaisquer dúvida avise que indico alguns Tutoriais do TibiaKing.
  47. [PEDIDO] Client Proprio

    Nerivalhs reagiu a MatheusVidaLoka por uma resposta no tópico

    1 ponto
    Tem sim , o tópico eu não sei , mas quer que eu faça pra voce ? Se voce quiser passe as informações se seu server :IP,tipo de imagem que voce quer, Nome do Ot , site ou não , versao , etc.
  48. 1 ponto
    Olha Guido, o TibiaAPI usa a licença MIT, ou seja, o Igor pode fazer o que bem intender com os códigos do projeto, até mesmo vender se quiser. O que eu acho errado mesmo (e como foi dito antes) ele deveria dar os créditos ao TPForums, pois sem eles, talvez nem teria criado o bot. Isso é mais uma questão moral do que legal!
  49. [Modern AAC] Prelude

    fabiodias reagiu a Renato por uma resposta no tópico

    1 ponto
    Como instalar Extraia o arquivo e jogue a pasta prelude na pasta templates do Modern AAC. Depois vá no config.php do seu Modern AAC e procure por $config['layout'] e troque o valor por prelude. Download files • Fonts -> Lobster -> lobster.eot | lobster.ttf | lobster.woff • Images -> Images | prelude.css -> index.tpl Download Ao baixar o arquivo você concorda que não está autorizado a editar para publicar nada do template. Só poderá editar para uso próprio, mantendo os créditos. Clique para baixar.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo