Tutorial exclusivo ao XTibia
Todo mundo quer saber como crio um OTserver de naruto ??
Aaqui você não aprenderá como fazer sua versão de tibia,
como no Naruto Maniaks,aqui é um server por IP Chnager porém
muito legal...
Bom vamos lá ??
Vamos começar com as magias!!
Vou mostrar uma magia do desenho Naruto
vamos fazer a chidori nivel um.
Primeira parte
vá na pasta
data/spells
no arquivo Spells
adicione a seguinte linha depois de alguma magia:
<instant name="Xidori" words="Xidori" lvl="60" direction="1" maglv="40" mana="1200" soul="0" exhaustion="1" prem="0" enabled="1" script="xidori.lua"><vocation id="1"/><vocation id="5"/></instant>
Agora vá em
spells/scripts
Copie um arquivo e renomei para xidori.lua
Apague tudo que está dentro e coloque isso:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -.8, 0, 0, 0) local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Agora vamos fazer a xidori certinha...
Não sou muito fan de naruto mas vou tentar...
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -.8, 0, 0, 0)
Os numero em vermelho são a força do dano,por exemplo -800,-800,-800,-800
é bem fortinha =P
Agora vc vai editando e fazendo as magias,
local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0}, }
Está é a hárea de magia onde ela vai aparecer,você pode usar háreas maiores como essa:
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, }
Onde tem 1a magia vai aparecer onde tem 0 não.
Arrumando o efeito,tipo se vair sair sd`s fogo, energia...
Você pode fazer assim:
data/global.lua
abra este arquivo
até chegar em:
CONST_ME_DRAWBLOOD = 0
Abra seu ot vá em seu gm
e fassa o seguinte comando:
/z 0
Sabe esses numeros que aparecem do lado dessas palavras estranhas ??Então!Você vai colocando
do lado do /s
ex:
/z 1
/z 2
e assim vai...
Mas o quê é isso linkay??
1,2,3... São os efeitos, você coloca no
setCombatParam(combat, COMBAT_PARAM_EFFECT, [color="#FF0000"]CONST_ME_MORTAREA[/color])
Você coloca a animação que você escolheu,quando você fes /s (algum numero) com seu GM e saiu uma animçao que você
gostou você lenbra o numero e coloca no lugar do
CONST_ME_MORTAREA
OK ??
ok ^^
Arrumando quanto de man a magia vai gastar,level,magic level,vocations...
<instant name="Ultimate Explosion" words="[color="#FF0000"]exevo gran mas vis[/color]" [color="#8B0000"]lvl="60"[/color] [color="#FF00FF"]maglv="40"[/color] [color="#556B2F"]mana="1200"[/color] soul="0" exhaustion="1" prem="0" enabled="1" script="ultimate explosion.lua">[color="#4B0082"]<vocation id="1"/><vocation id="5"/>[/color]</instant>
Exevo gran mas vis:Palavra magica,que o player terá que falar para a magia sair
lvl="60":Nivel para usar a magia
maglv="40":Magic level para usar a magia
mana="1200":Mana que a magia vai gastar
<vocation id="1"/><vocation id="5"/>:ID`s das vocation`s(Já ensino isso)
Acho que vocês já sabem como fazer magias!!
Bom,acho que ficaram curiosos sobre as vocations...
Bom vamos lá!
Abra o arquivo
data/vocations.xml
Vou dar um exemplo de vocation:
<[color="#FF0000"]vocation id="0"[/color] [color="#FF0000"]name="None"[/color] [color="#FF0000"]description="a rookie"[/color] gaincap="5" [color="#FF0000"]gainhp="5"[/color] [color="#FF0000"]gainmana="5"[/color] gainhpticks="6" gainhpamount="1" [color="#FF0000"]gainmanaticks="6"[/color] gainmanaamount="10" gainsoulticks="120" gainsoulamount="1" maxsoul="100" manamultiplier="4.0" attackspeed="1500" prevoc="0" basespeed="220"> <diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <skill id="0" multiplier="2.0"/> <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="2.0"/> <skill id="6" multiplier="2.0"/> </vocation>
Vocation id="0":ID da vocation!!Para usar nas magias!!
name="None":Nome da vocação
gainhp="5",gainmana="5":Quanto de Vida(HP), e de Mana(mana) o player com a vocation irá ganhar!!
Agorá é só ir editando as otras vocations:
Sorcerer-->Saiyajin
Druid-->Humano
Paladin-->Alienigena
Knight-->Namikozen
e tipo assim,essas vocations são do dragon ball z
Intenderam ??
Agora é só sair editando...
Vamos lá!
A parte que a maioria mais gosta:
Os Monstros eles são mutiso simples de serem feitos,vamos lá!
vá na pasta
data/monsters
Renomeie um arquivo lá e renomeie para o nome quê você quer
que seu monstro teja!
Agora vamos editalo
Ai vai um script de exemplo,o mais facil de ser copiado:
o Demon:
<?xml version="1.0" encoding="UTF-8"?> <monster name="[color="#FF0000"]Nome do monstro[/color]" nameDescription="a [color="#FF0000"]nome do monstro[/color]" tp="1" race="fire" species="fire" experience="[color="#FF0000"]Experiencia do monstro[/color]" speed="210" manacost="0"> <health now="[color="#FF0000"]Vida do monstro[/color]" max="[color="#FF0000"]Vida do monstro[/color]"/> [color="#FFA500"]<look type="35" head="20" body="30" legs="40" feet="50" corpse="2916"/>[/color] <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/>--Se o monstro pode ser sumonado(em ot`s normais usado por utevo res) <flag attackable="1"/>--Se o monstro pode ser atacado(não mude) <flag hostile="1"/>--Se o monstro ataca os player`s <flag illusionable="0"/>--Se o monstro pode ser ilusionado(com a magia utana vid) <flag convinceable="0"/>--Se o monstro pode ser convencido com uma runa <flag pushable="0"/>--Não mude <flag canpushitems="1"/>--Se o monstro pode mover itens que estão no chão(como parcel)não mude <flag staticattack="40"/>--Não mude <flag lightlevel="0"/>--Não mude <flag lightcolor="0"/>--Não mude <flag targetdistance="1"/>--Não mude <flag runonhealth="0"/>--Não mude </flags> <attacks> <attack name="melee" interval="2000" min="-200" max="-550"/>--Ataque de corpo <attack name="Great Fireball" interval="10000" chance="0" min="-100" max="-350"/>--GFB <attack name="Fire Field" interval="6000" chance="65" min="-10" max="-20"/>--Taca o foguinho no chão <attack name="Great Energy Beam" interval="5000" chance="20" min="-300" max="-450"/>--Exevo vis lux </attacks> <defenses armor="40" defense="45"> <defense name="Ultimate Healing" interval="4000" chance="5" min="50" max="200"/>--Recupera avida </defenses> <immunities> <immunity physical="0"/>--Imune a psicico <immunity energy="1"/>--Imune a energia <immunity fire="1"/>--Imune a fogo <immunity poison="1"/>--Imune a veneno <immunity lifedrain="0"/>--Imune a life drain <immunity paralyze="1"/>--Imune a paralyze <immunity outfit="1"/>--Não mude <immunity drunk="1"/>--Não mude <immunity invisible="0"/>--Imune a invisibilidade(utana vid[Outra vez]) </immunities> <summons max="2">--Quantidade de monstros que podem ser sumonados <summon name="fire elemental" interval="2000" chance="50"/>--Sumona fire elemental </summons> <voices interval="1000" chance="10"> <voice sentence="Your soul will be mine!"/>--Aqui é o quê o monstro irá falar <voice sentence="MWA HA HA HA HA!"/>--Aqui é o quê o monstro irá falarv </voices> <loot> <item id="2148" countmax="100" chance1="100000" chancemax="0"/>--Daqui até o final é o loot do monstro <item id="2148" countmax="25" chance1="100000" chancemax="0"/> <item id="2393" chance="1000"/> <item id="2514" chance="500"/> <item id="2432" chance="1538"/> <item id="2472" chance="333"/> <item id="1987" chance="100000"> <inside> <item id="2678" countmax="3" chance1="10000" chancemax="0"/> <item id="2148" countmax="100" chance1="100000" chancemax="0"/> <item id="2151" countmax="4" chance1="4000" chancemax="0"/> <item id="2462" chance="555"/> <item id="2149" countmax="3" chance1="1428" chancemax="0"/> <item id="2171" chance="1333"/> <item id="2387" chance="6666"/> <item id="2470" chance="400"/> <item id="2520" chance="666"/> <item id="2418" chance="833"/> <item id="2377" chance="3333"/> </inside> </item> </loot> </monster>
Agora antes de ir para o proximo monstro tenho uma OBS:
Não usem esse escript para fazerem seu monstro!!
Essa é só uma explicação!!!!
Copiem um script na pasta monsters e vão editano...
Agora terminando o monstro,ai na pasta dos monstros mesmo,procure um arquivo xamado
monsters.xml
Abra ele e logo depois do
<?xml version="1.0"?>
<monsters>
Adicionem a seguinte linha:
<monster name="O nome do seu monstro aqui" file="O nome do arquivo do seu monstro(deixem esse.xml-> no final).xml" />
Pronto agora é só sair fazendo monstros =D
Agora vamos aos NPC`s
Essa é uma das partes mais chatas,pois existem vários tipos de npc`s
ou seja script`s diferentes,então não tenho como explicar todos
mas de você se interessou nisso e está precisando dos npc`s
me mande uma mensagem pessoal que irei ajudar assim que puder
Há lenbrando como fazer os itens,procure os itens que você gosta anote o id deles,
vá na pasta
data/itens
no qruivo
itens.xml
Assim:Para fazer um iten novo você tem que achar ele,procure pelos id`s que você anotou:
Fazendo uma arma:
Você achou um axe que não tem ataque ,não tem nome e achou ele legal vamos editar ele:
Procure um axe ali,por exemplo um battle axe copie o quê dis nele:
<attribute key="weight" value="5000"/>--Peso <attribute key="defense" value="10"/>--Defesa da arma <attribute key="attack" value="25"/>--Ataque da arma <attribute key="weaponType" value="axe"/>--Aqui dis que ele é um axe <attribute key="slotType" value="two-handed"/>--Aqui dis que a arma é de duas mãos
Se não quiser que a arma seja de duas mãos,apenas apague essa linha.
E assim vai com armor`s,leg`s e o resto todo.
Lembrando,não use esse script assima,é só uma explicação.
Aviso:Não tem como explicar em um tutorial,como fazer sprit`s,outifit`s,para fazer um ot perfeito
mas no final, fica um ot bem divertido para quem não sabe fazer seu client,como eu disse assima
isso não se compara ao Naruto Maniaks,ou ao Dragon Ball Legends...
Mas acho que irei ajudar bastante,Até mais pessoal
Cya linkay :hail:
**Pesso desculpas pelos erros
**Mas o player não precisa colocar o nome do efeito no script,ele pode usar o numero!!
**Ai vai um exeplo comfirmando isso:
setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)
Acho que é isso fuis.