Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/19/16 em %
-
[Download] Pokémon Light (Sem level)
cebolaxande e 9 outros reagiu a Luga03 por um tópico no fórum
Contribuição do PokéLight Pessoal, essa é uma old version do servidor PokéLight. Comparada a versão atual ela está bem ruim, mas comparada a 90% dos outros OTs ela está perfeita haha. Está não é uma base que você baixa e deixa online, como ela está meio old, não tem certas configurações como o XML não estão 100% corretos (spells, loot, etc), está faltando spells, as tabelas de pokémon não estão prontas e muitas outras coisas.... Lembrando, está versão NÃO tem level system no pokémon! Sistemas Mapa O mapa não foi liberado ainda, mas possivelmente iremos liberar ele mais para frente. Sprites Nenhuma das sprites exclusivas do PLight será liberada pela equipe. Imagens Downloads: Server e Source: https://mega.nz/#!b98zgZYR!Yxq4gBNP9hGrocSEBuhRA-gNT_q6Vgh1mU-pu811Wcs Client: https://mega.nz/#!P8tzBZST!2KsMzr5jdRVMdcXako2p85uu6-skTfsU_WguECwUR8k Estou sem tempo para fazer scan, caso alguém possa fazer para min, agradeço Links Extras:10 pontos -
3 Mapas criativos para seu Otserv
110316 e 4 outros reagiu a SamueLGuedes por um tópico no fórum
Há diferentes tipos de otserv, diferentes gráficos e jogabilidades. Mas todo otserv precisa de um mapa criativo e atrativo, para poder cativar seus jogadores. Selecionamos 3 mapas interessantes para utilizar em um projeto, alguns com gráficos próprios e outros não. Confira abaixo: 1 PIRATAS DO CARIBE Este mapa é ótimo para servidores rpg de Tibia, e está bem detalhado. 2 WORLD OF PIECE Um mapa diferenciado para um servidor diferenciado. Você com certeza vai querer conferir este! 3 CONTINENTES RPG Embora falte spawns, este mapa está pronto para ser jogado e notado. É isso ai. Fique ligado nas novidades da nossa comunidade!5 pontos -
Launcher para OTCliente/Classico com AutoUpdate sem Host
joaquin2455 e 3 outros reagiu a saviomu por um tópico no fórum
=> Bom,o titulo diz tudo né? Esse é um launcher com autoupdate para OTCliente ou para cliente Clássico(CIPSOFT), com o seguinte detalhe, ele utiliza arquivos upados no GitHub, ou seja,não é necessário uma hospedagem e muito menos que seja o cliente postado em seu WebSite. => Foi codado em C# usando o WPF. O vídeo abaixo ensina a configurar tudo passo a passo, bonitinho para que não ocorra erros. Para configurar a execução do cliente, fique atento as seguintes condições: Para Cliente Padrão, o nome do mesmo deve ser -> padrao.exePara OTCliente DX, o nome deve ser -> dx.exePara OTCliente OpenGL, o nome deve ser -> opengl.exe CASO SEU TIBIA.SPR FOR MAIOR QUE 100MB SIGA O TUTO ABAIXO, CASO CONTRARIO APENAS PULE: 1 => Selecione seu arquivo tibia.spr e comprima-o em zip separando ele em partes (Deixe o arquivo comprimido dentro da pasta original onde fica o tibia.spr ein!!!!), como a imagem abaixo. Configurações Extras (Que não estão no vídeo): <!-- LAYOUT -->Background -> Nome da imagem Background do LauncherBtnFechar -> Nome da imagem do Botão FecharBtnMinimizar -> Nome da imagem do Botão MinimizarEsquemaCores -> Muda o esquema de cores do Launcher (Código em Hexadecimal de Cores)<!-- MUSICAS -->->Apenas mude o arquivo dentro de musicas/principal.mp3.->Caso não deseje musica apenas delete a pasta.<!-- CASO SPR MAIOR QUE 100MB -->DirSprite -> Coloque o caminho onde se encontra sua pasta.->Caso esteja na raiz do cliente, deixe em branco.->Caso esteja dentro de alguma pasta coloque da seguinte forma: pasta1/pasta2/pasta3/ => A ultima pasta precisa ter uma / ein. Changelog: -------------01/12/2016------------------*Correção de Erros; e*Adicionada Música na execução do launcher.-------------05/11/2016------------------*Otimização dos Codes (Muito Menos Gambs );*Melhor Gerenciamento do Esquema de Cores;*Arquivo de Configurações mais Clean;*Suporte para o spr maior que 100MB.-------------04/11/2016------------------*Adicionada personalização no arquivo de configurações para o esquema de cores do launcher;*Melhorias de códigos inuteis(gambiarras) que haviam dentro do mesmo.-------------20/10/2016------------------*Adicionado personalização no arquivo de configurações para imagens de background e botões de minimizar e fechar. Créditos: ME -> Por ter feito :SDalvo rsrsrsrnrnrsnrnrnnrnn -> Por ter me ensinado a usar o github bash,serio eu não sabia usar só usava o desktop. Ah e também por mostrar essa api maravilhosa. Senha: www.xtibia.com Link para repositório do launcher. https://github.com/f1nal1ty/LauncherWPFOTC launcher2.zip launcher2.zip4 pontos -
Pessoal, tópico atualizado! Adicionado novos links de downloads de OTClient (Otimizado), exe do servidor recompilado e source levemente modificada! E junto com tantos pedidos, postei essa mesma versão do Pokémon Light só que SEM level!3 pontos
-
Contribuição do PokéLight Pessoal, essa é uma old version do servidor PokéLight. Comparada a versão atual ela está bem ruim, mas comparada a 90% dos outros OTs ela está perfeita haha. Está não é uma base que você baixa e deixa online, como ela está meio old, não tem certas configurações como o XML não estão 100% corretos (spells, loot, etc), está faltando spells, as tabelas de pokémon não estão prontas e muitas outras coisas.... Lembrando, está versão TEM level system no pokémon! Sistemas Mapa O mapa não foi liberado ainda, mas possivelmente iremos liberar ele mais para frente. Sprites Nenhuma das sprites exclusivas do PLight será liberada pela equipe. Imagens Downloads: Server e Source: https://mega.nz/#!e9FWkbLR!y3khwXsA3BFzCDFIyVK-lVQEQTdOgLXarieXYEFupDM Client: https://mega.nz/#!P8tzBZST!2KsMzr5jdRVMdcXako2p85uu6-skTfsU_WguECwUR8k Estou sem tempo para fazer scan, caso alguém possa fazer para min, agradeço Links Extras:2 pontos
-
[Show Off] Npc Window
FireShok e um outro reagiu a rohfagundes por um tópico no fórum
2 pontos -
3 Mapas criativos para seu Otserv
SamueLGuedes e um outro reagiu a kttallan por um tópico no fórum
Otimos mapas, irei dar uma olhada para ver se realça a inspiração!.2 pontos -
Olá galera do XTibia, vim postar um Tutorial base de como funciona o OTUI do otclient... O OTUI pode ser feito em dois tipos de window.. o MINIwindow e o MAINwindow. Só conheço esses dois. bom o MAINWINDOW é um comando mais simples que o MINIWINDOW e mais pratico. e ele é feito geralmente dessa forma: MainWindow Id: !text tr('') size: 100 100 &save: true - id: É o id do MW, se tiver 2 por exemplo, é o id que vai diferenciar. - !text: tr('texto'): adiciona texto a janela que tiver essa linda. - size: largura e altura da janela <<nessa ordem não precisa usar size, pode-se usar também dessa forma. ___________________________ MainWindow Id: MenuTutorial !text tr('MenuTutorial') width: 100 height: 100 &save: true e você também pode colocar um icone para sua janela com: (coloque abaixo do id) -icon: imagens/topbuttons/icone e é só isso depois posto mais, sobre as funções e outros.2 pontos
-
Programas utilizados no PokéLight
underewarr reagiu a Luga03 por um tópico no fórum
Olá ekz tibianos, tranquilo? Eu vim mostrar uma lista de programas utilizados pelos desenvolvedores do PokéLight! Lua Auto Indent Descrição: Com este programa você pode identar seus códigos com apenas 1 clique! Download: LuaAutoIndent.rar Scan Remere's Map Editor Descrição: Editar mapa do servidor com client estendido e com transparência. Download: Remere's Map Editor.rar Scan Stian's Repack Dev-Cpp Descrição: IDE para compilar servidores como o PokéLight e outros. Download: Stian's Repack Dev-Cpp.rar Scan Deve instalar junto no Dev o OpenSSL: openssl-0.9.8-1cm.rar Pessoal, com mais tempo eu posto outros que nós utilizando... Valeu ae e espero que façam bom uso! Observação, Os créditos são exclusivamente dos seus desenvolvedores, colaboradores e outras pessoas. Segunda observação, Os vírus encontrados são inofensivos, então baixe por conta própria. openssl-0.9.8-1cm.rar LuaAutoIndent.rar Remere's Map Editor.rar1 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 -
Sprite Animada - Avaliem
Administrador reagiu a Hi im Mell por um tópico no fórum
Iae pessoal, eu to ajudando um amigo meu no servidor dele, e sou um spriter à algum tempo, como hoje em dia o tibia já utiliza de uma animação avançada, eu decidi me aprimorar. Avaliem e digam o que posso melhorar (O gif está em qualidade ruim)1 ponto -
Sprites [INICIANTE]
Peedbew reagiu a Jakson Souza por um tópico no fórum
Fala Galera, Antes de mais nada já vou avisando... Eu fiz essas sprites brincando, não tenho nem uma experiência com esse tipo de trabalho. :3 Smurf Naruto Deidara Rick Grimes Pikachu Kirito Sem Nome Batman Sem Nome Deidara Mijando1 ponto -
Mapa World of Piece
Peedbew reagiu a SamueLGuedes por um tópico no fórum
Estarei postando aqui, o mapa do World of Piece Imagens: Download: Mega Créditos: Animal Pak World of Piece Green1 ponto -
Sprites [INICIANTE]
Hi im Mell reagiu a Jakson Souza por um tópico no fórum
Sim estou praticando. O jeito é praticar. kkk1 ponto -
Sprite Animada - Avaliem
Hi im Mell reagiu a Administrador por um tópico no fórum
Muito bom, precisa ajustar esses frames, algumas linhas estão quebrando errado na troca de imagens. O sombreamento do pé está estranho ao meu ver.1 ponto -
3 Mapas criativos para seu Otserv
SamueLGuedes reagiu a Administrador por um tópico no fórum
Belo tópico. Os mapas são realmente bons, boa escolha.1 ponto -
(resolvido) Spell.xml
pokemonxps reagiu a Hi im Mell por uma questão
Adiciona isso no final do script: </instant> Se der algum erro me manda foto do erro.1 ponto -
RkjM's Pirates of the Crabibread
Sirarcken reagiu a SamueLGuedes por um tópico no fórum
Mapa feito pelo Usuário RokojoM Imagens: Download Mega Créditos: RokojoM1 ponto -
quase sozinho né <3 KKK otimo trabalho, vou baixar aqui e mexer nele, quem sabe eu poste uma versão bem legalzinha1 ponto
-
Tópico atualizado com download de OpenSSL que deve ser importado no Dev para poder compilar o Pokémon Light corretamente.1 ponto
-
Eu consegui compilar de boas com os arquivos que eles postaram Só instalar oque ele falou e compilar1 ponto
-
Não companheiro. Eu estou falando do arquivo cpp e h das sources.1 ponto
-
Sim, está livre para você por o que você quiser ou deixar livre para deixar a ball ali... Este sistema é para PDA, como você já viu esse server não é PDA... Você precisará de um scripter para criar um sistema de Mega Evolução para essa base! Sim, tem como tirar sim... Talvez mais para frente eu faça uma modificação e libere uma versão sem level.1 ponto
-
Maratona de Projetos - Resultado
krex reagiu a Storm Night por um tópico no fórum
Poxa, ficaram reclamando de quem não fez e nem ao menos citaram o Attack... Que absurdo!!1 ponto -
Ele só adicionou umas funções do forum na source(ele so sabe programar isso, adicionar e.e), e fim.. kk aiai, otadmin..1 ponto
-
unicode2latin1(str) A função recebe como parametro uma string 'str', e procura nela ocorrencias de unicode/utf8 dos principais acentos usados e converte para latin1/iso-8859-1. Não é feita a conversão de todos os caracteres possíveis, pois não é bem o intuito da função, mas caso queira adicionar basta incluir no map de caracteres. Os demais caracteres estão disponiveis nesta tabela. function unicode2latin1(str) local map = { -- ÁáÀàÂâÃã {utf = {0xc3, 0x81}, latin = 0xc1}, -- Á {utf = {0xc3, 0xa1}, latin = 0xe1}, -- á {utf = {0xc3, 0x80}, latin = 0xc0}, -- À {utf = {0xc3, 0xa0}, latin = 0xe0}, -- à {utf = {0xc3, 0x82}, latin = 0xc2}, --  {utf = {0xc3, 0xa2}, latin = 0xe2}, -- â {utf = {0xc3, 0x83}, latin = 0xc3}, -- à {utf = {0xc3, 0xa3}, latin = 0xe3}, -- ã -- ÉéÈèÊê {utf = {0xc3, 0x89}, latin = 0xc9}, -- É {utf = {0xc3, 0xa9}, latin = 0xe9}, -- é {utf = {0xc3, 0x88}, latin = 0xc8}, -- È {utf = {0xc3, 0xa8}, latin = 0xe8}, -- è {utf = {0xc3, 0x8a}, latin = 0xca}, -- Ê {utf = {0xc3, 0xaa}, latin = 0xea}, -- ê -- ÍíÌìÎî {utf = {0xc3, 0x8d}, latin = 0xcc}, -- Í {utf = {0xc3, 0xad}, latin = 0xec}, -- í {utf = {0xc3, 0x8c}, latin = 0xcd}, -- Ì {utf = {0xc3, 0xac}, latin = 0xed}, -- ì {utf = {0xc3, 0x8e}, latin = 0xce}, -- Î {utf = {0xc3, 0xae}, latin = 0xee}, -- î -- ÓóÒòÔôÕõ {utf = {0xc3, 0x93}, latin = 0xd3}, -- Ó {utf = {0xc3, 0xb3}, latin = 0xf3}, -- ó {utf = {0xc3, 0x92}, latin = 0xd2}, -- Ò {utf = {0xc3, 0xb2}, latin = 0xf2}, -- ò {utf = {0xc3, 0x94}, latin = 0xd4}, -- Ô {utf = {0xc3, 0xb4}, latin = 0xf4}, -- ô {utf = {0xc3, 0x95}, latin = 0xd5}, -- Õ {utf = {0xc3, 0xb5}, latin = 0xf5}, -- õ -- ÚúÙùÛû {utf = {0xc3, 0x9a}, latin = 0xda}, -- Ú {utf = {0xc3, 0xba}, latin = 0xfa}, -- ú {utf = {0xc3, 0x99}, latin = 0xd9}, -- Ù {utf = {0xc3, 0xb9}, latin = 0xf9}, -- ù {utf = {0xc3, 0x9b}, latin = 0xdb}, -- Û {utf = {0xc3, 0xbb}, latin = 0xfb}, -- û -- Çç {utf = {0xc3, 0x87}, latin = 0xc7}, -- Ç {utf = {0xc3, 0xa7}, latin = 0xe7} -- ç } if type(str) == "string" then for i = 1, #map do str = str:gsub(string.char(unpack(map[i].utf)), string.char(map[i].latin)) end end return strend1 ponto
-
Open Tibia Framework
saviomu reagiu a Administrador por um tópico no fórum
OTF Créditos: https://github.com/Mignari Baixar open-tibia-master.zip 1.0 - Um controle para mostrar a lista de sprites. 1.1 - Um controle que mostra minimap e cores de luz 1.2 - Um controle que mostra cores de outfits XML Exemplo de Formato <versions> <version value="1079" description="Client 10.79" dat="3A71" spr="557A5E34" otb="56" /> </versions> Código // path to the versions xml file. string path = @"versions.xml"; // creates a VersionStorage instance. OpenTibia.Core.VersionStorage versions = new OpenTibia.Core.VersionStorage(); // loads the xml versions.Load(path); // gets a version from the storage by the signatures. OpenTibia.Core.Version version = versions.GetBySignatures(0x3A71, 0x557A5E34); // gets all versions 10.79 System.Collections.Generic.List<OpenTibia.Core.Version> result = versions.GetByVersionValue(1079); // adds a new version. versions.AddVersion(new OpenTibia.Core.Version(1078, "Client 10.78", 0x39CC, 0x554C7373, 56)); // replaces a version by the signatures. versions.ReplaceVersion(new OpenTibia.Core.Version(1078, "My description 10.78", 0x39CC, 0x554C7373, 56), 0x39CC, 0x554C7373); // removes a version by the signatures. versions.RemoveVersion(0x39CC, 0x554C7373); // saves the xml. versions.Save(); Carregando e compilando um arquivo SPR // creates a Version 10.79. OpenTibia.Core.Version version = new OpenTibia.Core.Version(1079, "Client 10.79", 0x3A71, 0x557A5E34, 0); // the path to the spr file. string path = @"C:\Clients\10.79\Tibia.spr"; // loads the spr file. OpenTibia.Client.Sprites.SpriteStorage sprites = OpenTibia.Client.Sprites.SpriteStorage.Load(path, version); // gets a sprite from the storage OpenTibia.Client.Sprites.Sprite sprite = sprites.GetSprite(100); // adding a sprite. sprites.AddSprite(new OpenTibia.Client.Sprites.Sprite()); // replacing a sprite. sprites.ReplaceSprite(new OpenTibia.Client.Sprites.Sprite(), 12); // removing a sprite. sprites.RemoveSprite(10); // compiles the spr file. sprites.Save(); Carregando e mostrando Sprites // Assuming that you have a SpriteListBox named 'spriteListBox' in the form. // creates a Version 10.79. OpenTibia.Core.Version version = new OpenTibia.Core.Version(1079, "Client 10.79", 0x3A71, 0x557A5E34, 0); // the path to the spr file. string path = @"C:\Clients\10.79\Tibia.spr"; // loads the spr file. OpenTibia.Client.Sprites.SpriteStorage sprites = OpenTibia.Client.Sprites.SpriteStorage.Load(path, version); // gets 100 sprites from the storage and displays in the SpriteListBox OpenTibia.Client.Sprites.Sprite[] list = new OpenTibia.Client.Sprites.Sprite[100]; for (uint i = 0; i < list.Length; i++) { list = sprites.GetSprite(i); } this.spriteListBox.AddRange(list); open-tibia-master.zip1 ponto