Ir para conteúdo
Banner com Efeitos

mateuscorrea

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    mateuscorrea recebeu reputação de Rayo em [Script] Item que invoca Monstro   
    @L3K0T @LeoTK @Rayo  Resolvi o problema, obrigado pela ajuda de vocês. 
    Vou explicar os passos de arrumar o erro, caso alguém também tenha no futuro.
     
    Primeiro , você precisa achar no paste itens.xml um item que não tenha funcionalidade no jogo e que possa atribuir uma função de script.
     
    Fui na pasta ITEMS.Xml e fiz o seguinte:
    <item id="9077" article="an" name="Red Demon Bag" />   
    Pronto , ja havia atribuido uma funcionalidade ao item 9077 (Antiga Bag de demon evento)
     
    Segundo , você deve criar um monstro dentro da pasta Monster  ( ja entenderão o motivo),  então usei o seguinte script: 
     
    ?xml version="1.0" encoding="UTF-8"?>
    <monster name="Red Demon" nameDescription="a red demon" race="fire" experience="0" speed="300" manacost="10000">
      <health now="8200" max="8200"/>
      <look type="35" corpse="5995"/>
      <targetchange interval="5000" chance="8"/>
      <strategy attack="200" defense="100"/>
      <flags>
        <flag summonable="1"/>
        <flag attackable="1"/>
        <flag hostile="0"/>
        <flag illusionable="0"/>
        <flag convinceable="1"/>
        <flag pushable="0"/>
        <flag canpushitems="1"/>
        <flag canpushcreatures="1"/>
        <flag targetdistance="1"/>
        <flag staticattack="90"/>
        <flag runonhealth="0"/>
     
    Importe seu monstro na pasta monster.xml 
    monster name="Red Demon" file="Monstros Danger/Red Demon.xml"/>
     
    Após Criar o monstro , deverá fazer o script que vai atribuir o monstro a ser invocado na pasta actions com o seguinte nome : smonster.lua 
     
    local config = {
        
        name = "Red Demon", -- Nome do Summon
        max = 1, -- Máximo de summons
        exaust_sto = 5555, -- Storage que contabiliza o exaust
        exaust_time = 2 -- Segundos de Exaust
        
    }
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        local pos = getCreaturePosition(cid)
            if not exhaustion.check(cid, config.exaust_sto) then
                if table.maxn(getCreatureSummons(cid)) <= config.max then
                    local target = doCreateMonster(config.name, pos)
                    doConvinceCreature(cid, target)
                    doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro ".. config.name .."!!")
                    doSendMagicEffect(pos, CONST_ME_TELEPORT)
                    exhaustion.set(cid, config.exaust_sto, config.exaust_time)
                    return true
                else
                    doPlayerSendTextMessage(cid, 27, "Você ja tem a quantidade máxima de summons ativos!")
                    doSendMagicEffect(pos, POFF)
                    return false 
                end
            else
                doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.")
                doSendMagicEffect(pos, POFF)
                return false
            end
        return true
    end
     
    Terceiro ,  colocar esse script dentro da pasta do actions : 
    <action itemid="9076" script="smonster.lua"/>
     
     
    Quarto passo abrir o Mapa do jogo e importar o monstro!
     
    A explicação sobre a criação do monstro é simples .
    Normalmente os monstros vem com atribuições dentro do seu script sobre atacar , summonar e etc.
    Se você simplesmente pegar um monstro do seu mapa que ja existe e altera-lo , vai interferir em todos os monstros que ja estão importados no game.
     
    Então o Adequeado é que se crie um monstro com as características que você quer para que ele seja seu PET , acaba que fica muito mais fácil do que PET SYSTEM
     
    E como ultimo passo
    Assim como foi citado pelo nosso amigo @L3K0T  existe um pequeno problema ao adicionar esse sistema de monstros .
     
    Deve ir nas FLAGS do monstro e alterar para:
     
    <flags>
        <flag summonable="0"/>   (Atribua um valor 1 ) - Para que possa ser sumonado  =     <flag summonable="1"/> 
        <flag attackable="1"/>       (Caso queira que o Pet possa ser atacado deixe como esta)
        <flag hostile="1"/>             (Chegamos ao problema , HOSTIL = 1 significa que o monstro também mata quem somona , então coloque 0)
        <flag illusionable="0"/>  
        <flag convinceable="0"/>   (E para finalizar Convinceable deve ter o valor 1 , para você conseguir controlar o monstro)  = <flag convinceable="0"/>  
        <flag pushable="0"/>
        <flag canpushitems="1"/>
        <flag canpushcreatures="1"/>
        <flag targetdistance="1"/>
        <flag staticattack="90"/>
        <flag runonhealth="0"/>
      </flags>
     
     
    Obrigado por todos que me deram essa idéia , ja testei em outros mapas e funcionou  ! Valeu gente . Repp++ pra todos
  2. Curtir
    mateuscorrea deu reputação a Cat em Como Criar Mapa   
    Poderia explicar melhor o que está acontecendo?
     
    Se o problema for o mapa antigo, você pode criar um novo mapa limpo, usar ctrl + shift + select, copiar o mapa e colar no novo.
  3. Curtir
    mateuscorrea deu reputação a Rayo em [Script] Item que invoca Monstro   
    Testa ai amigo:

     
    local config = { name = "Morgaroth", -- Nome do Summon max = 1, -- Máximo de summons exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 2 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Creature(cid) local position = player:getPosition() local summon = Game.createMonster(config.name,position,true) if not exhaustion.check(player, config.exaust_sto) then if #player:getSummons() < config.max then player:addSummon(summon) doPlayerSendTextMessage(player, 27, "Voce invocou o monstro ".. config.name .."!!") doSendMagicEffect(position, CONST_ME_TELEPORT) exhaustion.set(cid, config.exaust_sto, config.exaust_time) return true else doPlayerSendTextMessage(player, 27, "Você ja tem a quantidade máxima de summons ativos!") doSendMagicEffect(position, POFF) return false end else doPlayerSendTextMessage(player 27, "Exhaustion!! Wait ".. exhaustion.get(player, config.exaust_sto) .." seconds.") doSendMagicEffect(position, POFF) return false end return true end  
  4. Curtir
    mateuscorrea deu reputação a LeoTK em [Script] Item que invoca Monstro   
    @Rayo não vai funcionar porque a versão desse seu script é 1.x+ e a versão do dele é de 0.x

    @mateuscorrea testa ae
     
    local config = { name = "Morgaroth", -- Nome do Summon max = 1, -- Máximo de summons exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 2 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if not exhaustion.check(cid, config.exaust_sto) then if table.maxn(getCreatureSummons(cid)) <= config.max then local target = doSummonMonster(config.name, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro ".. config.name .."!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) exhaustion.set(cid, config.exaust_sto, config.exaust_time) return true else doPlayerSendTextMessage(cid, 27, "Você ja tem a quantidade máxima de summons ativos!") doSendMagicEffect(pos, POFF) return false end else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end return true end  
  5. Curtir
    mateuscorrea deu reputação a L3K0T em [Script] Item que invoca Monstro   
    Já tentou ver as flag do monstro???  .xml e testar o script ali em cima que vc disse que não sumona?
     
    <flag summonable="1"/> 《《《《《 <flag attackable="0"/> <flag hostile="0"/> <flag illusionable="0"/> <flag convinceable="1"/> 《《《《《  
  6. Curtir
    mateuscorrea deu reputação a L3K0T em [Script] Item que invoca Monstro   
    Tabom, qualquer coisa tamo ai ?
    Tem o comando no god /m e o /s
     
    O /m e pra monstro mals que mata os outros.
    O /s e pra sumonar o monstro bonzinho que não vai matar ninguém a não vc dando Target em algo, olha esses scripts no talkactions e tira uma base la, pode ajudar muito vc.

Informação Importante

Confirmação de Termo