Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/08/13 in all areas

  1. Oi Gustavo. Para de ser burro, cara. Tu percebeu o que acabou de fazer? Você não conhece o fórum do qual se considera administrador. Acabou de retirar e banir o melhor coordenador / scripter que o SEU fórum já viu, nos últimos anos. E por quê? Por uma bobagem, que você considera importante. Isso me lembra o ano passado, quando eu fui retirado da equipe, por dizer que o XTibia não era prioridade da minha vida. Se lembra? Pois é. Acho que o XTibia não é prioridade na sua vida também, mas isso não parece ser motivo pra você abandoná-lo, né? Peço, ou melhor, ordeno, que retire as pips do fórum. Elas estão hospedadas sob o meu copyright, e não concedo a você a minha autorização para usá-las. Se quiser saber mais, pesquise sobre os termos de uso / termos de cópia do DeviantArt e do Flickr, que oferecem esse suporte online. Se quiser continuar usando uma pip de administrador, peço que faça sua própria. Eu fiz essas pips pra um fórum que eu gostava, não pra esse XTibia. No mais, peço desculpas ao Lordfire e ao Anyur, por tomar essa decisão.
    18 points
  2. Desculpa aí Gustavo, mas não entendi o motivo desse banimento. Não basta remover o cara por motivos pessoais e ainda bane por algo que nem está nas regras? Larga de ser burro cara, sinceramente. Todo mundo sabe que você já tinha pulado do barco há tempos e você voltou há mais ou menos um mês querendo colocar ordem numa casa que acredite, estava organizada. Não ligo se você banir minha conta, excluir fazer qualquer merda com ela, só quero que você coloque a mão na consciência e leve em consideração pessoas que já te ajudaram nesse fórum aqui. O Oneshot foi o MELHOR coordenador que esse fórum já teve, ele era um cara com muito conhecimento e experiência e você o removeu por ser sincero, presumo que você quer pessoas que babem o fórum e você por aqui né? Numa conversa pelo Facebook você me disse que sempre que tentava ajudar nós parecíamos que não queríamos ajuda, e realmente, esse tipo de ajuda a gente nunca precisou. Fica meus pêsames para você aqui, pois desse jeito o seu filho vai morrer.
    15 points
  3. Chegou minha vez de me pronunciar com esses acontecimentos. Gustavo, você tem noção do que acabou de fazer? Você foi uma criança imatura ao remover o OneShot da equipe, e como se não bastasse, você deletou um dos usuários mais fodas que já passou pelo xtibia.com. Só porque você é administrador e fundador do fórum, você não tem o direito de vir até essa comunidade que até uns dias atrás estava completamente ABANDONADA POR VOCÊ, e fazer o que bem quiser. Entrei na coordenação, porque queria ajudar a comunidade a crescer, queria ver o pessoal aprendendo cada vez mais você mesmo sabe, não ganhamos nada por isso. É tudo de forma voluntária! Mas o que você fez? Mostrou sua ingratidão diante de todos nós. Se você tem uma rede de servidores, e ganha dinheiro com isso, isso veio com o crescimento dessa comunidade. TODO O DINHEIRO QUE VOCÊ GANHA, VEIO DE TRABALHO COLABORATIVO E VOLUNTÁRIO DE SEUS USÁRIOS. Pra mim já deu, peço desculpas ao Lordfire e ao Anyur, que diferente de você, são pessoas incríveis e responsáveis. Mas também estou me retirando da equipe, e talvez desse fórum. Agradeço a vocês que tanto confiaram em meu trabalho, foi um prazer trabalhar com todos vocês.. Aos meus estagiários, e a minha equipe, devo desculpa a vocês também. No ato da minha saída estou quebrando o meu compromisso com vocês, mas para mim já não dá mais. E aos usuários e amigos que conquistei em todos esses anos de XTIBIA.COM, um forte abraço, e nos vemos por aí! Lembrem-se a vida não se resume a um jogo, ou um fórum na internet. A vida é bem mais que isso, vocês só devem procurar o verdadeiro valor que ela tem =) Fui!
    14 points
  4. A única coisa que eu realmente lamento é a gente ter dado nossos esforços, tempo (que muitas vezes não tínhamos), parcerias, amizades, e toda a nossa dedicação para construir um fórum ideal, um lugar que nos sentíssemos bem e que pudesse ajudar a comunidade brasileira (que é carente em termos de OTserv/qualidade) e ver ela se desmoronar por motivos pessoas e intrigas polidas, por causa de algo que sequer nunca afetou o XTibia. De fato, sem o Gustavo esse fórum não estaria online(mantê-lo é um prejuízo financeiro pois não gera lucros), mas a própria esperança do XTibia trouxe sua desgraça. Cuspiu no prato que comeu, e botou fogo em sua própria casa ao exigir da gente algo que não entendemos, pois por aqui as coisas sempre caminhou, com ou sem você. XTibia é e sempre vai ser minha casa, existindo ou não. Aprendi coisas demais aqui e é realmente doloroso vê-lo tomar esse rumo. Uma vez ouvi o Gustavo dizer que ainda só não tinha encerrado o XTibia e os projetos relacionados à ele porque gostava muito do projeto. Hoje, me pergunto, onde esteve esse amor?
    3 points
  5. Se preocupa não amigo, teu nome já tá no topo pra futuro Coordenador. rlx
    3 points
  6. Faz um tempo que não posto imagens aqui então vou postar 3 de uma vez A ultima ta meio incompleta
    3 points
  7. Bom galera não foi eu quem fez o video, mas eu estava procurando um tutorial diferente para trazer a seção, dai lembrei do virtual tuning, andei procurando um tutorial e tal.. É um tutorial facil, com o básico do virtual tuning mesmo, em breve trarei uns mais avançados.. Caso não entendam algo, perguntem no tópico. Créditos : Ramon Dantas
    2 points
  8. ESCREVI E SAI CORRENDO PAU NO CU DE QUEM TA LENDO
    2 points
  9. Gustavo, você tem 24h pra retirar as pips do fórum. Você. Tu é outro. O que tu fez nos seus 5 meses de administração? Juntou dinheiro pra gastar em askov?
    2 points
  10. E o pior, estamos todos aqui falando o que pensamos (não era esse o motivo do tópico?) e todos corremos riscos de ser banidos só por falar. No mais toda a galera disse tudo que eu ia dizer, e apoio a decisão do Bernardo... Infelizmente. Coloque a mão na consciência, releia o tópico e veja se foi realmente necessário o banimento do Oneshot. Não é possível que você realmente pense nisso como certo. E DinoAdmin, vai tomar no cu tranquilo, para de chupar a rola do Gus. Abraços.
    2 points
  11. Gustavo, para de ser burro caralho O XTibia estava fluindo perfeitamente, não sei por que caralhos você - que deveria ser o que mais quer o bem para o fórum, mas parece que não - tentou botar ordem num lugar que não precisava. Agora, sair e deixar a culpa sendo carregada por outra pessoa é fácil. Porque você não tenta carregá-la, já que foi você quem a criou?
    2 points
  12. Olá, meu nome é Cristofer Martins, sou programador e gameDesigner e atualmente faço parte da equipe Digimon Adventure Online. Estou aqui para apresentar o meu Spr Editor, que desenvolvi para a equipe por que outros editores não eram funcionais/simples o suficiente. Alem disso, vi que não há sprite editores para as novas versões do Tibia, dificultando a inserção/remoção/edição/exportação de Sprites dos novos arquivos SPRs.Alem disso, um outro motivo foi que tive uma pessima experiencia com o Demonic Editor, tentei exportar as Sprites do nosso SPR para uma pasta umas 20 vezes e sempre dava algum erro no meio do caminho. Por isso desenvolvi um Editor eu mesmo. Preview: Funções( no menu ): -Add: Adiciona n sprites ao editor. Basta clicar no add que irá aparecer a janela para você seleciona todas as sprites que você quiser( multi seleção ). Essas sprites serão adicionadas no final da lista de sprites. OBS: As imagens devem ser PNG e o fundo das sprites deve ser transparente, e não rosa, como é de costume. -Replace: Substitui n sprites no editor. Selecione com Ctrl ou até com o Shift as sprites no editor que você quer substituir, depois clique no menu em Replace. Irá aparecer uma janela aonde você seleciona as imagens PNG para serem substituidas. As sprites serão substituidas na sequencia, a primeira Sprite selecionada no editor vai ser substituida com a primeira imagem selecionada na pasta. O progresso do replace pode ser visto na barra de progresso. -Delete: "Deleta" n sprites da lista.Selecione com Ctrl ou até com o Shift as sprites no editor que você quer deletar, depois clique no menu em Delete. Essas IDs das sprites que são deletadas vão aparecer "" e o ID delas, elas são sprites vazias, sem conteudo que você substiuir com novas imagens e assim aproveitar essas IDS que não estão servindo para nada. Export: Exporta n Sprites. Basta selecionar com Ctrl ou com Shift ou clicando na sprite que o editor irá exportar essa sprite com fundo transparente. Você pode facilmente exportar todas as sprites para uma pasta ou apenas aquelas que lhe interessam. O progresso da exportação pode ser visto na barra de progresso. Clear: Limpa a lista de sprites e remove as imagens da memoria. Util para criar um arquivo SPR do zero, por exemplo. Exemplo multi select( para deletar, substituir ou exportar ): Abas Extract/Compile Extract: Nessa aba você clica em SPR file para abrir o arquivo SPR, escolhe a versão dessa SPR ali no "menu" do lado daonde tá escrito "version" e clica em Extract. O programa vai começar a extrair as sprites e adiciona-las a lista( as vezes a lista fica estatica basta clicar nela que ela atualiza com as sprites novas ) e o progresso da extração pode ver na barra de progresso. Compile: Nessa aba você compila as Sprites da lista para um arquivo SPR. Para isso basta clicar em "save" e escolher o arquivo SPR que vai ser salvo, escolher a versão desse arquivo SPR como feito em Extract e clicar em "Compile!". O progresso da compilação pode ser visto na barra de progresso. Outros Search by ID: Pesquisa uma sprite pelo ID. Caso essa id exista na lista, a lista se move até a a sprite. Download: SPREditor Scan: Virus Total Caso você encontre algum bug, reporte nesse topico por favor. Aceito sugestões. Caso exista alguma versão que não seja aceita no editor e você tem a signiture(assinatura) do arquivo spr, poste aqui que eu atualizo o version.ini.
    1 point
  13. Boa galera andei olhando e vi alguns tópicos até meio parecidos com o que estou fazendo agora, mais, eu não acho eles completos por tanto aqui vamos nois. 1° Vamos fazer todos os downloads necessários. Vamos usar um source TFS pra versão de Tibia 8.60 - Source - Stians Dev-Cpp <> 32bits - Stians Dev-Cpp <> 64bits 2° Abra o Dev-cpp: 3° Clique em Tools > Check For Updates/Packages: 4° Clique em Check For Updates and Upstairs select devpacks.org: 5° Seleciona OpenSSL 0.9.8a e clique em Dowload: 6° Em seguida irá aparecer automaticamente um processo de instalação: Agora seu Dev-cpp está no ponto pra compilar. 7° Use ctrl + o pra abri o .dev: 8° Ele vai estar dentro da pasta da sua source: 9° Então depois que abrir todos os arquivos: 10° Use alt + p logo após aparecerá uma janela ae clique em parameters e adicione, {-D__CONSOLE__} e depois OK: 11° Agora é so compilar ctrl + f9: 12º O seu executavél vai está na pasta da sua source: Pronto galera compilação concluida. Creditos: nwtr Nando Web Natan Beckman
    1 point
  14. Olá :XTibia_smile: quando eu era novo em ot (adimito, não faz muito tempo) eu queria aprender a CRIAR novos pokes com novas sprites e tudo, e eu num achava como... Eu fucei em uns negócios e consegui!! Então como eu sei que tem muitas pessoas com esse mesmo problema, decidi criar esse tuto. Então, vamos ao trabalho. Parte 1: Sprites Faça o download desse dat editor: DAT EDITOR DOWNLOAD Gente até aqui utilizamos o dat editor com imagens... a partir de agora é com XML só de poketibia e com spoiler, ou seja, sem fotos. Observações: Obs1: Todos os sprites devem ser em 32x32 píxels e salvos em formato ou PNG (aconselho) ou em BPM... Obs2: Para pokemon/monsters de 4 sqm, Width:2, Height:2, precisam de 4 sprites de 32x32 para cada parte... Obs3: A Animation pode ter quantas forem necessárias.. 1=não tem animção, 2, 3, 4, 5, etc... Obs4: Eu estou disponibilizando um site com sprites de pokemon só para recortar: http://www.spriters-resource.com/ds/pkmndungeon2/index.html Parte 2: XML 1º passo: Abra a pasta Data/Monsters/Pokes copie e cole um pokemon qualquer e mude o nome por fora. monster name: nome do monstro. nameDescription: como fica o nome quando da look no poke. race: Sempre será undead.. Não mude. experience: experiência que o pokemon dá ao derrotá-lo. speed: velocidade do monstro. health now: vida atual (ao ver ele em local de spawn). max: vida real dele, quando estiver totalmente curado. look type: quando vc estiver no dat editor ainda, lá tem itemtype em Extras nas barrinhas de baixo.. coloque o itemtype que está lá, aqui. attacks: os attacks que ele irá utilizar se for selvagem... se não for, não coloque nada e sim apague. defenses: Que tipo de defesa ele utiliza por exemplo: a cada 4000 interval ele se cura. voices: as vozes que ele fala (aquelas em laranja). loot: o item que cai do poke em id. Legal, daí vc abre Data/Monsters/Monsters.xml e lá fassa a mesma coisa, copie qualquer uma linha e cole ali mesmo: monster name: nome do monstro. file="pokes/.xml": onde estaria escrito "pidgey" coloque o nome do arquivo XML que vc colocou no seu poke. EX.: Se eu criei um agron, e coloquei o nome do xml de agron, teria que colocar: file="pokes/agron.xml" Ajudas: 1ª ajuda: Para passar as sprites para 32x32 tem que ser assim: Imagem Só dá para ser feito isso pelo paint. Créditos: 99% BlueshardXD 01% GustavoFire (por achar o link de download ^-^) Bom gente é isso.. qualquer dúvida pode postar (ñ sei se irei resolver mas...) e postem comentários por favor.. Por que eu fasso um tutorial desse tamanho e nem ligam... Pelo amor de Deus em... MEU PRIMEIRO POST DE TUTORIAL.. ENTÃO DÊEM COMENTÁRIOS CONSTRUTIVOS... E NÃO AQUELES QUE SÓ JOGA AGENTE NO FUNDO DO POÇO VIU... MAS VALEU! DESCOBRI UMA DICA!!! Eu descobri uma coisa que será muito útil para todos os que aprenderam e estão fazendo seus servers com monsters ou pokes novos... aqui vamaos à dica... Após fazer seu monster ou poke no Dat Editor clique em Export/Export Item... e salve am algum canto... (aconselho em uma pasta separada) o arquivo será salvo no formato .idc IREI EXPLICAR PRA QUE ISSO SERVE: se vc perder os dados ou fizer outro server ou sei lah o que vc queira.. ao abrir o dat editor clique em New/Monster... e quando aparecer o novo monstro pra vc criar as sprites e adionar vc, ao envés de clicar em Import/Sprites, clica em Import/Import Itens e seleciona o Monster/Pokemon que vc salvou no formato .idc e ele aparecerá com as sprites todas jah adicionadas e alteradas.. Ex: jah estará com a sequencia <,^,>,\/, e se for um poke ou monster de 4 sqm (height2, weight2) jah estará tudo correto... Se for de 9 sqm, 16 sqm, etc... vai estar tudo certo.. VANTAGEM: vc num vai perder tempo fazendo sprite por sprite Novamente !!! Espero ter ajudaddo novamente!!!
    1 point
  15. EdMignari

    Sprite Editor

    O TibiaCanvas é um editor de sprites que visualiza in-game em tempo real e offline. http://www.youtube.com/watch?v=TCT87Ba9pJc Download (Versão 0.1 Beta 2) Scan Projeto Exemplo: Algumas teclas de atalho: Sobre o módulo Slicer: Aviso:
    1 point
  16. Bom pessoal, por meio desse topíco resolvi ensina-los a como balanciar os pokémons no PDA, como os pokemóns Selvagem e os pokémons dos player também, vamos lá ? Bom,quem usa meu servidor, e ja vi varias duvidas como diminuir as força dos pokémons shiny selvagem, vms la..Lembrando que essa função so tem no do meu servidor, acho que no PDA do slicer não tem, mais tem outros metedos de arrumar. data/lib/level.system.lua o meu aqui no começo ta assim.... local level = 0 local b = getCreatureOutfit(cid).lookBody local shiny = 170 local lvl = getPokemonLevel(cid) local monstrinho = getCreatureName(cid) --alterado v1.4 if optionalLevel then level = optionalLevel elseif b > lvl then level = b elseif string.find(monstrinho, "Shiny") then level = lvl * 02.0 else level = lvl end Ai como que faço para diminuir a força do shiny SELVAGEM? bom, simples. nessa função tem essas 2 linha.. olhe level = lvl * 02.0 e essa.. local shiny = 170, Ai seu você quiser decha-lo o shiny selvagem MAIS fraco, apenas vai diminuindo os valores.. exemplo.. level = lvl * 01.0 local shiny = 100 Ai vocêis vão ajeitando do jeito que bem gostar Agora vamos a como diminuir a força do shiny Selvagem no PDA Do slicer.. 1* data/lib/configuration.lua abre com esse programa de preferencia.. Notepadd++, se você não tiver no seu PC, só procura no google ^^. ai você procura por essa linha no configuration.lua ["Shiny Arcanine"] = {offense = 12.1, defense = 8.8, specialattack = 11, vitality = 9.9, agility = 320, exp = 234.3, level = 100, wildLvl = 100, type = "fire", type2 = "no type"}, Bom, nessa linha tem isso..wildLvl = 100, nesse 100 é a força que vai nasce no respaw selvagem.. seu vocêis quizerem altera dechando mais fraco é só diminuir.. ou se quiserem decha mais forte, almentão.. exemplo, vo da um de + fraco. ["Shiny Arcanine"] = {offense = 12.1, defense = 8.8, specialattack = 11, vitality = 9.9, agility = 320, exp = 234.3, level = 100, wildLvl = 30, type = "fire", type2 = "no type"}, Pronto, onde esta em 'NEGRITO' é a parte que eu alterei,agora vo tentar ensina como balanciar algum pokémon do PLAYER PDA . Vamos supor que eu queria balanciar o bulbasaur, vai em data/lib/configuration.lua e procure por isso.. ["Bulbasaur"] = {offense = 1.26, defense = 4.3, specialattack = 4.3, vitality = 3.2, agility = 145, exp = 64, level = 1, wildLvl = 1, type = "grass", type2 = "poison"}, Bom vo decha uma tabela aqui explicando oque é Offense/defense Etc. offense = offense que ganha por level level = level min pra usar o poke / offense base defense = defense por level agility = speed base dos pokes specialattack = special attack que ganha por level exp = exp que dá a cada level que tem (somada a exp base, no xml do poke) vitality = vida que o poke ganha pra cada vitality que tem Acho que nessa parte não há mais duvidas né? só voceis irem alterando os valores do seu gosto. Agora irei ensinar a como modifica algum CD de algum pokémon do PLAYER (eu falo "pokémon do player", porque para modifica o cds do pokémon selvagem ja é outro metédo. Ai mesmo em configuration.. data/lib/configuration.lua e procure por.. ["Bulbasaur"] = {move1 = {name = "Quick Attack", level = 5, cd = 15, dist = 2, target = 1, f = 40, t = "normal"}, move2 = {name = "Razor Leaf", level = 12, cd = 10, dist = 4, target = 1, f = 33, t = "grass"}, move3 = {name = "Vine Whip", level = 19, cd = 20, dist = 1, target = 0, f = 65, t = "grass"}, move4 = {name = "Headbutt", level = 16, cd = 15, dist = 1, target = 1, f = 70, t = "normal"}, move5 = {name = "Leech Seed", level = 16, cd = 60, dist = 3, target = 1, f = 1, t = "grass"}, move6 = {name = "Solar Beam", level = 31, cd = 60, dist = 1, target = 0, f = 135, t = "grass"}, move7 = {name = "Sleep Powder", level = 20, cd = 80, dist = 1, target = 0, f = 0, t = "normal"}, move8 = {name = "Stun Spore", level = 18, cd = 45, dist = 1, target = 0, f = 0, t = "normal"}, move9 = {name = "Poison Powder", level = 17, cd = 45, dist = 1, target = 0, f = 0, t = "normal"}, }, Bom para fica facil, vo da o exemplo do Move1. ["Bulbasaur"] = {move1 = {name = "Quick Attack", level = 5, cd = 15, dist = 2, target = 1, f = 40, t = "normal"}, Vamos as explicaçoes. name = Bom é o nome do Atack, é bom sempre colokar com nome as letras inciais maiusculas e não assim (quick attack) level = Bom aqui é o level necessario para usa-la a spells, EXEMPLO. se um cara for level 4 ententa usa a spell apareçe a msg de nao é possível. cd = Bom, aqui é o CD vo tenta explica, se o cara usou a Spell, ele tera que espera 15 Segundos para usa-la novamente. dist = Bom dist, aconselhado a nem meicher, é distance para pode-lo da a magia de lonje..aconselho ficar assim mesmo. target = Bom aqui o target, se Estiver 1 ali na frente, é PORQUE é necessario tar com target para usa-la a spell, e se estiver 0 é porque não precisa de 'TARGET' para usa-la a spell. f = Bom Aquele "F = 40" , o 40 é a força da spell, exemplo..se estiver muito fraco mesmo a spell, é so eu almenta o F ali para 50-100 exemplo, pode almentar o tanto que bem quiser. normal = Bom ali vo tenta explica, a Spell SOLAR BEAM, ela é do clan "Grass" (Naturia), ai se voceis quizerem arruma somente os CDS nem precisa meicher ali, e se criar outra spell é necessario meicher ali para altera o clan dela para ter os "%" a mais no atack. Bom, espero que tenha gostado, em breve mais tutoriais sobre o PDA. Abraços.
    1 point
  17. Bom Galera Hoje vou Fazer um tutorial para quem nao sabe criar um client proprio ainda. vamos lá a) Criando o Executavel 1° Crie Uma Pasta na area de Trabalho com o Nome do Seu client 2° Vá no Site Do Vapus (Clique Aqui Para Ir) 3° Preencha Oque se Pede. (Veja como Preencher Na Imagem Abaixo) b) Editando a Imagem 1°Voce Precisa Ter o PIC Editor (Clique Aqui Para Fazer o Download do Pic Editor 8.54) 2° Voce Vai Pegar Seu Tibia.dat,Tibia.spr e Tibia.pic e vai colar na Pasta onde voce colocou o Executavel. 3° Coloque o PIC Editor La dentro Tambem 4° Abra o PIC Editor 5° Click em "Browze" 6° Celecione Seu Tibia.PIC 7° Click em "EXTRACT" E Aguarde 8° Vai Aparecer 8 Imagens (0 a 7) 9° Voce vai Pegar a Imagem de n°0 e Apagar 10° Agora voce vai Editar uma Imagem e Colocala no Tamanho 640x480 e Formato BMP 11° Agora Coloque a foto Na Pasta e Renomei ela Para 0 12° Click em "COMPILE" E Aguarde 13° Agora Abra o Client e Veja como Ficou a Imagem ^^ Apois Abrir vá na Pasta e tire as Imagems 0 a 7 que ficaram abertas la e i pic editor deixa na pasta somente o executavel e o tibia.pic,.spr,.dat. Agora Voce já Tem o Seu Client Proprio Com sua Imagem Propria c) Mudando o Incone do Client 1° Voce vai Precisar do Res Hack (Click Aqui Para Baixar) 2° Agora Abra o Res Hack 3° Click em File/Opem e Procure Pelo Seu Executavel 4° Com o Executavel Dentro do Res Hack voce vai em "Action"/ Replace Incon. 5° Vai Abrir uma Telinha Veja na Imagem Abaixo 6° Click Onde eu Marquei e Celecione o Incone que voce Deseja por no Seu Executavel. 7° Apois Escolher Vá em Replace 8° Aperde Ctrl+s e Fexe o Res Hack Vá ate a Pasta do Client e Veja lá vai ter 2 executavel o Original e o Que agente Mudou o Incone Voce vai apagar o Original e vai ficar com o que mudamos o incone Agora Ja Temos o Client Proprio a Imagem e o Incone. c) Mudando o IP De Um Client 1° Voce vai Precisar do Cygnus Hex Editor (Click aqui Para Baixar) 2° Abra o Seu Signus Hex Editor Vá em "File/Open e Procure pelo Client que Quer Mudar o IP 3° Apois Achar Aperte Ctrl+f e Cole o Numero de IP do Client. 4° Se o Client for Padrao vai ter o IP Padra 127.0.0.1 voce vai Buscar por esse ip 2 veses (Fez a primeira busca com o ctrl+f, voce vai apertar ctrl+f novamente e procurar pelo Memso ip. Mais isso se for o padrao) 5° o IP Que voce Vai Substituir Eu recomendo que tenha No Maximo 18 Caracteres. 6° Agora Subscrever o Seu ip sobre o IP Do client (Se for o padrao vai ser 127.0.0.1) 7° Apois Subscrever Todos os IPs Voce vai Aperdar Ctrl+s e Fexar o Cygnus Hex Editor. Lembrese que Voce nao pode colar o Seu ip Voce tenque Subscrever se nao vai dar erro. Bom Galera Espero Ter ajudado com esse Pequeno Tutorial. Creditos: 100% DinoAdmin
    1 point
  18. LuckOake

    Lua Script Maker

    Olá galera, para testar minhas habilidades de programador em Lua resolvi fazer um programa que cria scripts a seu gosto. Atualmente ele tem suporte para Actions, Talkactions e StepIn (Movement). Nada muito complexo, é apenas pra ajudar os iniciantes mesmo. O programa e sua source seguem em anexo na mensagem. Imagem: OBS: Programa feito em Lua. Download aqui em baixo \/ Lua Script Maker.rar
    1 point
  19. Olá galera, estou com tempo agora e irei começar a fazer clients para todos! Farei no máximo 2 Clients por dia. Informações do client que faço: Instalador próprio. Não usa ipchanger. Imagem própria e customizada. Ícone próprio. Hospedagem no MediaFire. O que não faço: Clients para Dbz.(Apenas tibia e pokemon) Não customizo ícones, os icones usados já são prontos. Cooldown Bar e pokemon bar. Quer pedir seu Client? Siga o formulário abaixo. Nome Do Projeto(Servidor)= IP Do servidor= Versão Do Servidor= Imagem que usará no client=(De preferência com dimensões 640x480) Icone que usará no client=(Eu preciso de icones de tibia, pokemon eu tenho) Se é de pokemon, link para client que usa até agora= Informações a mais= Regras: 1º Peça o client aqui pelo tópico, não peça por PM. 2º Use a PM somente sobre curiosidades e afins. 3º Entregarei os clients aqui mesmo pelo Tópico. 4º Farei apenas 2/3 Clients por dia!(2=Segunda.--Sexta/3=Sab.--Domingo) Adicionarei mais regras depois. Clients que já fiz: Pokemon Emerald Thorn OTserver PS: Faço designs também, backgrounds para sites, logos, etc.(Para contratar para estes afins, por pm apenas!) Galera, aproveitem! (Se algum moderador puder fixar o tópico, ajudaria muito a todos!)
    1 point
  20. LuGaNow

    taggie

    1 point
  21. Iaew galera Xtibiana blz? Vim postar umas SS de um projeto que eu estou fazendo. (Aceitando críticas e sugestões) Templo - AureaOT Templo - AureaOT - Andar de cima. Depot - AureaOT Depot - AureaOT - Andar de cima Estou tocando fundo nesse projeto. Espéro que tenham gostado. Créditos: 95% Eu. 5% DP de Thais. (Tibia Global) ~~~ Flws, e obrigado a atenção! Hail Xtibia!
    1 point
  22. •~~PServer 0.1 By DinoAdmin~~• • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; ├ Scan; ├ Videos; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • • Scan • • Videos • • Creditos • Bom espero que Todos Gostem do Servidor, Pois esse é o primeiro servidor que eu posto aqui no XTibia.com. Se por ventura voces acharem algum Bug no server por favor reportem aqui. Se gostarem do servidor me Incentive dando REP+ (Voce não é obrigado) Por favor comentem Sobre o Servidor aqui. Obrigado e eu posso afirmar que eu vou postar a verção 0.2 que terá a terceira Geração. Vamos aguardar e eu conto com a sua ajuda.
    1 point
  23. Esclarecimento..… Vou mandar um formspring e pra quem duvidar de algo converse com alguma staff da direção ou o LF, eles tem acesso a essas informações que vou divulgar aqui. @xtibia acabou? Não! alguns engraçadinhos resolveram criar burburinhos e colocaram lenha na fogueira de uma discussão polêmica. Hoje de manhã iniciaram vários ataques na Webserver que deixou o banco de dados do xtibia.com fora do ar, a equipe já está resolvendo e controlando o ataque. Pedi para ativarem os firewalls na frente do dedicado para poder processar o ataque. @O xtibia.com dá dinheiro? Errado, antes de 2011 xtibia.com nao pagava as contas, depois da globalots eu consegui que eles usassem a infra para nos hospedar junto com a rede de defesa deles. Pois nao sei se voces lembram em fevereiro de 2012 nós ficamos 2 semanas fora do ar por ataques grandes e ali sim achei que a comunidade iria acabar. @Caso One Shot Ajudar a comunidade não significa poder tratar qualquer pessoa como bem entende. Se voces nao lembram o objetivo do topico era ajudar o portal onde eu começo o discurso dizendo que iríamos contratar uma galera pra poder nos ajudar no projeto e tudo mais. @bernardo Banido, preciso nem dizer por que né? So deletei seus comentários de falta de respeito mas sobre memorizar seu nome, por que eu faria isso com um coordenador que entrava 1x a cada 2 semanas? Você acha que há 7 anos na frente da comunidade eu não aprendi a sacar quem realmente quer fazer e quem quer entrar apenas para "ser da staff?" @gears Não tenho nada contra você mas resolveu tomar as dores do amigo banido, tive que banir também pela falta de educação. @powerzin Não te removi de lugar nenhum, nada contra voce. Peça os logs ao lordfire @dino Também não fui eu te que bani, peça logs depois ao lordfire. @Defina Bom? Eu vi muitos dizendo que o xtibia estava bom, que essa discussão acabou com o fórum né? Agora, leiam até a terceira ou quarta página desse tópico e vejam como "o que voce mudaria?" virou uma briga entre membros (da própria staff) onde meu post "desisto de ajudar..." gerou uma rebeldia, inicialmente no oneshot, e depois em amigos e admiradores dele. @O que está acontecendo? Agora minha vez de falar... Bom, ao criar esse "Voce mudaria" ao xtibia.com eu já previa esse tipo de conflito. O grande problema é que existem algumas pessoas (já foram banidas) que não sabem formar uma opinião, se apoiam em boatos e palavras soltas sem argumentos que muitos falaram aqui. Logo, resolveram tomar as dores do amigo e me deparei com "animais" querendo simplesmente acabar com um projeto de 7 anos. O xtibia.com precisava desestabilizar para mostrar a sua real face, não é: - Por que o portal tem artigos 1x por semana que definimos um forum bom - O portal crescer 30% nas férias que crescemos, pois isso acontece todo ano (há 7 anos) - O projeto se estabilizar com os mesmos usuários há meses que estamos saindo da zona de conforto e etc... Pensem nisso.
    1 point
  24. Oque foi gustavo? Removeu os post's onde havia criticas sobre você e também baniu os usuários que te criticaram? Oque houve? Tem medo de ouvir ( ler ) a verdade? Pois é nesse tópico estamos vendo o belo ADM que você é
    1 point
  25. eu compro o ekz por 1 real e ai gus topa? ps: ainda to valorizando é minha unica e ultima oferta!
    1 point
  26. Slicer

    Portoes automaticos

    globalevents/scripts/ tag: <globalevent name="gates" interval="3600" event="script" value="yyyy.lua"/> yyyy.lua = nome do arquivo .lua ...
    1 point
  27. Roksas

    npc promotion

    Tente assim, vá em data/npc, crie um arquivo chamado PromoNew.xml e adicione isso dentro: Agora em data/npc/scripts, crie um arquivo chamado promonew.lua e adicione isso dentro: Aqui está! o npc se chama Promo New, para fazê-lo aparecer, logue o GOD e diga: "/n Promo New" sem as aspas! Para se promover pela primeira vez, diga first promote, e assim sucessivamente: second promote e third promote! Coloquei 3 apenas. Para configurar, aonde está vermelho no script, pode configurar preço (price) se tem que ser premium ou não, oque fala para promover e level necessário. Boa sorte, poste resultados
    1 point
  28. Removido usuario deletado.
    1 point
  29. Guest

    Xtibia 2013: O que você mudaria?

    Eu sou Deus sim. vlww
    1 point
  30. Criando um mapa próprio 100% Me lembra muito, thais..
    1 point
  31. Banir o oneshot era demais o que precisa era só chamar a atenção. E como a área de scripting vai andar sem uns dos melhores coord. do xtibia? Ele só expôs a opinião dele. (Eu digo isto sendo uma pessoa que mais tive intriga com o oneshot)
    1 point
  32. #Dino, Posso não ter muito direito pra falar, mas venho seguindo o tópico e percebo que você está protegendo o Gustavo porque ele é administrador... Cara, puxar saco de superiores não te levará à nada a não ser à um cargo que não faz muita diferença... Tenha seu próprio pensamento, não faça algo para tirar vantagem, não vê que a decisão dele foi imatura? Criou um tópico para saber a opinião (e parece que tem que ser algo não seja contra ele) das pessoas e quando opinam e ele não gosta, acaba fazendo coisas sem pensar. Além disso, antes de você apontar sua palavra à alguém, deve tornar seu português no mínimo razoável, não é? Isso aqui não é SMS.
    1 point
  33. Primeiramente,Feixe Seu Xampp. Em Seguida Vá Na Pasta Do Xampp/apache/conf/extra e Abra Um Arquivo Chamado httpd-xampp Com o Bloco De Notas. Em Seguida, Procure Por Isso: Substitua Tudo Aquilo Por Isso: Abra Seu Xampp e Seja Feliz (:
    1 point
  34. caotic

    Log de Leitura de Itens

    Ola galera xtibiana. As vezes precisamos ler arquivos mais nem sempre eles são organizados e fáceis de ler um exemplo e a xml items do seu otserv. Ler um arquivo grande e com informações que muitas das vezes você não ira precisar no momento se torna uma tarefa árdua e cansativa. Pensando nisso desenvolvi um código que lé seu arquivo items.xml e procura informações crucias organizando tudo em apenas um documento. Além disso você pode colocar anotações e modificar livremente o arquivo gerado. Quando estiver procurando algum item em especial ficará muito mais fácil acha - lo e descobrir de maneira pratica suas informações. O código e pequeno e simples basta executar uma vez a talkaction. Vamos a instalação. Crie um arquivo de texto chamado de log na pasta raiz do seu otserv onde fica seu arquivo config.lua. Depois vá em talkactions e crie um arquivo lua chamado de itens e coloque isto: function onSay(cid, words, param, channel) function getItensAndAttrItens() local dir = "data/items/items.xml" local item = io.open(dir, "r") str = "Itens Disponiveis no Otserv\n" for i in item:read("*a"):gmatch('</item>(.-)</item>') do local itemid = tonumber(i:match('item id="(.-)"')) or tonumber(i:match('toid="(.-)"')) local name = tostring(i:match('name="(.-)"')) local desc = tostring(i:match('<attribute key="description" value="(.-)" />')) str = ""..str.."\n-"..itemid.."-Nome do item = "..name.." - Desc = "..desc.."" io.close() end return str end local file = io.open("./log.txt", "a") file:write(getItensAndAttrItens()) file:close() return true end Agora vá em talkactions.xml e coloque isto: <talkaction words="/item" event="script" value="itens.lua"/>
    1 point
  35. Fala gus, Vamos bater um papo? Tentei lhe enviar uma mensagem mas não consegui. Portanto, acho que este post servirá. E como o assunto é exatamente relacionado a este tópico em questão e todos os movimentos exercidos para tentar salvar o Ékz, achei que poderia falar por aqui. E galera, vamos aprender a ter ética né. É ridiculo ver membros da equipe se atacarem em público, simplesmente deselegante e desnecessário. Abraços.
    1 point
  36. Vamos la amigão vamos ao teste. faz download ai e use Otal.dll e os arquivos com nome POK.spr ~ POK.dat ~ POK.pic
    1 point
  37. @fernandosoares31 Pelo que reparei você esta usando o client disponivel pelo Slice. Para usa a otal.dll você vai ter de usa o executavel do slice pois dentro dele ja vem hookado todo o funcionamento da otal.dll caso tente criar um executavel novo não vai funcionar. Bem eu vou add o seu ip dentro do executavel e por para download pra você espero que seu ip não troque todo dia. S: Edit~ Esta ai o link do download do executavelcom seu ip, se seu ip nao muda todo dia certamente não vai precisa do ip change e usar Otal.dll e os arquivos com nome POK.spr ~ POK.dat ~ POK.pic
    1 point
  38. Não, cara, é o contrário, você já havia desistido, só estava esperando algo para justificar sua desistência. Afinal o portal XTibia não é tão rentável como a cadeia de servidores GlobalOTS, não é?
    1 point
  39. 1579091

    Bug da ponte

    Simples, basta passar o id "460" debaixo dos locais onde você quer que seja andável *No remere's map editor irá apareçer de um jeito, mas dentro do jogo vai sair o resultado que você deseja!*
    1 point
  40. Cara, não exagere, eu postei uma versão antiga do meu servidor, eu quero ter uma certa exclusividade no meu servidor né... Eu começei com o Naruto Open Wings v1.2, tive muito trabalho para chegar na parte que Postei de graça para todos voçês. Agora cabe a quem quer abrir um servidor de NTO, gastar uma boa grana com um bom dedicado, e fazer uma boa mudança no servidor, afinal.. Vão deixar tudo como postei? Pensem nisso... vocês tem que ter um diferencial, servidor derivado não é tibia, tem que haver um diferencial. Sobre algumas perguntas, estou vendo que muitos são iniciantes, então acho melhor vocês darem uma pesquisada nos tutoriais do forum galera. Eu mexo com OpenTibia desde a versão 7.5 do Tibia. Para apenas no ano de 2011 mexer com Servidor Derivado, vocês tem que conhecer absolutamente tudo de opentibia para depois criar um servidor Derivado. Ou dizendo melhor, para criar um Bom servidor derivado. Pois se quiserem criar algo, já tem um inicio MUITOOO bom.
    1 point
  41. Legal cara, mas você devia tentar usar tables ao invés de vários ifs Por exemplo esta table: local table = { [1] = "valor um", [2] = "valor dois", } se você quiser acessar o "valor um" você usa table[1], por exemplo: "print(table[1])" vai printar no console: "valor um" se você usasse table[2] ia retornar "valor dois" isso é legal porque dá pra usar o math.random que retorna um número aleatório pra retornar um valor aleatório da table, por exemplo: local aleatorio = math.random(1,2) local table = { [1] = "valor um", [2] = "valor dois", } print(table[aleatorio]) supondo que o math.random retornasse o número aleatório 1, ficaria algo do tipo: "local aleatorio = 1", e na hora de printar table[aleatorio], ficaria table[1] (pois aleatorio = 1), que é, na table, o "valor um" ou seja, você já está deixando o seu script aleatório E com table você também pode usar table[math.random(1,2)] agora, uma coisa legal, é que você não precisa mudar o valor máximo do math.random pro valor máximo da sua table (por exemplo, no caso, 2 é o último valor da table), porque tem um jeito de retornar o tamanho da tabela, usando um # antes de chamar a tabela (por exemplo #table retornaria 2) agora, se a tabela fosse assim: local table = { [1] = "valor um", [2] = "valor dois", [3] = "valor três", } e você usasse #table, retornaria 3, entendeu? assim você não precisa alterar o math.random toda hora que adiciona um valor na tabela. só que lembre-se de usar o #table depois de user a table! por exemplo: MODO INCORRETO local aleatorio = math.random(1,#table) local table = { [1] = "valor um", [2] = "valor dois", [3] = "valor três", } MODO CORRETO local table = { [1] = "valor um", [2] = "valor dois", [3] = "valor três", } local aleatorio = math.random(1,#table) porque você no modo incorreto estaria tentando pegar o valor máximo de uma table que nem existe (pois ela nao foi declarada ainda) agora, uma versão com table do seu script: function fixString(string) local k = string.explode(string," ") local x = "" local y = 0 for i = 1, #k do if y == 0 then x = x ..string.sub(k[i],0,1):upper()..string.sub(k[i],2) y = 1 else x = x .." "..string.sub(k[i],0,1):upper()..string.sub(k[i],2) end end return x end function onUse(cid, item, fromPosition, itemEx, toPosition) local items = { [1] = {id=7439,quantidade=1}, [2] = {id=2158,quantidade=1}, [3] = {id=7443,quantidade=1}, [4] = {id=2160,quantidade=1}, [5] = {id=18304,quantidade=1}, [6] = {id=18437,quantidade=1}, [7] = {id=18552,quantidade=1}, [8] = {id=18519,quantidade=1}, [9] = {id=7591,quantidade=1}, [10] = {id=7590,quantidade=1}, [11] = {id=2155,quantidade=1}, [12] = {id=7618,quantidade=4}, [13] = {id=7640,quantidade=4}, [14] = {id=7440,quantidade=1}, [15] = {id=18397,quantidade=1}, [16] = {id=18456,quantidade=1}, [17] = {id=2152,quantidade=5}, [18] = {id=2156,quantidade=1}, [19] = {id=5911,quantidade=1}, [20] = {id=18509,quantidade=1}, [21] = {id=7588,quantidade=1}, [22] = {id=7588,quantidade=2}, [23] = {id=7589,quantidade=2}, [24] = {id=18457,quantidade=1}, [25] = {id=2787,quantidade=20}, [26] = {id=2154,quantidade=1}, [27] = {id=7588,quantidade=1}, } local rand = math.random(1, #items) local nomedoitem = fixString(getItemNameById(items[rand].id)) local quantidade = items[rand].quantidade doCreatureSay(cid, "You had "..(quantidade == 1 and (isInArray({"a","e","i","o","u"},string.sub(nomedoitem,0,1)) and "an" or "a") or quantidade).." "..nomedoitem.."!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, items[rand].id,items[rand].quantidade) doRemoveItem(cid, item.uid, 1) return TRUE end ps. A linha 50 pode ser avançada pra você mas acho que é isso, da uma estudada no script que sabendo usar tables vai facilitar muito sua vida flw! edit e outra, vc nao precisa checar se o item que está sendo usado é o da lotteryid, porque no actions.xml quando você põe a tag "<action itemid="18215" event="script" value="Gnomish.lua"/>", ele só vai usar o script se for pro item 18215, já sendo um "if item.itemid == 18215" entre aspas
    1 point
  42. Mudanças feitas nesta versão que postei, vou finalizar outra talves hoje de madrugada. Voce consegue fazer promoção de double points colocando a quantidade de x no config do site. Forum remontado totalmente Auto otimização de banco de dados, sendo assim é o unico website que tem esta função automaticamente. Characters revisado e arrumado algumas coisinhas. shopsystem 99% arrumado (nesta versão) Sistema de bugs, administradores relatam bugs encontrados. Sistema de reputação igual do global, ainda farei uma video aula explicando ele. [Forum] Alteração na compra e entrega de items. Agora tem uma nova cara. 80% das imgs do tibia 8.6/9.7 ps; caso eu falei coisa que nao tenha, é porque tem na outra versão mais recente, tenho que upar no 4shared.
    1 point
  43. Bom dia XTibianos tudo bem? Então hoje eu vou postar um tutorial bem simples que vi no TibiaBR e resolvi postar aqui. Então, esse tutorial é importante para vocês que querem adquirir uma casa, participar de promoções é interessante. Então vamos lá Autores: GrYllO Revisores: Ninguém Categoria: Ajuda Técnica Conteúdo: Para vocês que usam Windows 7 ou superior, cliquem no relógio, que fica no canto superior inferior da tela. Agora clique em Alterar configurações de data e hora... E faça igual as configurações acima! Pronto, relógio configurado. E lembrando que ele muda automaticamente quando é horário de verão. Fonte: TibiaBR
    1 point
  44. Cole isso no NPC Henry em data/NPC
    1 point
  45. markim1986

    Piso Sagrado

    Ola amigo sei que é novo no forum mais por favor reviver topicos mortos a mais de 30 dias é contra as regras. por favor leia as regras da proxima vez. Ciente!
    1 point
  46. /\ tas tentando por foto dos pokes no channel? kkk ideia interresante, e loka, diga-se de passagem '---' nem sei como tu poderia fazer isso... ;x e conseguise por pra quando o player puxar um poke pra bag abrir um novo channel? como? ;x se foi tpq meu sistema de poke unique... ta ligado q se puxar do CP pra bag n da nd neh? '--'
    1 point
  47. Todos sites vem com configuração para dois servidores, a parte do segundo servidor fica com os traços, ( --- ) pois não é utilizada, só remover os traços e editar.. Mais não sei como ira funcionar, o tutor é só na parte de servidor.a
    1 point
  48. Introdução à programação LUA e lógica de programação Assim como todas as linguagens de programação, LUA tem suas particularidades e sua estrutura lógica própria, a qual envolve suas funções, operadores e engines. Para começarmos a programação em LUA, devemos conhecer sua lógica, para que possamos aplicá-la em nossos códigos. Abaixo, você encontra os operadores da linguagem e sua explicação: • “Local” = É usado para a definição de variáveis. Pode ser encontrado também destacando uma função. Neste último caso, seu uso pode ser dispensado quando a função não se encontra embutida na função principal. Exemplo de uso: ► local a = 1 ► function onUse(cid, item, fromPosition, itemEx, toPosition) local function helloWorld() print("Hello World") return TRUE end return helloWorld() end ► function helloWorld() print("Hello World") return TRUE end function onUse(cid, item, fromPosition, itemEx, toPosition) return helloWorld() end Note a diferença entre o segundo e o terceiro exemplos. Em ambos, a função principal é a “onUse”, porém, em um dos casos foi usado o operador “local” destacando a função secundária, que se encontrava embutida na função principal, ou seja, “abaixo” da função principal. • “If” = É usado para definir condições. Ele é bastante usado para tornar o script restrito ao uso não programado. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then print("O jogador possui level maior que 10") end return TRUE end Neste exemplo, o código só poderá ser usado para jogadores com level maior que 10 e retornará a mensagem “O jogador possui level maior que 10”. • “Elseif” = Assim como o “if”, é usado para definir condições, porém, seu uso deve estar obrigatoriamente associado ao “if”. Este operador define outras condições para que o código entre em vigor. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then print("O jogador possui level maior que 10") elseif getPlayerLevel(cid) == 10 then print("O jogador possui level 10") end return TRUE end Neste exemplo, caso o jogador tenha level maior que 10, o código retornará a mensagem “O jogador possui level maior que 10”, mas se o jogador tiver level 10, o código retornará a mensagem “O jogador possui level 10”. Note que para usar o “elseif”, antes tive de usar um “if”. • “For” = É usado para fazer loops no código, executando várias ações ao mesmo tempo. Seu uso é indicado para encurtamento de scripts, fazendo com que leve menos tempo para o código ser processado e economizando memória. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = { {x=1, y=2, z=3}, {x=4, y=5, z=6} } for a = 1,2 do doSummonCreature("rat", pos[a]) end return TRUE end Neste exemplo, uma tabela indica as posições onde serão sumonados os monstros. O “for” foi usado para indicar que deveriam ser sumonados 1 rat em cada uma das posições especificadas na tabela. • “While” = É usado para fazer loops no código, porém, diferente do “for”, este executa a ação até ser interrompido. Não é muito usado em OpenTibia pelo fato de usar muita memória para ser executado. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) local i = 0 while i < 10 do print (i) i = i + 1 end return TRUE end No caso acima, a variável “i” foi definida inicialmente como sendo zero. Quando o código é executado, os valores assumidos por “i” são retornados até que “i” chegue ao valor nove, que é quando o código se encerra. • “Else” = É usado para definir o que será feito caso a condição definida anteriormente seja falsa ou verdadeira, de acordo com o código e com o que se deseja. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= 10 then print("O jogador possui level 10 ou mais") else print("O jogador possui level 9 ou menos") end return TRUE end Note que foi usado anteriormente um “if” para a definição da condição. Neste exemplo, caso o jogador tenha level 10 ou mais, será retornada a mensagem “O jogador possui level 10 ou mais”. Mas se o jogador não tiver atingido level 10, será retornado “O jogador possui level 9 ou menos”. Operadores matemáticos em LUA Após entender a função de cada operador de linguagem acima, podemos passar aos operadores matemáticos ou “Operadores relacionais”. São usados para fazer a comparação numérica ou de uma string. Veja abaixo: • “<” = É usado para dizer que algo é “menor que” outro. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) < 8 then print("O jogador não possui vocação, pois seu level é menor que oito") end return TRUE end A comparação feita mostra se o jogador possui vocação de acordo com seu level, mostrando se ele tem level mínimo para ter vocação, visto que no Tíbia, jogadores abaixo do level 8 não possuem vocação. • “>” = O inverso de seu antecessor. É usado para dizer que algo é “maior que” outro. Exemplo de uso: ►function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 8 then print("O jogador pode posuir vocação") end return TRUE end Neste caso, o código retornará que o jogador pode possuir alguma vocação pois possui level maior que 8. •“<=” = Este operador faz a comparação que algo é “menor ou igual” que/a outro. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) <= 8 then print("O jogador não pode usar exura") end return TRUE end Neste exemplo, o código verifica se o jogador possui level 8 ou menos para dizer se ele pode ou não usar exura, visto que no Tíbia o jogador só pode usar exura se tiver level 9 ou maior. • “>=” = Este operador faz a comparação que algo é “maior ou igual” que/a outro. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= 9 then print("O jogador pode usar exura") end return TRUE end Neste caso, o código verifica se o jogador possui level 9 ou mais para dizer se ele pode ou não usar exura. • “==” = Este operador faz a comparação de igualdade. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) == 8 then print("O jogador já pode abandonar rookgaard") end return TRUE end A comparação feita mostra se o level do jogador é ou não 8. Se for 8, o código retorna a mensagem “O jogador já pode abandonar rookgaard”. • “~=” = Este operador faz a comparação de diferença. Exemplo de uso: ► function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) ~= 10 then print("Somente jogadores com level 10 podem usar") end return TRUE end O exemplo restringe o uso apenas a jogadores com level 10. Se o jogador não possuir level 10, o código retorna a mensagem “Somente jogadores com level 10 podem usar”. _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._. Bom, é isso. Tentei fazer um tutorial completo e que ajudasse quem quisesse aprender a linguagem. Tutorial feito totalmente por mim. Espero que esteja bom e espero comentários também. @Editado Editado a fim de corrigir alguns erros de ortografia e nos scripts. Será que ganho um ponto de reputação?
    1 point
  49. Kra fiz como você fez só qe ai blz fui testar quando clikei no bau... o item não veio pra mim ta ligado... clikei no bau ai ele apareceu o item la dentro oq eu faço?
    1 point
This leaderboard is set to Sao Paulo/GMT-03:00
×
×
  • Create New...