Ir para conteúdo

XML Organizado


Tony Araujo

Posts Recomendados

Fala ae pessoa, hoje eu vim trazer novamente a idéia de um xml organizado. Bom, como alguns sabem eu postei essa ideia ano passado mostrando como organizar um XML para ficar mais fácil, limpes e bonito de para possíveis edições, além de evitar um monte de trabalho desnecessário de configurações em tabelas, dentre outros. Vou postar aqui um exemplo de como está o meu XML, não reparem as configurações presentes nele porém, é apenas uma demonstração. Espero que gostem, pode ajudar a muitos.

 

Lembrando, esta XML é para ser usada para selvagens e capturados.

<?xml version="1.0" encoding="UTF-8"?><monster name="Pidgey" experience="216" speed="100">    <health base="1200" gain="30"/>    <look type="30" corpse="5961" typeShiny="42" corpseShiny="5822"/>	<pokemon>        <poke description="A strange seed was planted on its back at birth. The plant sprouts and grows with this Pokemon."/>		<poke chance="20"/>		<poke type="Grass, Poison"/>		<poke portrait="2377"/>		<poke portraitShiny="1222"/>		<poke level="20"/>		<poke agressive="1"/>    </pokemon>	<effectiveness>		<eff effective="ice,flying,psychic"/>		<eff normal="poison,bug,rock,ghost,fire"/>		<eff ineffective="water,electric,fighting,earth"/>		<eff null="grass"/>	</effectiveness>	<abilities>        <hability name="cut"/>		<hability name="fly" outfit="123" speed="100"/>    </abilities>	<evolutions>        <newEvo name="Ivysaur" stone1="2276" level="40"/>    </evolutions>    <moves>        <move name="melee" cooldown="2" chance="100" range="1" power="1"/>		<move name="Tri Flames" cooldown="2" level="20" power="10" chance="30" type="normal" icoOn="3" icoOff="4"/>    </moves>	<loot>		<item name="straw" countmax="6" chance="100000"/>		<item name="feather" countmax="1" chance="30000"/>	</loot></monster>

 

Editado por OrochiElf
Link para o comentário
Compartilhar em outros sites

Boa Tony, sempre com propostas legais.

Apesar de não gostar nenhum pouco do xml - eu por mim extinguia ele do tfs - achei uma boa pedida pra quem quer simplificar leitura, edição e entendimento dessa porcaria magnífica ferramenta do tfs. :P:

 

Grande abraço!

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Skulls disse:

Boa Tony, sempre com propostas legais.

Apesar de não gostar nenhum pouco do xml - eu por mim extinguia ele do tfs - achei uma boa pedida pra quem quer simplificar leitura, edição e entendimento dessa porcaria magnífica ferramenta do tfs. :P:

 

Grande abraço!

 

Valeu brother, tava tentando fazer de uma forma que não consuma memória desnecessária no servidor e também que fique bastante organizado, limpo e fácil de edição.

Link para o comentário
Compartilhar em outros sites

O que vai consumir memoria não é a organização do xml, e sim como tu vai organizar isso dentra da source, a leitura deles pouco importa porque vai ser feita uma vez quando o server ligar e depois disso vai tudo pra memoria. Se é um ats de pokemon o que tu pode fazer pra livrar memoria é limpar os attributos que nao se usam mais, coisas que tinham nos monstro de tibia e não tem nos de pokemon por exemplo, mas tem que ter cuidado ao fazer isso porque muitos deles sao usados em diversos lugares da source.

Link para o comentário
Compartilhar em outros sites

32 minutos atrás, dalvorsn disse:

O que vai consumir memoria não é a organização do xml, e sim como tu vai organizar isso dentra da source, a leitura deles pouco importa porque vai ser feita uma vez quando o server ligar e depois disso vai tudo pra memoria. Se é um ats de pokemon o que tu pode fazer pra livrar memoria é limpar os attributos que nao se usam mais, coisas que tinham nos monstro de tibia e não tem nos de pokemon por exemplo, mas tem que ter cuidado ao fazer isso porque muitos deles sao usados em diversos lugares da source.

Mas isso tá feito, é exatamente o que eu postei apenas que o servidor lê, o resto não existe mais.

Link para o comentário
Compartilhar em outros sites

Just now, OrochiElf said:

Mas isso tá feito, é exatamente o que eu postei apenas que o servidor lê, o resto não existe mais.

Removeu as declarações de variaveis que não são utilizadas para pokemon? função desnecessárias e tudo mais? Se sim, ai de fato houve consequentemente uma redução considerável, porque ai aonde tu teria uma lista de 500 pokemons reduzindo quase pela metade o gasto de memoria pra cada um(class Monsters), e ainda reduzindo mais nos pokemons vivos dentro do jogo(class Monster) que pode ser um número bem alto. Não tinha ficado claro que essa mudança tinha sido feita, parecia ter apenas alterado a leitura em si. Então meu jovem, meus parabéns, excelente! :>

Link para o comentário
Compartilhar em outros sites

3 horas atrás, dalvorsn disse:

Removeu as declarações de variaveis que não são utilizadas para pokemon? função desnecessárias e tudo mais? Se sim, ai de fato houve consequentemente uma redução considerável, porque ai aonde tu teria uma lista de 500 pokemons reduzindo quase pela metade o gasto de memoria pra cada um(class Monsters), e ainda reduzindo mais nos pokemons vivos dentro do jogo(class Monster) que pode ser um número bem alto. Não tinha ficado claro que essa mudança tinha sido feita, parecia ter apenas alterado a leitura em si. Então meu jovem, meus parabéns, excelente! :>

