Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 1 de 1
  1. #1

    Avatar de KromeSykes
    Data de Ingresso
    Jun 2011
    Localização
    Leme
    Idade
    32
    Posts
    299
    Agradecido
    5
    Agradeceu
    4
    Peso da Avaliação
    16

    Padrão Aprenda a Editar Monstros e Spells

    Aprenda a fazer / editar Monstros e Spells

    Basicamente scripts sao o conjunto dos códigos que formam os arquivos de players, monster, spells, etc.

    Nesse tutorial vou ensinar tudo, pra vc sair daqui fazendo monstros, spells e tudo mais. E se no final houver alguma duvida poste aqui que serei grato em ajudar. Neste Tutorial existem varios comandos básicos, bons para iniciantes, parte por parte é explicada, visando um maior entendimento sobre o assunto.
    Vamos lá!

    SPELLS

    Primeiro vamos falar sobre as spells
    Existem as spells de instant e as spells de rune, as spells de instant sao aquelas em q o monstro usa nele, e as de runa ele vai usar em vc. Entao a primeira coisa que precisamos fazer é decidir se vamos fazer uma spell de runa ou de instant, vou mostrar aqui apenas um exemplo, se nao o topico ficara muito grande. Vamos começar, seguindo um exemplo de uma magia minha:
    Primeiro, crie um arquivo chamado crossover.lua, na pasta Data>Spells>Instant

    Começamos o script com isso:

    Código:
    area = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    }
    Essa é a area em que a magia ira pegar, o numero 0 simboliza os espaços que a magia nao pega e os numeros 1, os lugares onde acontecerá a magia, no exemplo acima, é uma magia em forma de cruz
    Pulamos entao uma linha e acrescentamos isso:


    Código:
    attackType = ATTACK_PHYSICAL
    needDirection = false
    areaEffect = NM_ME_YELLOW_RINGS
    animationEffect = NM_ANI_NONE
    
    hitEffect = NM_ME_HIT_AREA
    damageEffect = NM_ME_DRAW_BLOOD
    animationColor = BLACK_WHITE
    offensive = true
    drawblood = true
    Vamos às explicações:
    attackType = o tipo de ataque que será, no exemplo será um ataque fisico, mas tbm poderia ser um ataque de fogo, ou de energy
    needDirection = se o ataque precisa de direção, como as firewaves
    areaEffect = o tipo de animação que saira na area na magia
    animationEffect = a animação de quando o player sofrer dano da magia
    damageEffect = o efeito que saira quando o player receber o dano
    animationColor = a cor da animação da Magia
    offensive = se a magia é de ataque ou nao
    drawblood = se embaixo do player vai sair sangue quando ele receber a magia

    Explicado, pulamos uma linha e adicionamos:

    Código:
    UltimateExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)
    Essa é a função que fara com que o que explicamos acima funcione, pulamos outra linha e acrescentamos:

    Código:
    function onCast(cid, creaturePos, level, maglv, var)
    centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}
    n = tonumber(var)
    if n ~= nil then
    -- bugged
    -- ultimateExplosionObject.minDmg = var+0
    -- UltimateExplosionObject.maxDmg = var+0
    
    UltimateExplosionObject.minDmg = 0
    UltimateExplosionObject.maxDmg = 0 
    else
    UltimateExplosionObject.minDmg = (level * 2 + maglv * 3) * 2.6 - 30
    UltimateExplosionObject.maxDmg = (level * 2 + maglv * 3) * 3.0 
    end
    Essa é a fórmula do Dano que o player irá tomar ao receber a magia, agora pra finalizar adiconamos:

    Código:
    return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, UltimateExplosionObject:ordered())
    end
    Pronto ja terminamos nossa primeira spell, agora para faze-la funcionar precisamos acrescenta-la aou arquivo spells.xml
    vamos lá, na pasta Data>Spells abra o arquivo spells.xml e na sessao de INSTANT, acrescente esta linha:


    Código:
    spell name="CrossOver" words="crossover" maglv="12" mana="160" enabled="1"><vocation id="2" /><vocation id="1" /></spell>
    Explicando:
    spell name = nome da magia (pode ser qualquer um)
    words = as palavras magicas que terao que ser ditas pra magia funcionar (tem q ser igual ao nome do script da magia)
    magvl = maglv necessario para usar essa magia
    mana = mana que será gasta
    enabled = se a magia esta abilitada ou nao
    vocation id = para quais vocações essa magia funcionará, no caso acima ela so funciona pra sorc e druid.

    MONSTERS

    Spell criada, vamos passar para o Monstro que usara esta spell
    Crie um arquivo .xml com um nome qualquer na pasta Data>Monsters


    Código:
    <?xml version="1.0"?>
    <monster name="The Flash" level="500" maglevel="70" experience="1000" pushable="0" armor="80" defense="90" canpushitems="1" staticattack="50" changetarget="200" speed="100000">
    <health now="25000" max="25000"/>
    <look type="134" head="94" body="94" legs="94" feet="79" corpse="4246"/>
    <combat targetdistance="4" runonhealth="0"/>
    <attacks>
    <attack type="instant" name="flash_light" exhaustion="500" cycleticks="8000" probability="40"/>
    </attacks>
    
    <defenses>
    <defense immunity="physical"/>
    <defense immunity="paralyze"/>
    </defenses>
    
    <voices>
    <voice sentence="HEHE Vem me pegar!!"/>
    <voice sentence="Bah, ja dei 5 voltas e vc ai parado!"/>
    </voices>
    
    <summons maxSummons="2">
    <summon name="Chicken" chance="5000"/>
    </summons>
    
    <loot>
    
    </loot>
    </monster>
    [B]Esse é um exemplo de um monstro que eu criei, escolhi ele pq ele apresenta quase todas as funções de um monster, vamos as explicações que realmente interessam.[/B

    monster name = nome do monstro, esse nome é oq aparecerá quando vc sumonar ele
    experience = a experiencia que ele dá, geralmente é um numero normal, parecido com o do Tibia, pois no config.lua é que a exp é multiplicada, portanto se vc colocar mto alto aqui, vai ficar absurda
    canpushitems = se o monstro pode mover objetos
    changetarget = dificuldade ou facilidade do monstro mudar de alvo
    combat targetdistance = a distancia em sqm em que o monstro ficará do player
    runonhealth = o life em que o monstro correrá do player
    <summons> = comando para ele sumonar um monstro
    <loot> = aqui vc ajusta os items e o dinheiro, com a chance (Vamos falar sobre isso mais a frente) e etc
    <attacks> = sao os ataques que seu monstro usará, tem os attack do tipo meele (dano fisico), distance (arrows, bolts, etc), instant (magias de instant), rune (magias de rune)
    <defenses> = aqui é pra vc colocar se o seu monstro vai ser imune a alguma coisa, exemplo: Demon é imune a fogo, entao vc poe lá: <defense immunity="fire"/>
    <voices> = qual será a mensagem que ele dirá (aquela msg laranja)
    </monster> = funciona como um end, finaliza o script
    ]


    Vamos falar sobre o looktype e a lootchance:
    "Ah eu quero criar um Boss dos orc, mas nao sei quais sao as roupinhas"
    Abaixo a lista dos looktypes dos monstros mais comums


    Código:
    {["Orc Warlord"] = 2, ["War Wolf"] = 3, ["Orc Ridder"] = 4, ["Orc"] = 5, ["Orc Shaman"] =6, ["Orc Warrior"] = 7, ["Orc Berserker"] = 8, ["Necromancer"] = 9, ["Black Sheep"] = 13, ["Sheep"] = 14, ["Trol"] = 15, ["Bear"] = 16, ["Beholder"] = 17, ["Ghoul"] = 18, ["Slime"] = 19, ["Rat"]= 21, ["Cyclops"] = 22, ["Minotaur Mage"] = 23, ["Minotaur Archer"] = 24, ["Minotaur"] = 25, ["Rotworm"] = 26, ["Wolf"] = 27, ["Snake"] = 28, ["Minotaur Guard"] =29, ["Spider"] = 30, ["Deer"] = 31, ["Dog"] = 32, ["Skeleton"] = 33, ["Dragon"] = 34, ["Poison Spider"] = 36, ["Demon Skeleton"] = 37, ["Giant Spider"] = 38, ["Dragon Lord"] = 39, ["Fire Devil"] = 40, ["Lion"] = 41, ["Polar Bear"] = 42, ["Scorpion"] = 43, ["Wasp"]= 44, ["Bug"] = 45, ["Ghost"] = 48, ["Fire Elemental"] = 49, ["Orc Spearman"] = 50, ["Djinn"] =51, ["Winter Wolf"] = 52, ["Frost Troll"]=53, ["Witch"] = 54, ["Behemot"] =55, ["Cave Rat"] = 56, ["Monk"] = 57, ["Priestess"] = 58, ["Orc Leader"] = 59, ["Pig"] = 60, ["Goblin"] = 61, ["Elf"] = 62, ["Elf Arcanist"] = 63, ["Elf Scout"] = 64, ["Mummy"] = 65, ["Dwarf Geomancer"] = 66, ["Stone Golem"] = 67, ["Vampire"] = 68, ["Dwarf"] = 69, ["Dwarf Guard"] = 70, ["Dwarf Soldier"] = 71, ["Rabbit"] = 74, ["Swamp Troll"] = 76}

    E a lootchance
    "Eu quero fazer um faraó, mas quero que item fulano caia toda hora e que item ciclano caia mto raramente", entao ai vai a lista da loot chance:


    --100000= all time--
    --50000= each 2 time--
    --33333= each 3 time--
    --20000= each 5 time--
    --10000= each 10 time--
    --6666= each 15 time--
    --5000 = each 20 time--
    --4000 = each 25 time--
    --3333 = each 30 time--
    --2857 = each 35 time--
    --2500 = each 40 time--
    --2222 = each 45 time--
    --2000 = each 50 time--
    --1818 = each 55 time--
    --1666 = each 60 time--
    --1538 = each 65 time--
    --1428 = each 70 time--
    --1333 = each 75 time--
    --1000 = each 100 time--
    --909 = each 110 time--
    --833 = each 120 time--
    --800 = each 125 time
    --666 = each 150 time--
    --588 = each 170 time--
    --555 = each 180 time--
    --500 = each 200 time--
    --400 = each 250 time--
    --333 = each 300 time--
    DICAS

    - Nunca faça monstros fortes demais, primeiro avalie a força dos jogadores do seu server e faça um monstro que eles consigam matar, mesmo que para isso ralem bastante, ninguem gosta de ver um monstro ignorante matando todo mundo, isso acaba com a graça

    - Faça spells balanceadas para todas as vocações, fazer uma spell onde so o druida é beneficiado, fica ruim, se fizer uma spell forte para o druida, tente fazer uma para o pally, o kina e o sorc, ou de a eles algum beneficio que o druida nao tem

    - Existem várias funções q podem ser usadas nos Npcs, tente tirar o máximo de proveito disso para fazer quests, eventos, etc



    Creditos: Lucas321
    Fonte: xtibia

    Espero que gostem, um excelente tutorial e bastante completo.
    Última edição por KromeSykes; 13-06-2011 às 09:33 AM.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Flood livre| aprenda a não dar ma resposta use o tio google
    Por hadeslan no fórum Flood Livre
    Respostas: 4
    Último Post: 02-07-2013, 01:33 PM
  2. |Tutorial| [PHP]Aprenda fazer QueryString
    Por Nerdzinhu no fórum Tutoriais
    Respostas: 0
    Último Post: 22-01-2011, 06:15 PM
  3. |Tutorial| [PC]Aprenda a montar um Computador
    Por Cøłєridgє no fórum Tutoriais
    Respostas: 2
    Último Post: 26-08-2010, 10:43 PM
  4. |Tutorial| Aprenda Programar o Basico
    Por lkz17 no fórum PHP
    Respostas: 2
    Último Post: 21-05-2010, 11:02 PM
  5. |Tutorial| Aprenda a fazer asa lvl 3 :D
    Por vinnymga no fórum Tutoriais, dicas e macetes
    Respostas: 0
    Último Post: 22-02-2010, 02:30 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •