Outfits

Oneshot
em Tutoriais de Scripting

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

 

OUTFITS


Atributos e Configurações





Olá, pessoal.

Muitas pessoas não sabem, mas você pode adicionar vários bônus às outfits diretamente pelo outfits.xml, sem precisar de nenhum creaturescript que eventualmente possa dar lag em um servidor com muitos jogadores.

Com este tutorial, você aprenderá a configurar vários tipos de bônus e até especificar se são necessários addons para ativar esses bônus.



Para começar, vou colar abaixo o conteúdo de um outfits.xml do The Forgotten Server trunk.r3884 (0.4.0), vamos trabalhar em cima dele:



<?xml version="1.0"?>
<outfits>
<outfit id="1">
<list gender="0" lookType="136" name="Citizen"/>
<list gender="1" lookType="128" name="Citizen"/>
</outfit>

<outfit id="2">
<list gender="0" lookType="137" name="Hunter"/>
<list gender="1" lookType="129" name="Hunter"/>
</outfit>

<outfit id="3">
<list gender="0" lookType="138" name="Mage"/>
<list gender="1" lookType="130" name="Mage"/>
</outfit>

<outfit id="4">
<list gender="0" lookType="139" name="Knight"/>
<list gender="1" lookType="131" name="Knight"/>
</outfit>

<outfit id="5" premium="yes">
<list gender="0" lookType="140" name="Noblewoman"/>
<list gender="1" lookType="132" name="Nobleman"/>
</outfit>

<outfit id="6" premium="yes">
<list gender="0" lookType="141" name="Summoner"/>
<list gender="1" lookType="133" name="Summoner"/>
</outfit>

<outfit id="7" premium="yes">
<list gender="0" lookType="142" name="Warrior"/>
<list gender="1" lookType="134" name="Warrior"/>
</outfit>

<outfit id="8" premium="yes">
<list gender="0" lookType="147" name="Barbarian"/>
<list gender="1" lookType="143" name="Barbarian"/>
</outfit>

<outfit id="9" premium="yes">
<list gender="0" lookType="148" name="Druid"/>
<list gender="1" lookType="144" name="Druid"/>
</outfit>

<outfit id="10" premium="yes">
<list gender="0" lookType="149" name="Wizard"/>
<list gender="1" lookType="145" name="Wizard"/>
</outfit>

<outfit id="11" premium="yes">
<list gender="0" lookType="150" name="Oriental"/>
<list gender="1" lookType="146" name="Oriental"/>
</outfit>

<outfit id="12" premium="yes" default="0">
<list gender="0" lookType="155" name="Pirate"/>
<list gender="1" lookType="151" name="Pirate"/>
</outfit>

<outfit id="13" premium="yes" default="0">
<list gender="0" lookType="156" name="Assassin"/>
<list gender="1" lookType="152" name="Assassin"/>
</outfit>

<outfit id="14" premium="yes" default="0">
<list gender="0" lookType="157" name="Beggar"/>
<list gender="1" lookType="153" name="Beggar"/>
</outfit>

<outfit id="15" premium="yes" default="0">
<list gender="0" lookType="158" name="Shaman"/>
<list gender="1" lookType="154" name="Shaman"/>
</outfit>

<outfit id="16" premium="yes" default="0">
<list gender="0" lookType="252" name="Norsewoman"/>
<list gender="1" lookType="251" name="Norseman"/>
</outfit>

<outfit id="17" premium="yes" default="0">
<list gender="0" lookType="269" name="Nightmare"/>
<list gender="1" lookType="268" name="Nightmare"/>
</outfit>

<outfit id="18" premium="yes" default="0">
<list gender="0" lookType="270" name="Jester"/>
<list gender="1" lookType="273" name="Jester"/>
</outfit>

<outfit id="19" premium="yes" default="0">
<list gender="0" lookType="279" name="Brotherhood"/>
<list gender="1" lookType="278" name="Brotherhood"/>
</outfit>

<outfit id="20" premium="yes" default="0">
<list gender="0" lookType="288" name="Demonhunter"/>
<list gender="1" lookType="289" name="Demonhunter"/>
</outfit>

<outfit id="21" premium="yes" default="0">
<list gender="0" lookType="324" name="Yalaharian"/>
<list gender="1" lookType="325" name="Yalaharian"/>
</outfit>

<outfit id="22" default="0">
<list gender="0" lookType="336" name="Warmaster"/>
<list gender="1" lookType="335" name="Warmaster"/>
</outfit>

<outfit id="23" premium="yes" default="0">
<list gender="0" lookType="366" name="Wayfarer"/>
<list gender="1" lookType="367" name="Wayfarer"/>
</outfit>

<outfit id="24" premium="yes" default="0">
<list gender="0" lookType="329" name="Wedding"/>
<list gender="1" lookType="328" name="Wedding"/>
</outfit>
</outfits>
[/code]

[font=verdana,geneva,sans-serif]Existem diferentes tipos de atributos que você pode colocar na sua outfit, por exemplo, você pode colocar para quando um jogador estiver usando[b] X[/b] outfit, ele receba uma certa chance de refletir danos de um certo elemento. Vamos aprender abaixo a configuração de atributos do jogador.[/font]

[font=verdana,geneva,sans-serif][hr][/font]

[font=verdana,geneva,sans-serif]Para configurar atributos é muito simples, destacarei a outfit [b]Citizen[/b] para esse exemplo:[/font]

<outfit id="1">
<list gender="0" lookType="136" name="Citizen"/>
<list gender="1" lookType="128" name="Citizen"/>
</outfit>



Suponhamos que eu queira que quando um jogador estiver usando a outfit Citizen, ele receba speed +10 e recupere 30 de HP a cada 5 segundos, basta adicionar isso:

<outfit id="1">
<list gender="0" lookType="136" name="Citizen" healthGain="30" healthTicks="5" speed="10" />
<list gender="1" lookType="128" name="Citizen" healthGain="30" healthTicks="5" speed="10" />
</outfit>



Você pode diferenciar os tipos de bônus primários pelo sexo do jogador. Os bônus primários disponíveis são estes abaixo:

manaShield
invisible
healthGain
healthTicks
manaGain
manaTicks
speed



Agora existem bônus secundários que é necessária uma pequena edição na estrutura da configuração da outfit, vejamos abaixo:

<outfit id="1">
<list gender="0" lookType="136" name="Citizen"/>
<list gender="1" lookType="128" name="Citizen"/>
</outfit>



Estes bônus secundários variam desde pontos fixos em skills até chance de refletir algo ou absorver. Só que para que eles funcionem corretamente, você precisa "abrir" a configuração da outfit.

Por exemplo, a outfit Citizen nos dará +50 de HPmáx e +1 em todas as skills de combate corporal. Vejamos:

<outfit id="1">
<list gender="0" lookType="136" name="Citizen">
<stats maxHealth="50"/>
<skills melee="1"/>
</list>
<list gender="1" lookType="128" name="Citizen">
<stats maxHealth="50"/>
<skills melee="1"/>
</list>
</outfit>



Veja que literalmente eu abri a outfit Citizen em sub-listas declarando atributos diferentes para elas, segue abaixo uma pequena lista de cada atributo e em que sub-lista ele deve ser declarado:

stats

maxHealth
maxMana
soul
level
magLevel || magicLevel
maxHealthPercent
maxManaPercent
soulPercent
levelPercent
magLevelPercent || magicLevelPercent



skills

fist
club
sword
axe
distance || dist
shielding || shield
fishing || fish
melee
weapon
fistPercent
clubPercent
swordPercent
axePercent
distancePercent || distPercent
shieldingPercent || shieldPercent
fishingPercent || fishPercent
meleePercent
weaponPercent || weaponsPercent



Lembra que no começo desse tutorial, eu disse que era possível configurar chance de reflexão e absorção para as outfits? Pois é, é possível sim. Vamos pegar um exemplo diferente agora, a outfit Wizard.

<outfit id="10" premium="yes">
<list gender="0" lookType="149" name="Wizard"/>
<list gender="1" lookType="145" name="Wizard"/>
</outfit>



Vamos dizer que a outfit Wizard com addons completos dará a chance de 10% de refletir 25% do dano feito por elementos (Fire, Earth, Ice, Energy). Para fazer isso, é o mesmo esquema de stats e skills, só que o nome da sub-lista deve ser reflect ou absorb. Dependendo do que você quer que a outfit faça, refletir ou absorver.

<outfit id="10" premium="yes">
<list gender="0" lookType="149" name="Wizard">
<reflect percentElements="25" chanceElements="10"/>
</list>
<list gender="1" lookType="145" name="Wizard">
<reflect percentElements="25" chanceElements="10"/>
</list>
</outfit>



Veja abaixo a lista dos possíveis atributos para reflect e absorb:

percentAll
percentElements
percentMagic
percentEnergy
percentFire
percentPoison || percentEarth
percentIce
percentHoly
percentDeath
percentLifeDrain
percentManaDrain
percentDrown
percentPhysical
percentHealing
percentUndefined