Obrigado, além de eu evitar criar outros montes de XML's para diferenciar o shiny do normal, e do selvagem para o capturado. Isso tudo é feito direitinho apenas por essa leitura e funciona para ambos.

Consumo do meu servidor está em 16MB.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Eu fiz essa auteração em um servidor de digimon, acho que você pode melhorar algumas coisas ainda, mas isso é com o tempo.

 

<?xml version= "1.0" encoding= "UTF-8"?><monster name= "Metal Greymon" nameDescription= "a metal greymon" race= "data" experience= "600" babyForm="Botamon">	<!-- Digimon Base Health -->	<health now= "100" max= "100"/>	<!-- Digimon Base level Spawn -->	<level min= "50" max= "75"/>	<!-- Digimon Status Win For Level -->	<status attack= "3" defense= "3" speed= "3" intelligence= "5"/>	<!-- Digimon Look Type -->	<look type= "364" head= "113" body= "120" legs= "114" feet= "132" corpse= "6081"/>	<!-- Digimon digivolution List -->	<digivolutions>		<digivolve name= "Metal Greymon" attack= "3" defense= "3" speed= "3" intelligence= "5"/>	</digivolutions>	<!-- Digimon Weak to -->	<elements>		<element physicalPercent="0"/>		<element icePercent="0"/>		<element poisonPercent="0"/>		<element firePercent="0"/>		<element energyPercent="0"/>		<element holyPercent="0"/>		<element deathPercent="0"/>		<element drownPercent="0"/>		<element lifedrainPercent="0"/>	</elements>	<!-- Digimon Imune to (0 not immunity / 1 immunity)-->	<immunities>		<immunity physical="0"/>		<immunity energy="0"/>		<immunity fire="0"/>		<immunity poison="0"/>		<immunity drown="0"/>		<immunity ice="0"/>		<immunity holy="0"/>		<immunity death="0"/>		<immunity lifedrain="0"/>		<immunity paralyze="0"/>		<immunity outfit="0"/>		<immunity bleed="0"/>		<immunity confusion="0"/>		<immunity invisible="0"/>	</immunities>	<!-- Digimon Thigs -->	<flags>		<flag summonable= "1"/>		<flag attackable= "1"/>		<flag hostile= "1"/>		<flag illusionable= "1"/>		<flag convinceable= "1"/>		<flag pushable= "0"/>		<flag canpushitems= "1"/>		<flag canpushcreatures= "1"/>		<flag staticattack= "90"/>		<flag lightlevel= "0"/>		<flag lightcolor= "0"/>		<flag targetdistance= "1"/>		<flag hidehealth= "0"/>	</flags>	<!-- Digimon Loot -->	<loot>		<item id= "2385" chance= "22000"/><!-- sabre -->		<item id= "1987" chance= "100000"><!-- bag -->			<item id= "2526" chance= "7000"/><!-- studded shield -->			<item id= "2050" chance= "5000"/><!-- torch -->			<item id= "2125" chance= "500"/><!-- crystal necklace -->			<item id= "2147" chance= "200"/><!-- small ruby -->		</item>	</loot>	<!-- Digimon Combat Target Change -->	<targetchange interval= "5000" chance= "8"/>	<!-- Digimon Use Attacks Config -->	<strategy attack= "500" defense= "0"/>	<!-- Digimon Attacks Config -->	<attacks>			</attacks>	<!-- Digimon Defense Config -->	<defenses armor="18" defense="14">		<defense name="speed" interval="1000" chance="7" speedchange="260" duration="3000">			<attribute key="areaEffect" value="redshimmer"/>		</defense>	</defenses>	<!-- Digimon Voices -->	<voices interval= "5000" chance= "10">		<voice sentence= ""/>		<voice sentence= ""/>	</voices></monster>

 

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Bacana, eu já tive essa ideia de adaptar os xmls de monster pra pokemon, mas não botei em prática.

 

Se você já preparou as sources pra trabalhar com esse modelo aí, parabéns!

 

Eu só achei estranho você usar o mesmo xml pra shiny, afinal onde tá o hp do shiny, dano diferenciado do shiny etc... Acho que fica melhor separado.

Link para o comentário
Compartilhar em outros sites

12 horas atrás, Eskylo disse:

Bacana, eu já tive essa ideia de adaptar os xmls de monster pra pokemon, mas não botei em prática.

 

Se você já preparou as sources pra trabalhar com esse modelo aí, parabéns!

 

Eu só achei estranho você usar o mesmo xml pra shiny, afinal onde tá o hp do shiny, dano diferenciado do shiny etc... Acho que fica melhor separado.

Ele tem uma formula padrão para shinys, que acontece dentro das sources mesmo no sistema de spawn. Caso tenha chance de nascer shinys, ele altera automaticamente o life (de acordo com a formula), o corpo, força do atk, força das magias, roupa dentre outros. Não precisa consumir com novas xmls, sendo que pode ser feito rapidamente dentro das sources kkk

Link para o comentário
Compartilhar em outros sites

18 horas atrás, Tony Araujo disse:

Ele tem uma formula padrão para shinys, que acontece dentro das sources mesmo no sistema de spawn. Caso tenha chance de nascer shinys, ele altera automaticamente o life (de acordo com a formula), o corpo, força do atk, força das magias, roupa dentre outros. Não precisa consumir com novas xmls, sendo que pode ser feito rapidamente dentro das sources kkk

 

Se tem uma fórmula que adapta isso parece ser bom!

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...