Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Nu77

    Galeria [Null]

    Novo nome, novo tópico, posso fazer isso? Se não me desculpem! Vai ser difícil eu postar algo aqui, já que ultimamente não estou fazendo muita coisa, mas sempre que eu fizer algo randomico eu estarei trazendo aqui. OBS: Todas as sprites desse tópico podem ser utilizadas, mas peço que coloquem os devidos créditos. Erza: Outfit Random: Sword Random: Golden Set:
    5 pontos
  2. Olá Pediram....tentei agora deem suas notas Com o tempo vem a melhora Gaara (Minha primeira sprite em perspectiva )
    4 pontos
  3. Bom como o título já diz eu decidi ajudar a vocês a como administrar o seu char, em questão de Stamina e Offline Training. Oque é importante saber: 1minuto in game = +1minuto de Off traning (em qualquer situação) 1minuto in game = 0 minutos de Stamina (caso upando será -1minuto de stamina) 1minuto Offline = +1minuto de Off traning. 1minuto Offline = +1/3minuto de Stamina (logo +1 minuto de stamina = 3minutos off) 1minuto Off Train = +1/3minuto de Stamina (logo +1 minuto de stamina = 3minutos off train) Administrando a tabela acima. Todo dia você deve utilizar as 12horas de Off training (ininterruptas, ou seja você não deve logar o seu char neste tempo); Logo durante estas 12horas de Off training sua Stamina irá se recuperar em 4horas. Seu char além das 4horas acima que ele necessariamente irá recuperar todo dia (pois todo dia você utilizará o seu Off Train) ainda deve descansar mais.. Logo você o deixa além das 12horas off mais 6 horas off (ou seja, seu char irá ficar 18horas off e irá recurar 6horas). O dia possui 24 horas, logo 18 + 6 = 24. Visando oque fora dito, você irá poder jogar 6horas/dias e não afetará em nada a sua stamina, pois o que você perderá de stamina durante o tempo jogado você irá recuperar estando offline. Tirando umas dúvidas > Sobre as camas: Dormir não ajuda na recuperação de stamina. > Premium e Free possuem a mesma regeneração de stamina. > Sobre as 2 horas de EXP extra (se você não sabe quando sua Stamina esta entre 40 à 42 horas você tem um bônus de EXP): A sua stamina irá se recuperar a cada 10minutos offline 1 minuto de stamina. Para recuperar estas 2 horas (120minutos) de stamina/bônus xp será necessário 1.200minutos offline ou seja 20horas. Aplicação do que fora dito no dia-a-dia (um mero exemplo): Situação da pessoa: Eu sou um garoto de ensino médio onde estudo na parte matutina e vespertina (7 ás 18horas). Dorme o normal (8horas/dia). Finais De Semana [FDS] -Favor considerar apenas sábado e domingo como FDS - tenho tempo livre. Aplicação do que fora ensinado: Horário de estudo (11horas) / horário de dormir (8horas). Utilizando a regra: as 18horas eu logo meu char, e saio as 23horas oque é o normal para um garoto de ensino médio. Logo meu char gastará 5 horas de stamina por dia e recuperará 06:20 de stamina. Ou seja, em dia de semana eu recuperarei 1hora e 20 a mais do que eu gasto. No FDS eu tenho mais tempo para jogar e gosto de jogar mais. Logo eu jogo 8 horas por dia, saio durante 8 horas (balada/festas/etc) e durmo 8 horas (8+8+8=24), ou seja meu char gastará 8 horas de stamina e recuperará 5:20horas (8+8=16/3=5:20), dando no FDS um total de 16horas jogadas e 10:40 horas recuperadas (deficit de 5:20horas) em dias de semana eu recupero por dia (1:20 hora a mais) dias de semana = 5 (5x1:20 = 6:40). Visando isto você possui ainda uma regeneração de Stamina por semana de +1:20horas (6:40-5:20=1:20), podendo assim usa-la da forma que você preferir. Importância de manter uma boa Stamina em seu char: Quando você atinge a marca de 14 horas de stamina, ao matar um monstro você receberá apenas 50% dos pontos de experiência da criaturas (Exemplo: se você mata um monstro que dá 100 de Exp ele passará a dar 50). Neste valor também (14 horas ou menos), se o personagem matar uma criatura, o loot será destruído.Espero que tenham gostado desta mini aula de lógica.
    3 pontos
  4. Slicer

    [Pokemon] Pda By Slicer 1.9/2.9

    [Pokemon] PDA By Slicer Pokemon dash advanced editado por slicer, vários bugs retidos. Projeto encerrado! Espero que todos tenham gostado desse 1 ano de trabalho duro! Todas as atualizações: * Leiam e sigam as instruções do Change Log dentro da pasta do patch! Downlaods: PDA By Slicer With Level System v2.9 Full -> http://www.mediafire...z2afuu75zblvmvq PDA By Slicer Without Level System v1.9 Full -> http://www.mediafire...td0l0ip9ajprrbf OTClient editado 2.8/1.8 => http://www.mediafire...1lcbs1fktpm676w Atualizações: EH OBRIGATORIO O USO DESSE CLIENT ABAIXO E USEM O .PIC TB!!!!!!!!! Client v1.9/2.9 => http://www.mediafire...77i414v1hy187fj Patch v1.9 => http://www.mediafire...da4umj3ip18jrf1 Patch v2.9 => http://www.mediafire...7nt275td9afl1fy Patch v1.9.1 => http://www.mediafire.com/?i3flwa3lrd016zl Patch v2.9.1 => http://www.mediafire.com/?m4zhjgn62uow1sp Obs: Atualizaçoes mais antigas estao dentro do spoiler acima!! OTAL.DLL: OBS: caso n esteja aparecendo a barra de moves no client normal do tibia, baixem essa .dll e coloquem na pasta onde fica o Pokemon_nibe.exe ... Otal.rar Patch Correçao! Todos olhem! Bugs na nova atualizaçao? Olhe o spoiler e veja se arruma o problema! Atualizado: 08/02/13 Créditos: Otal.rar
    1 ponto
  5. Olá Pessoal, Passou 3 anos eo baiak yurots ainda continua fazendo sucesso depois de mais de 3 anos sem editar o baiak venho trazer o novo baiak yurots feito por mim Baiak. Como Saber Que sou o Baiak, Simples somente eu tenho o RG com o Sobrenome Baiak vou posta a foto do meu RG. Criei o Nome Baiak por meu sobrenome ser baiak e por meu apelido ser Baiak Lula .. Rooxx Né pessoal!!! entao vamos Lá! • 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 .. Vamos Ver Umas Screen Shootes. Templo Visao do Alto Templo Tele Vip De Baixo Novos Treiners Master Quest Items Teleports Free Teleports Master 01/01/2014 Sem erro 09/01/2014 Bom Está Ai as fotos ACC do GOD -> 263366/263366 BOM PROVEITO DO OT SERVER. O Server Está FULL Só Baixar Abaixo ! • Download do Server 09/01/2014 -> http://www.4shared.com/rar/4LDMG4Yhce/Baiak_Yurots_52.html? • Scan do Server -> https://www.virustotal.com/pt-br/file/31ee2f78321551fa8e0109498ac38afbd5f9a0a51ef41e5e949cabd958be50dd/analysis/1387427559/ Creditos 10% GOD Bon | Por editar em 2008 90% Baiak Lula = Luizbaiak | Por editar2010 a 2014 Contato Face -> https://www.facebook.com/luizhenrique.baiak Email -> Baiaklula@gmail.com Obrigado bom jogo! GOSTOU? DE REP+.
    1 ponto
  6. Dynkzin

    PokexVnzl

    Ola Vim aqui disponibilizar meu ot de pokemon que comprei,como nao vo usar vo postar aqui =d Informaçoes •Mapa com hunts kanto. •Server Sem System de level !. •Clan System (PDA Slicer). •Alguns bugs corrigidos. •Pokemons da 1° até a 2° geração. •novas sprites do PxG. •Taunt System, para todos os clan rank 5, e algumas outfits. •novas paredes, pisos, e itens PxG. •Npc De itens de task de clãns. •Shinys Espalhado pelo mapa. •Moves system (m1 a m12). •Maximo 6 pokemonsna bag. •Order 100%. • Outland 100% no seu especifico clan ela esta 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 Por ter criado o server Espero que Gostem, Bom Aproveito =]] Obs : como não fui eu que criei,eu comprei, entao como sou apenas 1 hoster nao sei mecher muito em scripts me desculpem =/
    1 ponto
  7. kttallan

    Simples Pet Sistema

    Ola galera venho aqui postar um simples pet sistema que eu fiz pra participar do OMS. Introdução: O Pet sistema funciona assim você pode ganhar/comprar um item que ao clicar ele sumonarar seu pet com uma certa quantidade de sangue, porem só poderar usar o summon alguns vezes no dia (configuravel). Crie um arquivo chamado Petsystem.lua em data/actions/scripter e coloque. function onUse(cid, item, frompos, item2, topos) local monster ={ [12597] = {"Troll", 1, 50, vida = 500, vezes = 5, go = 00, gack = 00}, [12598] = {"Amazon", 50, 100, vida = 1000, vezes = 10, go = 00, back = 00}, [12599] = {"Demon", 100, 150, vida = 1500, vezes = 15, go = 00, back = 00} } local summom = getCreatureSummons(cid) local mst = monster[item.actionid] local hea = monster.vida function backMonster(cid, monsters) if #getCreatureSummons(cid) >= 1 then monsters = getCreatureSummons(cid)[1] doRemoveCreature(monsters) doPlayerSendTextMessage(cid, 13, "Não precio de sua ajuda"..mst[1].."por enquanto") doSendMagicEffect(getThingPos(monsters), mst.back) end end if getPlayerStorageValue(cid, 18800) >= mst.vezes then return doPlayerSendCancel(cid, "Seu Summon estar cansado só poderar usar amanhan") end if getPlayerLevel(cid) > mst[2] and mst[3] < getPlayerLevel(cid) then doSummonCreature(mst[1], getThingPos(cid)) doPlayerSendTextMessage(cid, 14, "Venha me ajudar"..mst[1].."nessa batalha") setCreatureMaxHealth(summom[1], hea) doPlayerSetStorageValue(cid, 18800, mst.vezes) doSendMagicEffect(getThingPos(monster), mst.go) else backMonster(cid, mst[1]) return true end end Agr va em actions.xml e coloque a seguinte Tag : <action actionid="12597;12598;12599" event="script" value="petsystem.lua"/> Agr va em globalevents/scripter e crie um arquivo chamado Pet.lua e coloque function onTimer() local storage = {5, 10, 15} setPlayerStorageValue(cid, 18800, storage[1]) setPlayerStorageValue(cid, 18800, storage[2]) setPlayerStorageValue(cid, 18800, storage[3]) end agr em globalevents.xml coloque o tag <globalevent name="PetSystem" time="00:00" event="script" value="pet.lua"/> Explicação [12597] = {"Troll", 1, 50, vida = 500, vezes = 5, go = 00, gack = 00}, [12598] = {"Amazon", 50, 100, vida = 1000, vezes = 10, go = 00, back = 00}, [12599] = {"Demon", 100, 150, vida = 1500, vezes = 15, go = 00, back = 00} Verde : Oque estar em verde serar o nome do pet(summon) que você vai ter. Negrito : 1, 50 quer dizer que você pode usar o summon troll so do lvl 1 ao 50. Vida: É a vida do seu pet sugiro que seja entre 500 a 5000. Vezes : e quantas vezes você pode usar ele no dia. Go : e o effeito de invocação do summon caso não deseje deixe e 0. Back : mesma coisa o efeito de remover o monstro, deixe em 0 caso n queira. Pronto eu acho que é somente isso se tiver bug vocês avisam aqui em baixo pois meu nivel de scripter não e tão auto e caso o pessoal mais experiente quizer da uma editada nele, estar de boa . Creditos Escolinha de scripter do roksas (Ensinar o que eu sei) Kttallan (Eu mesmo por ser o criador)
    1 ponto
  8. Tonynh

    Minhas fotografias (Tonynh)

    Como estou com cartão de memória novo, cumprindo a minha promessa com o Alex e criando minha galeria de fotos auahauh Peço desculpas porque as tirei do instagram, então, essas 3 imagens estão com filtro. Amiguinho que as vezes dá as caras pela universidade... Minha cadela... rs Com o tempo posto mais ibagens do meu dia a dia Depois posto algumas que tirei com minha profissional.. abraços
    1 ponto
  9. Fala galera! Estou aqui para me colocar a disposição de vocês p/ atender seus pedidos relacionados a design. Não tenha vergonha!! Faça agora mesmo seu pedido, que irei lhe atender com o maior prazer. Requerimentos mínimos para seu pedido: Fazer um pedido por vez. Tema | Tamanho | Texto Esclarecer qualquer preferencia e edição particular! Os pedidos serão atendidos por ordem dos comentários, Obrigado!
    1 ponto
  10. Waterson

    Tibia Farm Server -/- Está de Volta

    Olá a todos; Há cinco meses vem sido desenvolvido a mais nova versão do antigo servidor "Tibia Farm", agora com mapa pronto, sistemas a balancear, ou seja o servidor encontra-se em estágio final de desenvolvimento; Novas classes foram criadas substituindo as originais do Tibia, trazendo uma nova experiência aos jogadores juntamente com o antigo sistema inovador de fazendas; A seguir algumas fotos tiradas do novo mapa, trazendo um pouco das novidades; Desenvolvido; Waterson;Scripter/Client Maker Phantom;Mapper/Rpg Maker Tópico Antigo: http://www.xtibia.com/forum/topic/201957-tibia-farm-server/ https://www.facebook.com/TibiaFarmOficial -- Pagina Recém Criada +PRINTS ABAIXO
    1 ponto
  11. ICoelho

    ICoelho's collection

    Começando uma rookgaard.
    1 ponto
  12. Garlickwar

    Comandos Básicos e comandos avançados

    Bom olá galerinha do xtibia sei que existem muitos tutoriais de comandos de god mais vou por os comandos básicos e tambem os mais avançados. Bom digamos que você está criando um server é God más não sabe comandos Para isso estamos aqui - Comandos básicos: /b Fala em vermelho para todo o server /c nome do player (Pucha o player até você) /goto nome do player (Transporta você até o player) /t ou /t nome do player (Teleporta para o templo você pelo /t ou algum player pelo /t name) /owner nome do layer (Entre dentro de uma casa e use este comando para dar a casa a este player) / pvp ( Deixa o server pvp, pvp enforced e no pvp) /ghost (te deixa invisivel vale lembrar que pessoas da staff com mesmo cargo e maior podem te ver) /up (Faz você subir um andar se tiver) /down (Faz você descer um andar se tiver) /r (Exclui itens ou qualquer coisa caso queira excluir coisas se usado em player faz eles logarem, com mais itens tipo dinheiro que tem 100 fala /r all) /kick nme do player (Kika o player) /info (Ve as informações do server) /s nome do npc (Cria um npc) /addskill Nome do player, nome da skill 1 (Da skill para um player por exemplo "/addskill Stilwar fishing 10" da 10 de fishing) /addskills, nome do player experience 1 (Dá 1 de level para o player) /openserver (Abre o server para as pessoas) /closedserver (Fecha o server para as pessoas apenas Gods ficam on) /save (Salva o server) /i id ou nome (Cria o item do nome citado em caso de gold coin sempre ira criar 100 automaticamente) /n nome do objeto (Cria um item com o nome) /m nome da criatura (Cria um monstro ao seu lado) Bom gente os básicos estão ai vale lembrar que na criação eles criam apenas item ja existentes tambem o mesmo é na criação da criatura Continuando nosso tutorial vamos para os comandos mais avançados os attr /attr health -999999 (Este comando tira o tanto de vida representado no mumero posto no caso um exemplo: /attr health -9999 vai tirar 9999 Ele funciona em qualquer coisa viva players e monstros porem tome cuidado caso você tire mais vida do que um player tem ele vai ficar morrendo ate chegar na quantidade que voê tirou exemplo: jogador tem 100 de vida se você tirar 200 ele vai morrer duas vezes) /attr position x y z (Este comando serve para editar teleports crie um portal normal vá no local que quer que o player vá e de look no chão la terá a position substitua as letras do comando por os numeros correspondentes exemplo : /attr position 150 27 10 /attr set name "Nome que você quer (Comando usado para mudar o nome de um item ponha o item em sua frente e use o comando exemplo: /attr set name "Super Stilwar armor vai mudar o nome da armor. /attr set attack 99999 (Ponha uma arma [sword,axe ou club] na sua frente e diga este comando para deixala com 99999 de atack o valor você pode alterar para + ou menos). Este comando pode ser usado para mudar a força de defesa (defense) e mudar a força da armor apenas substitua para aumentar a força do escudo /attr set defence 9999 e para mudar a força da armadura /attr set armor 999999. /attr set text "Frase que desejar (serve para mudar as escritas das placas no jogo) /attr vocation 1 (1 = Sorcerer, 2 = Druid, 3 = Paladin, 4 = Knight) /attr group 6 (o numero corresponde ao cargo que ele tera 1 - Player normal 2-Tutor 3 -Senior tutor 4 -Game Master 5 - Senior Game master 6 - God) /attr cannotmove (Faz com que o alvo não se mova Bom gente existem varios outros más aqui estão os mais uteis Créditos 40% Vodkart (Já que foi vendo o post dele que eu aprendi) 60% Eu (Já que a maioria eu sabia e organizei de forma com os mais utilizados Falow galerinha do mais uma vez obrigado pela atenção de todos até nosso prossimo tutorial (Caso eu mereça rep+ )
    1 ponto
  13. DuuhCarvalho

    System Recompensa por Level

    Bom o script é simples mais muito útil ! e muito fácil de configurar . vocês podem adicionar quando leveis e items vocês quiserem ! vá em data / creaturescripts / scripts : crie um novo arquivo.lua e cole isso dentro .. local leveis = { [1] = {lvl = 50, item = 2160, quant = 10, sto = 001}, [2] = {lvl = 100, item = 2160, quant = 20, sto = 002}, [3] = {lvl = 200, item = 2160, quant = 40, sto = 003}, [4] = {lvl = 300, item = 2160, quant = 60, sto = 004}, [5] = {lvl = 400, item = 2160, quant = 80, sto = 005}, [6] = {lvl = 500, item = 2160, quant = 100, sto = 006} } function onAdvance(cid, skill, oldLevel, newLevel) local level = getPlayerLevel(cid) for i = 1, #leveis do if level >= leveis[i].lvl and getPlayerStorageValue(cid, leveis[i].sto) <= 0 then doPlayerAddItem(cid, leveis[i].item, leveis[i].quant) setPlayerStorageValue(cid, leveis[i].sto, 1) doPlayerSendTextMessage(cid, 22, "Você upou level "..level.." ou mais, e ganhou "..leveis[i].quant..", "..getItemNameById(leveis[i].item).."!") end end return true end configurando o script : Adicione a tag em script / login.lua .. registerCreatureEvent(cid, "Nome do Evento") e Adicione a tag em creaturescripts.xml : <event type="advance" name="Nome do Evento colocado em login.lua" event="script" value="Nome do Arquivo.lua"/> É isso!
    1 ponto
  14. Madarada

    Madarada Show Off

    Eai galerinha meu nick é Madarada e esse é o meu show off Lembrando que todas as minhas sprites são de USO LIBERADO essa é a minha colaboração ao xtibia,só peço quem for usar se puder dar aquele REP pro tio eu estarei atualizando minha galeria toda semana. - 14/03/2014 - Cavaleiros armadura dourada Sauron (fico ma o meno) Nem me perguntem o que é isso rsr Mr.Músculo Um ninja de um projeto de naruto antigo Parede japonesa Já ouviu falar do tryndamere? Outro ninja (anbu) Por enquanto é só isso ABRAÇOS
    1 ponto
  15. DuuhCarvalho

    Sprites. [DuuhCarvalho]

    dando uma de designer .. e muito ruim 'rs Mais : . é isso por enquanto , resolvi aprender , pq estou com um projeto em mente.. mais para isso preciso da ajuda de você .. (Critica!)
    1 ponto
  16. Eae Galera,vou disponibilizar meu pack de novos lendarios. •Zekrom (Completo) •Renshinran (Completo) •Deoxys (Completo, Contando Com o SPeed, Pyscho e Defense Deoxys esses sao para as magias). •Palkia (Completo) nao é novo mais ta no meu pack faz tempo •Regice (Completo) •Shiny Darkrai (so tem o outifit, o portrait e corpse eu usava do normal) •Primal Dialga (Completo, Pra quem nao sabe é o dialga so que de lava) •Shiny Groudon (Somente Portrait e outfit , corpse eu usava do normal) •Shiny Kyogre (Completo) É ISSO GALERA N FOI FACIL FAZER ESSE PACK ENTAO SE DE AO ESFORÇO DE INCENTIVAR. CUSTA NADA NEH. DOWNLOAD
    1 ponto
  17. Eae galera do xtibia, aqui estou eu de novo trazendo um novo tutorial... dessa vez, vou ensinar á fazer algumas coisas, que foi muito dificil encontrar, quando eu estava tentando aprender... isso quando eu encontrava né... Vou ensinar á voces, como criar uma vocaçao, colocar transformaçoes, para narutibia. Vou tentar explicar de uma forma simples, para que os iniciantes entendam. Primeiro, vamos imagina uma vocaçao.. ex: Konan. Quando voce for criar ja tem que saber quantas transformaçoes irá colocar nela. Digamos que seja 6 transformaçoes. Vá em data/xml/vocations.xml. Ja que vamos colocar 6 transformaçoes, teremos que criar 7 tags para a vocaçao, como podem ver á cima, na primeira tag, o VocationId e o FromVoc deverao ser iguais, na segunda tag só aumenta 1 numero no VocationID, e do terceiro em diante, aumenta 1 numero nos dois. Isso sera necessario, porque a primeira tag nao irá valer de nada. Ok, fazendo essa parte corretamente, sua vocaçao estará pronta. Agora vou explicar a parte de ajeitar as transformaçoes. Vá em data/talkactions/scripts/transformar.lua Essa parte Voce irá adicionar no final do script, vou explicar para que cada numero serve, e o que é. 650,651,652,653,654,655 = sao apenas exemplos, esses numeros voce deverá colocar de acordo com o seu script, digamos que a ultima transformaçao que tem la, tem o numero "430" na primeira da sua voce deverá colocar "432" e assim por diante... 50,100,150,200,250,300 = É o level necessario para a transformaçao de cada linha. 651,652,653,654,655,656 = É os Ids da vocaçao, lembra que na explicaçao de criar a vocaçao, eu disse que deveria ter 7 tags, pois a primeira n vale de nada, entao, aki na parte das transformaçoes, voce começa pelo VocationID da segunda tag, até o final... 557,558,559,560,561,562 = Sao os numeros das newtypes da vocaçao, nao esqueça de fazer na ordem certa. E por ultimo, os numeros 10, que seria o efeito que vai sair no player quando ele transformar, voce pode mudar de acordo com os numeros do comando "/z". Bom galera, por ai termina o tutorial, caso tenham feito tudo certa, nao ocorrera nenhum erro, e espero que tenham aprendido. Brevemente irei ensinar á fazer spells basicas para narutibia.. Até a proxima! Gostou do meu tutorial? Deixe seu rep+
    1 ponto
  18. Zoobu

    Galeria [Keviz]

    Bom como o outro tópico é voltado a remakes de pokemons top down, decidir criar outro tópico para minhas sprites na perspectiva. Minha primeira. Superman Gogeta ssj4 (fan art) Ino Uchiha Itachi Deidara Sasuke Hebi e Akatsuki Sakura Naruto Nami Tentarei fazer outros e postar aqui ^^ Criticas e dicas bem vindas.
    1 ponto
  19. Wend ll

    {Tutorial Básico Sobre .Lua}

    Oiie Pessoal do Xtibia. Venho Trazer Um Tutorial sobre ".Lua" que Achei em Outro Fórum Pois Não Pode citar o Nome AQ, Que é Fora das Regras Parte I – Básico do básico de Lua Começaremos por LUA porque é uma linguagem simples, que não precisa declarar variáveis e tudo mais. Aqui não explicarei as funções do otserver e sim como montar um script. Nessa primeira parte usarei o Português Estruturado que sinceramente não é útil quando você aprende a sintaxe da linguagem, porém é ótimo para você que está começando aprender o que está fazendo e não só copiando e colando. LEMBRANDO QUE PORTUGUÊS ESTRUTURADO NÃO É UMA LINGUAGEM É APENAS UM JEITO DE VOCÊ ENTENDER A SINTAXE DAS LINGUAGENS. Começando vamos explicar a sintaxe de um script bem básico mesmo. Aquele script que quando você da use em 100 gps ele vira 1 platinum coin Em português estruturado ele ficaria assim : Com português estruturado da para entender essa action Agora da para explicar melhor a estrutura de um arquivo lua de actions : ► Essa parte é a que diz ao servidor que essa função vai se ativar quando o player usar o item indicado no actions.xml. No caso é a função aoUsar ou seja quando o player clicar com o direito nesse item irá acontecer algo. ► O SE é uma condição, se estiver tudo certo dentro dele ele faz a condição contida no caso o id (numerodoitem) tem que ser 2148 (Gold Coin) e tem que ser do tipo 100 (No caso de itens juntáveis o tipo é a quantidade), faça remova ele e adicione UM item 2152 (platinum coin). ► Senão ou seja, se o item não for 2148 ou não ter tipo 100, não retorne ao começo do script e finalize. Espero que essa parte tenha esclarecido um pouquinho mais sobre actions. Agora vou explicar um pouco mais sobre algumas condições e suas sintaxes. Sintaxe do IF, Else e Elseif. A condição if de longe é a mais importante de todas as programações e é essencial para um script um pouco mais complexo ou para evitar que você faça 200 scripts para certas funções (comida do tibia por exemplo). Vocabulário do tio Ta4e Única coisa que o lua pede é que cada item tenha um end para cada if colocado tenha um end, você também tem que entender a questão do if encadeado que será tema da próxima aula aqui. Mais para ela se tem que saber o básico de um If normal. Esse é o script anterior com adição de uma condição que se o player tiver 100 platinum coin ele se transforme em uma crustal coin. Você percebe que eu alinhei o if e elseif a seu end, isso chama-se Estruturação, isso é muito importante já que para achar um erro será muito mais fácil E fica mais organizado seu script Você percebe que o IF tem um end no final da sua cadeia, pois todo IF tem que ter um end porém o ELSEIF se enquadra dentro do IF. O ELSEIF ajuda pois você diminui linhas de scripts e serve para outras funções mais avançadas que serão vistas nas próximas aulas. Lembrando também que a função toda função também tem seu END, isso ajuda no caso de você querer colocar duas funções no mesmo script (muito usado em movements). IF Encadeado O if encadeado ou cadeia de if, indica funções pouco mais complexas que o if solitário, porém não é nenhum bicho de 7 cabeças, se você fazer a estruturação do script. Aqui vai o script de exemplo, é um script muito mais complexo do que os do gps Esse script é o que eu uso para minhas quest. Esse é um ótimo exemplo de if encadeado. Perceba que ele está estruturado. Claro que colorido é muito simples identificar cada else e end Agora vou explicar a sintaxe. ►A primeira parte pede que o uniqueid (é um numero especial usado apenas uma vez no mapa inteiro), seja 2300. ►Essa parte do queststatus é uma variável que será explicado a parte ►Esse If, checa se o player tem o valor da variável listada acima, senão ele manda a mensagem o “the chest is empty”. ►Esse outro if checa se o player tem a capacidade 29.50, senão ele manda a mensagem “You have found a demon helmet. Weighing 29.50 oz it is too heavy”. ►Chama-se cadeia de if porque as funções em preto só serão executados se todos os IFS forem verdadeiros, se apenas um não for ele já acusa o erro. Seria mais ou menos como tirar um RG Perceba que você terá que ter tudo isso para fazer o RG senão tiver você não consegue tirar ►Voltando ao script perceba que todos tem seu respectivo end, isso é importantíssimo Variáveis Variáveis é uma parte da memoria na qual se guarda um valor ou informação, em outras linguagens elas tem tipos como de números inteiros, reais ou de letras, porém em lua não existe isso. O que facilita muito nossas vidas as variáveis são maneiras ou jeitos de você fazer scripts para outras pessoas ou por pura preguiça mesmo... São extremamente necessárias em scripts grandes na qual um item de mesmo id é repetido muitas vezes, e talvez depois seja necessário muda-lo Lembra do script anterior da quest a parte que da questatus A quest status é uma variável, que pergunta ao servidor se o player tem o valor nele Se não tiver faça, ou seja -1 é igual a negativo ou negação, no caso se o programador quisesse que ele tivesse colocava 1 Essa parte é bem simples de se entender, já que variáveis servem para simplificar a vida de não programadores, porém deixam seu servidor mais pesado, não é coisa grande, porém como já disse a variável ocupa memoria, em torno de 3kb cada uma, mais em um otserver básico possuem muitas variáveis Elas podem ser indicadas em qualquer parte do script, e elas sempre recebem dados ou perguntam. Pode se fazer cálculos nas variáveis ou usar outras variáveis dentro dela sem problema nenhum. Sinais Matemáticos e de comparação Aqui vai uma coisa que confunde muita gente : ►= - Faz o item anterior receber algo Exemplo : gold = 2148 ►== - Verificação. É para checar Exemplo : if item.itemid == 2555 then ► Os sinais matemáticos são +, -, / e * . ►E como toda linguagem não existe , entre números 1,5 é 1.5 virgula é só para separar variáveis ►Para se checar pode ser usar == (igual a ), >= (maior ou igual a ), <= (menor ou igual a ) o sinal de diferente é agora com certeza é ~=. ►Pode se calcular os itens dentro de variáveis ou até dentro de funções. IF com varias condições Você já deve entender um pouco mais de scripts portanto agora colocarei scripts cortados Vamos a um exemplo : Nesse caso o item.itemid é aqueles itens que você pode dar use with (vara de pescar por exemplo) e o item2.itemid é o local a ser clicado. Então seria Se o item for 2694 e o segundo item for 1381 ou 1382 ou 1383 ou 1384 faça. Ou seja qualquer um desses itens é considerado válido. Essa é a básica desse tipo porém pode-se fazer umas mais complexas como essa debaixo que não existe em actions e é só para explicar : Nesse caso o player teria que usar o item 1381 e o 1382 juntos ou o 1383 e 1384 juntos. É usado em movements, npcs e talk actions muito frequentemente. Parece fácil mais da para se confundir facinho ai. Quando usar IF e quando usar ELSEIF Essa parte é a final desse primeiro tutorial e serve apenas para dar uma idéia de como melhor seu script básico Como eu já disse o Elseif é uma é a junção de else + if e ele só vai executado depois se o if primário for falso. Ou seja ele é usado quando apenas uma das condicionais vai ser verdadeira , eu uso muito isso em npcs para o quests de npcs, mais podemos mostrar uns exemplos em actions. Já o if sempre será checado, bom para os ifs encadeados já que eles tem todos estarem certos ou errados. Exemplo de If e Elseif junto ►Perceba que nesse caso é usado o elseif porque é impossível que o mesmo bau tenha o mesmo uniqueid (Como disse anteriormente cada uniqueid é usado apenas 1 vez no mapa e um item só tem 1 uniqueid). Então ou é um ou é outro. E ELSEIF não tem end. ►Nesse caso todos tem que ser reais para poder se executar o script, então é necessários ser if e ter seus ENDS. Comentários Para inserir comentários na linguagem lua é necessário adicionar – 2 hifens. Pode ser em qualquer parte do script (pelo amor de deus não coloque dentro de um if) normalmente usado para explicar o script ou colocar créditos Siglas e Dicionario id – Identificador ou seja no caso de otserver é o numero do item para o tibia. cid – Creature Id :Identificador da criatura, no caso a criatura que executa a ação, no caso o player. uid – Unique Id : Identificador único usado uma vez no mapa (em algumas funções ele serve como para indicar um id. actionid – Identificador de ação pode ser usado varias vezes no mapa, usado principalmente para aquele chão que afunda perto do DP. Creditos: Achei em Outro Fórum Pois Não Mereço Creditos só Trouxe Para aqui Creio que irá ajudar Bastante GENTE QUE TA COMEÇANDO..
    1 ponto
  20. vital900

    The Djinn War [Djinn Quest]!

    Requerimentos: 1- LVL mínimo 40 2- Cheese () 3- Cookbook () -> Você pode comprar ou fazer a quest [Valor: 5~10k, depende do mundo] Pegando o Cookbook! Pegando o Cheese! Agora com os itens que deve se ter para fazer a quest, vamos começa-la! Em Ankrahmun você deve se encaminhar ao NPC Melchior (ele é um andarilho.. Mas ele anda em volta deste circulo). Agora devemos ir na torre dos djinn azuis. Como chegar na Orc Fortress!
    1 ponto
  21. 1 ponto
  22. 1 ponto
  23. Killua

    <eof> expected near end

    Eu me limitei a resolver o erro que vc havia falado. Aqui ela está com o exhaust arrumado: local remove_time = 7 -- tempo em segundos para remover as magic wall local item_id = 1499 -- id da magic wall function onCastSpell(cid, var) local storage = 23001 local spellname = "prision" local time = 10 if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Wait "..time.." seconds to use "..spellname.." again.") return false end local pos = getThingPosition(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) end end addEvent(removeItem, remove_time*1000, posAll) exhaustion.set(cid, storage, time) return true end function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end
    1 ponto
  24. Killua

    <eof> expected near end

    eof = end of function
    1 ponto
  25. masdead

    [Encerrado] Mapa 10.35

    http://www.xtibia.com/forum/topic/228732-10311035-melhor-real-mapa-baseado-10-lancado/
    1 ponto
  26. Jakson Souza

    [Quest] Soul Stone

    só pra avisar, o mundo do nosso amigo vital é no-pvp!
    1 ponto
  27. Alexclusive

    Galeria De LuquitossML

    Só passando pra avisar que o Lucas ta marrando os show-off da mesa digital que ele comprou.... Posta ai logo moço!! Ta muito show essa ratazana!!
    1 ponto
  28. Creaturescripts function onLogin(cid) playerpos = getPlayerPosition(cid) doSendAnimatedText(playerpos, "Bem Vindo ao Baiak Compact", TEXTCOLOR_WHITE) doSendMagicEffect(playerpos,48) doSendMagicEffect(playerpos,49) return TRUE end <event type="login" name="Conected" script="customlogin.lua"/>
    1 ponto
  29. Madarada

    Madarada Show Off

    vlw pelos coments todos 17/03/2014 Novas sprites adicionadas 1# Ninja 2# Ninja 3# Ninja Suigetsu chipset Parede redonda existe uheuheuhe (pretendo sombrear futuramente)
    1 ponto
  30. Waterson

    Tibia Farm Server -/- Está de Volta

    Vai ser sim Só que apenas quando o mapa ficar maior! -- EDIT Pessoal, tive uma ótima idéia, estou pensando em fazer um sistema, que vamos supor, as deer, elas corre quando vc chega perto, mas elas ficam do lado dos lobos, um pouco estranho na minha opnião, estou pensando em fazer um sistema que se o lobo ver a deer ele vai corer atras dela, dos cavalos, das cavas spawnadas e talz , acho que ficará muito bom, quero a opnião de vocês aew
    1 ponto
  31. Olha Nada Melhor que Uma Video-aula para aprender Isso e Esse Video foi feito Pelo Proprio dono do server que você que adicionar os Pokemon http://www.xtibia.com/forum/topic/210838-video-aula-completa-como-add-novos-pokemons-no-pda/
    1 ponto
  32. Olá a todos, nesses últimos tempos andei pesquisando sobre criação de website para Open Tibia, não achei muita coisa por ai na internet, então resolvi analisar o banco de dados de um servidor de tibia,e cá pra nos os sites atuais não vão muito alem de um crud,para quem não sabe crud são operações basicas feita no banco de dados . C create (criar) R read (ler) U (update) D (delete) Pensando nisso comecei a desenvolver um website para esse fim, criei algumas classe para fazer todo esse processo e resolvi compartilhar,não vou dar muitos detalhes sobre a classe,apenas postarei exemplos de utilização A primeira classe vem com nome de banco.class.php responsavel pela conexão com banco de dados e operações CRUD <?php abstract class banco{ /*Propriedades*/ public $servidor = "localhost"; public $usuario = "root"; public $senha = "senha"; public $nomebanco = "nome"; public $conexao = NULL; public $dataset = NULL; public $extras_select = NULL; public $linhaafetadas = -1; /*Metodos*/ public function __construct(){ $this->conecta(); } public function __destruct(){ if($this->conexao != NULL): mysql_close($this->conexao); endif; } public function conecta(){ $this->conexao = mysql_connect($this->servidor,$this->usuario,$this->senha,TRUE) or die($this->trataerro(__FILE__,__FUNCTION__,mysql_errno(),mysql_error(),true)); mysql_select_db($this->nomebanco) or die($this->trataerro(__FILE__,__FUNCTION__,mysql_errno(),mysql_error(),true)); mysql_query("SET NAMES 'utf8'"); mysql_query("SET character_set_connection=utf8"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_results=utf8"); } public function inserir($objeto){ $sql = "INSERT INTO ".$objeto->tabela." ("; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= key($objeto->campos_valores); if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; reset($objeto->campos_valores); $sql .= "VALUES ("; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'".$objeto->campos_valores[key($objeto->campos_valores)]."'"; if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; return $this->executaSQL($sql); }// inserir public function atualizar($objeto){ $sql = "UPDATE ".$objeto->tabela." SET "; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= key($objeto->campos_valores)."="; $sql .= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'".$objeto->campos_valores[key($objeto->campos_valores)]."'"; if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .="WHERE ".$objeto->id."="; $sql .= is_numeric($objeto->valorid) ? $objeto->valorid : "'".$objeto->valorid."'"; echo $sql; return $this->executaSQL($sql); }//atualizar public function deletar($objeto){ $sql = "DELETE FROM ".$objeto->tabela; $sql .=" WHERE ".$objeto->id."="; $sql .= is_numeric($objeto->valorid) ? $objeto->valorid : "'".$objeto->valorid."'"; return $this->executaSQL($sql); }//delete public function selecionaTudo($objeto){ $sql = "SELECT * FROM ".$objeto->tabela; if($objeto->extras_select != NULL): $sql .= " ".$objeto->extras_select; endif; return $this->executaSQL($sql); }//seleciona tudo public function selecionaCampos($objeto){ $sql = "SELECT "; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= key($objeto->campos_valores); if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .= " FROM ".$objeto->tabela; if($objeto->extras_select != NULL): $sql .= " ".$objeto->extras_select; endif; return $this->executaSQL($sql); }//seleciona tudo public function executaSQL($sql=NULL){ if($sql != NULL): $query = mysql_query($sql) or $this->tratarerro(__FILE__,__FUNCTION__); $this->linhasafetadas = mysql_affected_rows($this->conexao); if(substr(trim(strtolower($sql)),0,6)=='select'): $this->dataset = $query; return $query; else: return $this->linhasafetadas; endif; else: $this->trataerro(__FILE__,__FUNCTION__,NULL,'Ocorreu um erro interno,desculpe',false); endif; }// executa SQL public function retornaDados($tipo=NULL){ switch(strtolower($tipo)): case "array": return mysql_fetch_array($this->dataset); break; case "assoc": return mysql_fetch_assoc($this->dataset); break; case "object": return mysql_fetch_object($this->dataset); break; default: return mysql_fetch_object($this->dataset); break; endswitch; }//retorna dados public function trataerro($arquivo=NULL,$rotina=NULL,$numerro=NULL,$msgerro=NULL,$geraexcept=FALSE){ if($arquivo == NULL) $arquivo="Não informado"; if ($rotina == NULL) $rotina="Não informada"; if ($numerro == NULL) $numerro=mysql_errno($this->conexao); if ($msgerro == NUll) $msgerro=mysql_error($this->conexao); $resultado = 'Ocorreu um erro com os seguintes detalhes:<br /> <strong>Arquivo:</strong> '.$arquivo.'<br /> <strong>Rotina:</strong> '.$rotina.'<br /> <strong>Código:</strong> '.$numerro.'<br /> <strong>Arquivo:</strong> '.$msgerro.''; if($geraexcept = false): echo($resultado); else: die($resultado); endif; } } ?> Uma segunda classe precisou ser criada por fim de organização com o nome de base.class.php responsavel por de fato pegar o nome da tabela no banco de dado e executar as operações <?php require_once("banco.class.php"); abstract class base extends banco{ public $tabela = NULL; public $campos_valores = array(); public $id = NULL; public $valorid = NULL; public $extras_select = NULL; public function addCampo($campo=NULL,$valor=NULL){ if($campo != NULL): $this->campos_valores[$campo] = $valor; endif; } public function delCampo($campo=NULL){ if(array_key_exists($campo,$this->campos_valores)): unset ($this->campos_valores[$campo]); endif; } public function setValor($campo=NULL,$valor=NULL){ if($campo != NULL && $valor != NULL): $this->campos_valores[$campo] = $valor; endif; } public function getValor($campo=NULL){ if($campo != NULL && array_key_exists($campo,$this->campos_valores)): return $this->campos_valores[$campo]; else: return FALSE; endif; } } ?> Agora vamos preparar a classe para executar as operações desejadas na tabela "accounts" accounts.class.php <?php require_once ("base.class.php"); class accounts extends base{ public function __construct($campos=array()){ parent::__construct(); $this->tabela = "accounts"; /*Seleciona a tabela*/ if(sizeof($campos)<= 0): $this->campos_valores = array( "email" => 'andre_garehotmail.com' ); else: $this->campos_valores = $campos; endif; $this->id = "id"; } } ?> E por fim exemplo de utilização para começar a utilizar a classe precisamos importar ela na página <?php require_once ("accounts.class.php"); $accounts = new accounts(); Um exemplo pratico atualizando campos na tabela accounts,pode pegar este dados de um formulario, como geralmente é feito $accounts->setValor('name','Rodrigo'); ## Atualizando o nome 'Rodrigo' na tabela accounts ## $accounts->setValor('password','123455');## Adicionando o 'password' na tabela accounts ## $accounts->atualizar($accounts); Selecionando todos os dados da account,um exemplo disso é o characters.php onde lista as informações do personagem(este exemplo foi feito com account,poderia ser na tabela players) $accounts->extras_select = "WHERE id = 5"; /*selecionar id,name,email da account ID = 5*/ $accounts->selecionaTudo($accounts); while($res = $accounts->retornaDados()): echo $res->id .' / '.$res->name .' / '.$res->email.'<br/>'; endwhile; Deletando a account no banco de dados $accounts->valorid = 55; $accounts->deletar($accounts); Adicionando uma account, lembrando que pode pegar os dados pelo formulario,como geralmente é feito no exemplo foi feito so Account Name e Password $accounts->addCampo('name','Jakimif'); $accounts->addCampo('password','123456'); $accounts->inserir($accounts); isso não foi um tutorial e sim exemplo de utilização da classe. poderia ser feito tudo na mesma página,mas dificultaria a manutenção criando a classe você pode utilizar em qualquer página do site com uma simples linha,como feito nos exemplos acima
    1 ponto
  33. Deixa eu explicar, pra uma vocação estar no account manager, a tag fromvoc="x", o X deve ser o mesmo ID da vocation, exemplo.. Tem o Sorcerer, o ID do sorcerer é 1, então para ele entrar no account manager, eu boto o fromvoc="1", assim essa vocation sera acessível pelo account manager.. Agora, se eu quiser que a classe nao seja acessível pelo account manager, é so mudar o fromvoc="x", onde X sera a classe antecessora a vocação desejada.. Exemplo: Digamos que eu quero que eu tenho a vocação Sorcerer e Master Sorcerer no meu account manager, e eu queria tirar o master sorcerer, e coloca-la para ser depois do Sorcerer, sendo o fromvoc="1" para Sorcerer e fromvoc="5" do Master Sorcerer, no caso, para colocar pra o Master Sorcerer ser a sucessora do Sorcerer, é so trocar o fromvoc="5" para fromvoc="1", pois 1 é o ID da classe antecessora a ele, ou seja, somente a vocation de ID = 1 poderá virar Master Sorcerer. Espero que tenha entendido
    1 ponto
  34. dalvorsn

    Projeto Tutores de Scripting

    Nesse caso é melhor fazer por query, tu vai fazer a query ordenando da maior para menor, Caso não saiba executar queries, use esse site para estudo: http://www.w3schools.com/sql/default.asp As funções de database são: local result = db.getResult(query) result.getDataInt(resId, s) result.getDataLong(resId, s) result.getDataString(resId, s) result.getDataStream(resId, s, length) result.next(resId) result.free(resId) Porem o uso constante de database é um pouco perigoso, faça um sistema de cache, que só executa a query de tempos em tempos, independente de quem requisita o rank(ou seja, salvando numa global storage) Não ha um modo mais fácil ? Não que eu conheça, porque não tem como tu fazer a seleção de todos os storages de certa key por funções lua, se tiver provavelmente vai ser muito mais trabalhoso, ou feito pelas sources, ai tambem daria. Eu fiz ai, porque é um pouco mais complicado esse, entao se tiver duvidas em algum ponto me diga que eu tento esclarecer --#config# local global_storage = 5666 -- global storage do cache local rank_storage = 3600 -- storage do rank local limit = 10 -- limite de players aparecendo no rank local cache_time = 10 -- segundos local function getStorages(key, limit) local ret = {} local query = db.getResult("SELECT player_id, value FROM player_storage WHERE key = "..key.." ORDER BY value DESC LIMIT 10") repeat local player_id, value = query:getDataInt("player_id"), query:getDataInt("value") table.insert(ret, {pid = player_id, value = value}) until not query:next() query:free() return ret end local function getRankStr(key, limit, cache, cache_time) -- getRankStr(key, limit[,cache,[cache_time]]) local ret_str = "Request Board\n\n" if cache then local str = getStorage(global_storage) if str ~= -1 then local last_update = str:match("Last Update: (%d+)") if os.time() <= (tonumber(last_update) + cache_time) then return str:gsub("Last Update: %d+$", "Last Update: ".. os.date("%c", last_update)) end end end local rank_data = getStorages(key, limit) for it, data in pairs(rank_data) do ret_str = ret_str .. string.format("%d \- %s \n", it, getPlayerNameByGUID(data.pid)) end ret_str = ret_str .. "\nLast Update: "..os.time() doSetStorage(global_storage, ret_str) ret_str = ret_str:gsub("Last Update: %d+$", "Last Update: ".. os.date("%c", os.time())) return ret_str end function onUse(cid, item, fromPosition, itemEx, toPosition) return doShowTextDialog(cid, 1950, tostring(getRankStr(rank_storage, limit, true, cache_time))) end Primeiro erro: A função getCreatureSummons retorna uma table, logo quando você faz isso: if #getCreatureSummons(cid) then Está retornando o tamanho da tabela, mas é o mesmo que fazer "if 1 then"(numero de summons do player) porem em lua, quase tudo é true em uma condicional, se bota entao uma função que retorna um numero num if, esse if nao faz sentido pois sempre vai ser true, compare ele com algum numero if #getCreatureSummons(cid) >= 1 then -- exemplo Segundo erro: monster = getCreatureSummons(cid) Voce está salvando na variavel monster o endereço da tabela que a função retorna, esse endereço nao é uma creatureId, use getCreatureSummons(cid)[numero], getCreatureSummons(cid)[1] e etc Terceiro erro: Voce usou o mesmo nome de variavel (monster) tanto para configuração como pra salvar o creatureid, no seu script não está errado, porem cuidado ao fazer isso, só não te deu problemas porque voce nao utilizou os dados da tabela inicial monster depois de alterará-la
    1 ponto
  35. Quanto ao de pokémon eu não sei, pois não entendo desses tipos de script.. kkk Mas quanto ao outro pedido.. Ta na mão só escolher a position e o texto que você quer.
    1 ponto
  36. Avuenja

    Apresentação

    ei cara, não da ideia aeuhaeuhaeuhuhae UEOIAUEIOAU Desculpa Lf...
    1 ponto
  37. BrenoNeto

    Galeria BrenoNeto.

    Sprite nova :3 (Desculpem a falta de tempo, por isso não venho postando). Base
    1 ponto
  38. Lordfire

    Apresentação

    ei cara, não da ideia aeuhaeuhaeuhuhae
    1 ponto
  39. beto06

    [Show Off] Beto

    Última foto dessa hunt, deu trabalho ;d http://3.imgland.net/JeFP_h.png
    1 ponto
  40. Junior001

    [New Entrada]

    ~resolvido, reportado para que movam.
    1 ponto
  41. EdMignari

    Object Builder

    Le um melhor, Obd. Pois é ele não importa IDC. Eu quero por essa função, mas desconheço a estrutura do formato. Não vou dizer que OBD é melhor, mas garanto ter mais vantagens. Se alguém que está lendo este post conhece a estrutura do formato IDC, dê uma forcinha ao projeto =) Mas não me sugira estudar as sources do black demon
    1 ponto
  42. Piabeta Kun

    Global Gesior By PiabetaMan01 2.0

    malz pela demora, e nem era onde eu te pedi, em config/config.php tem a seguinte linha $config['archez']['secret'] = array(2, 6, 7, 13, 16, 17, 18, 23, 24, 26, 29, 30, 31, 32, 34, 35, 37, 43, 44, 46, 51, 53, 54, 62, 63, 65, 66, 68, 73, 80, 81, 82, 83); basta por o id do achievement secret e ja era!
    1 ponto
  43. Bom Vai em Data/Pokemon statistics Vai ter la todos os arquivos dos pokemons que jaah pegaram e as brokes . vc pode apagar Todos, que quando o kra taka a ball denovo ira aparecer um novo arquivo que vc tinha apagado.
    1 ponto
  44. alissonfgp

    [Encerrado] Map editor 10.30

    http://www.mediafire.com/download/gqf2i618dbwvnmo/RME-3.0-beta-6_for_1010-1031.rar
    1 ponto
  45. Jesteer

    Como criar client [servidores derivados]

    hoje venho trazer um tutorial de como criar um client para servidores derivados: Começando: entre no site http://vapus.net/customclient e faça apenas o exe (como fazer explicação em "como funciona") baixe o pack de utilitários no fim do post nele contem: descompactador( para descompactar o client que você usa caso for compactado a dat pic e spr). pic editor: para trocar as imagens do client. reshack (para trocar o ícone) explicando como cada um funciona: Primeira parte: como criar client no vapus.net IP do seu servidor. o titulo do seu servidor que vai ficar na barra em cima.(entre o 2 e 3 tem uma opção marque ela se não vai dar bug) site(até 13 letras). site para criar a conta. site para logar a conta. site p quando servidor estiver off(até 13 letras). site para suporte(até 13 letras). o nome do chat geral(caso não queira mudar deixe default). Versão(muito importarte) Fazer o client Exe finalizado. Segunda parte: como descompactar o client base(caso seu client já tenha dat,pic,spr pule esta parte). clique em unpack pronto dat pic e spr estarão na pasta em que estava o client 2º modo se você não conseguiu com o primeiro: baixe e extraia o tibia unbinder coloque o client que você quer descompactar dentro da pasta bin renomeio para Tibia [Ou qualquer outro titulo que esteja seu Client, o titulo que conta é o titulo que esta na barra de cima onde fica o botão de fechar, então renomeie o Client para o titulo que aparecer la em cima.] execute com administrador unbinder e abra o client. execute os seguintes comandos no unbinder, title Tibia [Ou qualquer outro titulo que esteja seu Client, o titulo que conta é o titulo que esta na barra de cima onde fica o botão de fechar, então renomeie o Client para o titulo que aparecer la em cima.] client [a versão sem ponto no meio ex (client 854)] inject espere aparece o dat spr e pic na pasta do unbinder. execute exit no unbinder. Renomeie Unbinder.pic,Unbinder.spr e unbinder.dat para Tibia.spr, Tibia.dat e Tibia,pic Download no final do topico do unbinder Agora junte o exe,dat,pic e spr tudo em uma unica pasta. Terceira parte: abra o pic editor traduzido por rafael lucas( de preferencia execute com administrador). clique em arquivo/abrir e selecione a pic do seu client (que esta na pasta que voce uniu exe com dat pic e spr) selecione a imagem que vai ficar na capa do seu server no lugar da que esta agora (tem que ser com nome 0 ter o formato bmp e ser 640x480). clique em arquivo/compilar pronto já vai estar na pasta do pic editor sua nova pic. até aqui sua foto de entrada IP já estão editadas! acabou?! não ainda temos que trocar o ícone. quarta e ultima parte: instale e abra o reshack. faça uma imagem para o icone 64x64 vá até http://www.icoconverter.com/ selecione size 64 pixels e clique em convert. no reshack vá em file/open e selecione o exe do seu client. agora vá em icon/1 vai aparece um ícone 1033 clique com botão direito nele e em replace source. escolha seu ícone que você criou no primeiro passo. agora vá em file/save. Download download do pack:http://www.mediafire.com/download/44svi2cd8sk5zej/utilitarios_ot_server.rar Unbinder http://www.mediafire.com/?7zxbd999gh7g8zc Tutorial finalizado espero que tenha sido útil para vocês até a próxima!
    1 ponto
  46. beto06

    [Show Off] Beto

    Bom, nada de demais, só pra mostrar os telhados (meio difícil de fazer xD) e a comparação mesmo.. (CLIQUE)
    1 ponto
  47. Rookwar

    [Globaleventes] Teleports Falantes

    Galera, estou aqui para ensinar vcs a criarem um Teleport Falante. 1º Vão a pasta Data/Globalevents e abram o globalevents.xml e adicionem essa linha Abaixo. 2° vão a pasta Data/Globalevents/Scripts criem um arquivo lua, e renomeie para teleports, apague tudo que está dentro e escreva isto: Explicação: Vermelho: É a posição do TP Verde: é oq estará escrito. Notem q do lado do nome do tp " Hydra [1], Hydra [2]... está escrito pos ou pos1... o Hydra [1] é o 1º la nas coordenadas por q dentro do parenteses está escrito Pos, se estivesse escrito pos1 seria o 2º Azul: A cor do TP Se quiserem adicionar mais tps é só copiar e colar e muda as coordenadas Comentem ;D Obs:Este Script não foi Testado se tiver algum bug Reportem Para baiak.lula@hotmail.com ou ou envie aqui para o post.
    1 ponto
  48. Bom esse sistema é Simples, ele funciona assm: Se eu executar o comando "/rename DinoAdmin, Dino" Eu mudo meu nome de DinoAdmim para Dino. Esse sistema serve para voce quem tem um servidor Grande e Com Muitas accounts Criadas... Digamos que entre um GM Novo no seu server e para voce não ter que procurar o nome dele no meio de mais de 5 mil acounts para mudar voce pode esta mudando o Nome dele pelo servidor executando o comando "/rename" vamos parar de enrrolar e vamos lá... 1° Vá em data/talkaction/scripts/ Crie Um Arquivo Chamado "account.lua" e cole isso dentro: Agora em Data/talkation/talkacton.xml/ cole esta tag: <talkaction log="yes" words="/rename" access="5" event="script" value="account.lua"/> Agora voce não preisa Procurar conta por conta é so mudar por comado. Veja: 11:56 /rename trade, [GM] Trade 11:56 You have changed trade's name to [GM] Trade. Espero que gostem do script. Creditos: Equipe Pokemon Adventures DinoAdmin Nessa Henke
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...