chanceAll
chanceElements
chanceMagic
chanceEnergy
chanceFire
chancePoison || chanceEarth
chanceIce
chanceHoly
chanceDeath
chanceLifeDrain
chanceManaDrain
chanceDrown
chancePhysical
chanceHealing
chanceUndefined



Por último, você pode definir quando esses bônus são dados, seja quando o jogador está utilizando o primeiro addon, o segundo, qualquer um dos dois ou ambos. O atributo para isso é requirement.

<outfit id="10" premium="yes">
<list gender="0" lookType="149" name="Wizard" requirement="any">
<reflect percentElements="25" chanceElements="10"/>
</list>
<list gender="1" lookType="145" name="Wizard" requirement="any">
<reflect percentElements="25" chanceElements="10"/>
</list>
</outfit>



first
second
any
both





Existem alguns atributos que manipulam se o jogador pode usar a outfit, o mais conhecido deles é o premium que só permite o uso da outfit a jogadores premium.

Mas muitos não conheçam os atributos quest, storageId e storageValue que torna possível dar outfits em quests, igual acontece no Tibia.

Para isso, pegaremos qualquer outfit.

<outfit id="20" premium="yes" default="0">
<list gender="0" lookType="288" name="Demonhunter"/>
<list gender="1" lookType="289" name="Demonhunter"/>
</outfit>



Quando você usa o atributo quest com o valor igual a uma storage do servidor, a outfit só poderá ser usada se a storage tiver valor igual a 1. Por exemplo:

<outfit id="20" premium="yes" quest="2005" default="0">
<list gender="0" lookType="288" name="Demonhunter"/>
<list gender="1" lookType="289" name="Demonhunter"/>
</outfit>



Se a storage 2005 tiver valor igual a 1, então eu poderei usar a outfit Demonhunter. Mas e se eu estou trabalhando com uma grande quest que o valor final da storage é 3 e não 1? Por isso que existem os atributos storageId e storageValue.

<outfit id="20" premium="yes" storageId="2005" storageValue="3" default="0">
<list gender="0" lookType="288" name="Demonhunter"/>
<list gender="1" lookType="289" name="Demonhunter"/>
</outfit>





Bom, isso é tudo.

Qualquer dúvida não deixe de postar no tópico.

Abração \o/

fredpadua

Eu sou o Rei ?! ...
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 13/10/11Posts: 411

Muito bom cara.

semefeito.png



 

↓ Gosta de mim ? Use a FanBar ↓

 

anigif2mo.gif

Beeki

Ex-Coordenador XDev
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 12/03/11Posts: 1900Gênero: MasculinoChar no Tibia: Nokte

Não sabia q existia isso o.O

 

Se fosse pra fazer tipo um healthgain, eu iria usar algum script e.e

 

rep+

 

Isso aê vem na pasta docs nas revisões do tfs mano ¬¬

Fabio Augustus - Infraestrutura

Skype: guhsvasc

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Compartilhe mais da sua sabedoria, Beeki. Se você tivesse falado antes ou feito um tutorial igual, eu não teria que ficar lendo o outfits.cpp para fazer um desse tema.

 

Seria muito interessante que você procure fazer a lição de casa antes de vir desmerecer o trabalho dos outros.

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Muito bom.

 

Tutorial aprovado.

Oie :D

FeIipeToNight

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/01/12Posts: 7

Queria saber se tem como fazer o addon dar um atributo apenas para uma vocação por exemplo: um sorcerer colocou um mage full e para ele vai dar 5 ml, caso qualquer outra vocação coloque não vai dar nada, tem como?

Piabeta Kun

Ex-Coordenador de Websites
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 23/12/08Posts: 2403Gênero: MasculinoChar no Tibia: Gordo Warlike

Merece fixo muito bem explicado!

Parabéns pelo conteúdo!

Daijobu!

 

Zaroth1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/04/09Posts: 60Char no Tibia: Johnnie Skyrim

Ótima explicação, ótimo tutorial, está de parabéns! :D

Voxnot

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 23/07/06Posts: 143Char no Tibia: Wizzard Marotow

Como faço para que o jogador tenha acesso a apenas um outfit específico dentro do jogo, separando as classes.

Por exemplo: Um sorcerer so poder utilizar a roupa do ferumbras. Um paladino só pode usar uma roupa de elfo.

 

E com isso excluir as outras opções de mudar de outfit dentro do jogo, deixando o jogador engessado com apenas uma outfit.

 

 

Você manja?

iagonp

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/11Posts: 34Char no Tibia: Sem Char

Desculpem reviver o tópico, mais como fazer isso no TFS 1.0 versão 10.82? Seria possível?