Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/21/16 em todas áreas
-
Pokemon Venetta V1.3
BrunooMaciell reagiu a ZeNit91 por um tópico no fórum
Eae galera do XTibia, estou apresentado um projeto nada novo, que está sendo trabalhado a um bom tempo, ficamos parados mais com novos membros na equipe demos mais uma decolada em relação as correções de bugs e aprimoramento dos sistemas, para galera que já conhece o projeto ficaram surpresos com as melhorias feitas e com o andamento, já para quem está vendo o projeto pela primeira vez espero que gostem do que viemos trazer para vocês Sistemas: Os sistemas estão completos, retiramos o máximo de conflitos e bugs que conseguimos encontrar durante do desenvolvimento e teste, mais como sabem para rodar algo sem nenhum problema é precisso de teste em maior escala do que apenas alguns staf on, por isso casso ocorra qualquer problemas estaremos resolvendo com o decorrer do projeto, por esse motivos aguardados um feedback dos jogadores. V1.3 Primeira versão do Laucher está pronta e será lançado logo com a versão beta do servidor By:ZeNit91 V1.2 Neste update foi reformulado o sistema de cam-tv, assim tirando os bugs de drop server e colocando ela para ser obtida por uma guest... V1.1 Neste update vai ter varias coisas bacanas que foi trabalhado e melhorado! 1 - reformulamos quase todas as hunts do mapa nossas hunts agora esta full 1 a 4 geração 2 - mudamos a sprite das montanhas 3 - adicionamos uma das profição que e o aventureiro OBS: logo logo vamos adicionar o resto 4 - reformulamos o systema de vip deixamos ele melhor o systema em si Próximo update oque vai conter mais ou menos que ja estamos trabalhando. - systema de addons 100% - systema de auto loot(Estilo PxG) - já estamos balanceando os pokemons - vamos já por no mapa nossas quests em media de 40 quests mais ou menos - talvez não e certeza que saia no próximo update mas vamos ver se conseguimos por o resto das profições 1 já esta adicionado no server que e o aventureiro V1.0 - Sistemas básicos - - Pokemons Inicial - Charmander/Squirtl/Bulbasaur Cyndaquil/Totodile/Chikorita Torchic/Mudkip/Treecko Chimchar/Piplup/Turtwig - MAPA - Descrição: Estamos no final da edição do mapa, estamos o momento trabalhando para criar regiões especiais e secretas, pontos onde o jogador tornada sua aventura ainda mais completo e divertida. - Prints- •Cliente - Próprio (Pra Evitar Bugs E DeBugs) •Nosso Cliente é Personalizado para não dar Debugs •Barra de MOVE funcional - Funções Globais e NPC's - Trabalhamos com todos NPC's para eventos e Quests ou apenas de venda e compra, para o jogadores se divertirem com as melhores experiencias entre duelar com player ou npc, eventos globais de Arena a PVP - Site - O site foi modelado de forma eficiente e leve, estamos todas as semanas revendo o desempenho do site e tentado melhorar para fácil acesso dos usuário. http://pokeventa.ddns.net/1 ponto -
Baiakao / Baiak-under 8.60
Administrador reagiu a Gahenna por um tópico no fórum
IP: baiakao.noip.me VERSÃO: 8.60 - PORTA: 7171 Informações: Dedicado 24 horas sem lag, não precisa tunnel. PUSH FAST. » Cast System » Guild Shop Automatico! » Mapa Inovador » Fast Atk Moderado! » 24 Horas Online » WAR SYSTEM COM ESCUDO » Cast System » Dodge System » Eventos Diarios » Blood Castle » Addon Bonus » Evento Bp DICE » Vocações Balanceadas! » Quests Inovadas. » Excelente Suporte In-Game » 40.000+ Spawns » EXP Rate: 400x » Skill Rate: 40x » Magic Rate: 20x » Loot Rate: 8x Não perca mais tempo! Entre e prepare-se Chame seus Amigos e Entre nessa Guerra!1 ponto -
Digimon World Online
Administrador reagiu a Mihawk Mp por um tópico no fórum
Digimon World Online O melhor DigiTibia do momento! Mais informações no site: http://www.dworpg.com/login1 ponto -
Diferença nas versões
PsyMcKenzie reagiu a Danihcv por uma questão
Sim, são as funções. As vezes as funções mudam sua forma de serem escritas, as vezes certas funções são removidas, outras são adicionadas... A seguir tem 3 tópicos com todas as funções do tfs nas versões 0.2, 0.3/0.4 e 1.0 para que vc possa observar essas mudanças: tfs 0.2 tfs 0.3/0.4 tfs 1.01 ponto -
Em config.lua, procure esta linha: teleportPlayerSummons = false Troque false por true.1 ponto
-
{PEDIDO} MANA e LIFE exibida por porcentagem no cliente!
Strikerzerah reagiu a Yan Liima por uma questão
Se realmente te ajudei de REP + e ficamos quites Com essa nova atualização do fórum não tenho certeza se tem a opção de melhor resposta, mais se tiver por favor clique em resolvido.1 ponto -
{PEDIDO} MANA e LIFE exibida por porcentagem no cliente!
Strikerzerah reagiu a Yan Liima por uma questão
Vai em protocolgame.cpp e procure por: msg->put<uint16_t>(player->getHealth());msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); Substitue por: if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->put<uint16_t>(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0); } Depois procure por: msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA));msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA)); Substitue por: if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0); } Testado em TFS 0.3.6/0.4. Se quiser para TFS 1.x clique AQUI1 ponto -
Introdução ao OOP (Object-Oriented Programming) "A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos." Traduzindo, cada coisa que está presente em um programa é considerado um objeto. Exemplo disso são os jogos. Os personagens são objetos, podendo ser da classe NPC, Character, Monster... Mas o que é classe e objeto? - Definições Existem algumas definições essenciais para entender a orientação a objetos. As principais são classe, objeto, método e atributo. Classe: Podemos dizer que classes são grupos com características inicialmente iguais. Exemplo, na vida real, temos as classes "Humano", "Pássaro", "Inseto", etc. Cada classe tem seus membros, que são os objetos, suas características, que são os atributos, e suas ações, que são os métodos. Objeto: Cada membro das classes é chamado de objeto, por exemplo, na classe "Humano" existem os objetos eu, você, seu amigo, etc. Dá pra dizer que cada pessoa é um objeto da classe "Humano". Atributo: São as características da classe. Exemplo, na classe "Humano" temos algumas características como "Nome", "Altura" e "Idade", que variam de indivíduo para indivíduo, ou em programação, que variam de objeto para objeto. Método: São as ações que os objetos de uma classe podem realizar. Exemplo, objetos da classe "Humano" podem realizar ações como Beber, Comer, Correr. Em programação, cada ação dessa seria uma função ligada à classe, que é executada por um objeto. - OOP em Lua Lua, na verdade, não é uma linguagem orientada a objetos. Porém, possui uma biblioteca com artifícios que simulam isso, que são os meta-métodos e meta-tabelas. A principal função dessa biblioteca é a setmetatable. Ela transforma uma tabela normal em uma "tabela-objeto". - Criando classes: Para deixar mais claro, vamos criar uma tabela normal. Humano = {} OBS: Em orientação a objetos, sempre use Camel Case, que é deixar os nomes de classes e métodos iniciando com letra maiúscula. É só pra deixar o código mais bonito mesmo. Agora que criamos a tabela Humano, vamos colocar alguns atributos (características) nela: Humano = { nome = "", altura = 0, idade = 0, } Agora temos uma classe Humano com os atributos nome, altura e idade. Agora vamos criar um objeto dessa classe. Para isso, vamos criar uma função que transforma essa tabela em uma meta-tabela. Para isso, usamos a função setmetatable(table, metatable): function Humano:New(nome, altura, idade) local obj = {} obj.nome = nome obj.altura = altura obj.idade = idade return setmetatable(obj, {__index = self}) end Mas o que fiz ali? Simples. Peguei os parâmetros da função, coloquei dentro da tabela obj e depois criei uma meta-tabela. O que significa aquele self? Bom, o parâmetro self está implícito, então fica meio confuso. Você poderia fazer assim: function Humano.New(self, nome, altura, idade) No lugar de: function Humano:New(nome, altura, idade) Ou seja, aqueles : (dois pontos) são para não precisar declarar o self. O self serve para retornar o objeto da classe. Fazendo {__index = self}, você consegue acessar os atributos direto do objeto. Você entenderá isso um pouco mais pra frente. - Criando métodos: Vamos agora criar métodos, ou seja, o que os objetos da classe conseguem fazer, ou melhor, as funções que eles conseguem executar. Criaremos um método que faz a altura do objeto da classe Humano aumentar. Traduzindo, a pessoa cresce. function Humano:Grow(amount) amount = amount == nil and 1 or amount self.altura = self.altura+amount end O que fizemos ali? Primeiro, criamos um método ligado à classe Humano, chamado Grow (crescer em inglês). Depois, fizemos o seguinte para não dar erro: amount = amount == nil and 1 or amount. Ou seja, se o amount não for declarado, ele passa a valer 1. Depois, pegamos o atributo altura do objeto utilizando self.altura (lembra do self?) e acrescentamos o amount. Ou seja, se amount = 3, acrescentará 3 na altura do objeto. Simples, não? OBS: Métodos criados ligados à uma classe só podem ser executados por objetos dessa mesma classe! Se você tem um objeto da classe "Inseto", você não pode utilizar nele os métodos da classe "Humano". - Criando objetos Agora que você sabe criar classes e métodos, você pode criar objetos. É super simples, só fazer assim: hi = Humano:New("Manoel", 1.77, 16) Pronto, agora você tem um objeto na variável hi com o nome Manoel, altura de 1.77 e 16 anos. E como executar métodos nesse objeto? Simples também, veja: hi:Grow(0.34) No caso, o objeto da variável hi vai ter a altura aumentada em 0.34. E como modificar atributos do objeto sem precisar de funções? Outra coisa muito simples: hi.altura = 1.80 Isso fará a altura do objeto da variável hi ficar em 1.80. - Percepções Agora que você já sabe uma base de orientação a objetos, você perceberá que quando você usa uma função como string.lower(str), você está usando orientação a objetos, com um método da classe string. local a = "Batata" string.lower(a) é o mesmo que a:lower() Por que? Porque string é uma classe, lower é um método, e o método é string:lower(). Lembra do self implícito? - Final Bom galera, muito obrigado por lerem esse tutorial. Fiz ele dedicado ao meu amigo Manoel Neto. Utilizei como base os conhecimentos passados pelo meu mestre Oneshot. Quaisquer dúvidas e/ou sugestões, podem postar aqui no tópico. Proibido postar em qualquer outro fórum de Open Tibia brasileiro.1 ponto