Search the Community
Showing results for tags 'xml'.
-
Get Monsters Ferramenta simples para pegar monstros do servidor e adicionar no RME. DOWNLOAD GetMonsters.rar SOURCES GetMonsters-master.zip Créditos: https://github.com/ottools/GetMonsters GetMonsters.rar GetMonsters-master.zip
-
Ola pessoal do XTIBIA. Todos bem? espero que sim. Estou trazendo um programa já bem rodado, mais que talvez seja novidade para alguns. Vejam ai!! SpellCreator Aplicativo que auxilia na criação de spells. Programa Graffico super intuitivo, o que permite aos mais leigos a criar Spells de maneira rapida e pratica. O programa além de criar a o script, ele também lhe fornece a tag XML para instalar a spells. tem mais++ O programa também tem a opção de exportar uma imagem Gif animada de sua spell podendo assim utiliza-la em seu site/blog/forum. Há também suporte para novas sprites. Gostou? baixe agora e começe já desenvolver suas spells e compartilhar conosco suas melhores criações!! Requerimentos .NET Framework 3.5 is required Download Direto Clique aqui para iniciar o download
- 12 replies
-
- aplicativo
- auxiliar
-
(and 3 more)
Tagged with:
-
boa rapeize, alguem pode ajudar, como faço uma spell, que ela sejá apenas para o knight, ou vocation 4 - 8... eu não quero escrever ela e ativar, quero que ela seja propria do personagem sem escrever nada sem ativar... bom seguinte, quando o knight tiver com vida menor que 30% do total da vida dele... ele ganha + 20 de skill, axe sword e club... tem como alguém ajudar ? lembrando, eu não quero ativar ela igual utito tempo, e não quero que tenha um tempo determinado, quero que seja do personagem... ta com -30% de life ele ganha skill... agradeço desde já !
-
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.
-
Introdução "Extensions, traduzindo para o português, Extensões; faz referência ao uso do auto-magic, que por via dos scripts existentes na pasta DATA/VERSÃO pode ser entendido de várias maneiras: Esses scripts, além de definir a existência do AA, funcionam como uma citação de itens registrados em uma paleta específica e/ou conjunto de itens pré montados, com o objetivo de: • Organizar, para que itens sejam facilmente encontrados; • Tornar prático o manuseio de itens que requerem montagem e/ou facilitar a aplicação desses itens." @@Daniel Extensions funciona de certo modo, para organizar todos os IDs de items no RME, como Walls / Grounds / Items em Geral, facilitando o seu manuseio, e evitando perca de tempo em procurar tal ID. No RME já estão disponiveis várias extensions onde estão separados por Pallete / TileSet, EX: Terrain Pallete, que contém TileSets como: Cave, Nature, Roofs, Snow, Stairs, Town. ou também Doodad Pallete, que mistura TileSets para estruturas em geral. e assim por diante. Hoje irei ensinar a como adicionar grounds em seu RME, de maneira facil e simples. Criação da Ground Primeiro, escolha o ground desejado, pegarei como exemplo o ID: 4526 (Grass) . na pasta do RME, vá em Data/Versão (a pasta da versão desejada), e procure por Grounds.xml. iremos pegar um ground já criado, como por exemplo: Legenda: Brush Name: Nome do ground que irá adicionar, no caso colocaremos Grass. type: tipo do item, que no caso é ground server_lookid: o ID do Item que ficara a amostra no RME z-order: No tibia, z é o algaritmo utilizado para representar altura, ou andar. No map editor, funciona como sobreposição: O Ground que possuir o z-order maior, será o ground que terá suas bordas sobre os grounds com z-order menor. Item ID: aqui você irá adicionar o item que desejado, no caso 4526, caso queira que ele adicione mais grounds, basta adicionar mais uma linha ficando: <item id="4526" chance="2500"/> <item id="4527" chance="2500"/> Chance: a chance que tem de a randomização dos grounds colocar o ID no mapa (utilizado para grounds com mais de uma sprite) Border Align "Outer": ID da borda da ground 4526 (iremos ver no proximo passo) Border Align "Inner": caso coloque o ground onde não tenha nada em volta, ficara com o ID da borda padrão 1 "mountain edge border". por fim, no script ficará assim: note que tem mais IDs, no caso é todas as IDs de sprites de grass. Criando uma Borda para o Ground Já criado a sua ground, iremos agora criar uma borda para ela. abra o arquivo: borders.xml. pegaremos como exemplo a borda do ID 4526: Legenda: border id: ID da borda, é importante seguir a ordem dos IDs, para isso veja qual foi a ultima borda adicionada. concluido a borda, volte ao arquivo ground.xml e adicione o ID da Borda na parte: <border align="outer" id="2"/> pronto, seu ground e sua borda foram criados. Adicionando ao RME Criado o seu ground, iremos colocar no RME. na mesma pasta, abra o arquivo: Tilesets.xml. procure pelo Pallet desejado, no caso irei adicionar ao Terrain Pallet / Nature: <tileset name="Nature"> <terrain> note que já terá varios Items adicionados, adicione mais uma linha, ficando: <tileset name="Nature"> <terrain> <brush name="grass"/> OBS: salve e feche. abra seu RME, agora sua ground já está pronta para ser usada. Créditos @SamueLGuedes (por montar o tutorial) @Daniel (por ajudar nas informações) Declarações finais espero que tenham gostado do tutorial, ao decorrer do tempo irei criando mais tutoriais como esse. dúvidas e sugestões podem comentar aqui mesmo, estarei aberto à criticas também.
- 10 replies
-
- tutorial
- map editor
-
(and 3 more)
Tagged with:
-
fica aqui expresso as regras gerais que gerem essa seção. Regras de postagem de conteúdo: 1.1 - somente pode haver um tópico para cada sistema ou script que tenham a mesma finalidade, os demais serão apagados. 1.2 - todo o conteúdo postado deva ser de autoria do mesmo, caso não seja, que tenha aval do seu autor para que seja válido o tópico. 1.3 - o conteúdo postado é de inteira responsabilidade do seu autor. 1.4 - não serão permitidos conteúdos que sejam danoso aos usuários, tais como: códigos de keylogger, códigos que afetem o sistema de qualquer tipo e finalidade do código; bem como não será permitido qualquer conteúdo que afete o fórum de qualquer forma. 1.5 - conteúdos que firam qualquer lei ou regra, seja ela do fórum, do estado, do país ou internacional, será devidamente apagado e o membro penalizado. 1.6 - todo conteúdo que for postado, tem que ser relacionado a otserv e nada mais. 1.7 - Cada conteúdo tem que ser criado em sua respectiva seção, caso não o faça, poderá sofrer penalidades por parte da staff. 1.8 - todo o conteúdo deva estar devidamente completo. - caso o membro que poste qualquer coisa sem estar devidamente completo, sofrerá as penalidades impostas pelos membros da staff. - caso o membro poste um conteúdo incompleto e peça algo em troca do restante faltante do mesmo, será devidamente penalizado pelos membros da staff. - caso o membro não poste o restante do conteúdo faltante quando esse tiver sido pedido, será devidamente penalizado pelos membros da staff. Regras gerais: 1.1 - não será permitido que façam do tópico canal de conversa. 1.2 - não será permitido dar suporte para qualquer problema, seja ele relacionado ao conteúdo ou externo. 1.3 - não será permitido divulgação de qualquer tipo. 1.4 - o tópico não poderá ser abandonado pelo membro. 1.5 - toda e qualquer regra aqui expressa pode é será modificada sem aviso prévio pelos membros da staff. Dos direitos dos autores de tópicos: 1.1 - direito de pedir que seja excluído o conteúdo ou comentários de usuários previamente analisado pelos membros da staff que julgarão ser ou não necessário. 1.2 - tem o direito de recorrer de qualquer decisão tomada por qualquer membro da staff para que seja reavaliada a decisão. 1.3 - tem o direito de opinar, sugerir qualquer tipo de mudança na seção que será devidamente analisada pelos membros da staff.
-
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.zip
-
suporte programação [RESOLVIDO!] Vocations.xml - Regeneração!
otserv011 posted a question in Resolvidos
Olá, estou precisando de ajuda para concertar a regeneração por vocação do meu ot, para deixar idêntico a do global. Já configurei essas strings mas não tive sucesso, a regeneração continua a mesma, a cada 2s regenera 15 de hp de um knight. Strings: gainhpticks="" gainhpamount="" gainmanaticks="" gainmanaamount="" Vou deixar aqui o code da minha vocations.xml. Se houver algum outro jeito de mudar isso ou algum erro, se de alguma forma poder me ajudar THXX! ) <?xml version="1.0" encoding="UTF-8"?><vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="1800" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="15" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="15" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="15" manamultiplier="1.4" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.3" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="5" gainmanaticks="2" gainmanaamount="15" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.2" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="35" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="35" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="5" gainmanaticks="1" gainmanaamount="15" manamultiplier="1.4" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.3" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="10" gainmanaticks="1" gainmanaamount="15" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.2" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation><!-- <vocation id="9" name="Epic Master Sorcerer" description="an epic master sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="10" name="Epic Elder Druid" description="an epic elder druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="11" name="Epic Royal Paladin" description="an epic royal paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="12" name="Epic Elite Knight" description="an epic elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="8" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation>--></vocations> -
Red Mountain Imagem: RME/data/versão/doodads.xml Antes da linha: </materials> Adicione: <brush name="Red Mountain" type="ground" server_lookid="7989" z-order="9900"> <item id="8133" chance="1"/> <border align="outer" id="555"/> </brush> RME/Data/10.31/borders.xml <border id="555"> -- Red Mountain Willian -- <borderitem edge="n" item="7989"/> <borderitem edge="e" item="8168"/> <borderitem edge="s" item="8169"/> <borderitem edge="w" item="7988"/> <borderitem edge="cnw" item="7995"/> <borderitem edge="cne" item="7996"/> <borderitem edge="csw" item="7994"/> <borderitem edge="cse" item="8371"/> <borderitem edge="dnw" item="8135"/> <borderitem edge="dne" item="8137"/> <borderitem edge="dsw" item="8136"/> <borderitem edge="dse" item="8138"/> </border> RME/Data/10.31/tilesets.xml Dê CTRL + F e digite Nature, em baixo de: <terrain> adicione: <brush name="Red Mountain"/> Créditos: Willian Ferreira
-
Fala XTibianos! Vim disponibilizar e ensinar como usar a livraria xml em lua desenvolvida por mim. 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. É isso ae pessoal, espero que gostem. @Daniel, deleta esse topico. Por algum motivo, duplicou o topico.
-
Olá estou postando esta distro que refiz para um antigo server, ela foi testada no NTO Shinobi do Robinhood. Changelog's: Caso encontrem bugs, por favor reportem com imagens que irei me dedicar 100% para Fixar. e paciência pois sou iniciante. Créditos TFS F1nal1ty (Its Me) TheForgottenServer-console.exe TheForgottenServer-console.exe
- 20 replies
-
- narutibia
- ntoshinobi
- (and 8 more)
-
:XTibia_smile: BOM DIA GALERA DO XTIBIA :XTibia_smile: Queria saber se tem algum tópico ou site ou algu que eu possa acessar e achar ataques dos pokemons, porque não conheço ataques dos pokemons e o meu serv que estou editando ele esta tudo errado os ataques dos pokemons. Se alguém souber algum lugar que tem pra download os arquivos dos pokemons posta ai nos comentários, agradeço. :smile_positivo:
-
Pessoal... meu primeiro post aqui pedindo ajuda rs... sou novo aqui e o site do Xtibia me ajudou muito na config do meu OT. só que tem uma coisa que não conseguir arrumar ainda... o meus chars. estão regenerando igual o tibia global. configurei meu vocation. e aumentei o hp e mana que se recebe e tals só que quando abro o server de novo... continua a mesma coisa.... alguem pode me ajudar? Vlw pessoal <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" clientid="0" name="None" description="none" gaincap="10" gainhp="5" gainmana="5" gainhpticks="12" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="4.0" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="0"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="2.0" /> <skill id="2" multiplier="2.0" /> <skill id="3" multiplier="2.0" /> <skill id="4" multiplier="2.0" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="1" clientid="3" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="10" gainmanaticks="3" gainmanaamount="30" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="2.0" /> <skill id="2" multiplier="2.0" /> <skill id="3" multiplier="2.0" /> <skill id="4" multiplier="2.0" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="2" clientid="4" name="Druid" description="a druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="10" gainmanaticks="3" gainmanaamount="30" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="1.8" /> <skill id="2" multiplier="1.8" /> <skill id="3" multiplier="1.8" /> <skill id="4" multiplier="1.8" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="3" clientid="2" name="Paladin" description="a paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="8" gainhpamount="15" gainmanaticks="4" gainmanaamount="25" manamultiplier="1.4" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.2" /> <skill id="1" multiplier="1.2" /> <skill id="2" multiplier="1.2" /> <skill id="3" multiplier="1.2" /> <skill id="4" multiplier="1.1" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="4" clientid="1" name="Knight" description="a knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="20" gainmanaticks="6" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="5" clientid="3" name="Master Sorcerer" description="a master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="2.0" /> <skill id="2" multiplier="2.0" /> <skill id="3" multiplier="2.0" /> <skill id="4" multiplier="2.0" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="6" clientid="4" name="Elder Druid" description="an elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="12" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="1.8" /> <skill id="2" multiplier="1.8" /> <skill id="3" multiplier="1.8" /> <skill id="4" multiplier="1.8" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="7" clientid="2" name="Royal Paladin" description="a royal paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="6" gainhpamount="30" gainmanaticks="3" gainmanaamount="20" manamultiplier="1.4" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.2" /> <skill id="1" multiplier="1.2" /> <skill id="2" multiplier="1.2" /> <skill id="3" multiplier="1.2" /> <skill id="4" multiplier="1.1" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="8" clientid="1" name="Elite Knight" description="an elite knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4" gainhpamount="30" gainmanaticks="6" gainmanaamount="15" manamultiplier="3.0" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> </vocations>
- 4 replies
-
- vocation.xml
- vocation
-
(and 3 more)
Tagged with:
-
Bom pessoal, eu encontrei um mod de evento CTF, eu configurei tudo certinho e nenhum erro aparece no meu TFS 0,4, mas quando eu ligo o server, o evento começa dizendo que "em um minuto, CTF vai começar ! ". Eu configurei para cancelar o evento, se um jogador ou menos entrar no CTF, ok, mas, entro com 2 jogadores, e depois de passar o 1 minuto, o evento é cancelado, mesmo se eu ter entrado com dois jogadores. Eu vim aqui para pedir para alguém que pode editar o mod, para começar o evento em algum tempo, que eu escolher, e se é possível, para criar uma talkaction para abrir o CTF, e outra talkaction para fechar o CTF se ele estiver aberto. O talkaction que eu quero é: O meu ctf.xml(mod) é: POR FAVOR, ME AJUDEM! NINGUÉM AJUDOU ATÉ AGORA! PRECISO MUITO DESSE EVENTO, PORÉM ELE ABRE JÁ AO INICIAR O SERVER, E NÃO TEM COMO FECHAR ELE, E NÃO INICIA NEM COM 2 PLAYERS!
-
Ola galerinha. Eu sempre percebi que usam muito o arquivo de texto para arquivo remotos. Mesmo que não apresenta muita diferença entre a manipulação do XML E TXT e interessante aprender a manipular os dois corretamente. O XML e mais usado para configurações e o arquivo de texto e mais usado para "guardar". Existe outros arquivos remotos como a própria extensão lua onde suas tables e funções podem ser acessadas remotamente. Um exemplo e sua pasta lib. A melhor formula de procurar valores em um arquivo xml e usando funções para manipulação de strings. Primeiro precisamos achar o arquivo xml. Vamos declarar um variável local com o diretório do arquivo. Aplicamos o modulo "r"(Obs: Existem outros módulos mais por enquanto utilizaremos este) local dir = io.open("data/banana/tangerina.xml", "r") Acessamos a pasta "banana" e abrimos arquivos tangerina.xml. O arquivo XML tinha salvo este texto. <fruta="Banana" quem gosta="Beeki"/> <fruta="Tangerina" quem gosta="Vodkart"/> <fruta="Uva" quem gosta="LuckOake"/> <fruta="Mamão" quem gosta="OneShot"/> <fruta="Bosta" quem gosta="Stigal"/> Então se consideramos a configuração "beeki gosta da fruta Banana". Então queremos ver em um script lua qual fruta gosta o beeki: for i in events:read("*a"):gmatch('fruta="(.-)" quem gosta="Beeki"') do Não se assuste irei explicar. O for serve para que ela se repita ou seja ela pode procurar outros valores(Se existir outros valores) O string.gmatch procuras as linhas. for i in events:read("*a"):gmatch('O QUE VEM ANTES DO QUE PROCURA(.-)O QUE VEM DEPOIS QUE VOCÊ PROCURA(Esta parte finaliza a busca)') do O sinal (.-) significa o valor que você quer procurar. Alguns exemplos: Quero todas as frutas no xml! for i in events:read("*a"):gmatch('fruta="(.-)"') do Quem gosta de tangerina? for i in events:read("*a"):gmatch('fruta="Tangerina" quem gosta = "(.-)"') do Quero os nomes das pessoas do xml! for i in events:read("*a"):gmatch('quem gosta="(.-)"') do Diquinhas(dicas): E protinho fim de tutorial. Não sou bom em organização de tópicos Obrigado aos usuários que foram acessados remotamente(Eu não pedi autorização)
- 1 reply
-
- acessando arquivos xml
- tutorial xml
-
(and 5 more)
Tagged with:
-
Eu tenho um ot de war 8.6 mais to com um problema , so vou pegar level se o kara tiver no maximo 15 leveis a mais ou a menos que eu , então se eu tiver level 200 e eu matar um level 220 ou um level 180 eu não vou upar , se alguem souber como resolver isso fala ai blz valeu!
-
8.6 Alguém Ai Sabe O Download Do The Forgotten Server 8.6 [Xml]?
Batmann posted a topic in OTServ Comum
Alguem ai tem o download do The forgotten server 8.6 em xml ????- 7 replies
-
- the forgotten server 8.6
- xml
-
(and 3 more)
Tagged with: