Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/02/16 em %
-
[ Aula 1] #Swords - Academia do Pixel
efraimjk e 2 outros reagiu a miupinho por um tópico no fórum
[ Aula 1 ] #Swords - Academia do Pixel Bem vindo todos ao primeiro tutorial da academia do pixel,neste tutorial iremos aprender como criar e desenvolver espadas,uma tema que é de interesse de muitas pessoas. Espero que nesta primeira aula todos se esforcem bastante pois no final da semana suas artes serão expostas e julgadas por membros do fórum inclusive eu. ---------------------------------------------------------------------------------------------------------------------------------------- - Moldando Outline - ---------------------------------------------------------------------------------------------------------------------------------------- • Para começarmos devemos abrir o paint e selecionar a ferramenta do quadrado e fazer um quadrado de tamanho 32x32,pois esse é tamanho padrão de itens do tibia. • Começando outline iremos fazer ela de cima para baixo pelo fio da espada,usando o lápis vamos posicionando os pixels corretamente... • Lembrem-se que o fio nunca deve ser muito grande nem muito pequeno,mas sim de um tamanho médio considerando que o fio deve ter mais ou menos o dobro do tamanho do cabo (isso pode variar)... • Com o fio definido iremos começar o cabo da espada,o cabo em si deve não deve ser muito largo nem muito curto ele deve estar encaixado harmonicamente com a espada.É importante entender de maneira realista como o cabo funciona por exemplo,um cabo muito pequeno não seria confortável de segurar e um cabo muito deixaria a espada muito pesada. ---------------------------------------------------------------------------------------------------------------------------------------- - Colaboração - ---------------------------------------------------------------------------------------------------------------------------------------- • As espadas seguem um padrão básico para gerar corte,todas em geral seguem um padrão de alto contraste pois o metal está presente em quase todas as espadas.O metal é um material que recebe bastante luminosidade então para alcançarmos o ponto chave das espadas devemos prestar atenção no contraste,que significa que devemos usar cores com diferencial de luminosidade grande. • Sabemos também que a luz está em todo o lugar,partindo deste conceito o metal recebe luz porém a luz é de alguma cor,seja do sol a luz amarelada,seja do céu a luzazulada ou de outros focos de luz que podem ter as mais variadas cores. Partindo desse conhecimento devemos entender que nunca se deve usar cores que tenham nenhuma saturação pois a saturação age como brilho e da vivacidade para nossa arte. • No exemplo,monto minha paleta com diferencial de Luminosidade +40 ou seja, a cada cor eu aumento 40 pontos de luminosidade seguindo 20 na 1ª cor,60 na 2ª cor,100 na 3ª cor e assim por diante. • A saturação eu deixo 26 ponto pois mais para frente iremos abordar esse assunto,por enquanto deixemos com pouca saturação. A matriz é a grade de cor, eu deixo 160 pois é a grade da cor azul,outra grade de matriz boa é a 45 que seria do amarelo.Não necessariamente deve-se trabalhar com essas grades,contudo são as que se encaixam melhores no metal. ---------------------------------------------------------------------------------------------------------------------------------------- - Gerando Corte - ---------------------------------------------------------------------------------------------------------------------------------------- O corte da espada é característico por apresentar bastante contraste e respeitar o foco de luz que vem do noroeste.No exemplo a seguir os passos de como gerar um corte simples. Não exatamente o corte deve seguir esse padrão dividido no meio,muitas espadas podem possuir corte apenas nas laterais... ---------------------------------------------------------------------------------------------------------------------------------------- - Cabo - ---------------------------------------------------------------------------------------------------------------------------------------- O cabo tem muito mais a ver com criatividade do que com técnica.Geralmente os cabos são dourados ou de bronze,grande parte deles possuem jóias no centro como no exemplo que fiz. Bom espero que tenham compreendido um pouco do tutorial, abaixo vou deixar 4 outlines de espadas para usarem como base, se quiserem. fonte: Madarada3 pontos -
Fala XTibianos! Vim disponibilizar e ensinar como usar a livraria xml em lua, desenvolvida por mim. Ela foi desenvolvida para substituir a livraria padrão disponibilizada por lua para trabalhar com dados xml. Essa livraria não requer a dll-xml necessária para a livraria padrão lua. Aqui tem o tutorial criado por mim para demonstrar as funções e suas implementações da livraria luaxml. Tutorial lua lib xml padrão Vamos lá. Primeiro, a livraria: Vou ensinar como usar ela. Vou usar como exemplo uma parte do arquivo vocations.xml: Primeiro, carregar o arquivo. Ele vai retornar um objeto para ser usado pelos metametodos ou uma string para outros fins como "print". Buscar a tag desejada. Ele vai retornar uma tabela contendo todos os parametros que foram lidos no arquivo. O primeiro argumento da função, é o nome da tag requerida. exemplo: <tagNome ....>, tagNome seria o primeiro argumento da função. O segundo elemento é usado para diferenciar um bloco de outro como no caso do arquivo vocations que contem varias vocations, mas apenas uma é a requerida. O terceiro elemento é o que diferencia um bloco de outro similar. seguindo o exemplo do arquivo vocations, existe varias vocações, mas apenas uma delas tem o id de numero 2. Imprime o que foi lido no arquivo. a saida seria essa, nesse caso. Mas, ela tambem é uma tabela, por isso, voce pode pegar os elementos dentro dela dessa forma. As tags existentes dentro do bloco "vocation", tambem é uma tabela com indice numerico; portanto é valido pegar os dados dela dessa forma. Cada tag que exista dentro do bloco, vem como uma tabela com indicie numerico. Criando objetos para xml: O argumento inserido , seria o nome do bloco. Ex -> <novo> </novo> Adiciona tag's dentro do corpo do bloco. Pode ser adicionado quantas tags quiser. Cria uma tagbloco ou bloco dentro do bloco principal. Ex -> <tagBloco inserido="primer" ordem="2" face="not"> </tagBloco> Essa função retorna um objeto para ser usado pelos metametodos ou uma string para outros fins como "print". Dessa forma que foi declarada sem uma tabela contendo os parametros da tag, ela é criada como um bloco. Ex -> <newBloco> </newBloco> Adiciona tag's ao corpo do novo bloco/tagbloco criado pela função append. E por fim, salva os dados em um arquivo. Nessa função, existe o argumento unico que é o destino do arquivo e seu nome, que nesse caso foi ocultado. Esse é os dados dentro do arquivo gerador pelo script. Devido as novas atualizações feitas a lib, agora podeis usar caracteres especial de busca e inserção de maiores informações para busca. Vou usar como exemplo essa parte do arquivo items.xml e movements.xml para explicar essas mudanças. items movements Na versão anterior da lib ela não poderia buscar informações no arquivo items.xml devido a um erro na ora de selecionar o bloco buscado. O problema residia em que: ao encontrar uma tag ela busca o seu fechamento, sendo que, no exemplo da parte do arquivo items que postei acima, ela pegava todo esse bloco, dessa forma anulando o verdadeiro id buscado. Isso foi resolvido. agora ela filtra o bloco encontrado antes de fazer a analise de que seja o dado requisitado. Outro problema era quando se desejava buscar uma informação mais precisa, como no caso do arquivo movements.xml que existe duas tags com os mesmo ids equip e deequip; se eu colocasse o id de qualquer item ele me retornaria a primeira sentença encontrada que na maioria das vezes não era a que eu queria. isso também foi corrigido; agora podeis usar mais informações para melhorar a precisão da busca. Veja esse exemplo: Obs. Os codigos estão codificados em utf8, converta para ansi antes de usa-los. É isso ae pessoal, espero que gostem; qualquer erro ou sugestão serão bem vindas. obrigado.2 pontos
-
Addon Box
Administrador e um outro reagiu a JairKevick por um tópico no fórum
Olá Galera estava me arriscando em programar em lua e decidi criar algo bem simples mas útil ! vamos lá então ! Em Actions.xml Adiciona Isto: E Em Data/Actions/Scripts Cria um Arquivo Lua Chamado "addonbox" e Adiciona Isto Dentro Dele: REP +2 pontos -
3 Passos para divulgar seu OTServ de graça!
samlecter reagiu a Administrador por um tópico no fórum
PRECISANDO DE MAIS PLAYERS? E se eu te disser que em 3 passos simples você engaja um marketing certeiro para o seu servidor de GRAÇA? É sério, você não precisa clicar em nenhum anúncio ou pagar qualquer centavo. Hoje, graças à forte comunidade brasileira de open tibia, você pode ter seu ATS de tibia com mais de 1000 players, se seguir o rumo certo. Tirando os gastos com a hospedagem do servidor (da qual recomendamos a utilização da otpanel) você normalmente tem gastos com promotes no facebook, compra de banners em sites, pagamentos na lista .org para não ser banido... aquela mesma historinha de sempre. Vamos direto ao ponto! 1 Tendo o servidor online, sem bugs e pronto para lançamento: faça login com seu facebook na otserv-list.com (é 100% seguro e seu e-mail não é compartilhado com ninguém). Clique aqui para logar na otserv-list.com. 2 Agora que está logado na lista, o próximo passo é cadastrar o seu servidor gratuitamente. Para fazer isto, clique no botão visível no topo do site ou acessando o painel de controle, veja as imagens: 3 Estamos quase lá, seu servidor já está cadastrado e recebendo novos players. Agora o próximo passo é expandir sua divulgação, mostrando um pouco mais do servidor aos players. Você pode editar a vontade a descrição do seu servidor na otserv-list.com, mas não da pra adicionar imagens ou vídeos. Não tem problema, basta colar lá na descrição o link de um tópico que você vai criar aqui: http://www.xtibia.com/forum/forum/1179-otservlist/?do=add. Para isso, você precisará de uma account no xtibia, leva menos de 1 minuto para criar! Compre um promote especial na lista e receba 15% de desconto na compra de um anúncio no xtibia. Fale com: Contato@xtibia.com1 ponto -
[TFS 1.2] Criando novos CombatTypes
darkjaques reagiu a Skulls por um tópico no fórum
Bom dia galera, tudo bem? Hoje vou ensinar uma coisinha simples, porém bem útil: criar um novo tipo de combate. Tipos de combate representam o tipo do dano que você está causando naquele momento. Basicamente, eles são os responsáveis pelo efeito básico daquele tipo de combate (além do efeito e o efeito de distância que você pode adicionar) e também pela cor do texto de dano. Bom, vamos lá. 1. Criação do novo tipo no Enum O primeiro passo para a criação do novo tipo de combate é adicionar o referencial ao seu combate novo no enumerador (enum) de tipos de combate (CombatType_t). Para isso, vá até o arquivo de cabeçalho enums.h, procure por "enum CombatType_t" e, após o último enum, coloque o nome que quer dar ao seu tipo de combate. Eu escolhi chamar o meu de COMBAT_CRITICAL, para fazer um dano diferente quando o acerto for crítico. Ficou assim: enum CombatType_t { COMBAT_NONE = 0, COMBAT_PHYSICALDAMAGE = 1 << 0, COMBAT_ENERGYDAMAGE = 1 << 1, COMBAT_EARTHDAMAGE = 1 << 2, COMBAT_FIREDAMAGE = 1 << 3, COMBAT_UNDEFINEDDAMAGE = 1 << 4, COMBAT_LIFEDRAIN = 1 << 5, COMBAT_MANADRAIN = 1 << 6, COMBAT_HEALING = 1 << 7, COMBAT_DROWNDAMAGE = 1 << 8, COMBAT_ICEDAMAGE = 1 << 9, COMBAT_HOLYDAMAGE = 1 << 10, COMBAT_DEATHDAMAGE = 1 << 11, COMBAT_CRITICAL = 1 << 12, COMBAT_COUNT = 13}; 2. Adicionar "referências" Esse passo consiste em criar facilidades para acessar seu tipo de combate em alguns casos. Para isso, vamos até tools.cpp e vamos alterar o vetor combatTypeNames (que cria uma string que referencia o nosso combate) e a função combatTypeToIndex (indexa os combates), adicionando o nosso novo combate ao final de cada um deles de forma coerente. O meu ficou assim: CombatTypeNames combatTypeNames[] = { {"physical", COMBAT_PHYSICALDAMAGE}, {"energy", COMBAT_ENERGYDAMAGE}, {"earth", COMBAT_EARTHDAMAGE}, {"fire", COMBAT_FIREDAMAGE}, {"undefined", COMBAT_UNDEFINEDDAMAGE}, {"lifedrain", COMBAT_LIFEDRAIN}, {"manadrain", COMBAT_MANADRAIN}, {"healing", COMBAT_HEALING}, {"drown", COMBAT_DROWNDAMAGE}, {"ice", COMBAT_ICEDAMAGE}, {"holy", COMBAT_HOLYDAMAGE}, {"death", COMBAT_DEATHDAMAGE}, { "critical", COMBAT_CRITICAL },}; size_t combatTypeToIndex(CombatType_t combatType){ switch (combatType) { case COMBAT_PHYSICALDAMAGE: return 0; case COMBAT_ENERGYDAMAGE: return 1; case COMBAT_EARTHDAMAGE: return 2; case COMBAT_FIREDAMAGE: return 3; case COMBAT_UNDEFINEDDAMAGE: return 4; case COMBAT_LIFEDRAIN: return 5; case COMBAT_MANADRAIN: return 6; case COMBAT_HEALING: return 7; case COMBAT_DROWNDAMAGE: return 8; case COMBAT_ICEDAMAGE: return 9; case COMBAT_HOLYDAMAGE: return 10; case COMBAT_DEATHDAMAGE: return 11; case COMBAT_CRITICAL: return 12; default: return 0; }} 3. Definir o efeito e o dano do nosso combate Agora devemos definir como o nosso combate vai se comportar dizendo a cor do dano gerado e qual efeito associado a ele. Para isso, vamos até a função combatGetTypeInfo dentro de game.cpp. Dentro de switch (combatType), após o último combate e antes do default, vamos adicionar as características do nosso combate. O meu ficou assim: case COMBAT_CRITICAL: { color = TEXTCOLOR_MAYABLUE; effect = CONST_ME_NONE; break;} Isto é, meu tipo de combate crítico tem a cor azul maia e nenhum efeito. 4. Informar ao LUA seu novo tipo de combate O último passo é simplesmente enviar para o lua o novo tipo de combate. Para isso, vá até luascript.cpp e, logo abaixo de: registerEnum(COMBAT_DEATHDAMAGE) adicione: registerEnum(COMBAT_CRITICAL) Pronto, após seguir esses passos o seu novo tipo combate foi criado, referenciado, caracterizado e definido em lua. Para utilizá-lo basta chamá-lo no lugar certo COMBAT_CRITICAL. Bom, por hoje é só pessoal, espero que gostem. Abraços1 ponto -
10 Melhores distros open source
Felipe Moraes reagiu a Administrador por um tópico no fórum
10 MELHORES DISTROS OPEN SOURCE Olá Xtibiano, que tal ouvir um pouco sobre esses novos produtos, podem lhe causar interesse de certa forma. - Os bons servidores de Open Tibia Server estão se tornando escassos, por isso eu e o nosso amigo @Danihcv identificamos as distros mais comentadas e baixadas nos últimos tempos e reunimos neste post incrível. Selecionamos diferentes versões e as colocamos em ordem, esperamos que seja útil de alguma maneira. Não esqueça de comentar! • • • 1 - [10.95] [TFS 1.2 + Cast] Custom modifications V2 Open Source Tópico: 2 - [10.94] Global Xtibia [tfs 1.2, oramond, cast, lion's rock, reward, equip hotkey, new items, news monster - new areas (krailos, asura, medusa town) eventos, sem missao] Open Source Tópico: 3 - [10.90] Vanaheim Global Open Source Tópico: 4 - [10.77] TFS 1.1 (Cast System) Open Source Tópico: 5 -[9.80 - 9.86] [TFS v0.2.15] Mystic Spirit Open Source Tópico: 6 - [8.60] The Forgotten Server tfs 1.2 Open Source Tópico: 7 - [8.60] [Cast System] OTserv 0.6.4 Open Source Tópico: 8 - [7.72] Othire Open Source (Completo) Tópico: 9 - [7.72] RealOTX Open Source Tópico: 10 - [7.4] Avesta (Fork) Open Source Tópico:1 ponto -
HÁ VAGAS. Se enturmando Durante esta semana, reporte tópicos que estejam errados; mal formatados; títulos incoerentes; sem prefixo ou prefixo incoerente; conteúdos que precisam ser refeitos e posts fora das regras, se você estiver interessado. Avaliação Ao mesmo tempo, estaremos resolvendo os conteúdos reportados e anotando pontuações a estes membros, no próximo domingo, dois serão escolhidos para o cargo de Moderador. Moderador Os moderadores devem adotar as seções do fórum e mantê-las organizadas. Devem prezar pelo correto e ter amor pelo conhecimento. Bastidores (Você terá acesso) Aos projetos internos; Reuniões semanais (TS); Incentivo direto à projetos (divulgação); Participação de lucro (mensal); Vantagens em games e sites parceiros; Acesso aos paineis do Xtibia e à ferramentas de gestão. Nossa equipe: @Daniel @Danihcv @SamueLGuedes @Night Wolf @Skulls Em suma, basta você se mostrar ativo na comunidade. Espero encontrar você na equipe em breve! Por hoje é isso, pessoal! Abraços.1 ponto
-
[showoff] old revolution [senhor dos aneis] [rpg]
Administrador reagiu a BlackLeft por um tópico no fórum
O que é o Old Revolution? Old Revolution é um servidor de RPG com rates baixas que luta pelos jogadores que querem aquele sentimento único de jogar um servidor medieval, mantendo os elementos mais importantes do Tibia O servidor é baseado na historia do senhor do anéis e hobbit, desde a monstros, itens, vocações e o mapa das cidades. Índice Cliente: Cliente Próprio Versão: 10.37 Website: http://www.oldrevolution.com Experiência: 10x (por etapas) Treino de Habilidade: 5x Treino de Habilidade Mágica: 4x Nível de Proteção: 50 Sistemas totalmente exclusivos. Novas Classes Itens Balanceados e exclusivos. Doações não influenciam na dinâmica. Servidor dedicado 24/7 sem lag. Vocações Orc Uma raça deformada e forte, que combate contra as forças do bem. É recomendado que Orc's utilizem machados, pois dominam bastante essa habilidade. Por serem caçadores de extrema habilidade e força, os Orcs deixam de lado sua defesa e montarias para acertarem golpes poderosos. Elf Uma raça mística. São mais rápidos e habilidosos que os humanos. Há quem diga que são Semideuses e Imortais. Devido a sua grande destreza, eles não necessitam de montaria, elfos se especializaram na arte do arco e flecha, causando danos rápidos a quem se atreva a aproximar-se. Miner Os mineiros são humanos, são descendentes diretos dos primeiros anões guerreiros. Desde os primórdios desenvolveram habilidades com clavas para sobreviver ao mundo perigoso. Além da grande força da clava, eles possuem a sabedoria antiga da forja, podendo assim refinar equipamentos com muito mais força e resistencia pra suas batalhas. Archer Os Arqueiros surgiram quando os humanos tiveram seu primeiro contato amigável com os Elfs, que ensinaram como manobrar um arco. Com o passar do tempo e treinamento, os arqueiros evoluíram para armas mais pesadas, devido a seu rigoroso treinamento, aprenderam a dar golpes certeiros com palestras (crossbow) e a manobrar lanças e escudos pesados para sobreviver. Knight A muralha! Knights são treinados desde os primeiros anos de vida a se defender, defender suas tropas e cidades! Quando possuem maestria e harmonia com sua espada e escudo são duríssimos adversário, conseguindo se proteger de um bom numero de adversário e ainda assim desferir poderosos golpes. Com sua alta resistência, poderosa armadura e escudo, são grandes obstáculos para quem tentar derrotá-los. Druid Druidas são mestiços de Elfos e Humanos, que herdaram parte da essência de cada raça. Druidas são sacerdotes dedicados ao zelo a vida e a natureza. Graças a sua forte ligação com os poderes da natureza, eles aprenderam a usar feitiços de magia branca para ajudar o próximo, a natureza e a se defender dos perigos do mundo perdido. Controlam os elementos terra e gelo, sendo capazes de dar assistência para sobrevivência e ainda causar danos poderosos, nunca subestime um druida em seu habitat. Sorcerer Há quem diga que o primeiro sorcerer foi um homem ambicioso que vendeu sua alma pro próprio demônio, em troca de um poder de destruição sem limites, com um alto custo, servir as trevas para toda eternidade. Com o passar do tempo, ele precisou repassar seus ensinamentos obscuros a novos discípulos, controlando os elementos morte, fogo e eletricidade. Poucos foram os que escaparam para contar a história após cruzarem com um temível mago, apesar de sua baixa resistência ele é capaz de acabar com exércitos com um único encantamento. Quests O servidor possui mais de 100 quests. Também City quests, cada cidade e cada nível é possível fazer uma city quest em grupo ou solo, dependendo no nível e da cidade. Comando (/ir) O comando /ir, permite o jogador se teleportar para cidades e hunt's. Para saber as cidades e hunts que você pode acessar, basta digitar "/ir". ex: /ir edoras. Treinadores As cidades de Minas Tirith e Dunedain, possui treinadores exclusivos. A cada 30 minutos os jogadores que estão nos treinadores são kikados automaticamente. Caso você tenha uma house pode optar pelo treinamento offline na sua cama. Bosses A cada 30 minutos um boss é sorteado para nascer. O servidor Possui mais de 30 bosses, fora as raids. TradeVIP Você pode vender dias de VIP para outros jogadores usando o comando !tradevip ex: !tradevip ciclano, 2 Refinamento Permite aprimorar as armas e armaduras. Para aprimorar as armas é necessário ser um miner, ter os itens Iron Hammer e iron Ore. Mas cuidado, você pode quebrar o item. Iron Ore você adquire nas montanhas , basta usar uma pick sobre elas. Guild House Localizada em Dol Guldur a guild house só pode ser dominada entre as 22:00 e 23:00. Ela tem como objetivo oferecer proteção fora desse horario para escapatórias e um campo imenso de blueberrys. além de 30k diário para jogadores de level 80+. Vale salientar que para dominar a guild house é necessário ter uma guild. e jogadores não fragam quando estão em combate na Guild House Blueberry Você pode colher Blueberrys nos campos de dol, belfallas e no subterraneo da guild house. E trocar nos npcs por mana potion, que estão localizados em condado ou argond. Mapa O mapa conta com: 16 cidades e vilarejos. 560 casas 1200 monstros Dimensão do Mapa: 2000 x 1600 Jogue agora! Acesse agora nosso site e crie sua conta: www.oldrevolution.com Facebook.com/oldrevolutionServer1 ponto -
EXCLUSIVO BASE (OtpokemonXY)
FelipeCzY reagiu a thiago2oliveir1 por um tópico no fórum
Fly Funfa normal aki e o order tbm1 ponto -
10 Distros Open Source
Felipe Moraes reagiu a Administrador por um tópico no fórum
10 DISTROS OPEN SOURCE Olá Xtibiano, se você é novo por aqui cadastre-se em nossa comunidade, é rápido. Convido-o para conhecer este tópico, onde reunimos algumas distros importantes nas versões 10.95, 10.94, 10.90, 10.77, 9.86, 9.80, 8.60, 7.72 e 7.4. São no total 10 distros open source postadas no xtibia. Você encontrará as sources na descrição do tópico de cada distro citada, assim como os créditos e demais informações. Deixo a pergunta para um debate, qual dessas versões é a mais "quente"? Conhece alguma distro que deveria estar na lista? Ela pode estar na próxima... Comente!1 ponto -
10 Distros Open Source
Administrador reagiu a Felipe Moraes por um tópico no fórum
A 8.6 acredito que ainda seja a mais pedida. Boa listagem aliás, facilita bastante na hora da procura1 ponto -
Mensagem Ao LoGar Stilo OTP
narutomaniacos reagiu a Marshmello por um tópico no fórum
Fala Galera BLZ Vim Trazer Uma Script Feita Port Min De Msg QUando Vc Logar Na Sua Conta Vai Em Creaturescipt e crie Uma Arquivo Chama Admlg Ficnado Admlg.lua e ADD Dps Vai em creaturescript.xml e add SE Gosta Deixe seu REP+ Creditos A Minha pela Script1 ponto -
Valeu garoto, estamos aqui pra isso!1 ponto
-
[Encerrado] Como troco a distro ?
Beto Namikaze reagiu a Administrador por um tópico no fórum
@Beto Namikaze, seu tópico foi movido para Suporte Geral.1 ponto -
[Pedido/Suporte] Teleport e Fly somente para premium.
lkrazy reagiu a KaboFlow29 por uma questão
ta no order1 ponto -
1 ponto
-
Nova livraria lua para xml
Marce Loko reagiu a Poccnn por um tópico no fórum
Vou tentar te explicar o que esta acontecendo. Por padrao a sentença __index é a propria tabela, mesmo que voce nao declare ela, ela existe. __index, seria - como o proprio nome sugere - o inicio por onde o sistema vai iniciar seus metodos de busca de processos para serem executados por lua; por isso que ao ser chamado a tabela, ele retornar a tabela propriamente (__index por padrao). Primeiro ele executa o que esta apontado pelo index - no seu caso, a tabela - e caso nao possa ser executado, ele vai em busca de outros metodos (caso exista). No meu caso - no sistema por mim criado para xml, ou seja, esse que expus - ele tem como __index a tabela xml com metametodos. Quando o sistema nao encontra uma funcao compativel com a feita pela chamada, ele vai em busca de outra chave - no caso, __tostring - para ser executada; por isso que ele retornar uma tabela ou string dependendo do tipo de chamada. Se voce quiser - dependendo do metodo que voce use - usar a string - se for declarada no objeto - use tostring() para que ele faça a chamada na chave __tostring. Ficou meio complicado mas, espero que tenha entendido.1 ponto -
10 Distros Open Source
Administrador reagiu a espalha por um tópico no fórum
Acho que a 10.95 e 8.60 são as duas mais procuradas, por causas dos sistemas, a 10.95 1,2 gerou muitos bugs que ainda não foram resolvidos, então muita gente que não entende apenas pega source e compila fica a espera de que disponibilizem algo que possa desfrutar. Por exemplo, a 10.95 no qual tem inúmeros sistemas que me interessam "Reward, Spawn System, Critical System etc", tem um bug que o item some, até hoje não conseguir arrumar, já comparei cpp por cpp no winmerge, e nada =(1 ponto -
10 Distros Open Source
Administrador reagiu a Peedbew por um tópico no fórum
Wow, parece que fica bem mais fácil procurar nesses tópicos assim tenho 2 dessas versões, parabéns pela organização1 ponto